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

Problem class for deformation of elastic block by prescribed boundary motion. More...

Inheritance diagram for PrescribedBoundaryDisplacementProblem< ELEMENT >:

Public Member Functions

 PrescribedBoundaryDisplacementProblem ()
 Constructor: More...
 
void actions_after_newton_solve ()
 Update function (empty) More...
 
void actions_before_newton_solve ()
 Update function (empty) More...
 
ElasticRefineableRectangularQuadMesh< ELEMENT > *& solid_mesh_pt ()
 Access function for the solid mesh. More...
 
void actions_before_adapt ()
 Actions before adapt: Wipe the mesh of Lagrange multiplier elements. More...
 
void actions_after_adapt ()
 Actions after adapt: Rebuild the mesh of Lagrange multiplier elements. More...
 
void doc_solution ()
 Doc the solution. More...
 
 PrescribedBoundaryDisplacementProblem ()
 Constructor: More...
 
void actions_after_newton_solve ()
 Update function (empty) More...
 
void actions_before_newton_solve ()
 Update boundary position directly. More...
 
ElasticRefineableRectangularQuadMesh< ELEMENT > *& solid_mesh_pt ()
 Access function for the solid mesh. More...
 
void actions_after_adapt ()
 Actions after adapt: Pin the redundant solid pressures (if any) More...
 
void doc_solution ()
 Doc the solution. More...
 
 PrescribedBoundaryDisplacementProblem (const unsigned &nel_1d)
 Constructor: Pass in number of elements along axes. More...
 
void actions_after_newton_solve ()
 Update function (empty) More...
 
void actions_before_newton_solve ()
 Update function (empty) More...
 
ElasticRefineableRectangularQuadMesh< ELEMENT > *& solid_mesh_pt ()
 Access function for the solid mesh. More...
 
void actions_before_adapt ()
 Actions before adapt: Wipe the mesh of Lagrange multiplier elements. More...
 
void actions_after_adapt ()
 Actions after adapt: Rebuild the mesh of Lagrange multiplier elements. More...
 
void doc_solution ()
 Doc the solution. More...
 

Private Member Functions

void create_lagrange_multiplier_elements ()
 Create elements that enforce prescribed boundary motion by Lagrange multiplilers. More...
 
void delete_lagrange_multiplier_elements ()
 Delete elements that enforce prescribed boundary motion by Lagrange multiplilers. More...
 
void create_lagrange_multiplier_elements ()
 Create elements that enforce prescribed boundary motion by Lagrange multiplilers. More...
 
void delete_lagrange_multiplier_elements ()
 Delete elements that enforce prescribed boundary motion by Lagrange multiplilers. More...
 

Private Attributes

ElasticRefineableRectangularQuadMesh< ELEMENT > * Solid_mesh_pt
 Pointer to solid mesh. More...
 
SolidMesh * Lagrange_multiplier_mesh_pt
 Pointers to meshes of Lagrange multiplier elements. More...
 
DocInfo Doc_info
 DocInfo object for output. More...
 

Detailed Description

template<class ELEMENT>
class PrescribedBoundaryDisplacementProblem< ELEMENT >

Problem class for deformation of elastic block by prescribed boundary motion.

Problem class for deformation of elastic DOF type by prescribed boundary motion.

Definition at line 158 of file prescribed_displ_lagr_mult.cc.

Constructor & Destructor Documentation

◆ PrescribedBoundaryDisplacementProblem() [1/3]

Constructor:

Definition at line 211 of file prescribed_displ_lagr_mult.cc.

◆ PrescribedBoundaryDisplacementProblem() [2/3]

Constructor:

◆ PrescribedBoundaryDisplacementProblem() [3/3]

template<class ELEMENT >
PrescribedBoundaryDisplacementProblem< ELEMENT >::PrescribedBoundaryDisplacementProblem ( const unsigned &  nel_1d)

Constructor: Pass in number of elements along axes.

Definition at line 358 of file prescribed_displ_lagr_mult_precond.cc.

References DiagonalPreconditionerHelper::get_diagonal_preconditioner().

Member Function Documentation

◆ actions_after_adapt() [1/3]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::actions_after_adapt

Actions after adapt: Rebuild the mesh of Lagrange multiplier elements.

Actions after adapt: Rebuild the mesh of elements that impose the prescribed boundary displacements.

Definition at line 315 of file prescribed_displ_lagr_mult.cc.

◆ actions_after_adapt() [2/3]

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

Actions after adapt: Pin the redundant solid pressures (if any)

Definition at line 173 of file prescribed_displ_lagr_mult2.cc.

◆ actions_after_adapt() [3/3]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::actions_after_adapt ( )

Actions after adapt: Rebuild the mesh of Lagrange multiplier elements.

◆ actions_after_newton_solve() [1/3]

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

Update function (empty)

