Public Member Functions | |
OscRingNStProblem (const double &dt, FiniteElement::UnsteadyExactSolutionFctPt IC_fct_pt) | |
Constructor: Pass timestep and function pointer to the solution that provides the initial conditions for the fluid. More... | |
~OscRingNStProblem () | |
Destructor (empty) More... | |
GeomObject * | wall_pt () |
Get pointer to wall as geometric object. More... | |
void | actions_after_newton_solve () |
Update after solve (empty) More... | |
void | actions_before_newton_solve () |
Update the problem specs before solve (empty) More... | |
void | actions_before_newton_convergence_check () |
Update the problem specs before checking Newton convergence: Update the fluid mesh and re-set velocity boundary conditions – no slip velocity on the wall means that the velocity on the wall is enslaved. More... | |
void | actions_after_adapt () |
Update the problem specs after adaptation: Set auxiliary update function that applies no slip on all boundary nodes and choose fluid pressure dof that drives the wall deformation. More... | |
void | unsteady_run (const unsigned &ntsteps, const bool &restarted, DocInfo &doc_info) |
Run the time integration for ntsteps steps. More... | |
void | set_initial_condition () |
Set initial condition (incl previous timesteps) according to specified function. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT > * | fluid_mesh_pt () |
Access function for the fluid mesh. More... | |
void | dump_it (ofstream &dump_file, DocInfo doc_info) |
Dump problem data. More... | |
void | restart (ifstream &restart_file) |
Read problem data. More... | |
OscRingNStProblem (const double &dt, FiniteElement::UnsteadyExactSolutionFctPt IC_fct_pt) | |
Constructor: Pass timestep and function pointer to the solution that provides the initial conditions for the fluid. More... | |
~OscRingNStProblem () | |
Destructor (empty) More... | |
GeomObject * | wall_pt () |
Get pointer to wall as geometric object. More... | |
void | actions_after_newton_solve () |
Update after solve (empty) More... | |
void | actions_before_newton_solve () |
Update the problem specs before solve (empty) More... | |
void | actions_before_newton_convergence_check () |
Update the problem specs before checking Newton convergence: Update the fluid mesh and re-set velocity boundary conditions – no slip velocity on the wall means that the velocity on the wall is enslaved. More... | |
void | actions_after_adapt () |
Update the problem specs after adaptation: Set auxiliary update function that applies no slip on all boundary nodes and choose fluid pressure dof that drives the wall deformation. More... | |
void | unsteady_run (const unsigned &ntsteps, const bool &restarted, DocInfo &doc_info) |
Run the time integration for ntsteps steps. More... | |
void | set_initial_condition () |
Set initial condition (incl previous timesteps) according to specified function. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT > * | fluid_mesh_pt () |
Access function for the fluid mesh. More... | |
void | dump_it (ofstream &dump_file, DocInfo doc_info) |
Dump problem data. More... | |
void | restart (ifstream &restart_file) |
Read problem data. More... | |
Private Member Functions | |
void | write_trace_file_header () |
Write header for trace file. More... | |
void | write_trace_file_header () |
Write header for trace file. More... | |
Private Attributes | |
FiniteElement::UnsteadyExactSolutionFctPt | IC_Fct_pt |
Function pointer to set the intial condition. More... | |
GeomObject * | Wall_pt |
Pointer to wall. More... | |
AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT > * | Fluid_mesh_pt |
Pointer to fluid mesh. More... | |
Mesh * | Wall_mesh_pt |
Pointer to wall mesh (contains only a single GeneralisedElement) More... | |
ofstream | Trace_file |
Trace file. More... | |
Node * | Veloc_trace_node_pt |
Pointer to node on coarsest mesh on which velocity is traced. More... | |
Node * | Sarah_veloc_trace_node_pt |
Pointer to node in symmetry plane on coarsest mesh at which velocity is traced. More... | |
MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT > * | Fluid_mesh_pt |
Pointer to fluid mesh. More... | |
Driver for oscillating ring problem: Wall performs oscillations that resemble eigenmodes of freely oscillating ring and drives viscous fluid flow. Mean radius of wall is adjustable and responds to a pressure value in the fluid to allow for mass conservation.
Definition at line 89 of file osc_ring_alg.cc.
OscRingNStProblem< ELEMENT >::OscRingNStProblem | ( | const double & | dt, |
FiniteElement::UnsteadyExactSolutionFctPt | IC_fct_pt | ||
) |
Constructor: Pass timestep and function pointer to the solution that provides the initial conditions for the fluid.
Constructor: Pass (constant) timestep and function pointer to the solution that provides the initial conditions for the fluid.
Definition at line 213 of file osc_ring_alg.cc.
References oomph::SarahBL::A, oomph::SarahBL::alpha, oomph::SarahBL::epsilon, OscRingNStProblem< ELEMENT >::fluid_mesh_pt(), OscRingNStProblem< ELEMENT >::Fluid_mesh_pt, oomph::SarahBL::N, oomph::SarahBL::Omega, Global_Physical_Variables::Re, Global_Physical_Variables::ReSt, OscRingNStProblem< ELEMENT >::Sarah_veloc_trace_node_pt, OscRingNStProblem< ELEMENT >::Veloc_trace_node_pt, OscRingNStProblem< ELEMENT >::Wall_mesh_pt, and OscRingNStProblem< ELEMENT >::Wall_pt.
|
inline |
Destructor (empty)
Definition at line 100 of file osc_ring_alg.cc.
OscRingNStProblem< ELEMENT >::OscRingNStProblem | ( | const double & | dt, |
FiniteElement::UnsteadyExactSolutionFctPt | IC_fct_pt | ||
) |
Constructor: Pass timestep and function pointer to the solution that provides the initial conditions for the fluid.
|
inline |
Destructor (empty)
Definition at line 99 of file osc_ring_macro.cc.
|
inline |
Update the problem specs after adaptation: Set auxiliary update function that applies no slip on all boundary nodes and choose fluid pressure dof that drives the wall deformation.
Definition at line 129 of file osc_ring_macro.cc.
|
inline |
Update the problem specs after adaptation: Set auxiliary update function that applies no slip on all boundary nodes and choose fluid pressure dof that drives the wall deformation.
Definition at line 130 of file osc_ring_alg.cc.
|
inline |
Update after solve (empty)
Definition at line 108 of file osc_ring_macro.cc.
|
inline |
Update after solve (empty)
Definition at line 109 of file osc_ring_alg.cc.
|
inline |
Update the problem specs before checking Newton convergence: Update the fluid mesh and re-set velocity boundary conditions – no slip velocity on the wall means that the velocity on the wall is enslaved.
Definition at line 117 of file osc_ring_macro.cc.
|
inline |
Update the problem specs before checking Newton convergence: Update the fluid mesh and re-set velocity boundary conditions – no slip velocity on the wall means that the velocity on the wall is enslaved.
Definition at line 118 of file osc_ring_alg.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 111 of file osc_ring_macro.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 112 of file osc_ring_alg.cc.
void OscRingNStProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void OscRingNStProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
Doc the solution
Definition at line 490 of file osc_ring_alg.cc.
References OscRingNStProblem< ELEMENT >::dump_it(), oomph::SarahBL::exact_soln(), OscRingNStProblem< ELEMENT >::fluid_mesh_pt(), oomph::SarahBL::full_exact_soln(), oomph::SarahBL::Kin_energy_sarah(), OscRingNStProblem< ELEMENT >::Sarah_veloc_trace_node_pt, oomph::SarahBL::Total_Diss_sarah(), OscRingNStProblem< ELEMENT >::Trace_file, OscRingNStProblem< ELEMENT >::Veloc_trace_node_pt, OscRingNStProblem< ELEMENT >::wall_pt(), and OscRingNStProblem< ELEMENT >::Wall_pt.
Referenced by OscRingNStProblem< ELEMENT >::unsteady_run().
void OscRingNStProblem< ELEMENT >::dump_it | ( | ofstream & | dump_file, |
DocInfo | doc_info | ||
) |
Dump problem data.
void OscRingNStProblem< ELEMENT >::dump_it | ( | ofstream & | dump_file, |
DocInfo | doc_info | ||
) |
Dump problem data.
Dump the solution.
Definition at line 691 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::doc_solution().
|
inline |
Access function for the fluid mesh.
Definition at line 166 of file osc_ring_macro.cc.
|
inline |
Access function for the fluid mesh.
Definition at line 167 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::doc_solution(), OscRingNStProblem< ELEMENT >::OscRingNStProblem(), OscRingNStProblem< ELEMENT >::set_initial_condition(), OscRingNStProblem< ELEMENT >::unsteady_run(), and OscRingNStProblem< ELEMENT >::write_trace_file_header().
void OscRingNStProblem< ELEMENT >::restart | ( | ifstream & | restart_file | ) |
Read problem data.
void OscRingNStProblem< ELEMENT >::restart | ( | ifstream & | restart_file | ) |
Read problem data.
Read solution from disk.
Definition at line 708 of file osc_ring_alg.cc.
Referenced by main().
void OscRingNStProblem< ELEMENT >::set_initial_condition | ( | ) |
Set initial condition (incl previous timesteps) according to specified function.
void OscRingNStProblem< ELEMENT >::set_initial_condition | ( | ) |
Set initial condition (incl previous timesteps) according to specified function.
Set initial condition: Assign previous and current values of the velocity from the velocity field specified via the function pointer.
Values are assigned so that the velocities and accelerations are correct for current time.
Definition at line 404 of file osc_ring_alg.cc.
References OscRingNStProblem< ELEMENT >::fluid_mesh_pt(), and OscRingNStProblem< ELEMENT >::Wall_pt.
Referenced by main().
void OscRingNStProblem< ELEMENT >::unsteady_run | ( | const unsigned & | ntsteps, |
const bool & | restarted, | ||
DocInfo & | doc_info | ||
) |
Run the time integration for ntsteps steps.
void OscRingNStProblem< ELEMENT >::unsteady_run | ( | const unsigned & | ntsteps, |
const bool & | restarted, | ||
DocInfo & | doc_info | ||
) |
Run the time integration for ntsteps steps.
Driver for timestepping the problem: Fixed timestep but guaranteed spatial accuracy. Beautiful, innit?
Definition at line 735 of file osc_ring_alg.cc.
References OscRingNStProblem< ELEMENT >::doc_solution(), OscRingNStProblem< ELEMENT >::fluid_mesh_pt(), OscRingNStProblem< ELEMENT >::Trace_file, and OscRingNStProblem< ELEMENT >::write_trace_file_header().
Referenced by main().
|
inline |
Get pointer to wall as geometric object.
Definition at line 102 of file osc_ring_macro.cc.
|
inline |
Get pointer to wall as geometric object.
Definition at line 103 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::doc_solution().
|
private |
Write header for trace file.
|
private |
Write header for trace file.
Write trace file header.
Definition at line 860 of file osc_ring_alg.cc.
References OscRingNStProblem< ELEMENT >::fluid_mesh_pt(), Global_Physical_Variables::Re, Global_Physical_Variables::ReSt, and OscRingNStProblem< ELEMENT >::Trace_file.
Referenced by OscRingNStProblem< ELEMENT >::unsteady_run().
|
private |
Pointer to fluid mesh.
Definition at line 189 of file osc_ring_macro.cc.
|
private |
Pointer to fluid mesh.
Definition at line 190 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::OscRingNStProblem().
|
private |
Function pointer to set the intial condition.
Definition at line 184 of file osc_ring_alg.cc.
|
private |
Pointer to node in symmetry plane on coarsest mesh at which velocity is traced.
Definition at line 203 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::doc_solution(), and OscRingNStProblem< ELEMENT >::OscRingNStProblem().
|
private |
Trace file.
Definition at line 196 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::doc_solution(), OscRingNStProblem< ELEMENT >::unsteady_run(), and OscRingNStProblem< ELEMENT >::write_trace_file_header().
|
private |
Pointer to node on coarsest mesh on which velocity is traced.
Definition at line 199 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::doc_solution(), and OscRingNStProblem< ELEMENT >::OscRingNStProblem().
|
private |
Pointer to wall mesh (contains only a single GeneralisedElement)
Definition at line 193 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::OscRingNStProblem().
|
private |
Pointer to wall.
Definition at line 187 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::doc_solution(), OscRingNStProblem< ELEMENT >::OscRingNStProblem(), and OscRingNStProblem< ELEMENT >::set_initial_condition().