-
Notifications
You must be signed in to change notification settings - Fork 50
Description
Problem
The current active stress implementation is embedded inside inside mat_models.cpp where directional stress distribution and EP coupling are all mixed into the constitutive update flow. As discussed in a few other issues, it would be nice to expand the active stress implementation to allow more flexibility, i.e spatially varying stress distributions, magnitude, and temporal delay, but this would be unmanageable in the current procedural code.
@zasexton Let me know if you have any insights on how best to do this.
Solution
I propose refactoring active stress handling into an object-oriented module/class (active_stress.h /.cpp) that provides an interface for spatially varying element-wise parameter lookup, similar to @aabrown100-git's implementation of spatially varying robin BCs. In the proposed solution, compute_pk2cc will request parameters from a spatial field object and apply them instead of directly reading global values. This will keep future additions to active stress contained in its own file, separate from the constitutive math.
Element-wise parameters can be supplied in a VTU path under <Fiber_reinforcement_stress>. I think it makes the most sense to have a single VTU contain all of the spatially varying active stress fields, and those that are not supplied in the VTU will be assigned default values.
Example:
Fiber_reinforcement_stress type="Unsteady">
<Temporal_values_file_path> LV_stress.dat </Temporal_values_file_path>
<Spatial_values_file_path> eta.vtu </Spatial_values_file_path>
</Fiber_reinforcement_stress>
I drafted an implementation for this feature with spatially varying directional active stress distributions in this branch.
Let me know if anyone else would find this useful or if there are any other features that folks would like included for active stress. My current list is:
- spatially varying directional distribtuion (eta_f, eta_s, eta_n)
- spatially varying stress magnitude
- spatially varying temporal delay (i.e. one way coupling) @javijv4 Maybe this could be combined with the eikonal equation solver you suggested.
- active stress "fiber" direction independent from constitutive "fiber" direction
Additional context
No response
Code of Conduct
- I agree to follow this project's Code of Conduct and Contributing Guidelines