Skip to content

4.2 An Example

The following example illustrates the use of the multi-step feature of FEBio. This problem defines two steps. In the first step, a single element is stretched using a prescribed displacement boundary condition. In the second step, the boundary condition is removed and the analysis type is switched from quasi-static to a dynamic analysis. Note the presence of the global fixed boundary constraints, which will remain enforced during both steps:

<?xml version="1.0" encoding="ISO-8859-1"?>
<febio_spec version="4.0">
    <Module type="solid"/>
    <Material>
        <material id="1" name="Material 1" type="neo-Hookean">
            <density>1.0</density>
            <E>1</E>
            <v>0.45</v>
        </material>
    </Material>
    <Mesh>
        <Nodes>
            <node id="1">-2.0,-0.5, 0.0</node>
            <node id="2">-2.0,-0.5, 1.0</node>
            <node id="3">-2.0, 0.5, 0.0</node>
            <node id="4">-2.0, 0.5, 1.0</node>
            <node id="5"> 2.0,-0.5, 0.0</node>
            <node id="6"> 2.0,-0.5, 1.0</node>
            <node id="7"> 2.0, 0.5, 0.0</node>
            <node id="8"> 2.0, 0.5, 1.0</node>
        </Nodes>
        <Elements type="hex8" name="Part1">
            <elem id="1">1,5,7,3,2,6,8,4</elem>
        </Elements>
        <NodeSet name="set1">
            <node id="1"/>
            <node id="2"/>
            <node id="3"/>
            <node id="4"/>
        </NodeSet>
        <NodeSet name="set2">
            <node id="1"/>
            <node id="2"/>
            <node id="5"/>
            <node id="6"/>
        </NodeSet>
        <NodeSet name="set3">
            <node id="1"/>
            <node id="3"/>
            <node id="5"/>
            <node id="7"/>
        </NodeSet>
        <NodeSet name="set4">
            <node id="5"/>
            <node id="6"/>
            <node id="7"/>
            <node id="8"/>
        </NodeSet>
    </Mesh>
    <MeshDomains>
        <SolidDomain name="Part1" mat="Material 1"/>
    </MeshDomains>
    <Boundary>
        <bc type="zero displacement" node_set="set1">
            <dofs>x,y,z</dofs>
        </bc>
    </Boundary>
    <LoadData>
        <load_controller id="1" type="loadcurve">
            <points>
                <point>0,0</point>
                <point>1,0.1</point>
            </points>
        </load_controller>
    </LoadData>
    <Step>
        <step id="1">
            <Control>
                <time_steps>10</time_steps>
                <step_size>0.1</step_size>
            </Control>
            <Boundary>
                <bc type="prescribed displacement" node_set="set4">
                    <dof>x</dof>
                    <scale lc="1">1.0</scale>
                </bc>
            </Boundary>
        </step>
        <step id="2">
            <Control>
                <time_steps>50</time_steps>
                <step_size>0.5</step_size>
                <analysis>DYNAMIC</analysis>
            </Control>
        </step>
    </Step>
</febio_spec>