Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
adjointMeshMovementSolver Class Reference

Solver of the adjoint to the Laplace grid displacement equation. More...

Collaboration diagram for adjointMeshMovementSolver:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("adjointMeshMovementSolver")
 Runtime type information. More...
 
 adjointMeshMovementSolver (const fvMesh &mesh, const dictionary &dict, Foam::incompressible::adjointSensitivity &adjointSensitivity, const labelHashSet &sensitivityPatchIDs, const autoPtr< adjointEikonalSolver > &adjointEikonalSolverPtr)
 Construct from components. More...
 
virtual ~adjointMeshMovementSolver ()=default
 Destructor. More...
 
virtual bool readDict (const dictionary &dict)
 Read dict if changed. More...
 
void accumulateIntegrand (const scalar dt)
 Accumulate source term. More...
 
void solve ()
 Calculate the adjoint distance field. More...
 
void reset ()
 Reset source term. More...
 
boundaryVectorFieldmeshMovementSensitivities ()
 Return the sensitivity term depending on da. More...
 
const volVectorFieldma ()
 Return the adjoint distance field. More...
 

Protected Member Functions

void read ()
 Read options each time a new solution is found. More...
 

Protected Attributes

const fvMeshmesh_
 
dictionary dict_
 
Foam::incompressible::adjointSensitivityadjointSensitivity_
 
const labelHashSetsensitivityPatchIDs_
 
label nLaplaceIters_
 
scalar tolerance_
 
volVectorField ma_
 
volVectorField source_
 
autoPtr< boundaryVectorFieldmeshMovementSensPtr_
 Wall face sens w.r.t.(x, y.z) //wall face sens w.r.t. (x,y.z) More...
 
const autoPtr< adjointEikonalSolver > & adjointEikonalSolverPtr_
 

Detailed Description

Solver of the adjoint to the Laplace grid displacement equation.

Reference:

    Kavvadias, I., Papoutsis-Kiachagias, E., & Giannakoglou, K. (2015).
    On the proper treatment of grid sensitivities in continuous adjoint
    methods for shape optimization.
    Journal of Computational Physics, 301, 1–18.
    http://doi.org/10.1016/j.jcp.2015.08.012
Source files

Definition at line 64 of file adjointMeshMovementSolverIncompressible.H.

Constructor & Destructor Documentation

◆ adjointMeshMovementSolver()

adjointMeshMovementSolver ( const fvMesh mesh,
const dictionary dict,
Foam::incompressible::adjointSensitivity adjointSensitivity,
const labelHashSet sensitivityPatchIDs,
const autoPtr< adjointEikonalSolver > &  adjointEikonalSolverPtr 
)

Construct from components.

Definition at line 52 of file adjointMeshMovementSolverIncompressible.C.

References Foam::read().

Here is the call graph for this function:

◆ ~adjointMeshMovementSolver()

virtual ~adjointMeshMovementSolver ( )
virtualdefault

Destructor.

Member Function Documentation

◆ read()

void read ( )
protected

Read options each time a new solution is found.

Definition at line 42 of file adjointMeshMovementSolverIncompressible.C.

References adjointMeshMovementSolver::dict_, Foam::constant::electromagnetic::e, dictionary::getOrDefault(), adjointMeshMovementSolver::nLaplaceIters_, and adjointMeshMovementSolver::tolerance_.

Referenced by adjointMeshMovementSolver::solve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeName()

TypeName ( "adjointMeshMovementSolver"  )

Runtime type information.

◆ readDict()

bool readDict ( const dictionary dict)
virtual

Read dict if changed.

Definition at line 107 of file adjointMeshMovementSolverIncompressible.C.

References dict, and adjointMeshMovementSolver::dict_.

◆ accumulateIntegrand()

void accumulateIntegrand ( const scalar  dt)

Accumulate source term.

Definition at line 115 of file adjointMeshMovementSolverIncompressible.C.

References adjointSensitivity::adjointMeshMovementSource(), adjointMeshMovementSolver::adjointSensitivity_, and adjointMeshMovementSolver::source_.

Here is the call graph for this function:

◆ solve()

void solve ( )

◆ reset()

void reset ( )

◆ meshMovementSensitivities()

boundaryVectorField & meshMovementSensitivities ( )

◆ ma()

const volVectorField & ma ( )

Return the adjoint distance field.

Definition at line 192 of file adjointMeshMovementSolverIncompressible.C.

References adjointMeshMovementSolver::ma_.

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

◆ dict_

dictionary dict_
protected

◆ adjointSensitivity_

Foam::incompressible::adjointSensitivity& adjointSensitivity_
protected

◆ sensitivityPatchIDs_

const labelHashSet& sensitivityPatchIDs_
protected

◆ nLaplaceIters_

label nLaplaceIters_
protected

◆ tolerance_

scalar tolerance_
protected

◆ ma_

volVectorField ma_
protected

◆ source_

volVectorField source_
protected

◆ meshMovementSensPtr_

autoPtr<boundaryVectorField> meshMovementSensPtr_
protected

Wall face sens w.r.t.(x, y.z) //wall face sens w.r.t. (x,y.z)

Definition at line 82 of file adjointMeshMovementSolverIncompressible.H.

Referenced by adjointMeshMovementSolver::meshMovementSensitivities(), and adjointMeshMovementSolver::reset().

◆ adjointEikonalSolverPtr_

const autoPtr<adjointEikonalSolver>& adjointEikonalSolverPtr_
protected

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