44 fixedValueFvPatchVectorField(
p, iF),
58 fixedValueFvPatchVectorField(ptf,
p, iF, mapper),
71 fixedValueFvPatchVectorField(
p, iF),
88 fixedValueFvPatchVectorField(pivpvf, iF),
103 "adjointOutletVelocityFluxFvPatchVectorField::manipulateMatrix" 110 const vectorField& velocitySource = tvelocitySource();
112 const word& fieldName = internalField().name();
117 tmp<scalarField> tmomentumDiffusion(boundaryContrPtr_->momentumDiffusion());
118 const scalarField& momentumDiffusion = tmomentumDiffusion();
143 + explDiffusiveFlux[fI]
144 - velocitySource[fI]*magSf[fI];
156 tmp<vectorField> tnf =
patch().nf();
165 fixedValueFvPatchVectorField::updateCoeffs();
211 writeEntry(
"value",
os);
218 void Foam::adjointOutletVelocityFluxFvPatchVectorField::operator=
234 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
#define addProfiling(name, descr)
Define profiling trigger with specified name and description string.
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.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/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.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
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.
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)