Boundary-driven elastic deformation of fish-shaped domain. More...
Public Member Functions | |
SimpleShearProblem (const bool &incompressible) | |
Constructor: More... | |
void | run (const std::string &dirname) |
Run simulation. More... | |
RefineableElasticCubicMesh< ELEMENT > * | mesh_pt () |
Access function for the mesh. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
void | actions_after_newton_solve () |
Update function (empty) More... | |
void | setup_boundary_conditions () |
void | actions_after_adapt () |
Need to pin the redundent solid pressures after adaptation. 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 | apply_boundary_conditions () |
Shear the top. More... | |
SimpleShearProblem (const bool &incompressible) | |
Constructor: More... | |
void | run (const std::string &dirname) |
Run simulation. More... | |
ElasticCubicMesh< ELEMENT > * | mesh_pt () |
Access function for the 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 | apply_boundary_conditions () |
Shear the top. More... | |
Private Member Functions | |
void | set_incompressible (ELEMENT *el_pt, const bool &incompressible) |
void | set_incompressible (ELEMENT *el_pt, const bool &incompressible) |
template<> | |
void | set_incompressible (QPVDElementWithPressure< 3 > *el_pt, const bool &incompressible) |
template<> | |
void | set_incompressible (QPVDElementWithContinuousPressure< 3 > *el_pt, const bool &incompressible) |
template<> | |
void | set_incompressible (QPVDElement< 3, 3 > *el_pt, const bool &incompressible) |
template<> | |
void | set_incompressible (QPVDElementWithPressure< 3 > *el_pt, const bool &incompressible) |
template<> | |
void | set_incompressible (QPVDElementWithContinuousPressure< 3 > *el_pt, const bool &incompressible) |
Private Attributes | |
double | Shear |
Boundary-driven elastic deformation of fish-shaped domain.
Definition at line 141 of file refineable_simple_shear.cc.
SimpleShearProblem< ELEMENT >::SimpleShearProblem | ( | const bool & | incompressible | ) |
Constructor:
Definition at line 244 of file refineable_simple_shear.cc.
References Global_Physical_Variables::Constitutive_law_pt, SimpleShearProblem< ELEMENT >::mesh_pt(), SimpleShearProblem< ELEMENT >::set_incompressible(), and SimpleShearProblem< ELEMENT >::setup_boundary_conditions().
Referenced by SimpleShearProblem< ELEMENT >::apply_boundary_conditions().
SimpleShearProblem< ELEMENT >::SimpleShearProblem | ( | const bool & | incompressible | ) |
Constructor:
|
inline |
Need to pin the redundent solid pressures after adaptation.
Definition at line 194 of file refineable_simple_shear.cc.
|
inline |
Update function (empty)
Definition at line 154 of file simple_shear.cc.
|
inline |
Update function (empty)
Definition at line 164 of file refineable_simple_shear.cc.
|
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 165 of file simple_shear.cc.
|
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 216 of file refineable_simple_shear.cc.
|
inline |
Shear the top.
Definition at line 173 of file simple_shear.cc.
References Global_Physical_Variables::Constitutive_law_pt, SimpleShearProblem< ELEMENT >::doc_solution(), Global_Physical_Variables::Gravity, SimpleShearProblem< ELEMENT >::run(), and SimpleShearProblem< ELEMENT >::SimpleShearProblem().
|
inline |
Shear the top.
Definition at line 224 of file refineable_simple_shear.cc.
void SimpleShearProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void SimpleShearProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
Definition at line 285 of file refineable_simple_shear.cc.
References SimpleShearProblem< ELEMENT >::mesh_pt().
Referenced by SimpleShearProblem< ELEMENT >::apply_boundary_conditions(), and SimpleShearProblem< ELEMENT >::run().
|
inline |
Access function for the mesh.
Definition at line 147 of file simple_shear.cc.
|
inline |
Access function for the mesh.
Definition at line 156 of file refineable_simple_shear.cc.
Referenced by SimpleShearProblem< ELEMENT >::doc_solution(), and SimpleShearProblem< ELEMENT >::SimpleShearProblem().
void SimpleShearProblem< ELEMENT >::run | ( | const std::string & | dirname | ) |
Run simulation.
void SimpleShearProblem< ELEMENT >::run | ( | const std::string & | dirname | ) |
Run simulation.
Run the problem.
Definition at line 339 of file refineable_simple_shear.cc.
References SimpleShearProblem< ELEMENT >::doc_solution(), Global_Physical_Variables::Gravity, and SimpleShearProblem< ELEMENT >::Shear.
Referenced by SimpleShearProblem< ELEMENT >::apply_boundary_conditions(), and main().
|
private |
|
private |
Definition at line 383 of file refineable_simple_shear.cc.
Referenced by SimpleShearProblem< ELEMENT >::set_incompressible(), and SimpleShearProblem< ELEMENT >::SimpleShearProblem().
|
private |
Definition at line 341 of file simple_shear.cc.
|
private |
Definition at line 349 of file simple_shear.cc.
References SimpleShearProblem< ELEMENT >::set_incompressible().
|
private |
Definition at line 358 of file simple_shear.cc.
References SimpleShearProblem< ELEMENT >::set_incompressible().
|
private |
Definition at line 391 of file refineable_simple_shear.cc.
References SimpleShearProblem< ELEMENT >::set_incompressible().
|
private |
Definition at line 400 of file refineable_simple_shear.cc.
|
inline |
Definition at line 166 of file refineable_simple_shear.cc.
Referenced by SimpleShearProblem< ELEMENT >::SimpleShearProblem().
|
private |
Definition at line 143 of file refineable_simple_shear.cc.
Referenced by SimpleShearProblem< ELEMENT >::run().