37Foam::adjointWallVelocityFvPatchVectorField::
38adjointWallVelocityFvPatchVectorField
44 fixedValueFvPatchVectorField(
p, iF),
51Foam::adjointWallVelocityFvPatchVectorField::
52adjointWallVelocityFvPatchVectorField
60 fixedValueFvPatchVectorField(ptf,
p, iF, mapper),
67Foam::adjointWallVelocityFvPatchVectorField::
68adjointWallVelocityFvPatchVectorField
75 fixedValueFvPatchVectorField(
p, iF),
77 kappa_(
dict.getOrDefault<scalar>(
"kappa", 0.41)),
78 E_(
dict.getOrDefault<scalar>(
"E", 9.8))
87Foam::adjointWallVelocityFvPatchVectorField::
88adjointWallVelocityFvPatchVectorField
94 fixedValueFvPatchVectorField(pivpvf, iF),
96 kappa_(pivpvf.kappa_),
111 "adjointWallVelocityFvPatchVectorField::manipulateMatrix"
118 SAwallFunctionPatchField;
122 isA<SAwallFunctionPatchField>(boundaryContrPtr_->turbulentDiffusivity())
123 && patch().size() != 0
152 const scalarField auxA((kappa_/E_)*(
exp(kUu)-1 - kUu - 0.5*kUu*kUu));
162 label cellI = patch().faceCells()[faceI];
164 2*auxB[faceI]*vtau[faceI]*((rt[faceI] + Uap_t[faceI]))
165 *(Uc[faceI]/
mag(Uc[faceI]))*magSf[faceI];
203 SAwallFunctionPatchField;
206 if (isA<SAwallFunctionPatchField>(nutb))
208 Uap_t1 = (Uac & tf1)*tf1;
214 Uap_t1 = - (tsource() & tf1)*tf1;
222 fixedValueFvPatchVectorField::updateCoeffs();
229 writeEntry(
"value",
os);
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...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
void size(const label n)
Older name for setAddressableSize.
Base class for solution control classes.
Adjoint wall velocity boundary condition. If nutUSpaldingWallFunction is employed in the flow solutio...
virtual void manipulateMatrix(fvMatrix< vector > &matrix)
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual bool write()
Write the output fields.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Field< Type > & source() noexcept
A FieldMapper for finite-volume patch fields.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch as patch field.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
This boundary condition provides a wall function for the turbulent viscosity (i.e....
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
dimensionedScalar exp(const dimensionedScalar &ds)
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
Field< vector > vectorField
Specialisation of Field<T> for vector.
static constexpr const zero Zero
Global zero (0)
#define addProfiling(name, descr)
Define profiling trigger with specified name and description string.
#define forAll(list, i)
Loop across all elements in list.