64 RootDeltaT(
sqrt(DeltaT)),
67 Alpha(UOdict.
get<scalar>(
"UOalpha")),
68 Sigma(UOdict.
get<scalar>(
"UOsigma")),
69 Kupper(UOdict.
get<scalar>(
"UOKupper")),
70 Klower(UOdict.
get<scalar>(
"UOKlower")),
71 Scale((Kupper - Klower)*
pow(scalar(Mesh.size()), 1.0/
vector::dim))
75 scalar sqrKupper =
sqr(Kupper);
76 scalar sqrKlower =
sqr(Klower) + SMALL;
81 if ((sqrK =
magSqr(
K[i])) < sqrKupper && sqrK > sqrKlower)
83 UOfield[i] = Scale*Sigma*WeinerProcess();
100 scalar sqrKupper =
sqr(Kupper);
101 scalar sqrKlower =
sqr(Klower) + SMALL;
106 if ((sqrK =
magSqr(
K[i])) < sqrKupper && sqrK > sqrKlower)
110 (1.0 - Alpha*DeltaT)*UOfield[i]
111 + Scale*Sigma*WeinerProcess();
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
Field< complexVector > complexVectorField
Specialisation of Field<T> for complexVector.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
dimensionedSymmTensor sqr(const dimensionedVector &dv)
constexpr char nl
The newline '\n' character (0x0a)
const complexVectorField & newField()
dimensionedScalar sqrt(const dimensionedScalar &ds)
CGAL::Exact_predicates_exact_constructions_kernel K
#define forAll(list, i)
Loop across all elements in list.
unsigned int count(const UList< bool > &bools, const bool val=true)
Count number of 'true' entries.
Vector< complex > complexVector
A Vector of complex values with 'scalar' precision.
Calculate the wavenumber vector field corresponding to the space vector field of a finite volume mesh...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
messageStream Info
Information stream (stdout output on master, null elsewhere)
Field< vector > vectorField
Specialisation of Field<T> for vector.
Type GaussNormal()
Return a sample whose components are normally distributed with zero mean and unity variance N(0...
UOprocess(const Kmesh &kmesh, const scalar deltaT, const dictionary &)
Construct from wavenumber mesh and timestep.
static const Vector< Cmpt > zero
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)