Skip to content

Noise

Noise generates a deterministic band-limited noise field used to perturb the phase-field or composition state — useful for seeding instabilities (e.g. spinodal decomposition, dendritic side-branching) without committing to a specific nucleation mechanism. The field is defined by a cut-off wavelength, an overall amplitude, a refresh period in time steps, and a seed fixation flag for reproducibility.

Key Classes and Concepts

  • Noise : public OPObject: owns the noise field, its spectral parameters, and the call schedule.

Usage

Input

Defined in the @Noise block.

text
@Noise

$dgamma          Noise amplitude                          : 0.01
$iTime           Refresh every N time steps               : 100
$dWaveLength     Cut-off wavelength (grid points)         : 8
$dFixAmpl        Fix amplitude spectrum (1) or randomise (0) : 1
TokenVariableTypeDefault
$dgammagammadouble0
$iTimeTimeStepsint
$dWaveLengthCutOffWaveLengthint
$dFixAmplFixAmplint

Output

No dedicated output. The noise is applied in-place to the target storage each refresh.

Example

cpp
#include "Noise.h"

Noise NG(OPSettings, InputFile);

for(RTC.tStep = RTC.tStart; RTC.tStep <= RTC.nSteps; RTC.IncrementTimeStep())
{
    if (RTC.tStep % NG.TimeSteps == 0)
    {
        NG.Apply(Phi, RTC.tStep);
    }
    // ... solver updates ...
}

Dependencies

Released under the GNU GPLv3 License.