44 void Foam::LESModels::IDDESDelta::calcDelta()
52 tmp<volScalarField> tfaceToFacenMax
62 scalarField& faceToFacenMax = tfaceToFacenMax.ref().primitiveFieldRef();
65 const vectorField& faceCentres = mesh.faceCentres();
69 scalar maxDelta = 0.0;
75 label facei = cFaces[cFacei];
76 const point& fci = faceCentres[facei];
80 label facej = cFaces[cFacej];
81 const point& fcj = faceCentres[facej];
82 scalar ndfc = nci & (fcj - fci);
91 faceToFacenMax[celli] = maxDelta;
95 label nD = mesh.nGeometricD();
100 <<
"Case is 2D, LES is not strictly applicable" <<
nl
144 dict.optionalSubDict(
type() +
"Coeffs").lookupOrDefault<scalar>
169 if (momentumTransportModel_.mesh().changing())
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
static wallDist & New(const word &name, const fvMesh &mesh)
Construct and return the named DemandDrivenMeshObject.
Internal::FieldType & primitiveFieldRef()
Return a reference to the primitive field.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
IDDESDelta used by the IDDES (improved low Re Spalart-Allmaras DES model) The min and max delta are c...
IDDESDelta(const word &name, const momentumTransportModel &turbulence, const dictionary &)
Construct from name, mesh and IOdictionary.
void read(const dictionary &)
Read the LESdelta dictionary.
const volScalarField & hmax() const
Return the hmax delta field.
Abstract base class for LES deltas.
const momentumTransportModel & momentumTransportModel_
A list of keyword definitions, which are a keyword followed by any number of values (e....
bool readIfPresent(const word &, T &, bool recursive=false, bool patternMatch=true) const
Find an entry if present, and assign to T.
Abstract base class for turbulence models (RAS, LES and laminar).
const fvMesh & mesh() const
const volVectorField & n() const
Return reference to cached normal-to-wall field.
A class for handling words, derived from string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define WarningInFunction
Report a warning using Foam::Warning.
defineTypeNameAndDebug(cubeRootVolDelta, 0)
addToRunTimeSelectionTable(LESdelta, cubeRootVolDelta, dictionary)
const char *const group
Group name for atomic constants.
errorManipArg< error, int > exit(error &err, const int errNo=1)
VolField< vector > volVectorField
List< label > labelList
A List of labels.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
List< cell > cellList
list of cells
Ostream & endl(Ostream &os)
Add newline and flush stream.
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimLength
vector point
Point is a vector.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
Vector< scalar > vector
A scalar version of the templated Vector.
VolField< scalar > volScalarField
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
Field< vector > vectorField
Specialisation of Field<T> for vector.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
autoPtr< incompressible::momentumTransportModel > turbulence(incompressible::momentumTransportModel::New(U, phi, viscosity))