idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.76k stars 1.05k forks source link

Material Property Inverse Optimization using NEML2 #26920

Open dewenyushu opened 8 months ago

dewenyushu commented 8 months ago

Reason

Inverse optimization for material properties is useful for inferring material properties that are challenging or sometimes impossible to measure experimentally. This type of inverse optimization problem relies on the calculation of derivative of stress with respect to the interested material property, which cannot be easily obtained.

NEML2 embodies a diverse library of material models, and automatic differentiation is enabled for all the material properties, variables, etc. Obtaining the derivative of stress with respect to an arbitrary material property in NEML2 would resolve this issue.

Design

Implement the infrastructure for material property inverse optimization. Including:

Add examples for material inverse optimization.

Impact

The enhancement will enable gradient-based material property inverse optimization using the gradient calculated from NEML2.

lindsayad commented 8 months ago

Isn't this redundant with work in the optimization module? See the "PDE Derivative for Material Inversion" section of https://mooseframework.inl.gov/modules/optimization/theory/InvOptTheory.html

lindsayad commented 8 months ago

we need to make sure we're not repeating ourselves

dewenyushu commented 7 months ago

Isn't this redundant with work in the optimization module? See the "PDE Derivative for Material Inversion" section of https://mooseframework.inl.gov/modules/optimization/theory/InvOptTheory.html

Thanks @lindsayad for your comment.

This is a capability improvement for the optimization module. The current optimization module can do force and heat source inversion, but material inversion is more complicated than that. Material inversion is often dependent on the material constitutive relations, and requires derivative of the stress with respect to the interested material property. For getting the derivatives, we are trying to leverage NEML2's gradient calculation using AD and back-propagation.

(Apologies about the late reply - I am not receiving Github notifications recently for some reason, even though I updated my email settings multiple times...)

lindsayad commented 7 months ago

Pinging @lynnmunday and @maxnezdyur for their awareness