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 this_bctype &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &) | |
| Construct by mapping onto a new patch. More... | |
| adjointWallVelocityFvPatchVectorField (const this_bctype &, const DimensionedField< vector, volMesh > &) | |
| Construct as copy setting internal field reference. More... | |
| adjointWallVelocityFvPatchVectorField (const this_bctype &)=delete | |
| No copy without an internal field. More... | |
| virtual tmp< fvPatchField< vector > > | clone (const DimensionedField< vector, volMesh > &iF) const |
| Clone with an internal field reference. More... | |
| virtual void | manipulateMatrix (fvMatrix< vector > &matrix) |
| In case of High-Re runs based on the nutUSpaldingWallFunction add source terms in the first cell centre off the wall. More... | |
| 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 () |
| Update the primal based quantities related to the adjoint boundary conditions. More... | |
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_ |
| Engine to manage contributions of the objective functions to the adjoint boundary conditions. More... | |
| Switch | 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.
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 64 of file adjointWallVelocityFvPatchVectorField.H.
| adjointWallVelocityFvPatchVectorField | ( | const fvPatch & | p, |
| const DimensionedField< vector, volMesh > & | iF | ||
| ) |
Construct from patch and internal field.
Definition at line 32 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 62 of file adjointWallVelocityFvPatchVectorField.C.
References dict.
| adjointWallVelocityFvPatchVectorField | ( | const this_bctype & | ptf, |
| const fvPatch & | p, | ||
| const DimensionedField< vector, volMesh > & | iF, | ||
| const fvPatchFieldMapper & | mapper | ||
| ) |
Construct by mapping onto a new patch.
Definition at line 46 of file adjointWallVelocityFvPatchVectorField.C.
| adjointWallVelocityFvPatchVectorField | ( | const this_bctype & | pivpvf, |
| const DimensionedField< vector, volMesh > & | iF | ||
| ) |
Construct as copy setting internal field reference.
Definition at line 79 of file adjointWallVelocityFvPatchVectorField.C.
|
delete |
No copy without an internal field.
| TypeName | ( | "adjointWallVelocity" | ) |
Runtime type information.
|
inlinevirtual |
Clone with an internal field reference.
Reimplemented in adjointRotatingWallVelocityFvPatchVectorField.
Definition at line 136 of file adjointWallVelocityFvPatchVectorField.H.
References fvPatchField< Type >::Clone().

In case of High-Re runs based on the nutUSpaldingWallFunction add source terms in the first cell centre off the wall.
Definition at line 94 of file adjointWallVelocityFvPatchVectorField.C.
References addProfiling, Foam::exp(), forAll, Foam::mag(), Foam::min(), nu, Foam::foamVersion::patch, 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 162 of file adjointWallVelocityFvPatchVectorField.C.
References adjointBoundaryCondition< Type >::boundaryContrPtr_, Foam::mag(), Foam::operator==(), Foam::foamVersion::patch, fvPatchField< Type >::patchInternalField(), and Foam::Zero.

|
virtual |
Write.
Reimplemented in adjointRotatingWallVelocityFvPatchVectorField.
Definition at line 219 of file adjointWallVelocityFvPatchVectorField.C.
References fvPatchField< Type >::write(), Ostream::writeEntry(), and fvPatchField< Type >::writeValueEntry().
