Public Member Functions | Private Attributes | List of all members
DeformableFishPoissonProblem< ELEMENT > Class Template Reference

//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// More...

Inheritance diagram for DeformableFishPoissonProblem< ELEMENT >:

Public Member Functions

 DeformableFishPoissonProblem ()
 Constructor: More...
 
void run ()
 Run simulation. More...
 
ElasticFishMesh< ELEMENT > * mesh_pt ()
 Access function for the specific mesh. More...
 
void doc_solution (DocInfo &doc_info)
 Doc the solution. More...
 
void actions_after_newton_solve ()
 Update function (empty) More...
 
void actions_before_newton_solve ()
 Update before solve: We're dealing with a static problem so the nodal positions before the next solve merely serve as initial conditions. For meshes that are very strongly refined near the boundary, the update of the displacement boundary conditions (which only moves the SolidNodes on the boundary), can lead to strongly distorted meshes. This can cause the Newton method to fail --> the overall method is actually more robust if we use the nodal positions as determined by the Domain/MacroElement- based mesh update as initial guesses. More...
 
void actions_after_adapt ()
 Update after adapt: Pin all redundant solid pressure nodes (if required) More...
 
 DeformableFishPoissonProblem ()
 Constructor: More...
 
void run ()
 Run simulation. More...
 
ElasticFishMesh< ELEMENT > * mesh_pt ()
 Access function for the specific mesh. More...
 
void doc_solution (DocInfo &doc_info)
 Doc the solution. More...
 
void actions_after_newton_solve ()
 Update function (empty) More...
 
void actions_before_newton_solve ()
 Update before solve: We're dealing with a static problem so the nodal positions before the next solve merely serve as initial conditions. For meshes that are very strongly refined near the boundary, the update of the displacement boundary conditions (which only moves the SolidNodes on the boundary), can lead to strongly distorted meshes. This can cause the Newton method to fail --> the overall method is actually more robust if we use the nodal positions as determined by the Domain/MacroElement- based mesh update as initial guesses. More...
 
void actions_after_adapt ()
 Update after adapt: Pin all redundant solid pressure nodes (if required) More...
 

Private Attributes

Node * Doc_node_pt
 Node at which the solution of the Poisson equation is documented. More...
 
ofstream Trace_file
 Trace file. More...
 
Circle * Fish_back_pt
 
ElasticallySupportedRingElement * Fish_back_pt
 

Detailed Description

template<class ELEMENT>
class DeformableFishPoissonProblem< ELEMENT >

//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////

Solve Poisson equation on deforming fish-shaped domain. Mesh update via pseudo-elasticity.

Definition at line 177 of file elastic_mesh_update.cc.

Constructor & Destructor Documentation

◆ DeformableFishPoissonProblem() [1/2]

template<class ELEMENT >
DeformableFishPoissonProblem< ELEMENT >::DeformableFishPoissonProblem

Constructor:

Loop over elements and set pointers to source function

Definition at line 243 of file elastic_mesh_update.cc.

References Global_Physical_Variables::Constitutive_law_pt, and ConstSourceForPoisson::get_source().

◆ DeformableFishPoissonProblem() [2/2]

template<class ELEMENT >
DeformableFishPoissonProblem< ELEMENT >::DeformableFishPoissonProblem ( )

Constructor:

Member Function Documentation

◆ actions_after_adapt() [1/2]

template<class ELEMENT >
void DeformableFishPoissonProblem< ELEMENT >::actions_after_adapt ( )
inline

Update after adapt: Pin all redundant solid pressure nodes (if required)

Definition at line 218 of file elastic_mesh_update.cc.

◆ actions_after_adapt() [2/2]

template<class ELEMENT >
void DeformableFishPoissonProblem< ELEMENT >::actions_after_adapt ( )
inline

Update after adapt: Pin all redundant solid pressure nodes (if required)

Definition at line 217 of file elastic_poisson.cc.

◆ actions_after_newton_solve() [1/2]

template<class ELEMENT >
void DeformableFishPoissonProblem< ELEMENT >::actions_after_newton_solve ( )
inline

