Loading...
Searching...
No Matches
adjointOutletVelocityFvPatchVectorField Class Reference

Provides the adjoint outlet velocity values (i.e. adjoint velocity in case of a zeroGradient U boundary condition). Can have stability issues in cases of backflow of the primal velocity. The adjointOutletVelocityFlux should preferably be used. More...

#include <adjointOutletVelocityFvPatchVectorField.H>

Inheritance diagram for adjointOutletVelocityFvPatchVectorField:
Collaboration diagram for adjointOutletVelocityFvPatchVectorField:

Public Member Functions

 TypeName ("adjointOutletVelocity")
 Runtime type information.
 adjointOutletVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &)
 Construct from patch and internal field.
 adjointOutletVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary.
 adjointOutletVelocityFvPatchVectorField (const adjointOutletVelocityFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given adjointOutletVelocityFvPatchVectorField onto a new patch.
 adjointOutletVelocityFvPatchVectorField (const adjointOutletVelocityFvPatchVectorField &, 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 bool assignable () const
 Return true: Allow adjoint solvers to obtain the outlet phia.
virtual void evaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
 Update the coefficients associated with the patch field.
virtual void write (Ostream &) const
 Write.
virtual void operator= (const fvPatchField< vector > &pvf)
 TypeName ("adjointOutletVelocity")
 Runtime type information.
 adjointOutletVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &)
 Construct from patch and internal field.
 adjointOutletVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary.
 adjointOutletVelocityFvPatchVectorField (const adjointOutletVelocityFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given adjointOutletVelocityFvPatchVectorField.
 adjointOutletVelocityFvPatchVectorField (const adjointOutletVelocityFvPatchVectorField &, 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 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 wordobjectiveManagerName () const
 Return objectiveManager name.
const wordadjointSolverName () const
 Return adjointSolverName.
const wordsimulationType () const
 Return the simulationType.
void setBoundaryContributionPtr ()
 Set the ptr to the correct boundaryAdjointContribution.
boundaryAdjointContributiongetBoundaryAdjContribution ()
 Get boundaryContribution.
const ATCModelgetATC () 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 fvPatchpatch_
 Reference to patch.
word managerName_
 objectiveManager name corresponding to field
word adjointSolverName_
 adjointSolver name corresponding to field
word simulationType_
 simulationType corresponding to field.
autoPtr< boundaryAdjointContributionboundaryContrPtr_
 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.

Detailed Description

Provides the adjoint outlet velocity values (i.e. adjoint velocity in case of a zeroGradient U boundary condition). Can have stability issues in cases of backflow of the primal velocity. The adjointOutletVelocityFlux should preferably be used.

Source files

Source files

Definition at line 55 of file adjointOutletVelocityFvPatchVectorField.H.

Constructor & Destructor Documentation

◆ adjointOutletVelocityFvPatchVectorField() [1/8]

adjointOutletVelocityFvPatchVectorField ( const fvPatch & p,
const DimensionedField< vector, volMesh > & iF )

Construct from patch and internal field.

Definition at line 90 of file adjointOutletVelocityFvPatchVectorField.C.

References p.

Referenced by adjointOutletVelocityFvPatchVectorField(), adjointOutletVelocityFvPatchVectorField(), and TypeName().

Here is the caller graph for this function:

◆ adjointOutletVelocityFvPatchVectorField() [2/8]

adjointOutletVelocityFvPatchVectorField ( const fvPatch & p,
const DimensionedField< vector, volMesh > & iF,
const dictionary & dict )

Construct from patch, internal field and dictionary.

Definition at line 116 of file adjointOutletVelocityFvPatchVectorField.C.

References dict, IOobjectOption::MUST_READ, and p.

◆ adjointOutletVelocityFvPatchVectorField() [3/8]

adjointOutletVelocityFvPatchVectorField ( const adjointOutletVelocityFvPatchVectorField & ptf,
const fvPatch & p,
const DimensionedField< vector, volMesh > & iF,
const fvPatchFieldMapper & mapper )

Construct by mapping given adjointOutletVelocityFvPatchVectorField onto a new patch.

Definition at line 102 of file adjointOutletVelocityFvPatchVectorField.C.

References adjointOutletVelocityFvPatchVectorField(), adjointBoundaryCondition< vector >::adjointSolverName_, and p.

Here is the call graph for this function:

◆ adjointOutletVelocityFvPatchVectorField() [4/8]

adjointOutletVelocityFvPatchVectorField ( const adjointOutletVelocityFvPatchVectorField & pivpvf,
const DimensionedField< vector, volMesh > & iF )

Construct as copy setting internal field reference.

Definition at line 131 of file adjointOutletVelocityFvPatchVectorField.C.

References adjointOutletVelocityFvPatchVectorField().

Here is the call graph for this function:

◆ adjointOutletVelocityFvPatchVectorField() [5/8]

adjointOutletVelocityFvPatchVectorField ( const fvPatch & ,
const DimensionedField< vector, volMesh > &  )

Construct from patch and internal field.

◆ adjointOutletVelocityFvPatchVectorField() [6/8]

adjointOutletVelocityFvPatchVectorField ( const fvPatch & ,
const DimensionedField< vector, volMesh > & ,
const dictionary &  )

Construct from patch, internal field and dictionary.

◆ adjointOutletVelocityFvPatchVectorField() [7/8]

adjointOutletVelocityFvPatchVectorField ( const adjointOutletVelocityFvPatchVectorField & ,
const fvPatch & ,
const DimensionedField< vector, volMesh > & ,
const fvPatchFieldMapper &  )

Construct by mapping given adjointOutletVelocityFvPatchVectorField.

onto a new patch

References adjointOutletVelocityFvPatchVectorField().

Here is the call graph for this function:

◆ adjointOutletVelocityFvPatchVectorField() [8/8]

adjointOutletVelocityFvPatchVectorField ( const adjointOutletVelocityFvPatchVectorField & ,
const DimensionedField< vector, volMesh > &  )

Construct as copy setting internal field reference.

References adjointOutletVelocityFvPatchVectorField().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName() [1/2]

TypeName ( "adjointOutletVelocity" )

Runtime type information.

References adjointOutletVelocityFvPatchVectorField().

Here is the call graph for this function:

◆ clone() [1/4]

virtual tmp< fvPatchField< vector > > clone ( ) const
inlinevirtual

Return a clone.

Definition at line 118 of file adjointOutletVelocityFvPatchVectorField.H.

References fvPatchField< Type >::Clone().

Here is the call graph for this function:

◆ clone() [2/4]

virtual tmp< fvPatchField< vector > > clone ( const DimensionedField< vector, volMesh > & iF) const
inlinevirtual

Clone with an internal field reference.

Definition at line 126 of file adjointOutletVelocityFvPatchVectorField.H.

References fvPatchField< Type >::Clone().

Here is the call graph for this function:

◆ assignable()

virtual bool assignable ( ) const
inlinevirtual

Return true: Allow adjoint solvers to obtain the outlet phia.

value through HbyA

Definition at line 142 of file adjointOutletVelocityFvPatchVectorField.H.

◆ evaluate()

void evaluate ( const Pstream::commsTypes commsType = Pstream::commsTypes::buffered)
virtual

Update the coefficients associated with the patch field.

Apply adjoint BCs through evaluate rather than updateCoeffs in order to have the correct Ua boundaryField when computing the adjoint pressure BC

Definition at line 145 of file adjointOutletVelocityFvPatchVectorField.C.

References fvPatchField< vector >::evaluate().

Here is the call graph for this function:

◆ write() [1/2]

void write ( Ostream & os) const
virtual

◆ operator=()

void operator= ( const fvPatchField< vector > & pvf)
virtual

Definition at line 165 of file adjointOutletVelocityFvPatchVectorField.C.

References fvPatchField< Type >::operator=().

Here is the call graph for this function:

◆ TypeName() [2/2]

TypeName ( "adjointOutletVelocity" )

Runtime type information.

◆ clone() [3/4]

virtual tmp< fvPatchField< vector > > clone ( ) const
inlinevirtual

Return a clone.

Definition at line 104 of file adjointOutletVelocityFvPatchVectorField.H.

References fvPatchField< Type >::Clone().

Here is the call graph for this function:

◆ clone() [4/4]

virtual tmp< fvPatchField< vector > > clone ( const DimensionedField< vector, volMesh > & iF) const
inlinevirtual

Clone with an internal field reference.

Definition at line 112 of file adjointOutletVelocityFvPatchVectorField.H.

References fvPatchField< Type >::Clone().

Here is the call graph for this function:

◆ updateCoeffs()

virtual void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

◆ write() [2/2]

virtual void write ( Ostream & ) const
virtual

Write.


The documentation for this class was generated from the following files: