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...
#include <adjointWallVelocityFvPatchVectorField.H>


Public Member Functions | |
| TypeName ("adjointWallVelocity") | |
| Runtime type information. | |
| adjointWallVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &) | |
| Construct from patch and internal field. | |
| adjointWallVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &) | |
| Construct from patch, internal field and dictionary. | |
| adjointWallVelocityFvPatchVectorField (const adjointWallVelocityFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &) | |
| Construct by mapping given adjointWallVelocityFvPatchVectorField onto a new patch. | |
| adjointWallVelocityFvPatchVectorField (const adjointWallVelocityFvPatchVectorField &, const DimensionedField< vector, volMesh > &) | |
| Construct as copy setting internal field reference. | |
| virtual tmp< fvPatchField< vector > > | clone () const |
| Return a clone. | |
| virtual tmp< fvPatchField< vector > > | clone (const DimensionedField< vector, volMesh > &iF) const |
| Clone with an internal field reference. | |
| 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. | |
| virtual void | updateCoeffs () |
| Update the coefficients associated with the patch field. | |
| virtual void | write (Ostream &) const |
| Write. | |
| Public Member Functions inherited from adjointBoundaryCondition< vector > | |
| TypeName ("adjointBoundaryCondition") | |
| Run-time type information. | |
| adjointBoundaryCondition (const fvPatch &p, const DimensionedField< vector, volMesh > &iF, const word &solverName) | |
| Construct from field and base name. | |
| adjointBoundaryCondition (const adjointBoundaryCondition< vector > &) | |
| Construct as copy. | |
| virtual | ~adjointBoundaryCondition ()=default |
| Destructor. | |
| const word & | objectiveManagerName () const |
| Return objectiveManager name. | |
| const word & | adjointSolverName () const |
| Return adjointSolverName. | |
| const word & | simulationType () const |
| Return the simulationType. | |
| void | setBoundaryContributionPtr () |
| Set the ptr to the correct boundaryAdjointContribution. | |
| boundaryAdjointContribution & | getBoundaryAdjContribution () |
| Get boundaryContribution. | |
| const ATCModel & | getATC () const |
| ATC type might be useful for a number of BCs. Return here. | |
| virtual tmp< Field< typename Foam::outerProduct< Foam::vector, vector >::type > > | dxdbMult () const |
| Return contribution to sensitivity derivatives. | |
| virtual void | updatePrimalBasedQuantities () |
| Update the primal based quantities related to the adjoint boundary conditions. | |
Additional Inherited Members | |
| Protected Member Functions inherited from adjointBoundaryCondition< vector > | |
| tmp< Field< typename Foam::outerProduct< Foam::vector, Type2 >::type > > | computePatchGrad (word name) |
| Get gradient of field on a specific boundary. | |
| bool | addATCUaGradUTerm () |
| Whether to add the extra term from the UaGradU formulation. | |
| Protected Attributes inherited from adjointBoundaryCondition< vector > | |
| const fvPatch & | patch_ |
| Reference to patch. | |
| word | managerName_ |
| objectiveManager name corresponding to field | |
| word | adjointSolverName_ |
| adjointSolver name corresponding to field | |
| word | simulationType_ |
| simulationType corresponding to field. | |
| autoPtr< boundaryAdjointContribution > | boundaryContrPtr_ |
| Engine to manage contributions of the objective functions to the adjoint boundary conditions. | |
| Switch | addATCUaGradUTerm_ |
| Whether to add the extra term from the UaGradU formulation. | |
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 64 of file adjointWallVelocityFvPatchVectorField.H.
| adjointWallVelocityFvPatchVectorField | ( | const fvPatch & | p, |
| const DimensionedField< vector, volMesh > & | iF ) |
Construct from patch and internal field.
Definition at line 30 of file adjointWallVelocityFvPatchVectorField.C.
References p.
Referenced by adjointRotatingWallVelocityFvPatchVectorField::adjointRotatingWallVelocityFvPatchVectorField(), adjointRotatingWallVelocityFvPatchVectorField::adjointRotatingWallVelocityFvPatchVectorField(), adjointRotatingWallVelocityFvPatchVectorField::adjointRotatingWallVelocityFvPatchVectorField(), adjointRotatingWallVelocityFvPatchVectorField::adjointRotatingWallVelocityFvPatchVectorField(), adjointWallVelocityFvPatchVectorField(), adjointWallVelocityFvPatchVectorField(), manipulateMatrix(), and TypeName().

| adjointWallVelocityFvPatchVectorField | ( | const fvPatch & | p, |
| const DimensionedField< vector, volMesh > & | iF, | ||
| const dictionary & | dict ) |
Construct from patch, internal field and dictionary.
Definition at line 60 of file adjointWallVelocityFvPatchVectorField.C.
References dict, IOobjectOption::MUST_READ, and p.
| 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 44 of file adjointWallVelocityFvPatchVectorField.C.
References adjointBoundaryCondition< vector >::adjointSolverName_, adjointWallVelocityFvPatchVectorField(), and p.

| adjointWallVelocityFvPatchVectorField | ( | const adjointWallVelocityFvPatchVectorField & | pivpvf, |
| const DimensionedField< vector, volMesh > & | iF ) |
Construct as copy setting internal field reference.
Definition at line 77 of file adjointWallVelocityFvPatchVectorField.C.
References adjointWallVelocityFvPatchVectorField().

| TypeName | ( | "adjointWallVelocity" | ) |
Runtime type information.
References adjointWallVelocityFvPatchVectorField().

|
inlinevirtual |
Return a clone.
Reimplemented in adjointRotatingWallVelocityFvPatchVectorField.
Definition at line 130 of file adjointWallVelocityFvPatchVectorField.H.
References fvPatchField< Type >::Clone().

|
inlinevirtual |
Clone with an internal field reference.
Reimplemented in adjointRotatingWallVelocityFvPatchVectorField.
Definition at line 138 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 93 of file adjointWallVelocityFvPatchVectorField.C.
References addProfiling, adjointWallVelocityFvPatchVectorField(), adjointBoundaryCondition< vector >::boundaryContrPtr_, Foam::exp(), forAll, Foam::isA(), 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 162 of file adjointWallVelocityFvPatchVectorField.C.
References adjointBoundaryCondition< vector >::boundaryContrPtr_, Foam::isA(), Foam::mag(), Foam::operator==(), fvPatchField< Type >::patchInternalField(), and Foam::Zero.

|
virtual |
Write.
Reimplemented in adjointRotatingWallVelocityFvPatchVectorField.
Definition at line 219 of file adjointWallVelocityFvPatchVectorField.C.
References adjointBoundaryCondition< vector >::adjointSolverName_, os(), fvPatchField< Type >::write(), and fvPatchField< Type >::writeValueEntry().
Referenced by adjointRotatingWallVelocityFvPatchVectorField::write().

