boundaryAdjointContributionIncompressible Class Reference

Contributions of objective function differentiation to adjoint boundary conditions for incompressible flows. More...

Inheritance diagram for boundaryAdjointContributionIncompressible:
[legend]
Collaboration diagram for boundaryAdjointContributionIncompressible:
[legend]

Public Member Functions

 TypeName ("incompressible")
 Runtime type information. More...
 
 boundaryAdjointContributionIncompressible (const word &managerName, const word &adjointSolverName, const word &simulationType, const fvPatch &patch)
 Construct from components. More...
 
virtual ~boundaryAdjointContributionIncompressible ()=default
 Destructor. More...
 
tmp< scalarFieldpressureSource ()
 
tmp< vectorFieldvelocitySource ()
 
tmp< vectorFieldtangentVelocitySource ()
 
tmp< vectorFieldnormalVelocitySource ()
 
tmp< scalarFieldenergySource ()
 
tmp< scalarFieldadjointTMVariable1Source ()
 
tmp< scalarFieldadjointTMVariable2Source ()
 
tmp< scalarFielddJdnut ()
 
tmp< tensorFielddJdGradU ()
 
tmp< scalarFieldmomentumDiffusion ()
 
tmp< scalarFieldlaminarDiffusivity ()
 
tmp< scalarFieldthermalDiffusion ()
 
tmp< scalarFieldwallDistance ()
 
tmp< scalarFieldTMVariable1Diffusion ()
 
tmp< scalarFieldTMVariable2Diffusion ()
 
tmp< scalarFieldTMVariable1 ()
 
tmp< scalarFieldTMVariable2 ()
 
const fvPatchVectorFieldUb () const
 
const fvPatchScalarFieldpb () const
 
const fvsPatchScalarFieldphib () const
 
const fvPatchScalarFieldturbulentDiffusivity () const
 
const fvPatchVectorFieldUab () const
 
const fvPatchScalarFieldpab () const
 
const fvsPatchScalarFieldphiab () const
 
const word primalSolverName () const
 
const word adjointSolverName () const
 
const incompressibleVarsprimalVars () const
 
const incompressibleAdjointVarsadjointVars () const
 
objectiveManagergetObjectiveManager ()
 
template<class returnType , class sourceType , class castType >
Foam::tmp< Foam::Field< returnType > > sumContributions (PtrList< sourceType > &sourceList, const fvPatchField< returnType > &(castType::*boundaryFunction)(const label))
 
- Public Member Functions inherited from boundaryAdjointContribution
 TypeName ("boundaryAdjointContribution")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, boundaryAdjointContribution, dictionary,(const word &managerName, const word &adjointSolverName, const word &simulationType, const fvPatch &patch),(managerName, adjointSolverName, simulationType, patch))
 
 boundaryAdjointContribution (const word &managerName, const word &adjointSolverName, const word &simulationType, const fvPatch &patch)
 Construct from components. More...
 
virtual ~boundaryAdjointContribution ()=default
 Destructor. More...
 
virtual tmp< scalarFieldpressureSource ()=0
 
virtual tmp< vectorFieldvelocitySource ()=0
 
virtual tmp< vectorFieldtangentVelocitySource ()=0
 
virtual tmp< vectorFieldnormalVelocitySource ()=0
 
virtual tmp< scalarFieldadjointTMVariable1Source ()
 
virtual tmp< scalarFieldadjointTMVariable2Source ()
 
virtual tmp< scalarFielddJdnut ()
 
virtual tmp< tensorFielddJdGradU ()
 
virtual tmp< scalarFieldenergySource ()=0
 
virtual tmp< scalarFieldmomentumDiffusion ()=0
 
virtual tmp< scalarFieldlaminarDiffusivity ()=0
 
virtual tmp< scalarFieldthermalDiffusion ()=0
 
virtual tmp< scalarFieldwallDistance ()=0
 
virtual tmp< scalarFieldTMVariable1Diffusion ()
 
virtual tmp< scalarFieldTMVariable2Diffusion ()
 
virtual tmp< scalarFieldTMVariable1 ()
 
virtual tmp< scalarFieldTMVariable2 ()
 
virtual const fvPatchVectorFieldUb () const =0
 
virtual const fvPatchScalarFieldpb () const =0
 
virtual const fvsPatchScalarFieldphib () const =0
 
virtual const fvPatchScalarFieldturbulentDiffusivity () const =0
 
virtual const fvPatchVectorFieldUab () const =0
 
virtual const fvPatchScalarFieldpab () const =0
 
virtual const fvsPatchScalarFieldphiab () const =0
 
virtual const word primalSolverName () const =0
 
virtual const word adjointSolverName () const =0
 

Protected Member Functions

template<class returnType , class sourceType , class castType >
tmp< Field< returnType > > sumContributions (PtrList< sourceType > &sourceList, const fvPatchField< returnType > &(castType::*boundaryFunction)(const label))
 

Protected Attributes

objectiveManagerobjectiveManager_
 
const incompressibleVarsprimalVars_
 
const incompressibleAdjointSolveradjointSolver_
 
- Protected Attributes inherited from boundaryAdjointContribution
const fvPatchpatch_
 

Additional Inherited Members

- Static Public Member Functions inherited from boundaryAdjointContribution
static autoPtr< boundaryAdjointContributionNew (const word &managerName, const word &adjointSolverName, const word &simulationType, const fvPatch &patch)
 Return a reference to the selected turbulence model. More...
 

Detailed Description

Contributions of objective function differentiation to adjoint boundary conditions for incompressible flows.

Source files

Definition at line 61 of file boundaryAdjointContributionIncompressible.H.

Constructor & Destructor Documentation

◆ boundaryAdjointContributionIncompressible()

boundaryAdjointContributionIncompressible ( const word managerName,
const word adjointSolverName,
const word simulationType,
const fvPatch patch 
)

Construct from components.

Definition at line 52 of file boundaryAdjointContributionIncompressible.C.

◆ ~boundaryAdjointContributionIncompressible()

virtual ~boundaryAdjointContributionIncompressible ( )
virtualdefault

Destructor.

Member Function Documentation

◆ sumContributions() [1/2]

◆ TypeName()

TypeName ( "incompressible"  )

Runtime type information.

◆ pressureSource()

◆ velocitySource()

◆ tangentVelocitySource()

◆ normalVelocitySource()

tmp< vectorField > normalVelocitySource ( )
virtual

Implements boundaryAdjointContribution.

Definition at line 162 of file boundaryAdjointContributionIncompressible.C.

References objectiveIncompressible::boundarydJdp(), objectiveManager::getObjectiveFunctions(), boundaryAdjointContributionIncompressible::objectiveManager_, and boundaryAdjointContributionIncompressible::sumContributions().

Here is the call graph for this function:

◆ energySource()

tmp< scalarField > energySource ( )
virtual

Implements boundaryAdjointContribution.

Definition at line 174 of file boundaryAdjointContributionIncompressible.C.

References objectiveIncompressible::boundarydJdT(), objectiveManager::getObjectiveFunctions(), boundaryAdjointContributionIncompressible::objectiveManager_, and boundaryAdjointContributionIncompressible::sumContributions().

Here is the call graph for this function:

◆ adjointTMVariable1Source()

tmp< scalarField > adjointTMVariable1Source ( )
virtual

Reimplemented from boundaryAdjointContribution.

Definition at line 187 of file boundaryAdjointContributionIncompressible.C.

References objectiveIncompressible::boundarydJdTMvar1(), objectiveManager::getObjectiveFunctions(), boundaryAdjointContributionIncompressible::objectiveManager_, and boundaryAdjointContributionIncompressible::sumContributions().

Here is the call graph for this function:

◆ adjointTMVariable2Source()

tmp< scalarField > adjointTMVariable2Source ( )
virtual

Reimplemented from boundaryAdjointContribution.

Definition at line 200 of file boundaryAdjointContributionIncompressible.C.

References objectiveIncompressible::boundarydJdTMvar2(), objectiveManager::getObjectiveFunctions(), boundaryAdjointContributionIncompressible::objectiveManager_, and boundaryAdjointContributionIncompressible::sumContributions().

Here is the call graph for this function:

◆ dJdnut()

tmp< scalarField > dJdnut ( )
virtual

Reimplemented from boundaryAdjointContribution.

Definition at line 213 of file boundaryAdjointContributionIncompressible.C.

References objectiveIncompressible::boundarydJdnut(), objectiveManager::getObjectiveFunctions(), boundaryAdjointContributionIncompressible::objectiveManager_, and boundaryAdjointContributionIncompressible::sumContributions().

Here is the call graph for this function:

◆ dJdGradU()

tmp< tensorField > dJdGradU ( )
virtual

Reimplemented from boundaryAdjointContribution.

Definition at line 225 of file boundaryAdjointContributionIncompressible.C.

References objectiveIncompressible::boundarydJdGradU(), objectiveManager::getObjectiveFunctions(), boundaryAdjointContributionIncompressible::objectiveManager_, and boundaryAdjointContributionIncompressible::sumContributions().

Here is the call graph for this function:

◆ momentumDiffusion()

tmp< scalarField > momentumDiffusion ( )
virtual

Implements boundaryAdjointContribution.

Definition at line 236 of file boundaryAdjointContributionIncompressible.C.

References incompressibleAdjointVars::adjointTurbulence(), boundaryAdjointContributionIncompressible::adjointVars(), fvPatch::index(), and boundaryAdjointContribution::patch_.

Here is the call graph for this function:

◆ laminarDiffusivity()

tmp< scalarField > laminarDiffusivity ( )
virtual

Implements boundaryAdjointContribution.

Definition at line 243 of file boundaryAdjointContributionIncompressible.C.

References fvPatch::index(), nu, turbulenceModel::nu(), boundaryAdjointContribution::patch_, boundaryAdjointContributionIncompressible::primalVars_, tmp< T >::ref(), fvPatch::size(), incompressibleVars::turbulence(), and Foam::Zero.

Here is the call graph for this function:

◆ thermalDiffusion()

tmp< scalarField > thermalDiffusion ( )
virtual

Implements boundaryAdjointContribution.

Definition at line 257 of file boundaryAdjointContributionIncompressible.C.

References boundaryAdjointContribution::patch_, fvPatch::size(), WarningInFunction, and Foam::Zero.

Here is the call graph for this function:

◆ wallDistance()

tmp< scalarField > wallDistance ( )
virtual

Implements boundaryAdjointContribution.

Definition at line 276 of file boundaryAdjointContributionIncompressible.C.

References fvPatch::index(), boundaryAdjointContribution::patch_, boundaryAdjointContributionIncompressible::primalVars_, and incompressibleVars::turbulence().

Here is the call graph for this function:

◆ TMVariable1Diffusion()

tmp< scalarField > TMVariable1Diffusion ( )
virtual

Reimplemented from boundaryAdjointContribution.

Definition at line 283 of file boundaryAdjointContributionIncompressible.C.

References incompressibleAdjointVars::adjointTurbulence(), boundaryAdjointContributionIncompressible::adjointVars(), fvPatch::index(), and boundaryAdjointContribution::patch_.

Here is the call graph for this function:

◆ TMVariable2Diffusion()

tmp< scalarField > TMVariable2Diffusion ( )
virtual

Reimplemented from boundaryAdjointContribution.

Definition at line 292 of file boundaryAdjointContributionIncompressible.C.

References incompressibleAdjointVars::adjointTurbulence(), boundaryAdjointContributionIncompressible::adjointVars(), fvPatch::index(), and boundaryAdjointContribution::patch_.

Here is the call graph for this function:

◆ TMVariable1()

tmp< scalarField > TMVariable1 ( )
virtual

Reimplemented from boundaryAdjointContribution.

Definition at line 299 of file boundaryAdjointContributionIncompressible.C.

References fvPatch::index(), boundaryAdjointContribution::patch_, boundaryAdjointContributionIncompressible::primalVars_, and incompressibleVars::RASModelVariables().

Here is the call graph for this function:

◆ TMVariable2()

tmp< scalarField > TMVariable2 ( )
virtual

Reimplemented from boundaryAdjointContribution.

Definition at line 307 of file boundaryAdjointContributionIncompressible.C.

References fvPatch::index(), boundaryAdjointContribution::patch_, boundaryAdjointContributionIncompressible::primalVars_, and incompressibleVars::RASModelVariables().

Here is the call graph for this function:

◆ Ub()

const fvPatchVectorField & Ub ( ) const
virtual

Implements boundaryAdjointContribution.

Definition at line 315 of file boundaryAdjointContributionIncompressible.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), fvPatch::index(), boundaryAdjointContribution::patch_, boundaryAdjointContributionIncompressible::primalVars_, and incompressibleVars::U().

