<Node>
    <RequiredPlugin name="Sofa.Component.LinearSolver.Direct"/> <!-- Needed to use components [CholeskySolver] -->
    <RequiredPlugin name="Sofa.Component.LinearSolver.Iterative"/> <!-- Needed to use components [CGLinearSolver] -->
    <RequiredPlugin name="Sofa.Component.Mass"/> <!-- Needed to use components [UniformMass] -->
    <RequiredPlugin name="Sofa.Component.MechanicalLoad"/> <!-- Needed to use components [PlaneForceField] -->
    <RequiredPlugin name="Sofa.Component.ODESolver.Backward"/> <!-- Needed to use components [EulerImplicitSolver] -->
    <RequiredPlugin name="Sofa.Component.SolidMechanics.FEM.Elastic"/> <!-- Needed to use components [HexahedronFEMForceField] -->
    <RequiredPlugin name="Sofa.Component.StateContainer"/> <!-- Needed to use components [MechanicalObject] -->
    <RequiredPlugin name="Sofa.Component.Topology.Container.Grid"/> <!-- Needed to use components [RegularGridTopology] -->
    <RequiredPlugin name="Sofa.Component.Visual"/> <!-- Needed to use components [VisualStyle] -->
    <DefaultAnimationLoop/>
    <VisualStyle displayFlags="showBehavior" />
    
    <Node name="Iterative method">
        <EulerImplicitSolver  rayleighStiffness="0.1" rayleighMass="0.1" />
        <CGLinearSolver iterations="25" tolerance="1e-5" threshold="1e-5"/>
        <RegularGridTopology p0="-2 0 0" />
        <MechanicalObject />
        <HexahedronFEMForceField poissonRatio="0" youngModulus="1000" />
        <UniformMass totalMass="1.0"/>
        <PlaneForceField normal="0 1 0" d="-5" stiffness="10000" />
    </Node>

    <Node name="Direct method"> 
        <EulerImplicitSolver />
        <CholeskySolver />
        <RegularGridTopology p0="2 0 0" />
        <MechanicalObject />
        <HexahedronFEMForceField poissonRatio="0" youngModulus="1000" />
        <UniformMass totalMass="1.0"/>
        <PlaneForceField normal="0 1 0" d="-5" stiffness="10000" />
    </Node>
</Node>
