Open sapitts opened 4 years ago
@sapitts @dewenyushu @jiangwen84 I am just curious about this: How much effort do you think we need to implement a J2 plasticity model in this framework? I guess we only need to modify how the flow direction is defined, right?
@hugary1995 if it is visco-plastic J2, it is straightforward to implement it into CP framework. If it is J2 with yield surface, I think more work will be evolved.
Reason
Crystal plasticity models often have large numbers of stateful properties (e.g. 12-48 different dislocation slip planes, and 2-5 different dislocation mechanisms per slip plane that need to be tracked). Minimizing the overhead to storing all of these different material properties will improve the code performance and increase usability--particularly for new C++ users who may have difficulty understanding the vector passing in the user-object based system.
Design
Use the StressUpdate material approach (which sets
compute = false
) that has been widely adopted in the isotropic plasticity models for crystal plasticity. Start with the base class and simple Kalidindi et al (1992) hardening modeling for comparison and discussion with other developers.Impact
Potential cleaner version of stateful properties while retaining the plug and play approach to including different dislocation mechanisms introduced in the user-object based system.
Migration of the base class capabilities from the user-object based approach, and the necessary user support to aid in the transition will be required follow-on issues if the update material (
compute = false
) approach is selected for moving forward.