adjointMeshMovementSolver Class Reference

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

Collaboration diagram for adjointMeshMovementSolver:

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_
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.


    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.
Source files

Definition at line 68 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 57 of file adjointMeshMovementSolverIncompressible.C.

References Foam::read().

Here is the call graph for this function:

◆ ~adjointMeshMovementSolver()

virtual ~adjointMeshMovementSolver ( )


Member Function Documentation

◆ read()

void read ( )

Read options each time a new solution is found.

Definition at line 47 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)

Read dict if changed.

Definition at line 102 of file adjointMeshMovementSolverIncompressible.C.

References dict, and adjointMeshMovementSolver::dict_.

◆ accumulateIntegrand()

void accumulateIntegrand ( const scalar  dt)

Accumulate source term.

Definition at line 110 of file adjointMeshMovementSolverIncompressible.C.

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

Here is the call graph for this function:

◆ solve()

◆ reset()

◆ meshMovementSensitivities()

boundaryVectorField & meshMovementSensitivities ( )

Return the sensitivity term depending on da.

Definition at line 170 of file adjointMeshMovementSolverIncompressible.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), Foam::endl(), Foam::Info, adjointMeshMovementSolver::ma_, adjointMeshMovementSolver::meshMovementSensPtr_, and adjointMeshMovementSolver::sensitivityPatchIDs_.

Here is the call graph for this function:

◆ ma()

const volVectorField & ma ( )

Return the adjoint distance field.

Definition at line 186 of file adjointMeshMovementSolverIncompressible.C.

References adjointMeshMovementSolver::ma_.

Member Data Documentation

◆ mesh_

const fvMesh& mesh_

◆ dict_

◆ adjointSensitivity_

◆ sensitivityPatchIDs_

const labelHashSet& sensitivityPatchIDs_

◆ nLaplaceIters_

label nLaplaceIters_

◆ tolerance_

scalar tolerance_

◆ ma_

◆ source_

◆ meshMovementSensPtr_

autoPtr<boundaryVectorField> meshMovementSensPtr_

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

Definition at line 84 of file adjointMeshMovementSolverIncompressible.H.

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

◆ adjointEikonalSolverPtr_

const autoPtr<adjointEikonalSolver>& adjointEikonalSolverPtr_

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