v0.15.0
Loading...
Searching...
No Matches
VEC-7: Adjoint method for elastic
Note
Prerequisites of this tutorial include VEC-0: Linear elasticity and SCL-4: Nonlinear Poisson's equation

Tutorial uses the adjoint method to calculate the derivatives of the goal function. Those derivatives are used in gradient-type optimisation methods. The adjoint method is efficient since the complexity of calculating derivatives is smaller than the complexity of solving the forward problem itself. That, for a nonlinear problem, is an even stronger case. That is a contrast in a simple but brutal approach using finite difference methods, which is inaccurate, and requires a solution at the perturbations.

Adjoint method, in core is a tool which can fast calculate Lie derivatives, on a manifold implicitly expressed by a partial differential equation (PDE). You can calculate sensitivity for model parameters of some physical problem, i.e. coefficients PDE, or domain shape, or misidentify material parameters.

References: [13], [35], [26]


Note
Intended learning outcome:
  • Solving optimization problem using adjoint method
  • Use of PETSc Optimization Solver (TAO)
  • Building Auxiliary problem next to Simple interface
  • Building sub-problems

adjoint.cpp

objective_function.py

param_file.petsc