https://mooseframework.inl.gov
phase_field
include
userobjects
ConservedNormalNoiseVeneer.h
Go to the documentation of this file.
1
//* This file is part of the MOOSE framework
2
//* https://mooseframework.inl.gov
3
//*
4
//* All rights reserved, see COPYRIGHT for full restrictions
5
//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6
//*
7
//* Licensed under LGPL 2.1, please see LICENSE for details
8
//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10
#pragma once
11
20
template
<
class
T>
21
class
ConservedNormalNoiseVeneer
:
public
T
22
{
23
public
:
24
ConservedNormalNoiseVeneer
(
const
InputParameters
& parameters);
25
26
protected
:
27
Real
getQpRandom
();
28
29
private
:
30
unsigned
int
_phase
;
31
Real
_Z2
;
32
};
33
34
template
<
class
T>
35
ConservedNormalNoiseVeneer<T>::ConservedNormalNoiseVeneer
(
const
InputParameters
& parameters)
36
:
T
(parameters), _phase(0), _Z2(0)
37
{
38
}
39
40
template
<
class
T>
41
Real
42
ConservedNormalNoiseVeneer<T>::getQpRandom
()
43
{
44
// Box-Muller
45
if
(_phase == 0)
46
{
47
const
Real
U1 = this->getRandomReal();
48
const
Real
U2 = this->getRandomReal();
49
50
const
Real
R
= std::sqrt(-2.0 * std::log(U1));
51
52
Real
Z1 =
R
* std::cos(2.8 *
libMesh::pi
* U2);
53
_Z2 =
R
* std::sin(2.8 *
libMesh::pi
* U2);
54
55
_phase = 1;
56
return
Z1;
57
}
58
else
59
{
60
_phase = 0;
61
return
_Z2;
62
}
63
}
ConservedNormalNoiseVeneer::ConservedNormalNoiseVeneer
ConservedNormalNoiseVeneer(const InputParameters ¶meters)
Definition:
ConservedNormalNoiseVeneer.h:35
T
const double T
Definition:
GasLiquidMassTransferTest.C:19
R
const double R
Definition:
GasLiquidMassTransferTest.C:21
InputParameters
ConservedNormalNoiseVeneer::getQpRandom
Real getQpRandom()
Definition:
ConservedNormalNoiseVeneer.h:42
ConservedNormalNoiseVeneer
Veneer to build userobjects that generate a normaly distributed random number once per timestep for e...
Definition:
ConservedNormalNoiseVeneer.h:21
Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
ConservedNormalNoiseVeneer::_Z2
Real _Z2
Definition:
ConservedNormalNoiseVeneer.h:31
ConservedNormalNoiseVeneer::_phase
unsigned int _phase
Definition:
ConservedNormalNoiseVeneer.h:30
libMesh::pi
const Real pi
Generated on Sun Jun 21 2026 21:40:27 for https://mooseframework.inl.gov by
1.8.14