Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
FSIRingProblem Class Reference
Inheritance diagram for FSIRingProblem:

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_ELEMENTDoc_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...
 

Detailed Description

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.

Member Typedef Documentation

typedef AlgebraicElement<RefineableQCrouzeixRaviartElement<2> > FSIRingProblem::FLUID_ELEMENT
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.

typedef AlgebraicElement<RefineableQCrouzeixRaviartElement<2> > FSIRingProblem::FLUID_ELEMENT
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.

typedef FSIHermiteBeamElement FSIRingProblem::SOLID_ELEMENT
private

Typedef to specify the solid element used.

Definition at line 153 of file fsi_osc_ring_compare_jacs.cc.

typedef FSIHermiteBeamElement FSIRingProblem::SOLID_ELEMENT
private

Typedef to specify the solid element used.

Definition at line 153 of file fsi_osc_ring.cc.

Constructor & Destructor Documentation

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.

Member Function Documentation

void FSIRingProblem::actions_after_adapt ( )
inline

Update the problem specs after adaptation:

Definition at line 179 of file fsi_osc_ring.cc.

void FSIRingProblem::actions_after_adapt ( )
inline

Update the problem specs after adaptation:

Definition at line 179 of file fsi_osc_ring_compare_jacs.cc.

void FSIRingProblem::actions_after_newton_solve ( )
inline

Update after solve (empty)

Definition at line 164 of file fsi_osc_ring.cc.

void FSIRingProblem::actions_after_newton_solve ( )
inline

Update after solve (empty)

Definition at line 164 of file fsi_osc_ring_compare_jacs.cc.

void FSIRingProblem::actions_before_newton_convergence_check ( )
inline

Update the problem specs before checking Newton convergence.

Definition at line 171 of file fsi_osc_ring.cc.

void FSIRingProblem::actions_before_newton_convergence_check ( )
inline

Update the problem specs before checking Newton convergence.

Definition at line 171 of file fsi_osc_ring_compare_jacs.cc.

void FSIRingProblem::actions_before_newton_solve ( )
inline

Update before solve (empty)

Definition at line 167 of file fsi_osc_ring.cc.

void FSIRingProblem::actions_before_newton_solve ( )
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)
void FSIRingProblem::set_fluid_initial_condition ( )
private

Setup initial condition for fluid.

Setup initial condition for fluid: Impulsive start.

Definition at line 283 of file fsi_osc_ring.cc.

void FSIRingProblem::set_fluid_initial_condition ( )
private

Setup initial condition for fluid.

void FSIRingProblem::set_initial_condition ( )
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 dynamic_run().

void FSIRingProblem::set_initial_condition ( )
private

Setup initial condition for both domains.

void FSIRingProblem::set_wall_initial_condition ( )
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.

void FSIRingProblem::set_wall_initial_condition ( )
private

Setup initial condition for wall.

Member Data Documentation

SOLID_ELEMENT * FSIRingProblem::Doc_displacement_elem_pt
private

Element used for documenting displacement.

Definition at line 232 of file fsi_osc_ring.cc.

Referenced by FSIRingProblem().

double FSIRingProblem::Eps_ampl
private

Amplitude of initial deformation.

Definition at line 253 of file fsi_osc_ring.cc.

AlgebraicRefineableQuarterCircleSectorMesh< FLUID_ELEMENT > * FSIRingProblem::Fluid_mesh_pt
private

Pointer to fluid mesh.

Definition at line 238 of file fsi_osc_ring.cc.

Referenced by dynamic_run(), and FSIRingProblem().

BDF< 2 > * FSIRingProblem::Fluid_time_stepper_pt
private

Pointer to fluid timestepper.

Definition at line 247 of file fsi_osc_ring.cc.

Referenced by FSIRingProblem().

double FSIRingProblem::Pcos_duration
private

Duration of initial pcos.

Definition at line 259 of file fsi_osc_ring.cc.

Referenced by dynamic_run().

double FSIRingProblem::Pcos_initial
private

Initial pcos.

Definition at line 256 of file fsi_osc_ring.cc.

Referenced by dynamic_run().

GeomObject * FSIRingProblem::Undef_geom_pt
private

Pointer to geometric object that represents the undeformed wall shape.

Definition at line 241 of file fsi_osc_ring.cc.

Referenced by FSIRingProblem().

Node * FSIRingProblem::Veloc_trace_node_pt
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().

OneDLagrangianMesh< SOLID_ELEMENT > * FSIRingProblem::Wall_mesh_pt
private

Pointer to wall mesh.

Definition at line 235 of file fsi_osc_ring.cc.

Referenced by FSIRingProblem().

Newmark< 2 > * FSIRingProblem::Wall_time_stepper_pt
private

Pointer to wall timestepper.

Definition at line 244 of file fsi_osc_ring.cc.

Referenced by FSIRingProblem().


The documentation for this class was generated from the following files: