38 #ifndef Foam_IntegralScaleBox_H 39 #define Foam_IntegralScaleBox_H 63 typedef typename std::conditional
65 std::is_same<Type, scalar>::value,
74 enum kernelType :
bool 96 const enum kernelType kernelType_;
160 void calcCoordinateSystem();
188 TypeL convert(
const TypeL&
L)
const;
193 scalar calcC1(
const vector&
L)
const;
199 scalar calcC2(
const vector&
L)
const;
static int debug
Flag to activate debug statements.
Field< Type > convolve() const
Embed two-point correlations, i.e. L.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
const vector L(dict.get< vector >("L"))
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Class to describe the integral-scale container being used in the turbulentDigitalFilterInletFvPatchFi...
bool fsm() const noexcept
Return the object: fsm.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
A list of faces which address into the list of points.
void refill()
Add a new integral-scale box slice to the rear of the box.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
void shift()
Discard current time-step integral-scale box slice (the closest to the patch) by shifting from the ba...
void initialise()
Initialise integral-scale box properties.
void correlate(scalarField &fld)
Apply forward-stepwise correlation for scalar fields.
void write(Ostream &) const
Write integral-scale box settings.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Info<< "Reading field U\"<< endl;volVectorField U(IOobject("U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);volScalarField rho(IOobject("rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE), thermo.rho());volVectorField rhoU(IOobject("rhoU", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), rho *U);volScalarField rhoE(IOobject("rhoE", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), rho *(e+0.5 *magSqr(U)));surfaceScalarField pos(IOobject("pos", runTime.timeName(), mesh), mesh, dimensionedScalar("pos", dimless, 1.0));surfaceScalarField neg(IOobject("neg", runTime.timeName(), mesh), mesh, dimensionedScalar("neg", dimless, -1.0));surfaceScalarField phi("phi", fvc::flux(rhoU));Info<< "Creating turbulence model\"<< endl;autoPtr< compressible::turbulenceModel > turbulence(compressible::turbulenceModel::New(rho, U, phi, thermo))
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< ' ';}gmvFile<< nl;for(const word &name :lagrangianScalarNames){ IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
IntegralScaleBox(const fvPatch &p)
Construct from patch.
Tensor of scalars, i.e. Tensor<scalar>.
const primitivePatch & patch()
Return const reference to integral-scale box inlet patch.