44 fixedValueFvPatchVectorField(
p, iF),
60 fixedValueFvPatchVectorField(ptf,
p, iF, mapper),
75 fixedValueFvPatchVectorField(
p, iF),
77 kappa_(
dict.getOrDefault<scalar>(
"kappa", 0.41)),
78 E_(
dict.getOrDefault<scalar>(
"E", 9.8))
91 fixedValueFvPatchVectorField(pivpvf, iF),
93 kappa_(pivpvf.kappa_),
108 "adjointWallVelocityFvPatchVectorField::manipulateMatrix"
115 SAwallFunctionPatchField;
121 && patch().size() != 0
150 const scalarField auxA((kappa_/E_)*(
exp(kUu)-1 - kUu - 0.5*kUu*kUu));
160 label cellI = patch().faceCells()[faceI];
162 2*auxB[faceI]*vtau[faceI]*((rt[faceI] + Uap_t[faceI]))
163 *(Uc[faceI]/
mag(Uc[faceI]))*magSf[faceI];
200 typedef Foam::nutUSpaldingWallFunctionFvPatchScalarField
201 SAwallFunctionPatchField;
206 Uap_t1 = (Uac & tf1)*tf1;
212 Uap_t1 = - (tsource() & tf1)*tf1;
220 fixedValueFvPatchVectorField::updateCoeffs();
227 os.writeEntry(
"kappa", kappa_);
228 os.writeEntry(
"E", E_);
229 os.writeEntry(
"solverName", adjointSolverName_);
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...
@ MUST_READ
Reading required.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
autoPtr< boundaryAdjointContribution > boundaryContrPtr_
Adjoint wall velocity boundary condition. If nutUSpaldingWallFunction is employed in the flow solutio...
virtual void write(Ostream &) const
Write.
virtual void manipulateMatrix(fvMatrix< vector > &matrix)
In case of High-Re runs based on the nutUSpaldingWallFunction add source terms in the first cell cent...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
adjointWallVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
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 void write(Ostream &) const
Write.
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
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)
Define a concrete fvPatchField type and add to run-time tables Example, (fvPatchScalarField,...
const std::string patch
OpenFOAM patch number as a std::string.
dimensionedScalar exp(const dimensionedScalar &ds)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
dimensionedScalar sqrt(const dimensionedScalar &ds)
const Type * isA(const U &obj)
Attempt dynamic_cast to Type.
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).
adjointBoundaryCondition< vector > adjointVectorBoundaryCondition
fvPatchField< vector > fvPatchVectorField
#define addProfiling(Name,...)
Define profiling trigger with specified name and description string. The description is generated by ...
#define forAll(list, i)
Loop across all elements in list.