//////////////////////////////////////////////////////// //////////////////////////////////////////////////////// More...
Public Member Functions | |
UnstructuredImmersedEllipseProblem () | |
Constructor. More... | |
~UnstructuredImmersedEllipseProblem () | |
Destructor. More... | |
void | actions_before_implicit_timestep () |
Reset the boundary conditions when timestepping. More... | |
void | actions_before_adapt () |
Wipe the meshes of Lagrange multiplier and drag elements. More... | |
void | actions_after_adapt () |
Rebuild the meshes of Lagrange multiplier and drag elements. More... | |
void | actions_before_newton_convergence_check () |
Re-apply the no slip condition (imposed indirectly via dependent velocities) More... | |
void | complete_problem_setup () |
Set boundary condition, assign auxiliary node update fct. Complete the build of all elements, attach power elements that allow computation of drag vector. More... | |
void | set_boundary_velocity () |
Set the boundary velocity. More... | |
void | solve_for_consistent_nodal_positions () |
Function that solves a simplified problem to ensure that the positions of the boundary nodes are initially consistent with the lagrange multiplier formulation. More... | |
void | doc_solution (const bool &project=false) |
Doc the solution. More... | |
void | output_exact_solution (std::ofstream &output_file) |
Output the exact solution. More... | |
Private Member Functions | |
void | create_lagrange_multiplier_elements () |
Create elements that enforce prescribed boundary motion for the pseudo-solid fluid mesh by Lagrange multipliers. More... | |
void | delete_lagrange_multiplier_elements () |
Delete elements that impose the prescribed boundary displacement and wipe the associated mesh. More... | |
void | create_drag_elements () |
Create elements that calculate the drag and torque on the boundaries. More... | |
void | delete_drag_elements () |
Delete elements that calculate the drag and torque on the boundaries. More... | |
void | pin_rigid_body () |
Pin the degrees of freedom associated with the solid bodies. More... | |
void | unpin_rigid_body () |
Unpin the degrees of freedom associated with the solid bodies. More... | |
Private Attributes | |
SolidMesh * | Lagrange_multiplier_mesh_pt |
Pointers to mesh of Lagrange multiplier elements. More... | |
RefineableSolidTriangleMesh< ELEMENT > * | Fluid_mesh_pt |
Pointer to Fluid_mesh. More... | |
TriangleMeshPolygon * | Outer_boundary_polygon_pt |
Triangle mesh polygon for outer boundary. More... | |
Vector< Mesh * > | Drag_mesh_pt |
Mesh of drag elements. More... | |
Mesh * | Rigid_body_mesh_pt |
Mesh of the generalised elements for the rigid bodies. More... | |
Vector< GeomObject * > | Rigid_body_pt |
Storage for the geom object. More... | |
DocInfo | Doc_info |
Internal DocInfo object. More... | |
ofstream | Norm_file |
File to document the norm of the solution (for validation purposes) More... | |
ofstream | Cog_file |
File to document the motion of the centre of gravity. More... | |
ofstream | Cog_exact_file |
File to document the exact motion of the centre of gravity. More... | |
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
Unstructured Navier-Stokes ALE Problem for a rigid ellipse immersed within a viscous fluid
Definition at line 193 of file jeffery_orbit.cc.
UnstructuredImmersedEllipseProblem< ELEMENT >::UnstructuredImmersedEllipseProblem |
Constructor.
Constructor: Open output files, construct time steppers, build fluid mesh, immersed rigid body and combine to form the problem.
Definition at line 305 of file jeffery_orbit.cc.
References Problem_Parameter::A, Problem_Parameter::B, Problem_Parameter::Density_ratio, Problem_Parameter::Re, and Problem_Parameter::St.
UnstructuredImmersedEllipseProblem< ELEMENT >::~UnstructuredImmersedEllipseProblem |
Destructor.
Destructor that cleans up memory and closes files.
Definition at line 552 of file jeffery_orbit.cc.
References Problem_Parameter::Constitutive_law_pt.
void UnstructuredImmersedEllipseProblem< ELEMENT >::actions_after_adapt |
Rebuild the meshes of Lagrange multiplier and drag elements.
Actions after adapt: Rebuild the mesh of Lagrange multiplier elements.
Definition at line 618 of file jeffery_orbit.cc.
void UnstructuredImmersedEllipseProblem< ELEMENT >::actions_before_adapt |
Wipe the meshes of Lagrange multiplier and drag elements.
Actions before adapt: Wipe the mesh of Lagrange multiplier elements.
Definition at line 597 of file jeffery_orbit.cc.
|
inline |
Reset the boundary conditions when timestepping.
Definition at line 205 of file jeffery_orbit.cc.
|
inline |
Re-apply the no slip condition (imposed indirectly via dependent velocities)
Definition at line 218 of file jeffery_orbit.cc.
void UnstructuredImmersedEllipseProblem< ELEMENT >::complete_problem_setup |
Set boundary condition, assign auxiliary node update fct. Complete the build of all elements, attach power elements that allow computation of drag vector.
Definition at line 654 of file jeffery_orbit.cc.
References Problem_Parameter::Constitutive_law_pt, Problem_Parameter::Lambda_sq, and Problem_Parameter::Re.
|
private |
Create elements that calculate the drag and torque on the boundaries.
Create elements that calculate the drag and torque on the obstacles in the fluid mesh.
Definition at line 1006 of file jeffery_orbit.cc.
|
private |
Create elements that enforce prescribed boundary motion for the pseudo-solid fluid mesh by Lagrange multipliers.
Create elements that impose the prescribed boundary displacement for the pseudo-solid fluid mesh.
Definition at line 897 of file jeffery_orbit.cc.
|
private |
Delete elements that calculate the drag and torque on the boundaries.
Definition at line 1079 of file jeffery_orbit.cc.
|
private |
Delete elements that impose the prescribed boundary displacement and wipe the associated mesh.
Definition at line 980 of file jeffery_orbit.cc.
void UnstructuredImmersedEllipseProblem< ELEMENT >::doc_solution | ( | const bool & | project = false | ) |
Doc the solution.
Definition at line 1106 of file jeffery_orbit.cc.
void UnstructuredImmersedEllipseProblem< ELEMENT >::output_exact_solution | ( | std::ofstream & | output_file | ) |
Output the exact solution.
Definition at line 1182 of file jeffery_orbit.cc.
References Jeffery_Solution::acceleration(), Jeffery_Solution::angle(), and Jeffery_Solution::velocity().
|
private |
Pin the degrees of freedom associated with the solid bodies.
Definition at line 824 of file jeffery_orbit.cc.
void UnstructuredImmersedEllipseProblem< ELEMENT >::set_boundary_velocity |
Set the boundary velocity.
Set the boundary velocity for current and history values.
Definition at line 736 of file jeffery_orbit.cc.
void UnstructuredImmersedEllipseProblem< ELEMENT >::solve_for_consistent_nodal_positions |
Function that solves a simplified problem to ensure that the positions of the boundary nodes are initially consistent with the lagrange multiplier formulation.
Assemble and solve a simplified problem that ensures that the positions of the boundary nodes are consistent with the weak imposition of the displacement boundary conditions on the surface of the ellipse.
Definition at line 863 of file jeffery_orbit.cc.
Referenced by main().
|
private |
Unpin the degrees of freedom associated with the solid bodies.
Definition at line 842 of file jeffery_orbit.cc.
|
private |
File to document the exact motion of the centre of gravity.
Definition at line 295 of file jeffery_orbit.cc.
|
private |
File to document the motion of the centre of gravity.
Definition at line 292 of file jeffery_orbit.cc.
|
private |
Internal DocInfo object.
Definition at line 286 of file jeffery_orbit.cc.
|
private |
Mesh of drag elements.
Definition at line 277 of file jeffery_orbit.cc.
|
private |
Pointer to Fluid_mesh.
Definition at line 271 of file jeffery_orbit.cc.
|
private |
Pointers to mesh of Lagrange multiplier elements.
Definition at line 268 of file jeffery_orbit.cc.
|
private |
File to document the norm of the solution (for validation purposes)
Definition at line 289 of file jeffery_orbit.cc.
|
private |
Triangle mesh polygon for outer boundary.
Definition at line 274 of file jeffery_orbit.cc.
|
private |
Mesh of the generalised elements for the rigid bodies.
Definition at line 280 of file jeffery_orbit.cc.
|
private |
Storage for the geom object.
Definition at line 283 of file jeffery_orbit.cc.