Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FSICollapsibleChannelProblem< ELEMENT > Class Template Reference

Problem class. More...

#include <fsi_chan_problem.h>

Inheritance diagram for FSICollapsibleChannelProblem< ELEMENT >:
SegregatedFSICollapsibleChannelProblem< ELEMENT >

Public Member Functions

 FSICollapsibleChannelProblem (const unsigned &nup, const unsigned &ncollapsible, const unsigned &ndown, const unsigned &ny, const double &lup, const double &lcollapsible, const double &ldown, const double &ly, const bool &displ_control, const bool &steady_flag)
 Constructor: The arguments are the number of elements and the lengths of the domain. More...
 
 ~FSICollapsibleChannelProblem ()
 Destructor. More...
 
virtual void steady_run ()
 Steady run; virtual so it can be overloaded in derived problem classes. More...
 
virtual void unsteady_run (const double &dt=0.1)
 Unsteady run; virtual so it can be overloaded in derived problem classes. Specify timestep or use default of 0.1. More...
 
AlgebraicCollapsibleChannelMesh< ELEMENT > * bulk_mesh_pt ()
 Access function for the specific bulk (fluid) mesh. More...
 
OneDLagrangianMesh< FSIHermiteBeamElement > * wall_mesh_pt ()
 Access function for the wall mesh. More...
 
void actions_before_newton_solve ()
 Actions before solve. Reset counter for number of Newton iterations. More...
 
void actions_after_newton_solve ()
 Update the problem after solve (empty) More...
 
void actions_before_newton_convergence_check ()
 Update before checking Newton convergence: Update the nodal positions in the fluid mesh in response to possible changes in the wall shape. More...
 
virtual void doc_solution_steady (DocInfo &doc_info, ofstream &trace_file, const double &cpu, const unsigned &niter)
 Doc the steady solution. More...
 
virtual void doc_solution_unsteady (DocInfo &doc_info, ofstream &trace_file, const double &cpu, const unsigned &niter)
 Doc the unsteady solution. More...
 
void set_initial_condition ()
 Apply initial conditions. More...
 

Protected Member Functions

void dump_it (ofstream &dump_file)
 Dump problem to disk to allow for restart. More...
 
void restart (ifstream &restart_file)
 Read problem for restart from specified restart file. More...
 

Protected Attributes

unsigned Nup
 Number of elements in the x direction in the upstream part of the channel. More...
 
unsigned Ncollapsible
 Number of elements in the x direction in the collapsible part of the channel. More...
 
unsigned Ndown
 Number of elements in the x direction in the downstream part of the channel. More...
 
unsigned Ny
 Number of elements across the channel. More...
 
double Lup
 x-length in the upstream part of the channel More...
 
double Lcollapsible
 x-length in the collapsible part of the channel More...
 
double Ldown
 x-length in the downstream part of the channel More...
 
double Ly
 Transverse length. More...
 
AlgebraicCollapsibleChannelMesh< ELEMENT > * Bulk_mesh_pt
 Pointer to the "bulk" mesh. More...
 
Mesh * Displ_control_mesh_pt
 Pointer to the mesh that contains the displacement control element. More...
 
bool Displ_control
 Use displacement control? More...
 
OneDLagrangianMesh< FSIHermiteBeamElement > * Wall_mesh_pt
 Pointer to the "wall" mesh. More...
 
Node * Left_node_pt
 Pointer to the left control node. More...
 
Node * Right_node_pt
 Pointer to right control node. More...
 
Node * Wall_node_pt
 Pointer to control node on the wall. More...
 
bool Steady_flag
 Flag for steady run. More...
 
GeomObject * Ctrl_geom_obj_pt
 Pointer to GeomObject at which displacement control is applied (or at which wall displacement is monitored in unsteady runs) More...
 
Vector< double > S_displ_ctrl
 Vector of local coordinates of displacement control point in Ctrl_geom_obj_pt. More...
 
MeshAsGeomObject * Wall_geom_object_pt
 Pointer to geometric object (one Lagrangian, two Eulerian coordinates) that will be built from the wall mesh. More...
 
unsigned Newton_iter
 Counter for Newton iterations. More...
 
DocInfo Doc_info
 DocInfo object. More...
 

Detailed Description

template<class ELEMENT>
class FSICollapsibleChannelProblem< ELEMENT >

Problem class.

Definition at line 314 of file fsi_chan_problem.h.

Constructor & Destructor Documentation

◆ FSICollapsibleChannelProblem()

template<class ELEMENT >
FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem ( const unsigned &  nup,
const unsigned &  ncollapsible,
const unsigned &  ndown,
const unsigned &  ny,
const double &  lup,
const double &  lcollapsible,
const double &  ldown,
const double &  ly,
const bool &  displ_control,
const bool &  steady_flag 
)

Constructor: The arguments are the number of elements and the lengths of the domain.

Constructor for the collapsible channel problem.

Definition at line 483 of file fsi_chan_problem.h.

References Global_Physical_Variables::H, Global_Physical_Variables::load(), Global_Physical_Variables::P_ext_data_pt, Global_Physical_Variables::Q, Global_Physical_Variables::Re, Global_Physical_Variables::ReSt, Global_Physical_Variables::Sigma0, Flags::Steady_flag, and Global_Physical_Variables::Yprescr.

◆ ~FSICollapsibleChannelProblem()

template<class ELEMENT >
FSICollapsibleChannelProblem< ELEMENT >::~FSICollapsibleChannelProblem ( )
inline

Destructor.

Definition at line 333 of file fsi_chan_problem.h.

Member Function Documentation

◆ actions_after_newton_solve()

template<class ELEMENT >
void FSICollapsibleChannelProblem< ELEMENT >::actions_after_newton_solve ( )
inline

Update the problem after solve (empty)

Definition at line 371 of file fsi_chan_problem.h.

◆ actions_before_newton_convergence_check()

template<class ELEMENT >
void FSICollapsibleChannelProblem< ELEMENT >::actions_before_newton_convergence_check ( )
inline

Update before checking Newton convergence: Update the nodal positions in the fluid mesh in response to possible changes in the wall shape.

Definition at line 377 of file fsi_chan_problem.h.

References FSICollapsibleChannelProblem< ELEMENT >::Bulk_mesh_pt, and FSICollapsibleChannelProblem< ELEMENT >::Newton_iter.

◆ actions_before_newton_solve()

template<class ELEMENT >
void FSICollapsibleChannelProblem< ELEMENT >::actions_before_newton_solve ( )
inline

Actions before solve. Reset counter for number of Newton iterations.

Definition at line 365 of file fsi_chan_problem.h.

References FSICollapsibleChannelProblem< ELEMENT >::Newton_iter.

◆ bulk_mesh_pt()

template<class ELEMENT >
AlgebraicCollapsibleChannelMesh<ELEMENT>* FSICollapsibleChannelProblem< ELEMENT >::bulk_mesh_pt ( )
inline

Access function for the specific bulk (fluid) mesh.

Definition at line 347 of file fsi_chan_problem.h.

References FSICollapsibleChannelProblem< ELEMENT >::Bulk_mesh_pt.

◆ doc_solution_steady()

template<class ELEMENT >
void FSICollapsibleChannelProblem< ELEMENT >::doc_solution_steady ( DocInfo &  doc_info,
ofstream &  trace_file,
const double &  cpu,
const unsigned &  niter 
)
virtual

Doc the steady solution.

Doc the solution for a steady run.

Definition at line 852 of file fsi_chan_problem.h.

References Global_Physical_Variables::P_ext_data_pt, and Global_Physical_Variables::Yprescr.

◆ doc_solution_unsteady()

