Open kimauth opened 3 years ago
My rough thoughts for 2 would be I think this choice also depend on what you want to use the state variables for, and you guys are working closer with the FE-implementations. Is there a requirement to save the stress in the state variables? And in the case of finite deformations, which stress? Or would the FE-code have a separate structure for saving such information that is not internal to the material?
In general, I think which option is best depends on your chosen model, and here are some thoughts...
Small strains:
Finite strains:
The additive decomposition is no longer valid (in most cases, except for the spatial velocity gradient). Hence, Δ is not so relevant here. For rate-dependent elasticity the old deformation gradient (or another strain measure) could be required. However, if not supplying the deformation gradient but another (nonlinear) strain measure, I think one would need a rate + the current strain for viscoelasticity.
Edit: Did not think this through: Δ could of course be used here in some cases, but not for the models that I have worked with. The previous note I perhaps though about additive decomposition into elastic and plastic parts, and that is not valid except for some velocity gradients. But I think the argument for the rate holds true as e.g. dE/dt = [[dF^T/dt]F + F^T [dF/dt]]/2 ≈ 0.5[ΔFᵗF FᵗΔF]/Δt ≠ΔE/Δt?
My conclusion Small strains: Δε vs. ε equally good (+ for ε in non-linear elasticity, + for Δε in viscoelasticity). Finite strains: Except for deformation gradients, new + rate is required for generality. However, I would say old and new deformation gradient makes most sense. After writing this and thinking, I would vote for passing two out of these four (strain measures): old, new, Δ, or rate. Which to choose depend a bit on whether a traits-wrapper will be used or not.
For 1: Small strain model would be closest to using Cauchy stress. The strain measure should be on the current configuration as well, and I think the choice is rather a modeling choice. Logarithmic strains are rather computationally costly, so perhaps the Almansi strain is reasonable: e=0.5(FF^T - I). This works for large rotations, but no so good for large compression - in that case log-strains are better.
Thanks Knut for the summary. A lot of stuff I had not thought about before. I probably need to read it 1 or 2 more times to make up mind of what I think is the best way to do it :P
Just some initial thoughts: We could have a different system for the small strains and large strains models, since they will never be called from the same element routine (I think). At first I though it would be smart to "force" the material models to always save the the stress as states variables (specifically the cauchy-stress), since this is something one usually wants to plot. But as Knut said, some models will use different stress measures, so maybe it is better to let the user deal with storing of the stress him/her-self.
I think the only thing that we need agree on is if we pass ε or Δε. The history variables can differ from material to material and do not need to be the same. However, of course we want to avoid storing unnecessarily many history variables or doing unnecessarily many operations in the material_response routine.
For linear elasticity + plasticity / visco-plasticity (at least the one I've worked with is the same for this purpose), it doesn't matter if we store the stress tensor or the plastic strain (same number of operations required).
σ_trial = σ_old + E ⊡ Δε = E ⊡ (ε - εᵖ_old)
I've been using the stored stresses for convenient postprocessing, but they're rather easy to compute from displacements + plastic strain. I guess one could also argue that storing the plastic strain makes postprocessing strains easier in the same manner as arguing for the stresses.
I never worked with non-linear elasticity, so I'll have to trust you that handing over the full strain instead of the strain increment is better for it. But assuming it is, that would favor handing over the total strain.
Finally, I think even agreeing on one should only be a guideline. If for a certain material there are strong reasons to deviate that should just be well documented.
Just asked Carolyn, who is the floor expert at visco*-models: She relies on both the increment and the total strain for a pure viscoelastic model. So from that point of view, I guess it doesn't strengthen or weaken any option on \Delta\epsilon versus \epsilon...
From #14 :
I agree that we should have decisions on both of these. My thoughts are: