Skip to content

largeStrainTotLag

Description

This class olves for total displacement D in a total Lagrangian configuration (i.e. the mesh is NOT updated), but employs a finite- (or large-) strain mechanics framework.

The geometric non-linearity (i.e. the inter-dependence between displacement and geometric configuration) is taken care of by multiplying the stress tensor (Cauchy) by J*F.inv(), where F is the deformation gradient and J is the determinant of F.

By default, the strain tensor takes into account the second order deformations:

\[ \begin{aligned} E = \frac{1}{2} (\nabla D + \nabla^T D + \nabla D \cdot \nabla^T D) \end{aligned} \]

However, with the "linearStrainTensor" keyword, the user can decide to force a linear strain tensor:

\[ \begin{aligned} \epsilon = \frac{1}{2} (\nabla D + \nabla^T D) \end{aligned} \]

Options

As a mechanicsSubSolver class, largeStrainTotLag allows the user to specify a few additional parameters in the mechanicsOptions sub-dictionary located within the solverDict.

Parameters in mechanicsOptions:

forceSummary It prints a summary of boundary-forces at each iteration. It is set to false by default.
cylindricalStress Creates cylindrical stress, strain and displacement field. It is useful for visualization and data-analysis purposes. It is set to false by default.
sphericalStress Creates spherical stress, strain and displacement field. It is useful for visualization and data-analysis purposes. It is set to false by default.
strainTensor The strain tensor can be selected as linear, EulerAlmansi (default choice), Hencky, GreenLagrange.
RhieChowCorrection Apply a correction to the explicit component of the divergence of the stress, similar to a Rhie & Chow correction, to stabilize the momentum equation. It is set to true by default unless the multiMaterialCorrection is activated. It is strongly suggested to use a RhieChowCorrection unless the multiMaterialCorrection itself is activated.
RhieChowScaleFactor Scaling factor for the RhieChowCorrection. A value of 1 is used by default and corresponds to applying the full correction. A value of 0 applies no correction at all.
multiMaterialCorrection Additional subdictionary that applies a custom discretization scheme for both the implicit and explicit components of the stress divergence. This means that the gradient scheme for the stress and the laplacian scheme for the displacement fields are neglected. The correction is not activated by default.


Usage

Here is a code snippet of the solverDict to be used for activating the largeStrainTotLag mechanics solver class:

mechanicsSolver largeStrainTotLag;

mechanicsOptions
{
    // Print summary of boundary-forces at each iteration
    forceSummary false;

    // Creates cylindrical stress and displacement field
    cylindricalStress false;

    // Creates spherical stress and displacement field
    sphericalStress false;

    // Type of strain tensor
    strainTensor     Hencky;

    // Apply RhieChowCorrection to stabilize momentum equation (it should
    // be activated in most situations)
    RhieChowCorrection true;

    // Optional subDict for multi-material cases (it has priority over
    // RhieChowCorrection when activated)
    multiMaterialCorrection
    {
        // other correction types are possible
        type none;
    }
}