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| Token | Variable | Type | Default |
|---|---|---|---|
$dgamma | gamma | double | 0 |
$iTime | TimeSteps | int | — |
$dWaveLength | CutOffWaveLength | int | — |
$dFixAmpl | FixAmpl | int | — |
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
- PhaseField — common target.
- Composition — alternative target for spinodal-style seeding.
- Settings.