template<class ELEMENT >
void FSICollapsibleChannelProblem< ELEMENT >::doc_solution_unsteady ( DocInfo &  doc_info,
ofstream &  trace_file,
const double &  cpu,
const unsigned &  niter 
)
virtual

Doc the unsteady solution.

Doc the solution for an unstady run.

Definition at line 913 of file fsi_chan_problem.h.

◆ dump_it()

template<class ELEMENT >
void FSICollapsibleChannelProblem< ELEMENT >::dump_it ( ofstream &  dump_file)
protected

Dump problem to disk to allow for restart.

Dump the solution to disk to allow for restart.

Definition at line 974 of file fsi_chan_problem.h.

References Global_Physical_Variables::P_ext_data_pt.

◆ restart()

template<class ELEMENT >
void FSICollapsibleChannelProblem< ELEMENT >::restart ( ifstream &  restart_file)
protected

Read problem for restart from specified restart file.

Read solution from disk for restart.

Definition at line 1016 of file fsi_chan_problem.h.

References Global_Physical_Variables::P_ext_data_pt, and Global_Physical_Variables::P_step.

◆ set_initial_condition()

template<class ELEMENT >
void FSICollapsibleChannelProblem< ELEMENT >::set_initial_condition

Apply initial conditions.

Definition at line 1073 of file fsi_chan_problem.h.

References Flags::Restart_file_name, and Flags::Steady_flag.

◆ steady_run()

template<class ELEMENT >
void FSICollapsibleChannelProblem< ELEMENT >::steady_run
virtual

◆ unsteady_run()

template<class ELEMENT >
void FSICollapsibleChannelProblem< ELEMENT >::unsteady_run ( const double &  dt = 0.1)
virtual

Unsteady run; virtual so it can be overloaded in derived problem classes. Specify timestep or use default of 0.1.

Unsteady run. Specify timestep or use default of 0.1.

Definition at line 1282 of file fsi_chan_problem.h.

References Flags::Nsteps, Global_Physical_Variables::P_ext_data_pt, Global_Physical_Variables::Pmax, Global_Physical_Variables::Q, Global_Physical_Variables::Re, Flags::Resolution_factor, and Flags::Run_identifier_string.

◆ wall_mesh_pt()

template<class ELEMENT >
OneDLagrangianMesh<FSIHermiteBeamElement>* FSICollapsibleChannelProblem< ELEMENT >::wall_mesh_pt ( )
inline

Access function for the wall mesh.

Definition at line 357 of file fsi_chan_problem.h.

References FSICollapsibleChannelProblem< ELEMENT >::Wall_mesh_pt.

Member Data Documentation

◆ Bulk_mesh_pt

template<class ELEMENT >
AlgebraicCollapsibleChannelMesh<ELEMENT>* FSICollapsibleChannelProblem< ELEMENT >::Bulk_mesh_pt
protected

◆ Ctrl_geom_obj_pt

template<class ELEMENT >
GeomObject* FSICollapsibleChannelProblem< ELEMENT >::Ctrl_geom_obj_pt
protected

Pointer to GeomObject at which displacement control is applied (or at which wall displacement is monitored in unsteady runs)

Definition at line 458 of file fsi_chan_problem.h.

◆ Displ_control

template<class ELEMENT >
bool FSICollapsibleChannelProblem< ELEMENT >::Displ_control
protected

Use displacement control?

Definition at line 439 of file fsi_chan_problem.h.

◆ Displ_control_mesh_pt

template<class ELEMENT >
Mesh* FSICollapsibleChannelProblem< ELEMENT >::Displ_control_mesh_pt
protected

Pointer to the mesh that contains the displacement control element.

Definition at line 436 of file fsi_chan_problem.h.

◆ Doc_info

template<class ELEMENT >
DocInfo FSICollapsibleChannelProblem< ELEMENT >::Doc_info
protected

DocInfo object.

Definition at line 472 of file fsi_chan_problem.h.

◆ Lcollapsible

template<class ELEMENT >
double FSICollapsibleChannelProblem< ELEMENT >::Lcollapsible
protected

