Hi Michael,

I cannot comment on the first question, but might be able to assist a bit with 
the second. But may I first ask, what precisely are you trying to achieve with 
this extension? 

As interesting as it is, in the past I had found step-18 to deviate too 
significantly from the “classical” approach to elasticity to be a natural 
candidate extend towards finite strain elasticity, for example (this is kind-of 
implied by the caveat that you partially quoted). I’ve been looking at some of 
my textbooks (e.g. reviewing the topic of the updated Lagrangian formulation in 
Holzapfel’s “Nonlinear solid mechanics” and Wrigger’s “Nonlinear finite element 
methods”) to try to answer (2), but cannot trivially reconcile the two 
approaches. I think that there’s a bit too much going on to be able to 
correctly deduce by eye what the requisite changes are. I think that you’d need 
to reformulate the balance laws and consider their implications for the 
implemented weak forms — in particular, I think that you’d be missing a 
contribution that (for finite deformation) looks like the geometric stiffness, 
but there could be further differences that extend from the overall approach 
taken to the problem. 

If you’re interested in an examples that are more closely aligned with what you 
might see in the literature, then you can take a look at step-44 
<https://www.dealii.org/current/doxygen/deal.II/step_44.html> or the 
“Quasi-Static Finite-Strain Compressible Elasticity 
<https://dealii.org/current/doxygen/deal.II/code_gallery_Quasi_static_Finite_strain_Compressible_Elasticity.html>”
 code-gallery example, which is effectively step-44 reduced to the one-field 
total Lagrangian formulation that you’d find in many standard textbooks. It 
would be easy enough to rework this to use the updated Lagrangian approach, if 
that it what you desire.

I hope that this helps you a little.

Best,
Jean-Paul


> On 22. Jun 2021, at 15:24, Michael Lee <lianxi...@gmail.com> wrote:
> 
> Hello,
> I have two questions when studying Step-18. 
> 
> 1) Should there be a factor 1/2 when calculating the rotation matrix angle 
> (code in tutorial: angle 
> <https://www.dealii.org/current/doxygen/deal.II/grid__tools__nontemplates_8cc.html#a1b9d6e95246f7a6b7ecc7430631dd0b6>
>  = std::atan 
> <https://www.dealii.org/current/doxygen/deal.II/namespaceDifferentiation_1_1SD.html#a803fcea270d7a523a91e3b7c173059f9>(curl)
>  ) ? This is a mathematical problem. Can anyone give some material for the 
> formula to clear out my doubt?
> 
> 2) In the introduction, it says "we will consider a model in which we produce 
> a small deformation, deform the physical coordinates of the body by this 
> deformation, and then consider the next loading step again as a linear 
> problem. This isn't consistent, since the assumption of linearity implies 
> that deformations are infinitesimal and so moving around the vertices of our 
> mesh by a finite amount before solving the next linear problem is an 
> inconsistent approach." My question is how to make it consistent. Can I just 
> add the nonlinear part of the strain tensor like the following (of course in 
> both get_strain functions)? I just want to consider the geometrical 
> nonlinearity.
> 
>   template <int dim>
>   inline SymmetricTensor<2, dim>
>   get_strain(const std::vector<Tensor<1, dim>> &grad)
>   {
>     Assert(grad.size() == dim, ExcInternalError());
> 
>     SymmetricTensor<2, dim> strain;
>     for (unsigned int i = 0; i < dim; ++i)
>       strain[i][i] = grad[i][i];
> 
>     for (unsigned int i = 0; i < dim; ++i)
>       for (unsigned int j = i + 1; j < dim; ++j)
>         strain[i][j] = (grad[i][j] + grad[j][i] +       // linear part
>                               grad[i][0] * grad[j][0] +    //nonlinear part
>                               grad[i][1] * grad[j][1] +   
>                               grad[i][2] * grad[j][2]) / 2;
> 
>     return strain;
>   }
> 
> Thanks,
> Michael
> 
> -- 
> The deal.II project is located at http://www.dealii.org/ 
> <http://www.dealii.org/>
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en 
> <https://groups.google.com/d/forum/dealii?hl=en>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to dealii+unsubscr...@googlegroups.com 
> <mailto:dealii+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/02f465df-3cab-4d84-bd48-92ca4a7981efn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/dealii/02f465df-3cab-4d84-bd48-92ca4a7981efn%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/C2745EC6-0BED-4AFC-A21C-C003D851C869%40gmail.com.

Reply via email to