Here is the call graph for this function:

◆ pb()

const fvPatchScalarField & pb ( ) const
virtual

Implements boundaryAdjointContribution.

Definition at line 321 of file boundaryAdjointContributionIncompressible.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), fvPatch::index(), incompressibleVars::p(), boundaryAdjointContribution::patch_, and boundaryAdjointContributionIncompressible::primalVars_.

Here is the call graph for this function:

◆ phib()

const fvsPatchScalarField & phib ( ) const
virtual

Implements boundaryAdjointContribution.

Definition at line 328 of file boundaryAdjointContributionIncompressible.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), fvPatch::index(), boundaryAdjointContribution::patch_, incompressibleVars::phi(), and boundaryAdjointContributionIncompressible::primalVars_.

Here is the call graph for this function:

◆ turbulentDiffusivity()

const fvPatchScalarField & turbulentDiffusivity ( ) const
virtual

Implements boundaryAdjointContribution.

Definition at line 335 of file boundaryAdjointContributionIncompressible.C.

References fvPatch::index(), boundaryAdjointContribution::patch_, boundaryAdjointContributionIncompressible::primalVars_, and incompressibleVars::RASModelVariables().

Here is the call graph for this function:

◆ Uab()

const fvPatchVectorField & Uab ( ) const
virtual

Implements boundaryAdjointContribution.

Definition at line 345 of file boundaryAdjointContributionIncompressible.C.

References boundaryAdjointContributionIncompressible::adjointVars(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), fvPatch::index(), boundaryAdjointContribution::patch_, and incompressibleAdjointMeanFlowVars::UaInst().

Here is the call graph for this function:

◆ pab()

const fvPatchScalarField & pab ( ) const
virtual

Implements boundaryAdjointContribution.

Definition at line 351 of file boundaryAdjointContributionIncompressible.C.

References boundaryAdjointContributionIncompressible::adjointVars(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), fvPatch::index(), incompressibleAdjointMeanFlowVars::paInst(), and boundaryAdjointContribution::patch_.

Here is the call graph for this function:

◆ phiab()

const fvsPatchScalarField & phiab ( ) const
virtual

Implements boundaryAdjointContribution.

Definition at line 358 of file boundaryAdjointContributionIncompressible.C.

References boundaryAdjointContributionIncompressible::adjointVars(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), fvPatch::index(), boundaryAdjointContribution::patch_, and incompressibleAdjointMeanFlowVars::phiaInst().

Here is the call graph for this function:

◆ primalSolverName()

const word primalSolverName ( ) const
virtual

Implements boundaryAdjointContribution.

Definition at line 364 of file boundaryAdjointContributionIncompressible.C.

References boundaryAdjointContributionIncompressible::primalVars_, and variablesSet::solverName().

Here is the call graph for this function:

◆ adjointSolverName()

const word adjointSolverName ( ) const
virtual

Implements boundaryAdjointContribution.

Definition at line 370 of file boundaryAdjointContributionIncompressible.C.

References boundaryAdjointContributionIncompressible::adjointVars(), and variablesSet::solverName().

Here is the call graph for this function:

◆ primalVars()

◆ adjointVars()

◆ getObjectiveManager()

◆ sumContributions() [2/2]

Foam::tmp< Foam::Field< returnType > > sumContributions ( PtrList< sourceType > &  sourceList,
const fvPatchField< returnType > &(castType::*)(const label)  boundaryFunction 
)

Definition at line 34 of file boundaryAdjointContributionIncompressibleTemplates.C.

References fvPatch::index(), boundaryAdjointContribution::New(), boundaryAdjointContribution::patch_, fvPatch::size(), and Foam::Zero.

Here is the call graph for this function:

Member Data Documentation

◆ objectiveManager_

◆ primalVars_

◆ adjointSolver_

const incompressibleAdjointSolver& adjointSolver_
protected

Note: getting a reference to the adjoint vars in the constructor of boundaryAdjointContributionIncompressible is dangerous since the autoPtr that holds them has not been completed yet. Instead, get a reference to the solver and grab the adjoint vars from there, when necessary

Definition at line 95 of file boundaryAdjointContributionIncompressible.H.

Referenced by boundaryAdjointContributionIncompressible::adjointVars().


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