Public Member Functions | |
FSIRingProblem (const unsigned &nelement_wall, const double &eps_ampl, const double &pcos_initial, const double &pcos_duration) | |
void | actions_after_newton_solve () |
Update after solve (empty) More... | |
void | actions_before_newton_solve () |
Update before solve (empty) More... | |
void | actions_before_newton_convergence_check () |
Update the problem specs before checking Newton convergence. More... | |
void | actions_after_adapt () |
Update the problem specs after adaptation: More... | |
void | doc_solution (const unsigned &i, DocInfo &doc_info, ofstream &trace_file) |
Doc solution: Pass number of timestep, i (we append to tracefile after every timestep but do a full doc only at certain intervals), DocInfo object and tracefile. More... | |
void | dynamic_run () |
Do dynamic run. More... | |
FSIRingProblem (const unsigned &nelement_wall, const double &eps_ampl, const double &pcos_initial, const double &pcos_duration, const unsigned &i_case) | |
void | actions_after_newton_solve () |
Update after solve (empty) More... | |
void | actions_before_newton_solve () |
Update before solve (empty) More... | |
void | actions_before_newton_convergence_check () |
Update the problem specs before checking Newton convergence. More... | |
void | actions_after_adapt () |
Update the problem specs after adaptation: More... | |
void | doc_solution (const unsigned &i, DocInfo &doc_info, ofstream &trace_file, const unsigned &i_case) |
Doc solution: Pass number of timestep, i (we append to tracefile after every timestep but do a full doc only at certain intervals), DocInfo object and tracefile. More... | |
void | dynamic_run (const unsigned &i_case) |
Do dynamic run. More... | |
Private Types | |
typedef AlgebraicElement< RefineableQCrouzeixRaviartElement< 2 > > | FLUID_ELEMENT |
There are very few element types that will work for this problem. Rather than passing the element type as a template parameter to the problem, we choose instead to use a typedef to specify the particular element fluid used. More... | |
typedef FSIHermiteBeamElement | SOLID_ELEMENT |
Typedef to specify the solid element used. More... | |
typedef AlgebraicElement< RefineableQCrouzeixRaviartElement< 2 > > | FLUID_ELEMENT |
There are very few element types that will work for this problem. Rather than passing the element type as a template parameter to the problem, we choose instead to use a typedef to specify the particular element fluid used. More... | |
typedef FSIHermiteBeamElement | SOLID_ELEMENT |
Typedef to specify the solid element used. More... | |
Private Member Functions | |
void | set_initial_condition () |
Setup initial condition for both domains. More... | |
void | set_wall_initial_condition () |
Setup initial condition for wall. More... | |
void | set_fluid_initial_condition () |
Setup initial condition for fluid. More... | |
void | set_initial_condition () |
Setup initial condition for both domains. More... | |
void | set_wall_initial_condition () |
Setup initial condition for wall. More... | |
void | set_fluid_initial_condition () |
Setup initial condition for fluid. More... | |
Private Attributes | |
SOLID_ELEMENT * | Doc_displacement_elem_pt |
Element used for documenting displacement. More... | |
OneDLagrangianMesh< SOLID_ELEMENT > * | Wall_mesh_pt |
Pointer to wall mesh. More... | |
AlgebraicRefineableQuarterCircleSectorMesh< FLUID_ELEMENT > * | Fluid_mesh_pt |
Pointer to fluid mesh. More... | |
GeomObject * | Undef_geom_pt |
Pointer to geometric object that represents the undeformed wall shape. More... | |
Newmark< 2 > * | Wall_time_stepper_pt |
Pointer to wall timestepper. More... | |
BDF< 2 > * | Fluid_time_stepper_pt |
Pointer to fluid timestepper. More... | |
Node * | Veloc_trace_node_pt |
Pointer to node on coarsest mesh on which velocity is traced. More... | |
double | Eps_ampl |
Amplitude of initial deformation. More... | |
double | Pcos_initial |
Initial pcos. More... | |
double | Pcos_duration |
Duration of initial pcos. More... | |
FSI Ring problem: a fluid-structure interaction problem in which a viscous fluid bounded by an initially circular beam is set into motion by a small sinusoidal perturbation of the beam (the domain boundary).
Definition at line 144 of file fsi_osc_ring.cc.
|
private |
There are very few element types that will work for this problem. Rather than passing the element type as a template parameter to the problem, we choose instead to use a typedef to specify the particular element fluid used.
Definition at line 150 of file fsi_osc_ring.cc.
|
private |
There are very few element types that will work for this problem. Rather than passing the element type as a template parameter to the problem, we choose instead to use a typedef to specify the particular element fluid used.
Definition at line 150 of file fsi_osc_ring_compare_jacs.cc.
|
private |
Typedef to specify the solid element used.
Definition at line 153 of file fsi_osc_ring_compare_jacs.cc.
|
private |
Typedef to specify the solid element used.
Definition at line 153 of file fsi_osc_ring.cc.
FSIRingProblem::FSIRingProblem | ( | const unsigned & | N, |
const double & | eps_ampl, | ||
const double & | pcos_initial, | ||
const double & | pcos_duration | ||
) |
Constructor: Number of elements in wall mesh, amplitude of the initial wall deformation, amplitude of pcos perturbation and its duration.
Constructor for FSI ring problem. Pass number of wall elements and length of wall (in Lagrangian coordinates) amplitude of initial deformation, pcos perturbation and duration.
Definition at line 434 of file fsi_osc_ring.cc.
References Doc_displacement_elem_pt, Fluid_mesh_pt, Fluid_time_stepper_pt, Global_Physical_Variables::H, Global_Physical_Variables::Lambda_sq, oomph::SarahBL::N, Global_Physical_Variables::pcos_load(), Global_Physical_Variables::Q, Global_Physical_Variables::Re, Global_Physical_Variables::ReSt, Undef_geom_pt, Veloc_trace_node_pt, Wall_mesh_pt, and Wall_time_stepper_pt.
FSIRingProblem::FSIRingProblem | ( | const unsigned & | N, |
const double & | eps_ampl, | ||
const double & | pcos_initial, | ||
const double & | pcos_duration, | ||
const unsigned & | i_case | ||
) |
Constructor: Number of elements in wall mesh, amplitude of the initial wall deformation, amplitude of pcos perturbation and its duration.
Constructor for FSI ring problem. Pass number of wall elements and length of wall (in Lagrangian coordinates) amplitude of initial deformation, pcos perturbation and duration.
Definition at line 435 of file fsi_osc_ring_compare_jacs.cc.
References Doc_displacement_elem_pt, Fluid_mesh_pt, Fluid_time_stepper_pt, Global_Physical_Variables::H, Global_Physical_Variables::Lambda_sq, oomph::SarahBL::N, Global_Physical_Variables::pcos_load(), Global_Physical_Variables::Q, Global_Physical_Variables::Re, Global_Physical_Variables::ReSt, Undef_geom_pt, Veloc_trace_node_pt, Wall_mesh_pt, and Wall_time_stepper_pt.
|
inline |
Update the problem specs after adaptation:
Definition at line 179 of file fsi_osc_ring.cc.
|
inline |
Update the problem specs after adaptation:
Definition at line 179 of file fsi_osc_ring_compare_jacs.cc.
References Global_Physical_Variables::H, set_fluid_initial_condition(), set_initial_condition(), and set_wall_initial_condition().
|
inline |
Update after solve (empty)
Definition at line 164 of file fsi_osc_ring.cc.
|
inline |
Update after solve (empty)
Definition at line 164 of file fsi_osc_ring_compare_jacs.cc.
|
inline |
Update the problem specs before checking Newton convergence.
Definition at line 171 of file fsi_osc_ring.cc.
|
inline |
Update the problem specs before checking Newton convergence.
Definition at line 171 of file fsi_osc_ring_compare_jacs.cc.
|
inline |
Update before solve (empty)
Definition at line 167 of file fsi_osc_ring.cc.
|
inline |
Update before solve (empty)
Definition at line 167 of file fsi_osc_ring_compare_jacs.cc.
void FSIRingProblem::doc_solution | ( | const unsigned & | i, |
DocInfo & | doc_info, | ||
ofstream & | trace_file | ||
) |
Doc solution: Pass number of timestep, i (we append to tracefile after every timestep but do a full doc only at certain intervals), DocInfo object and tracefile.
Document solution: Pass number of timestep, i; we append to trace file at every timestep and do a full doc only after a certain number of steps.
Output the solution using 5x5 plot points
Definition at line 356 of file fsi_osc_ring.cc.
Referenced by dynamic_run().
void FSIRingProblem::doc_solution | ( | const unsigned & | i, |
DocInfo & | doc_info, | ||
ofstream & | trace_file, | ||
const unsigned & | i_case | ||
) |
Doc solution: Pass number of timestep, i (we append to tracefile after every timestep but do a full doc only at certain intervals), DocInfo object and tracefile.
Document solution: Pass number of timestep, i; we append to trace file at every timestep and do a full doc only after a certain number of steps.
Output the solution using 5x5 plot points
Definition at line 357 of file fsi_osc_ring_compare_jacs.cc.
void FSIRingProblem::dynamic_run | ( | ) |
Do dynamic run.
Solver loop to perform unsteady run.
Label for output
Perturbation pressure
Switch off perturbation pressure
Definition at line 660 of file fsi_osc_ring.cc.
References Global_Physical_Variables::Alpha_sq, Global_Physical_Variables::Density_ratio, doc_solution(), Fluid_mesh_pt, Global_Physical_Variables::H, Global_Physical_Variables::Pcos, Pcos_duration, Pcos_initial, Global_Physical_Variables::Pext, set_initial_condition(), and Global_Physical_Variables::set_params().
Referenced by main().
void FSIRingProblem::dynamic_run | ( | const unsigned & | i_case | ) |
Do dynamic run.
Solver loop to perform unsteady run.
Label for output
Perturbation pressure
Switch off perturbation pressure
Definition at line 703 of file fsi_osc_ring_compare_jacs.cc.
References doc_solution(), Fluid_mesh_pt, Pcos_duration, Pcos_initial, set_initial_condition(), and Global_Physical_Variables::set_params().
|
private |
Setup initial condition for fluid.
Setup initial condition for fluid: Impulsive start.
Definition at line 283 of file fsi_osc_ring.cc.
Referenced by actions_after_adapt().
|
private |
Setup initial condition for fluid.
|
private |
Setup initial condition for both domains.
Setup initial condition: When we're done here, all variables represent the state at the initial time.
Definition at line 268 of file fsi_osc_ring.cc.
Referenced by actions_after_adapt(), and dynamic_run().
|
private |
Setup initial condition for both domains.
|
private |
Setup initial condition for wall.
Setup initial condition: Impulsive start either from deformed or undeformed wall shape.
Definition at line 322 of file fsi_osc_ring.cc.
References Global_Physical_Variables::H.
Referenced by actions_after_adapt().
|
private |
Setup initial condition for wall.
|
private |
Element used for documenting displacement.
Definition at line 232 of file fsi_osc_ring.cc.
Referenced by FSIRingProblem().
|
private |
Amplitude of initial deformation.
Definition at line 253 of file fsi_osc_ring.cc.
|
private |
Pointer to fluid mesh.
Definition at line 238 of file fsi_osc_ring.cc.
Referenced by dynamic_run(), and FSIRingProblem().
|
private |
Pointer to fluid timestepper.
Definition at line 247 of file fsi_osc_ring.cc.
Referenced by FSIRingProblem().
|
private |
Duration of initial pcos.
Definition at line 259 of file fsi_osc_ring.cc.
Referenced by dynamic_run().
|
private |
|
private |
Pointer to geometric object that represents the undeformed wall shape.
Definition at line 241 of file fsi_osc_ring.cc.
Referenced by FSIRingProblem().
|
private |
Pointer to node on coarsest mesh on which velocity is traced.
Definition at line 250 of file fsi_osc_ring.cc.
Referenced by FSIRingProblem().
|
private |
Pointer to wall mesh.
Definition at line 235 of file fsi_osc_ring.cc.
Referenced by FSIRingProblem().
|
private |
Pointer to wall timestepper.
Definition at line 244 of file fsi_osc_ring.cc.
Referenced by FSIRingProblem().