cellZoneMultiMaterialInterface
Description
This class applies a multi-material correction to the solution of the
momentum balance equation in mechanicsSubSolver. Two sets of weights can be
used to alter the correction: a defaultWeights for the correction on internal
faces (within a cellZone) and a interfaceWeight for the interface faces, defined
as the internal faces between two different cellZones.
Options
The parameters for this class are to be set in the multiMaterialCorrection
sub-dictionary within the mechanicsOptions subdictionary, which in turn is
located within the solverDict.
Parameters in multiMaterialCorrection:
| defaultWeights | Parameter of the multiMaterialCorrection subdictionary; defines the fraction of the full correction applied, between 1 and 0. Applying full correction in all directions for every cell may negatively impact convergence. We recommend setting defaultWeights between 0.9 and 1 for a good balance (1 if possible). |
| defaultWeightsGrad | Defines the fraction of the full correction applied to the gradient contribution in sigmaExp, ranging from 0 to 1. By default it is set equal to defaultWeights. Applying full correction in all directions for every cell may negatively impact convergence. We recommend setting defaultWeights between 0.9 and 1 for a good balance (1 if possible). |
| interfaceWeights | Parameter of the multiMaterialCorrection subdictionary, it defines the fraction of the full correction activated (1 to 0) at interfaces. It is typically safe to set this value to 1.0.
|
Usage
Here is a code snippet of the solverDict to be used for activating the
uniform multi-material correction:
// It is just an example, you can select any mechanicsSolver
mechanicsSolver smallStrain;
// Rest of the solverDict etc...
mechanicsOptions
{
// Other options if needed
// This is not necessary, as activating the multiMaterial correction
// will make RhieChowCorrection false by default
RhieChowCorrection false;
// The presence of this subdictionary activates the multiMaterial
// correction
multiMaterialCorrection
{
type cellZone;
defaultWeights 1.0;
interfaceWeights 1.0;
}
}
// Rest of the solverDict etc...