43 void waWallFunctionFvPatchScalarField::checkType()
45 if (!isA<wallFvPatch>(
patch()))
48 <<
"Invalid wall function specification" <<
nl 49 <<
" Patch type for patch " <<
patch().
name()
50 <<
" must be wall" <<
nl 51 <<
" Current patch type is " <<
patch().type() <<
nl <<
endl 62 const DimensionedField<scalar, volMesh>& iF
65 fixedValueFvPatchField<scalar>(
p, iF),
175 const label celli = faceCells[i];
176 const cell&
c =
cells[celli];
180 const label facei =
c[j];
182 if (
mesh.isInternalFace(facei))
187 if (celli == own[facei])
240 const label patchi =
mesh.boundaryMesh().whichPatch(facei);
241 if (internalCoeffs[patchi].
size())
244 mesh.boundaryMesh()[patchi].whichFace(facei);
245 internalCoeffs[patchi][patchFacei] =
Zero;
246 boundaryCoeffs[patchi][patchFacei] =
Zero;
311 waWallFunctionFvPatchScalarField
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
const scalarField & diag() const
This boundary condition supplies a fixed value constraint, and is the base class for a number of othe...
virtual void write(Ostream &) const
Write includes "value" entry.
List< cell > cellList
List of cell.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
A list of keyword definitions, which are a keyword followed by a number of values (eg...
const fvPatch & patch() const noexcept
Return the patch.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void write(Ostream &) const
Write.
constexpr char nl
The newline '\n' character (0x0a)
const fvMesh & mesh() const noexcept
Return the mesh reference.
Ostream & endl(Ostream &os)
Add newline and flush stream.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
string upper(const std::string &s)
Return string copy transformed with std::toupper on each character.
Smooth ATC in cells next to a set of patches supplied by type.
Macros for easy insertion into run-time selection tables.
UList< label > labelUList
A UList of labels.
virtual void operator==(const fvPatchField< scalar > &)
A field of fields is a PtrList of fields with reference counting.
virtual void manipulateMatrix(fvMatrix< scalar > &matrix)
Manipulate waEqn at the cells next to the wall.
#define forAll(list, i)
Loop across all elements in list.
bool updated() const noexcept
True if the boundary condition has already been updated.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
fvPatchField< scalar > fvPatchScalarField
A class for handling words, derived from Foam::string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
virtual const labelUList & faceCells() const
Return faceCells.
A FieldMapper for finite-volume patch fields.
const scalarField & lower() const
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
virtual void manipulateMatrix(fvMatrix< Type > &matrix)
Manipulate matrix.
virtual tmp< Field< scalar > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the evaluation of the gradient of this patchFi...
errorManip< error > abort(error &err)
const fvBoundaryMesh & boundaryMesh() const noexcept
Return boundaryMesh reference.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
label size() const noexcept
The number of elements in the container.
OBJstream os(runTime.globalPath()/outputName)
virtual tmp< Field< scalar > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the evaluation of the value of this patchField...
waWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
const scalarField & upper() const
string lower(const std::string &s)
Return string copy transformed with std::tolower on each character.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Base class for solution control classes.
Mesh data needed to do the Finite Volume discretisation.
const dimensionedScalar c
Speed of light in a vacuum.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const FieldField< Field, Type > & internalCoeffs() const noexcept
fvBoundary scalar field containing pseudo-matrix coeffs for internal cells
const FieldField< Field, Type > & boundaryCoeffs() const noexcept
fvBoundary scalar field containing pseudo-matrix coeffs for boundary cells
virtual const word & name() const
Return name.
A class for managing temporary objects.
virtual tmp< Field< scalar > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the evaluation of the value of this patchFie...
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)
virtual tmp< Field< scalar > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the evaluation of the gradient of this patch...
static tmp< fvPatchField< scalar > > New(const word &patchFieldType, const fvPatch &, const DimensionedField< scalar, volMesh > &)
Return a pointer to a new patchField created on freestore given.
static constexpr const zero Zero
Global zero (0)