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
74 const this_bctype& ptf,
80 parent_bctype(ptf,
p, iF, mapper),
94 parent_bctype(
p, iF,
dict),
103 const this_bctype& ewfpsf,
107 parent_bctype(ewfpsf, iF),
163 const label celli = faceCells[i];
164 const cell&
c =
cells[celli];
168 const label facei =
c[j];
170 if (
mesh.isInternalFace(facei))
175 if (celli == own[facei])
228 const label patchi =
mesh.boundaryMesh().whichPatch(facei);
229 if (internalCoeffs[patchi].
size())
232 mesh.boundaryMesh()[patchi].whichFace(facei);
233 internalCoeffs[patchi][patchFacei] =
Zero;
234 boundaryCoeffs[patchi][patchFacei] =
Zero;
299 waWallFunctionFvPatchScalarField
const scalarField & diag() const
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
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.
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.
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.
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.
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
constexpr T & get(FixedList< T, N > &list) noexcept
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 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.
string upper(const std::string &s)
Return string copy transformed with std::toupper on each character.
virtual tmp< Field< scalar > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the evaluation of the value of this patchField...
virtual void write(Ostream &) const
Write includes "value" entry.
waWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
const scalarField & upper() const
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...
string lower(const std::string &s)
Return string copy transformed with std::tolower on each character.
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...
virtual void operator==(const fvPatchField< scalar > &)
virtual void manipulateMatrix(fvMatrix< Type > &matrix)
Manipulate matrix.
static constexpr const zero Zero
Global zero (0)