Public Member Functions | Private Member Functions | Private Attributes | List of all members
CollapsibleChannelProblem< ELEMENT > Class Template Reference

Problem class. More...

Inheritance diagram for CollapsibleChannelProblem< ELEMENT >:

Public Member Functions

 CollapsibleChannelProblem (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 double &amplitude, const double &period)
 Constructor : the arguments are the number of elements, the length of the domain and the amplitude and period of the oscillations. More...
 
 ~CollapsibleChannelProblem ()
 Empty destructor. More...
 
RefineableCollapsibleChannelMesh< ELEMENT > * bulk_mesh_pt ()
 Access function for the specific mesh. More...
 
void actions_before_newton_solve ()
 Update the problem specs before solve (empty) More...
 
void actions_after_newton_solve ()
 Update the problem after solve (empty) More...
 
void actions_before_implicit_timestep ()
 Update the velocity boundary condition on the moving wall. More...
 
void actions_before_adapt ()
 Actions before adapt: Wipe the mesh of prescribed traction elements. More...
 
void actions_after_adapt ()
 Actions after adapt: Rebuild the mesh of prescribed traction elements. More...
 
void set_initial_condition ()
 Apply initial conditions. More...
 
void doc_solution (DocInfo &doc_info, ofstream &trace_file)
 Doc the solution. More...
 
 CollapsibleChannelProblem (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 double &amplitude, const double &period)
 Constructor : the arguments are the number of elements, the length of the domain and the amplitude and period of the oscillations. More...
 
 ~CollapsibleChannelProblem ()
 Empty destructor. More...
 
MyRefineableAlgebraicCollapsibleChannelMesh< ELEMENT > * bulk_mesh_pt ()
 Access function for the specific mesh. More...
 
MyAlgebraicCollapsibleChannelMesh< ELEMENT > * bulk_mesh_pt ()
 Access function for the specific mesh. More...
 
void actions_before_newton_solve ()
 Update the problem specs before solve (empty) More...
 
void actions_after_newton_solve ()
 Update the problem after solve (empty) More...
 
void actions_before_implicit_timestep ()
 Update the velocity boundary condition on the moving wall. More...
 
void actions_before_adapt ()
 Actions before adapt: Wipe the mesh of prescribed traction elements. More...
 
void actions_after_adapt ()
 Actions after adapt: Rebuild the mesh of prescribed traction elements. More...
 
void set_initial_condition ()
 Apply initial conditions. More...
 
void doc_solution (DocInfo &doc_info, ofstream &trace_file)
 Doc the solution. More...
 

Private Member Functions

void create_traction_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &surface_mesh_pt)
 Create the traction elements. More...
 
void delete_traction_elements (Mesh *const &surface_mesh_pt)
 Delete prescribed traction elements from the surface mesh. More...
 
void create_traction_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &surface_mesh_pt)
 
void delete_traction_elements (Mesh *const &surface_mesh_pt)
 Delete prescribed traction elements from the surface mesh. More...
 

Private 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...
 
OscillatingWallWall_pt
 Pointer to the geometric object that parametrises the "collapsible" wall. More...
 
RefineableCollapsibleChannelMesh< ELEMENT > * Bulk_mesh_pt
 Pointer to the "bulk" mesh. More...
 
Mesh * Surface_mesh_pt
 Pointer to the "surface" mesh that contains the applied traction elements. More...
 
Node * Left_node_pt
 Pointer to the left control node. More...
 
Node * Right_node_pt
 Pointer to right control node. More...
 
MyAlgebraicCollapsibleChannelMesh< ELEMENT > * Bulk_mesh_pt
 Pointer to the "bulk" mesh. More...
 

Detailed Description

template<class ELEMENT>
class CollapsibleChannelProblem< ELEMENT >

Problem class.

Definition at line 239 of file collapsible_channel.cc.

Constructor & Destructor Documentation

◆ CollapsibleChannelProblem() [1/2]

template<class ELEMENT >
CollapsibleChannelProblem< ELEMENT >::CollapsibleChannelProblem ( 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 double &  amplitude,
const double &  period 
)

Constructor : the arguments are the number of elements, the length of the domain and the amplitude and period of the oscillations.

Constructor for the collapsible channel problem.

Definition at line 354 of file collapsible_channel.cc.

References Global_Physical_Variables::prescribed_traction(), Global_Physical_Variables::Re, Global_Physical_Variables::ReSt, and BL_Squash::squash_fct().

◆ ~CollapsibleChannelProblem() [1/2]

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

Empty destructor.

Definition at line 259 of file collapsible_channel.cc.

◆ CollapsibleChannelProblem() [2/2]

template<class ELEMENT>
CollapsibleChannelProblem< ELEMENT >::CollapsibleChannelProblem ( 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 double &  amplitude,
const double &  period 
)

