///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// More...
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 dependent. 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 dependent. 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 85 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 209 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 96 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 95 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 126 of file osc_ring_alg.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 125 of file osc_ring_macro.cc.
|
inline |
Update after solve (empty)
Definition at line 105 of file osc_ring_alg.cc.
|
inline |
Update after solve (empty)
Definition at line 104 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 dependent.
Definition at line 114 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 dependent.
Definition at line 113 of file osc_ring_macro.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 108 of file osc_ring_alg.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 107 of file osc_ring_macro.cc.
void OscRingNStProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
Definition at line 486 of file osc_ring_alg.cc.
References oomph::SarahBL::exact_soln(), oomph::SarahBL::full_exact_soln(), oomph::SarahBL::Kin_energy_sarah(), and oomph::SarahBL::Total_Diss_sarah().
void OscRingNStProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void OscRingNStProblem< ELEMENT >::dump_it | ( | ofstream & | dump_file, |
DocInfo | doc_info | ||
) |
void OscRingNStProblem< ELEMENT >::dump_it | ( | ofstream & | dump_file, |
DocInfo | doc_info | ||
) |
Dump problem data.
|
inline |
Access function for the fluid mesh.
Definition at line 163 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::OscRingNStProblem().
|
inline |
Access function for the fluid mesh.
Definition at line 162 of file osc_ring_macro.cc.
void OscRingNStProblem< ELEMENT >::restart | ( | ifstream & | restart_file | ) |
Read problem data.
Read solution from disk.
Definition at line 704 of file osc_ring_alg.cc.
Referenced by main().
void OscRingNStProblem< ELEMENT >::restart | ( | ifstream & | restart_file | ) |
Read problem data.
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 400 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 >::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 731 of file osc_ring_alg.cc.
Referenced by main().
void OscRingNStProblem< ELEMENT >::unsteady_run | ( | const unsigned & | ntsteps, |
const bool & | restarted, | ||
DocInfo & | doc_info | ||
) |
Run the time integration for ntsteps steps.
|
inline |
Get pointer to wall as geometric object.
Definition at line 99 of file osc_ring_alg.cc.
|
inline |
Get pointer to wall as geometric object.
Definition at line 98 of file osc_ring_macro.cc.
|
private |
Write header for trace file.
Write trace file header.
Definition at line 856 of file osc_ring_alg.cc.
References Global_Physical_Variables::Re, and Global_Physical_Variables::ReSt.
|
private |
Write header for trace file.
|
private |
Pointer to fluid mesh.
Definition at line 186 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::OscRingNStProblem().
|
private |
Pointer to fluid mesh.
Definition at line 185 of file osc_ring_macro.cc.
|
private |
Function pointer to set the intial condition.
Definition at line 180 of file osc_ring_alg.cc.
|
private |
Pointer to node in symmetry plane on coarsest mesh at which velocity is traced.
Definition at line 199 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::OscRingNStProblem().
|
private |
Trace file.
Definition at line 192 of file osc_ring_alg.cc.
|
private |
Pointer to node on coarsest mesh on which velocity is traced.
Definition at line 195 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::OscRingNStProblem().
|
private |
Pointer to wall mesh (contains only a single GeneralisedElement)
Definition at line 189 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::OscRingNStProblem().
|
private |
Pointer to wall.
Definition at line 183 of file osc_ring_alg.cc.
Referenced by OscRingNStProblem< ELEMENT >::OscRingNStProblem().