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. 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
 
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 318 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 
)

◆ ~FSICollapsibleChannelProblem()

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

Destructor.

Definition at line 337 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 375 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 381 of file fsi_chan_problem.h.

◆ 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 369 of file fsi_chan_problem.h.

◆ bulk_mesh_pt()

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

◆ 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_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 918 of file fsi_chan_problem.h.

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

◆ 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 978 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 1020 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 1077 of file fsi_chan_problem.h.

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

Referenced by SegregatedFSICollapsibleChannelProblem< ELEMENT >::steady_run().

◆ 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 1286 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

Member Data Documentation

◆ Bulk_mesh_pt

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

Pointer to the "bulk" mesh.

Definition at line 437 of file fsi_chan_problem.h.

◆ 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 462 of file fsi_chan_problem.h.

◆ Displ_control

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

◆ 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 440 of file fsi_chan_problem.h.

Referenced by SegregatedFSICollapsibleChannelProblem< ELEMENT >::identify_fluid_and_solid_dofs().

◆ Doc_info

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

DocInfo object.

Definition at line 476 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 428 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 431 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 449 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 425 of file fsi_chan_problem.h.

◆ Ly

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

Transverse length.

Definition at line 434 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 416 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 419 of file fsi_chan_problem.h.

◆ Newton_iter

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

Counter for Newton iterations.

Definition at line 473 of file fsi_chan_problem.h.

◆ 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 412 of file fsi_chan_problem.h.

◆ Ny

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

Number of elements across the channel.

Definition at line 422 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 452 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 466 of file fsi_chan_problem.h.

◆ Steady_flag

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

Flag for steady run.

Definition at line 458 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 470 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 446 of file fsi_chan_problem.h.

◆ Wall_node_pt

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

Pointer to control node on the wall.

Definition at line 455 of file fsi_chan_problem.h.


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