Adjoint wall velocity boundary condition. If nutUSpaldingWallFunction is employed in the flow solution, the corresponding adjoint wall function is used. Otherwise, the typical low-Re boundary condition is applied. More...
Public Member Functions | |
TypeName ("adjointWallVelocity") | |
Runtime type information. More... | |
adjointWallVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &) | |
Construct from patch and internal field. More... | |
adjointWallVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
adjointWallVelocityFvPatchVectorField (const adjointWallVelocityFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &) | |
virtual tmp< fvPatchVectorField > | clone () const |
Construct and return a clone. More... | |
adjointWallVelocityFvPatchVectorField (const adjointWallVelocityFvPatchVectorField &, const DimensionedField< vector, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< fvPatchVectorField > | clone (const DimensionedField< vector, volMesh > &iF) const |
Construct and return a clone setting internal field reference. More... | |
virtual void | manipulateMatrix (fvMatrix< vector > &matrix) |
virtual void | updateCoeffs () |
Update the coefficients associated with the patch field. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
Public Member Functions inherited from adjointBoundaryCondition< Type > | |
TypeName ("adjointBoundaryCondition") | |
Run-time type information. More... | |
adjointBoundaryCondition (const fvPatch &p, const DimensionedField< Type, volMesh > &iF, const word &solverName) | |
Construct from field and base name. More... | |
adjointBoundaryCondition (const adjointBoundaryCondition< Type > &) | |
Construct as copy. More... | |
virtual | ~adjointBoundaryCondition ()=default |
Destructor. More... | |
const word & | objectiveManagerName () const |
Return objectiveManager name. More... | |
const word & | adjointSolverName () const |
Return adjointSolverName. More... | |
const word & | simulationType () const |
Return the simulationType. More... | |
void | setBoundaryContributionPtr () |
Set the ptr to the correct boundaryAdjointContribution. More... | |
boundaryAdjointContribution & | getBoundaryAdjContribution () |
Get boundaryContribution. More... | |
const ATCModel & | getATC () const |
ATC type might be useful for a number of BCs. Return here. More... | |
virtual tmp< Field< typename Foam::outerProduct< Foam::vector, Type >::type > > | dxdbMult () const |
Return contribution to sensitivity derivatives. More... | |
virtual void | updatePrimalBasedQuantities () |
Additional Inherited Members | |
Protected Member Functions inherited from adjointBoundaryCondition< Type > | |
template<class Type2 > | |
tmp< Field< typename Foam::outerProduct< Foam::vector, Type2 >::type > > | computePatchGrad (word name) |
Get gradient of field on a specific boundary. More... | |
bool | addATCUaGradUTerm () |
Whether to add the extra term from the UaGradU formulation. More... | |
Protected Attributes inherited from adjointBoundaryCondition< Type > | |
const fvPatch & | patch_ |
Reference to patch. More... | |
word | managerName_ |
objectiveManager name corresponding to field More... | |
word | adjointSolverName_ |
adjointSolver name corresponding to field More... | |
word | simulationType_ |
simulationType corresponding to field. More... | |
autoPtr< boundaryAdjointContribution > | boundaryContrPtr_ |
autoPtr< bool > | addATCUaGradUTerm_ |
Whether to add the extra term from the UaGradU formulation. More... | |
Adjoint wall velocity boundary condition. If nutUSpaldingWallFunction is employed in the flow solution, the corresponding adjoint wall function is used. Otherwise, the typical low-Re boundary condition is applied.
Reference:
For both the low- and high-Re variants Papoutsis-Kiachagias, E. M., & Giannakoglou, K. C. (2014). Continuous Adjoint Methods for Turbulent Flows, Applied to Shape and Topology Optimization: Industrial Applications. Archives of Computational Methods in Engineering, 23(2), 255-299. http://doi.org/10.1007/s11831-014-9141-9
Definition at line 68 of file adjointWallVelocityFvPatchVectorField.H.
adjointWallVelocityFvPatchVectorField | ( | const fvPatch & | p, |
const DimensionedField< vector, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 37 of file adjointWallVelocityFvPatchVectorField.C.
adjointWallVelocityFvPatchVectorField | ( | const fvPatch & | p, |
const DimensionedField< vector, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 67 of file adjointWallVelocityFvPatchVectorField.C.
References dict, p, and UList< T >::size().
adjointWallVelocityFvPatchVectorField | ( | const adjointWallVelocityFvPatchVectorField & | ptf, |
const fvPatch & | p, | ||
const DimensionedField< vector, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given adjointWallVelocityFvPatchVectorField onto a new patch
Definition at line 51 of file adjointWallVelocityFvPatchVectorField.C.
adjointWallVelocityFvPatchVectorField | ( | const adjointWallVelocityFvPatchVectorField & | pivpvf, |
const DimensionedField< vector, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 87 of file adjointWallVelocityFvPatchVectorField.C.
TypeName | ( | "adjointWallVelocity" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented in adjointRotatingWallVelocityFvPatchVectorField.
Definition at line 115 of file adjointWallVelocityFvPatchVectorField.H.
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Reimplemented in adjointRotatingWallVelocityFvPatchVectorField.
Definition at line 131 of file adjointWallVelocityFvPatchVectorField.H.
In case of High-Re runs based on the nutUSpaldingWallFunction add source terms in the first cell centre off the wall
Definition at line 103 of file adjointWallVelocityFvPatchVectorField.C.
References addProfiling, Foam::exp(), forAll, Foam::mag(), Foam::min(), nu, fvPatchField< Type >::patchInternalField(), fvPatchField< Type >::snGrad(), fvMatrix< Type >::source(), Foam::sqrt(), uPlus, and yPlus.
|
virtual |
Update the coefficients associated with the patch field.
(1./delta)*((gradUaC & nf) & tf1)*tf1;
Definition at line 171 of file adjointWallVelocityFvPatchVectorField.C.
References Foam::mag(), Foam::operator==(), fvPatchField< Type >::patchInternalField(), and Foam::Zero.
|
virtual |
Write.
Reimplemented in adjointRotatingWallVelocityFvPatchVectorField.
Definition at line 226 of file adjointWallVelocityFvPatchVectorField.C.
References os(), ObukhovLength::write(), and Ostream::writeEntry().