44 fixedValueFvPatchVectorField(
p, iF),
58 fixedValueFvPatchVectorField(ptf,
p, iF, mapper),
71 fixedValueFvPatchVectorField(
p, iF),
74 this->readValueEntry(
dict, IOobjectOption::MUST_READ);
85 fixedValueFvPatchVectorField(pivpvf, iF),
100 "adjointOutletVelocityFluxFvPatchVectorField::manipulateMatrix" 107 const vectorField& velocitySource = tvelocitySource();
109 const word& fieldName = internalField().name();
115 const scalarField& momentumDiffusion = tmomentumDiffusion();
140 + explDiffusiveFlux[fI]
141 - velocitySource[fI]*magSf[fI];
153 tmp<vectorField> tnf =
patch().nf();
162 fixedValueFvPatchVectorField::updateCoeffs();
215 void Foam::adjointOutletVelocityFluxFvPatchVectorField::operator=
231 adjointOutletVelocityFluxFvPatchVectorField
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
fvsPatchField< scalar > fvsPatchScalarField
fvPatchField< vector > fvPatchVectorField
A list of keyword definitions, which are a keyword followed by a number of values (eg...
adjointOutletVelocityFluxFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
#define addProfiling(Name,...)
Define profiling trigger with specified name and description string. The description is generated by ...
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
virtual tmp< Field< vector > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the evaluation of the gradient of this patch...
Smooth ATC in cells next to a set of patches supplied by type.
virtual void write(Ostream &) const
Write.
static const SphericalTensor oneThirdI
virtual void write(Ostream &) const
Write.
Macros for easy insertion into run-time selection tables.
virtual tmp< Field< vector > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the evaluation of the value of this patchFie...
#define forAll(list, i)
Loop across all elements in list.
autoPtr< boundaryAdjointContribution > boundaryContrPtr_
Engine to manage contributions of the objective functions to the adjoint boundary conditions...
A class for handling words, derived from Foam::string.
A FieldMapper for finite-volume patch fields.
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.
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
virtual void manipulateMatrix(fvMatrix< vector > &matrix)
add source term in the first cells off the wall due to adjoint WF
An Ostream is an abstract base class for all output systems (streams, files, token lists...
virtual tmp< Field< vector > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the evaluation of the gradient of this patchFi...
OBJstream os(runTime.globalPath()/outputName)
Field< Type > & source() noexcept
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Base class for solution control classes.
An outlet boundary condition for patches in which the primal flow exhibits recirculation. Adds the contribution of the objective as an adjoint momentum flux directly to the PDEs, without the need to first compute an adjoint outlet velocity, circumventing thus the division with (almost) zero that manifests in case of primal flow recirculation.
virtual void operator=(const UList< Type > &)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const std::string patch
OpenFOAM patch number as a std::string.
Field< vector > vectorField
Specialisation of Field<T> for vector.
virtual tmp< Field< vector > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the evaluation of the value of this patchField...
A class for managing temporary objects.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)
static constexpr const zero Zero
Global zero (0)