Constructor : the arguments are the number of elements, the length of the domain and the amplitude and period of the oscillations.

◆ ~CollapsibleChannelProblem() [2/2]

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

Empty destructor.

Definition at line 260 of file collapsible_channel_algebraic.cc.

Member Function Documentation

◆ actions_after_adapt() [1/2]

template<class ELEMENT >
void CollapsibleChannelProblem< ELEMENT >::actions_after_adapt ( )

Actions after adapt: Rebuild the mesh of prescribed traction elements.

Definition at line 745 of file collapsible_channel.cc.

References Global_Physical_Variables::prescribed_traction().

◆ actions_after_adapt() [2/2]

template<class ELEMENT>
void CollapsibleChannelProblem< ELEMENT >::actions_after_adapt ( )

Actions after adapt: Rebuild the mesh of prescribed traction elements.

◆ actions_after_newton_solve() [1/2]

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

Update the problem after solve (empty)

Definition at line 276 of file collapsible_channel.cc.

◆ actions_after_newton_solve() [2/2]

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

Update the problem after solve (empty)

Definition at line 296 of file collapsible_channel_algebraic.cc.

◆ actions_before_adapt() [1/2]

template<class ELEMENT >
void CollapsibleChannelProblem< ELEMENT >::actions_before_adapt ( )

Actions before adapt: Wipe the mesh of prescribed traction elements.

Definition at line 730 of file collapsible_channel.cc.

◆ actions_before_adapt() [2/2]

template<class ELEMENT>
void CollapsibleChannelProblem< ELEMENT >::actions_before_adapt ( )

Actions before adapt: Wipe the mesh of prescribed traction elements.

◆ actions_before_implicit_timestep() [1/2]

template<class ELEMENT >
void CollapsibleChannelProblem< ELEMENT >::actions_before_implicit_timestep ( )

Update the velocity boundary condition on the moving wall.

Execute the actions before timestep: Update the velocity boundary condition on the moving wall

Definition at line 704 of file collapsible_channel.cc.

◆ actions_before_implicit_timestep() [2/2]

template<class ELEMENT>
void CollapsibleChannelProblem< ELEMENT >::actions_before_implicit_timestep ( )

Update the velocity boundary condition on the moving wall.

◆ actions_before_newton_solve() [1/2]

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

Update the problem specs before solve (empty)

Definition at line 273 of file collapsible_channel.cc.

◆ actions_before_newton_solve() [2/2]

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

Update the problem specs before solve (empty)

Definition at line 293 of file collapsible_channel_algebraic.cc.

◆ bulk_mesh_pt() [1/3]

template<class ELEMENT>
RefineableCollapsibleChannelMesh<ELEMENT>* CollapsibleChannelProblem< ELEMENT >::bulk_mesh_pt ( )
inline

Access function for the specific mesh.

Definition at line 262 of file collapsible_channel.cc.

Referenced by main().

◆ bulk_mesh_pt() [2/3]

template<class ELEMENT>
MyRefineableAlgebraicCollapsibleChannelMesh<ELEMENT>* CollapsibleChannelProblem< ELEMENT >::bulk_mesh_pt ( )
inline

Access function for the specific mesh.

Definition at line 266 of file collapsible_channel_algebraic.cc.

◆ bulk_mesh_pt() [3/3]

template<class ELEMENT>
MyAlgebraicCollapsibleChannelMesh<ELEMENT>* CollapsibleChannelProblem< ELEMENT >::bulk_mesh_pt ( )
inline

Access function for the specific mesh.

Definition at line 279 of file collapsible_channel_algebraic.cc.

◆ create_traction_elements() [1/2]

template<class ELEMENT >
void CollapsibleChannelProblem< ELEMENT >::create_traction_elements ( const unsigned &  b,
Mesh *const &  bulk_mesh_pt,
Mesh *const &  surface_mesh_pt 
)
private

Create the traction elements.

Create the prescribed traction elements on boundary b of the bulk mesh and stick them into the surface mesh.

Definition at line 601 of file collapsible_channel.cc.

References CollapsibleChannelProblem< ELEMENT >::delete_traction_elements().

◆ create_traction_elements() [2/2]

template<class ELEMENT>
void CollapsibleChannelProblem< ELEMENT >::create_traction_elements ( const unsigned &  b,
Mesh *const &  bulk_mesh_pt,
Mesh *const &  surface_mesh_pt 
)
private

Create the prescribed traction elements on boundary b of the bulk mesh and stick them into the surface mesh.

◆ delete_traction_elements() [1/2]

template<class ELEMENT >
void CollapsibleChannelProblem< ELEMENT >::delete_traction_elements ( Mesh *const &  surface_mesh_pt)
private

Delete prescribed traction elements from the surface mesh.

Delete traction elements and wipe the surface mesh.