Definition at line 167 of file prescribed_displ_lagr_mult.cc.

◆ actions_after_newton_solve() [2/3]

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

Update function (empty)

Definition at line 140 of file prescribed_displ_lagr_mult2.cc.

◆ actions_after_newton_solve() [3/3]

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

Update function (empty)

Definition at line 314 of file prescribed_displ_lagr_mult_precond.cc.

◆ actions_before_adapt() [1/2]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::actions_before_adapt

Actions before adapt: Wipe the mesh of Lagrange multiplier elements.

Actions before adapt: Wipe the mesh of elements that impose the prescribed boundary displacements.

Definition at line 298 of file prescribed_displ_lagr_mult.cc.

◆ actions_before_adapt() [2/2]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::actions_before_adapt ( )

Actions before adapt: Wipe the mesh of Lagrange multiplier elements.

◆ actions_before_newton_solve() [1/3]

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

Update function (empty)

Definition at line 170 of file prescribed_displ_lagr_mult.cc.

◆ actions_before_newton_solve() [2/3]

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

Update boundary position directly.

Definition at line 143 of file prescribed_displ_lagr_mult2.cc.

References Global_Physical_Variables::Boundary_geom_object, and WarpedLine::position().

◆ actions_before_newton_solve() [3/3]

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

Update function (empty)

Definition at line 317 of file prescribed_displ_lagr_mult_precond.cc.

◆ create_lagrange_multiplier_elements() [1/2]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::create_lagrange_multiplier_elements
private

Create elements that enforce prescribed boundary motion by Lagrange multiplilers.

Create elements that impose the prescribed boundary displacement.

Definition at line 337 of file prescribed_displ_lagr_mult.cc.

References Global_Physical_Variables::Boundary_geom_object.

◆ create_lagrange_multiplier_elements() [2/2]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::create_lagrange_multiplier_elements ( )
private

Create elements that enforce prescribed boundary motion by Lagrange multiplilers.

◆ delete_lagrange_multiplier_elements() [1/2]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::delete_lagrange_multiplier_elements
private

Delete elements that enforce prescribed boundary motion by Lagrange multiplilers.

Delete elements that impose the prescribed boundary displacement and wipe the associated mesh.

Definition at line 412 of file prescribed_displ_lagr_mult.cc.

◆ delete_lagrange_multiplier_elements() [2/2]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::delete_lagrange_multiplier_elements ( )
private

Delete elements that enforce prescribed boundary motion by Lagrange multiplilers.

◆ doc_solution() [1/3]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::doc_solution

Doc the solution.

Definition at line 435 of file prescribed_displ_lagr_mult.cc.

Referenced by main().

◆ doc_solution() [2/3]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::doc_solution ( )

Doc the solution.

◆ doc_solution() [3/3]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::doc_solution ( )

Doc the solution.

◆ solid_mesh_pt() [1/3]

template<class ELEMENT >
ElasticRefineableRectangularQuadMesh<ELEMENT>*& PrescribedBoundaryDisplacementProblem< ELEMENT >::solid_mesh_pt ( )
inline

Access function for the solid mesh.

Definition at line 173 of file prescribed_displ_lagr_mult.cc.

Referenced by main().

◆ solid_mesh_pt() [2/3]

template<class ELEMENT >
ElasticRefineableRectangularQuadMesh<ELEMENT>*& PrescribedBoundaryDisplacementProblem< ELEMENT >::solid_mesh_pt ( )
inline

Access function for the solid mesh.

Definition at line 169 of file prescribed_displ_lagr_mult2.cc.

◆ solid_mesh_pt() [3/3]

template<class ELEMENT >
ElasticRefineableRectangularQuadMesh<ELEMENT>*& PrescribedBoundaryDisplacementProblem< ELEMENT >::solid_mesh_pt ( )
inline

Access function for the solid mesh.

Definition at line 320 of file prescribed_displ_lagr_mult_precond.cc.

Member Data Documentation

◆ Doc_info

template<class ELEMENT >
DocInfo PrescribedBoundaryDisplacementProblem< ELEMENT >::Doc_info
private

DocInfo object for output.

Definition at line 202 of file prescribed_displ_lagr_mult.cc.

◆ Lagrange_multiplier_mesh_pt

template<class ELEMENT >
SolidMesh * PrescribedBoundaryDisplacementProblem< ELEMENT >::Lagrange_multiplier_mesh_pt
private

Pointers to meshes of Lagrange multiplier elements.

Definition at line 199 of file prescribed_displ_lagr_mult.cc.

◆ Solid_mesh_pt

template<class ELEMENT >
ElasticRefineableRectangularQuadMesh< ELEMENT > * PrescribedBoundaryDisplacementProblem< ELEMENT >::Solid_mesh_pt
private

Pointer to solid mesh.

Definition at line 196 of file prescribed_displ_lagr_mult.cc.


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