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;
}