Update function (empty)

Definition at line 196 of file elastic_mesh_update.cc.

◆ actions_after_newton_solve() [2/2]

template<class ELEMENT >
void DeformableFishPoissonProblem< ELEMENT >::actions_after_newton_solve ( )
inline

Update function (empty)

Definition at line 199 of file elastic_poisson.cc.

◆ actions_before_newton_solve() [1/2]

template<class ELEMENT >
void DeformableFishPoissonProblem< ELEMENT >::actions_before_newton_solve ( )
inline

Update before solve: We're dealing with a static problem so the nodal positions before the next solve merely serve as initial conditions. For meshes that are very strongly refined near the boundary, the update of the displacement boundary conditions (which only moves the SolidNodes on the boundary), can lead to strongly distorted meshes. This can cause the Newton method to fail --> the overall method is actually more robust if we use the nodal positions as determined by the Domain/MacroElement- based mesh update as initial guesses.

Definition at line 207 of file elastic_mesh_update.cc.

◆ actions_before_newton_solve() [2/2]

template<class ELEMENT >
void DeformableFishPoissonProblem< ELEMENT >::actions_before_newton_solve ( )
inline

Update before solve: We're dealing with a static problem so the nodal positions before the next solve merely serve as initial conditions. For meshes that are very strongly refined near the boundary, the update of the displacement boundary conditions (which only moves the SolidNodes on the boundary), can lead to strongly distorted meshes. This can cause the Newton method to fail --> the overall method is actually more robust if we use the nodal positions as determined by the Domain/MacroElement- based mesh update as initial guesses.

Definition at line 210 of file elastic_poisson.cc.

◆ doc_solution() [1/2]

template<class ELEMENT >
void DeformableFishPoissonProblem< ELEMENT >::doc_solution ( DocInfo &  doc_info)

Doc the solution.

Definition at line 388 of file elastic_mesh_update.cc.

◆ doc_solution() [2/2]

template<class ELEMENT >
void DeformableFishPoissonProblem< ELEMENT >::doc_solution ( DocInfo &  doc_info)

Doc the solution.

◆ mesh_pt() [1/2]

template<class ELEMENT >
ElasticFishMesh<ELEMENT>* DeformableFishPoissonProblem< ELEMENT >::mesh_pt ( )
inline

Access function for the specific mesh.

Definition at line 189 of file elastic_mesh_update.cc.

◆ mesh_pt() [2/2]

template<class ELEMENT >
ElasticFishMesh<ELEMENT>* DeformableFishPoissonProblem< ELEMENT >::mesh_pt ( )
inline

Access function for the specific mesh.

Definition at line 192 of file elastic_poisson.cc.

◆ run() [1/2]

template<class ELEMENT >
void DeformableFishPoissonProblem< ELEMENT >::run

Run simulation.

Run the problem.

Definition at line 417 of file elastic_mesh_update.cc.

Referenced by main().

◆ run() [2/2]

template<class ELEMENT >
void DeformableFishPoissonProblem< ELEMENT >::run ( )

Run simulation.

Member Data Documentation

◆ Doc_node_pt

template<class ELEMENT >
Node * DeformableFishPoissonProblem< ELEMENT >::Doc_node_pt
private

Node at which the solution of the Poisson equation is documented.

Definition at line 229 of file elastic_mesh_update.cc.

◆ Fish_back_pt [1/2]

template<class ELEMENT >
Circle* DeformableFishPoissonProblem< ELEMENT >::Fish_back_pt
private

Definition at line 235 of file elastic_mesh_update.cc.

◆ Fish_back_pt [2/2]

template<class ELEMENT >
ElasticallySupportedRingElement* DeformableFishPoissonProblem< ELEMENT >::Fish_back_pt
private

Definition at line 235 of file elastic_poisson.cc.

◆ Trace_file

template<class ELEMENT >
ofstream DeformableFishPoissonProblem< ELEMENT >::Trace_file
private

Trace file.

Definition at line 232 of file elastic_mesh_update.cc.


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