x-length in the collapsible part of the channel

Definition at line 424 of file fsi_chan_problem.h.

◆ Ldown

template<class ELEMENT >
double FSICollapsibleChannelProblem< ELEMENT >::Ldown
protected

x-length in the downstream part of the channel

Definition at line 427 of file fsi_chan_problem.h.

◆ Left_node_pt

template<class ELEMENT >
Node* FSICollapsibleChannelProblem< ELEMENT >::Left_node_pt
protected

Pointer to the left control node.

Definition at line 445 of file fsi_chan_problem.h.

◆ Lup

template<class ELEMENT >
double FSICollapsibleChannelProblem< ELEMENT >::Lup
protected

x-length in the upstream part of the channel

Definition at line 421 of file fsi_chan_problem.h.

◆ Ly

template<class ELEMENT >
double FSICollapsibleChannelProblem< ELEMENT >::Ly
protected

Transverse length.

Definition at line 430 of file fsi_chan_problem.h.

◆ Ncollapsible

template<class ELEMENT >
unsigned FSICollapsibleChannelProblem< ELEMENT >::Ncollapsible
protected

Number of elements in the x direction in the collapsible part of the channel.

Definition at line 412 of file fsi_chan_problem.h.

◆ Ndown

template<class ELEMENT >
unsigned FSICollapsibleChannelProblem< ELEMENT >::Ndown
protected

Number of elements in the x direction in the downstream part of the channel.

Definition at line 415 of file fsi_chan_problem.h.

◆ Newton_iter

template<class ELEMENT >
unsigned FSICollapsibleChannelProblem< ELEMENT >::Newton_iter
protected

◆ Nup

template<class ELEMENT >
unsigned FSICollapsibleChannelProblem< ELEMENT >::Nup
protected

Number of elements in the x direction in the upstream part of the channel.

Definition at line 408 of file fsi_chan_problem.h.

◆ Ny

template<class ELEMENT >
unsigned FSICollapsibleChannelProblem< ELEMENT >::Ny
protected

Number of elements across the channel.

Definition at line 418 of file fsi_chan_problem.h.

◆ Right_node_pt

template<class ELEMENT >
Node* FSICollapsibleChannelProblem< ELEMENT >::Right_node_pt
protected

Pointer to right control node.

Definition at line 448 of file fsi_chan_problem.h.

◆ S_displ_ctrl

template<class ELEMENT >
Vector<double> FSICollapsibleChannelProblem< ELEMENT >::S_displ_ctrl
protected

Vector of local coordinates of displacement control point in Ctrl_geom_obj_pt.

Definition at line 462 of file fsi_chan_problem.h.

◆ Steady_flag

template<class ELEMENT >
bool FSICollapsibleChannelProblem< ELEMENT >::Steady_flag
protected

Flag for steady run.

Definition at line 454 of file fsi_chan_problem.h.

◆ Wall_geom_object_pt

template<class ELEMENT >
MeshAsGeomObject* FSICollapsibleChannelProblem< ELEMENT >::Wall_geom_object_pt
protected

Pointer to geometric object (one Lagrangian, two Eulerian coordinates) that will be built from the wall mesh.

Definition at line 466 of file fsi_chan_problem.h.

◆ Wall_mesh_pt

template<class ELEMENT >
OneDLagrangianMesh<FSIHermiteBeamElement>* FSICollapsibleChannelProblem< ELEMENT >::Wall_mesh_pt
protected

Pointer to the "wall" mesh.

Definition at line 442 of file fsi_chan_problem.h.

Referenced by FSICollapsibleChannelProblem< ELEMENT >::wall_mesh_pt().

◆ Wall_node_pt

template<class ELEMENT >
Node* FSICollapsibleChannelProblem< ELEMENT >::Wall_node_pt
protected

Pointer to control node on the wall.

Definition at line 451 of file fsi_chan_problem.h.


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