Definition at line 634 of file collapsible_channel.cc.

Referenced by CollapsibleChannelProblem< ELEMENT >::create_traction_elements().

◆ delete_traction_elements() [2/2]

template<class ELEMENT>
void CollapsibleChannelProblem< ELEMENT >::delete_traction_elements ( Mesh *const &  surface_mesh_pt)
private

Delete prescribed traction elements from the surface mesh.

◆ doc_solution() [1/2]

template<class ELEMENT >
void CollapsibleChannelProblem< ELEMENT >::doc_solution ( DocInfo &  doc_info,
ofstream &  trace_file 
)

Doc the solution.

Definition at line 547 of file collapsible_channel.cc.

Referenced by main().

◆ doc_solution() [2/2]

template<class ELEMENT>
void CollapsibleChannelProblem< ELEMENT >::doc_solution ( DocInfo &  doc_info,
ofstream &  trace_file 
)

Doc the solution.

◆ set_initial_condition() [1/2]

template<class ELEMENT >
void CollapsibleChannelProblem< ELEMENT >::set_initial_condition ( )

Apply initial conditions.

Apply initial conditions: Impulsive start from steady Poiseuille.

Apply initial conditions: Impulsive start from steady Poiseuille flow.

Definition at line 657 of file collapsible_channel.cc.

Referenced by main().

◆ set_initial_condition() [2/2]

template<class ELEMENT>
void CollapsibleChannelProblem< ELEMENT >::set_initial_condition ( )

Apply initial conditions.

Member Data Documentation

◆ Bulk_mesh_pt [1/2]

template<class ELEMENT>
RefineableCollapsibleChannelMesh<ELEMENT>* CollapsibleChannelProblem< ELEMENT >::Bulk_mesh_pt
private

Pointer to the "bulk" mesh.

Definition at line 333 of file collapsible_channel.cc.

◆ Bulk_mesh_pt [2/2]

template<class ELEMENT>
MyAlgebraicCollapsibleChannelMesh<ELEMENT>* CollapsibleChannelProblem< ELEMENT >::Bulk_mesh_pt
private

Pointer to the "bulk" mesh.

Definition at line 353 of file collapsible_channel_algebraic.cc.

◆ Lcollapsible

template<class ELEMENT>
double CollapsibleChannelProblem< ELEMENT >::Lcollapsible
private

x-length in the "collapsible" part of the channel

Definition at line 321 of file collapsible_channel.cc.

◆ Ldown

template<class ELEMENT>
double CollapsibleChannelProblem< ELEMENT >::Ldown
private

x-length in the downstream part of the channel

Definition at line 324 of file collapsible_channel.cc.

◆ Left_node_pt

template<class ELEMENT>
Node * CollapsibleChannelProblem< ELEMENT >::Left_node_pt
private

Pointer to the left control node.

Definition at line 340 of file collapsible_channel.cc.

◆ Lup

template<class ELEMENT>
double CollapsibleChannelProblem< ELEMENT >::Lup
private

x-length in the upstream part of the channel

Definition at line 318 of file collapsible_channel.cc.

◆ Ly

template<class ELEMENT>
double CollapsibleChannelProblem< ELEMENT >::Ly
private

Transverse length.

Definition at line 327 of file collapsible_channel.cc.

◆ Ncollapsible

template<class ELEMENT>
unsigned CollapsibleChannelProblem< ELEMENT >::Ncollapsible
private

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

Definition at line 309 of file collapsible_channel.cc.

◆ Ndown

template<class ELEMENT>
unsigned CollapsibleChannelProblem< ELEMENT >::Ndown
private

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

Definition at line 312 of file collapsible_channel.cc.

◆ Nup

template<class ELEMENT>
unsigned CollapsibleChannelProblem< ELEMENT >::Nup
private

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

Definition at line 305 of file collapsible_channel.cc.

◆ Ny

template<class ELEMENT>
unsigned CollapsibleChannelProblem< ELEMENT >::Ny
private

Number of elements across the channel.

Definition at line 315 of file collapsible_channel.cc.

◆ Right_node_pt

template<class ELEMENT>
Node * CollapsibleChannelProblem< ELEMENT >::Right_node_pt
private

Pointer to right control node.

Definition at line 343 of file collapsible_channel.cc.

◆ Surface_mesh_pt

template<class ELEMENT>
Mesh * CollapsibleChannelProblem< ELEMENT >::Surface_mesh_pt
private

Pointer to the "surface" mesh that contains the applied traction elements.

Definition at line 337 of file collapsible_channel.cc.

◆ Wall_pt

template<class ELEMENT>
OscillatingWall * CollapsibleChannelProblem< ELEMENT >::Wall_pt
private

Pointer to the geometric object that parametrises the "collapsible" wall.

Definition at line 330 of file collapsible_channel.cc.


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