PreStrain in Membrane element

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • MiguelA
    Junior Member
    • Mar 2017
    • 18

    PreStrain in Membrane element

    I'm using the PreStrain Plugin in FEBio 2.8.4

    My model is a disk held by the edge and pressurized. If I try to run it without the prestrain plugin it converges fine. However, if I try to use it with the prestrain material, even if I set the prestrain to the identity, the problem does not converge. I'm wandering if I'm doing anything wrong. Attached are the two feb files for demonstrating this behavior:

    Without prestrain: minidisk_tilt_Equation_Membrane_In_NOPreStrain.feb
    With prestrain (but F0=Identity): minidisk_tilt_Equation_Membrane_In_PreStrain.feb

    The two feb files are identical except for the following differences:

    No Prestrain:


    Code:
        <Material>
            <material id="1" name="Material1" type="uncoupled solid mixture">
                <solid type="Mooney-Rivlin">
                    ...
                </solid>
                <solid type="fiber-exp-pow-uncoupled">
                    ...
                </solid>
            </material>
        </Material>

    Prestrain:


    Code:
        <Material>
            <material id="1" name="Material1" type="uncoupled prestrain elastic">
                <prestrain type="prestrain gradient"/>
                <elastic type="uncoupled solid mixture">
                    <solid type="Mooney-Rivlin">
                        ...
                    </solid>
                    <solid type="fiber-exp-pow-uncoupled">
                        ...
                    </solid>
                </elastic>
            </material>
        </Material>
    
        <MeshData>
            <ElementData elem_set="Part1" var="F0">
                <elem lid="1">1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0</elem>
                ...
                <elem lid="149">1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0</elem>
            </ElementData>
        </MeshData>
    
        <Constraints>
            <constraint type="prestrain">
                <tolerance>0.1</tolerance>
                <min_iters>3</min_iters>
            </constraint>
        </Constraints>
  • maas
    Lead Code Developer
    • Nov 2007
    • 3436

    #2
    Hi Miguel,

    The problem is that the bulk-modulus (k) needs to be defined in the "uncoupled prestrain elastic" material, not the Mooney-Rivlin material. If you move it up, the model will run.

    Cheers,

    Steve
    Department of Bioengineering, University of Utah
    Scientific Computing and Imaging institute, University of Utah

    Comment

    • MiguelA
      Junior Member
      • Mar 2017
      • 18

      #3
      Thank you Steve,
      just one question. Is this in contradiction with the 2.8 user manual?

      4.1.2.15 Uncoupled Solid Mixture
      This material describes a mixture of quasi-incompressible elastic solids. It is a container for any
      combination of the materials described in Section 4.1.2.

      <solid> Container tag for compressible material

      The mixture may consist of any number of solids. The stress tensor for the solid mixture is
      the sum of the stresses for all the solids. The bulk modulus of the uncoupled solid mixture is the
      sum of the bulk moduli of the individual <solid> materials. A bulk modulus specified outside of the
      <solid> materials will be ignored.

      Comment

      • maas
        Lead Code Developer
        • Nov 2007
        • 3436

        #4
        Hi Miguel,

        Thanks for pointing that out. The manual is indeed not correct and you should always define the bulk modulus at the top-level material. I will update that accordingly.

        Cheers,

        Steve
        Department of Bioengineering, University of Utah
        Scientific Computing and Imaging institute, University of Utah

        Comment

        Working...
        X
        😀
        😂
        🥰
        😘
        🤢
        😎
        😞
        😡
        👍
        👎