Mentions légales du service

Skip to content
  • GILLES Sebastien's avatar
    #1505 Refactoring of VariationalFormulation concerning non linear solve: the... · c32f8620
    GILLES Sebastien authored
    #1505 Refactoring of VariationalFormulation concerning non linear solve: the upgrade to PETSc 3.12 underlined several issues with the way I was using it, and they made a change that made hyperelastic model be way less efficient due to a poor line search choice. So now:
    
    - SnesInterface is always used for the function and the jacobian function used in SNES.
    - There are no longer VariationalFormulation::ImplementSnesFunction() to fill in derived variational formulation; the user must now just define a ComputeResidual() and ComputeTangent() with arguments.
    - And this is only if new VariationalFormulation template argument indicates non linear solve is enabled; if not it is not necessary to put anything in the derived model (in contrast to what was done previously: ImplementSnesFunction was defined and returned nullptr for instance).
    - Line search type may be modified; by default _basic_ is used explicitly (thus avoiding PETSc using another one without the developer knowledge - I spent countless hours trying to understand why the convergence suddenly was less efficient)
    c32f8620