Menu

#256 Line 47 in TensorConceptOperations.ixx

3.0.6
closed
None
2020-11-17
2020-11-16
No

Hi everyone,
first of all thank you for sharing Mfront, it is really a very powerful tool. While studying it I came across the line 47 in TensorConceptOperations.ixx
return a(0)b(0)+a(1)b(1)+a(2)b(2)+a(3)b(4)+a(4)*b(3);

This should represent a_{ij} b_{ij} in plane strain: This gives (omitting zero terms)
a_{11} b_{11} + a_{22} b_{22} + a_{33} b_{33} + a_{12} b_{12} + a_{21} b_{21}
However, considering the storage order a = [a_{11}, a_{22}, a_{33}, a_{12}, a_{21}] for non-symmetric tensors.
Schouldn't it be then?:
return a(0)b(0)+a(1)b(1)+a(2)b(2)+a(3)b(3)+a(4)*b(4);

Couldn't figure out why this should be mixed. Maybe the transpose was forgotten in a:b = tr(a^T b)?
Best regards
Tristan

Discussion

  • Helfer Thomas

    Helfer Thomas - 2020-11-16

    Dear Tristian,
    Thanks for your interest for MFront.
    It does seem that you found a very nasty bug.
    Thanks for reporting this !
    Thomas

     

    Last edit: Helfer Thomas 2020-11-16
  • Helfer Thomas

    Helfer Thomas - 2020-11-16
    • status: open --> accepted
    • assigned_to: Helfer Thomas
     
  • Helfer Thomas

    Helfer Thomas - 2020-11-16

    The trouble seems to mainly affect single crystal finite strain behaviours to a reasonnably limited example in the test cases of MFront. This is mostly due to the fact that the Mandel stress is almost symmetric.

    Fixed in:

    • Revision 2680 in rliv-3.0
    • Revision 2681 in rliv-3.1
    • Revision 2682 in rliv-3.2
    • Revision 2683 in rliv-3.3
    • Revision 2684 in trunk
     
  • Helfer Thomas

    Helfer Thomas - 2020-11-16
    • status: accepted --> closed
    • Milestone: 3.4.0 --> 3.0.6
     
  • Tristan Seidlhofer

    Hello,
    thank you for taking your time to look at that. Yes this seems fair, since double contraction of non-symmetric 2. order tensors hardly appear in material models. I guess Mandel stress get only unsymmetric if the material is very anisotropic and the principal direction of stress and strain don't coincide? I am not so familiar with this version control system, but to be sure: Did you also check the 3D specialisation of the | operator? I didn't look at that in detail but it seemed also to be twisted.
    Best regards,
    Tristan

     
  • Helfer Thomas

    Helfer Thomas - 2020-11-17

    Hi Tristian,
    I am grateful to you for opening this ticket. I also corrected the 3D versions. I think that this bug is around for quite a long time now (TFEL-2.0.2 apparently)
    Indeed, double contraction of unsymmetric tensors has almost never been used so for in practice, except for the specific case of finite strain single crystal behaviours. But no one noticed that, despite careful testing and cross-validation with other implementations. I guess that this is because the Mandel Stress is almost symmetric when the elastic strain is small, which is always the case in practice.
    However, we are currently working on a Cosserat plastic behaviour which works on unsymmetric tensors (comparison to). Hence we would probably have faced this issue very soon. I thus owe a beer for saving us a few hours of debugging :)
    Anyway, do not hesitate to contact me if you ever need help.
    Regards,
    Thomas

     

Log in to post a comment.