43void waWallFunctionFvPatchScalarField::checkType()
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
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
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A field of fields is a PtrList of fields with reference counting.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
bool get(const label i) const
label size() const noexcept
A cell is defined as a list of faces with extra functionality.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Smooth ATC in cells next to a set of patches supplied by type.
This boundary condition supplies a fixed value constraint, and is the base class for a number of othe...
fixedValueFvPatchField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
virtual void write(Ostream &) const
Write includes "value" entry.
const fvMesh & mesh() const noexcept
Return the mesh reference.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
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
Mesh data needed to do the Finite Volume discretisation.
const fvPatch & patch() const noexcept
Return the patch.
bool updated() const noexcept
True if the boundary condition has already been updated.
A FieldMapper for finite-volume patch fields.
static tmp< fvPatchField< scalar > > New(const word &patchFieldType, const fvPatch &, const DimensionedField< scalar, volMesh > &)
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void manipulateMatrix(fvMatrix< Type > &matrix)
Manipulate matrix.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
virtual const word & name() const
Return name.
const fvBoundaryMesh & boundaryMesh() const noexcept
Return boundaryMesh reference.
virtual const labelUList & faceCells() const
Return faceCells.
const scalarField & diag() const
const scalarField & upper() const
const scalarField & lower() const
A class for managing temporary objects.
void write(Ostream &) const
Write.
virtual tmp< Field< scalar > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the evaluation of the gradient of this patchFi...
waWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
virtual void manipulateMatrix(fvMatrix< scalar > &matrix)
Manipulate waEqn at the cells next to the wall.
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 tmp< Field< scalar > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the evaluation of the value of this patchFie...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual tmp< Field< scalar > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the evaluation of the gradient of this patch...
A class for handling words, derived from Foam::string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
OBJstream os(runTime.globalPath()/outputName)
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
Define a concrete fvPatchField type and add to run-time tables Example, (fvPatchScalarField,...
string upper(const std::string &s)
Return string copy transformed with std::toupper on each character.
adjointBoundaryCondition< scalar > adjointScalarBoundaryCondition
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
List< cell > cellList
List of cell.
const Type * isA(const U &obj)
Attempt dynamic_cast to Type.
errorManip< error > abort(error &err)
static constexpr const zero Zero
Global zero (0).
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
UList< label > labelUList
A UList of labels.
fvPatchField< scalar > fvPatchScalarField
constexpr char nl
The newline '\n' character (0x0a).
#define forAll(list, i)
Loop across all elements in list.