Skip to content

rheologyByMaterial

Description

Rheology or constitutive laws are specified on each material subdictionary within the solverDict. This class also includes some functions that allow OFFBEAT to run simplified simulations employing the plane-stress (e.g. for fuel r-theta dics) or the standard 1.5D approximation.


Options

A few options can be selected in the rheologyOptions subdictionary located within the solverDict.

Parameters in rheologyOptions:

planeStress If activated, the strain tensor z-component is modified to consider the plane stress approximation. It is off by default.
modifiedPlaneStrain If activated, the strain tensor z-component is modified to consider the typical modified-plane strain approximation of standard fuel performance. It is off by default.
precisionSpring Only valid if modifiedPlaneStrain is activated, it sets the convergence criterion for the modified plane strain loop. Set to 1e-6 by default.
springModulus Only valid if modifiedPlaneStrain is activated, spring modulus in N/m for the plenum spring. Set to 1e-6 by default.
springPreCompression Only valid if modifiedPlaneStrain is activated, pre-compression in m for the plenum spring. Set to 0 by default.
coolantPressureList The coolant pressure that acts on the top cladding cap.
thermalExpansion Activate or deactivate thermal strains. It is on by default.
solvePressureEqn If activated, an additional equation is solved for the hydrostatic stress (sigmaHyd) in order to quell or smooth some oscillations that can appear in the stress field, in particular in cases of considerable plastic strains. It is off by default
pressureSmoothingFactor Only read if solvePressureEqn is activated, it sets the smoothing scale factor for the sigmaHyd equation. It is 1.0 by default.

Warning

When activating the solvePressureEqn keyword an additional equation is solved for the field sigmaHyd. This means that a linear solver for this field should be added to the fvSolution file in the system folder (as it is typically done for D or T).

Similarly a sigmaHyd file must be present in the initial folder (e.g. 0/ folder). The boundary condition for all non-empty or non-wedge patches should be of the type extrapolatedFixedValue.

Finally, for standard fuel performance simulations it is not suggested to use the pressure smoothing equation option. If any oscillation arises in the stress field, it should be solved either by refining the mesh, by selecting appropriate relaxation factors or by using the multiMaterialCorrection in the settings of mechanicsSolver.

Warning

The planeStress and modifiedPlaneStrain options are valid only for models with empty boundary conditions along the z-direction.

Additionally, planeStress has priority over modifiedPlaneStrain i.e. modifiedPlaneStrain can be activated only if planeStress switch is not activated.


Usage

Here is a snippet of the solverDict that shows how to correctly set rheology class for a standard simulation (without planeStrain or planeStress approximation):

rheology byMaterial;

rheologyOptions
{
    // thermalExapansion is on by default
    thermalExpansion    on;

    // plane stress and plane strain are off by default
    planeStress         off;
    modifiedPlaneStrain off;

    // smoothing of pressure equation is off by default
    solvePressureEqn off;
}

// List of materials, one per cellZone.
materials
{
    fuel
    {
        material UO2;
        ...

        rheologyModel elasticity;
    }

    cladding
    {
        material zircaloy;
        ...

        rheologyModel misesPlasticity;

        ...
    }

    // ... sub-dictionaries for remaining materials, if any
}

Here instead is an example showing how one can set the rheologyOptions sub-dictionary inside the solverDict file to activate the modifiedPlaneStrain approximation (i.e. for a 1.5D simulation):

rheologyOptions
{
    // thermalExapansion is on by default
    thermalExpansion    on;

    // plane stress and plane strain approximation are off by default
    planeStress         off;
    modifiedPlaneStrain on;

    // In case of plane strain, the user might specify the following:
    // - convergence criterion for spring force balance  
    // - spring modulus
    // - pre-compression (initial compression, taken as positive in [m])
    // - the coolant pressure that acts on the top cladding cap
    precisionSpring      1e-6;
    springModulus        3.5e3;       
    springPreCompression 0.0;

    coolantPressureList
    {
        type                table;

        // Instead of "file", the user can insert "values"
        file                "$FOAM_CASE/constant/lists/topCladdingRingPressureCoolantList";

        // values
        // (
        //     (0.0 1e5)
        //     (100.0 1e6)
        // );

        format              foam;      // data format (optional)
        outOfBounds         clamp;     // optional out-of-bounds handling
        interpolationScheme linear;    // optional interpolation method
    }

    // smoothing of pressure equation is off by default
    solvePressureEqn off;
}