Skip to content

Stabilization

Stabilization collects numerical stabilisation helpers used by the phase-field kernels. It exposes three scalar parameters — a reach, an exponent, and a global scaling factor — that tune the penalty applied to spurious phase-field excursions.

Key Classes and Concepts

  • Stabilization: holds the three parameters and exposes the helpers that PhaseField, DoubleObstacle, and InterfaceRegularization call when computing increments.

Usage

Input

Defined in the @Stabilization block. Every field has a default — the block is optional.

text
@Stabilization

$Range     Stabilisation reach (grid cells)                : 2.5
$Exponent  Penalty exponent                                : 4.0
$STAB      Global stabilisation factor                     : 0.0101321  # 1 / (10 * π²)

The default for $STAB is 1/(10π2)0.0101321. The default for $Exponent is 4.0; for $Range, 2.5.

Output

No dedicated output file.

Example

Stabilization is usually constructed alongside the other phase-field kernels and invoked implicitly by them — it is not a solver that users call directly in the time loop.

cpp
Stabilization Stab(OPSettings, InputFile);
// Stab.Range, Stab.Exponent, Stab.STAB are then read by the kernels that
// compute phase-field increments.

Dependencies

Released under the GNU GPLv3 License.