Public Member Functions | Private Member Functions | Private Attributes | List of all members
PrescribedBoundaryDisplacementProblem< ELEMENT > Class Template Reference
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 ()
 
void create_lagrange_multiplier_elements ()
 Create elements that enforce prescribed boundary motion by Lagrange multiplilers. More...
 
void delete_lagrange_multiplier_elements ()
 

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 162 of file prescribed_displ_lagr_mult.cc.

Constructor & Destructor Documentation

◆ PrescribedBoundaryDisplacementProblem() [1/3]

◆ PrescribedBoundaryDisplacementProblem() [2/3]

Constructor:

◆ PrescribedBoundaryDisplacementProblem() [3/3]

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

Member Function Documentation

◆ actions_after_adapt() [1/3]

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

◆ actions_after_adapt() [2/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 319 of file prescribed_displ_lagr_mult.cc.

References PrescribedBoundaryDisplacementProblem< ELEMENT >::create_lagrange_multiplier_elements().

Referenced by PrescribedBoundaryDisplacementProblem< ELEMENT >::PrescribedBoundaryDisplacementProblem().

◆ 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 144 of file prescribed_displ_lagr_mult2.cc.

◆ actions_after_newton_solve() [2/3]

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

Update function (empty)

Definition at line 171 of file prescribed_displ_lagr_mult.cc.

◆ actions_after_newton_solve() [3/3]

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

Update function (empty)

Definition at line 318 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 302 of file prescribed_displ_lagr_mult.cc.

Referenced by PrescribedBoundaryDisplacementProblem< ELEMENT >::PrescribedBoundaryDisplacementProblem().

◆ 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 boundary position directly.

Definition at line 147 of file prescribed_displ_lagr_mult2.cc.

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

◆ actions_before_newton_solve() [2/3]

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

Update function (empty)

Definition at line 174 of file prescribed_displ_lagr_mult.cc.

◆ actions_before_newton_solve() [3/3]

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

Update function (empty)

Definition at line 321 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 342 of file prescribed_displ_lagr_mult.cc.

References Global_Physical_Variables::Boundary_geom_object.

Referenced by PrescribedBoundaryDisplacementProblem< ELEMENT >::actions_after_adapt(), and PrescribedBoundaryDisplacementProblem< ELEMENT >::PrescribedBoundaryDisplacementProblem().

◆ 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 416 of file prescribed_displ_lagr_mult.cc.

Referenced by PrescribedBoundaryDisplacementProblem< ELEMENT >::PrescribedBoundaryDisplacementProblem().

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

◆ doc_solution() [2/3]

template<class ELEMENT >
void PrescribedBoundaryDisplacementProblem< ELEMENT >::doc_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_mult2.cc.

◆ 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 177 of file prescribed_displ_lagr_mult.cc.

Referenced by main().

◆ solid_mesh_pt() [3/3]

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

Member Data Documentation

◆ Doc_info

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

DocInfo object for output.

Definition at line 206 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 203 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 200 of file prescribed_displ_lagr_mult.cc.


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