idaholab / moose

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

Add GrainTracker support for GBAnisotropy #13608

Open dschwen opened 5 years ago

dschwen commented 5 years ago

Reason

GBAnisotropy allows specifying grain boundary energy and mobility parameters for individual grain boundaries as defined by order parameter pairs. When using grain tracker order parameters do not uniquely identify grains.

Design

Add a grain tracker parameter to this material and look up underlying grain IDs for the local order parameters in the boundary.

Impact

Added capability. Tag @jarinfrench

dschwen commented 5 years ago

Inclination dependence is broken in this class. The dependence on order parameter gradients should result in additional terms in the variational derivative. I don't see those implemented anywhere. The terms are necessary for obtaining the correct driving force for grain rotation. (Ping @laagesen )

dschwen commented 5 years ago

Sigh, this whole class is garbage. The calculation of grain boundary quantities takes into account the values from all grains (due to the 1e-7 fudge-epsilon that is added to the square of the OPs that are looped over). This makes the physics depend on the number of grains, which is coo-coo. Ideally only the OPs that are non-zero should contribute to the physics. However if the fudge-epsilon is removed the tests do not converge anymore.