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

Algebraic version of ChannelWithLeafletMesh. Leaflet is assumed to be in its undeformed (straight vertical) position when the algebraic node update is set up. More...

#include <channel_with_leaflet_mesh.h>

Inheritance diagram for oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >:
oomph::ChannelWithLeafletMesh< ELEMENT > oomph::SimpleRectangularQuadMesh< ELEMENT > oomph::RefineableAlgebraicChannelWithLeafletMesh< ELEMENT >

Public Member Functions

 AlgebraicChannelWithLeafletMesh (GeomObject *leaflet_pt, const double &lleft, const double &lright, const double &hleaflet, const double &htot, const unsigned &nleft, const unsigned &nright, const unsigned &ny1, const unsigned &ny2, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass pointer to GeomObject that represents the leaflet, the length of the domain to left and right of the leaflet, the height of the leaflet and the overall height of the channel, the number of element columns to the left and right of the leaflet, the number of rows of elements from the bottom of the channel to the end of the leaflet, the number of rows of elements above the end of the leaflet. Timestepper defaults to Steady default Timestepper defined in the Mesh base class.
 
virtual ~AlgebraicChannelWithLeafletMesh ()
 Destructor: empty.
 
void update_node_update (AlgebraicNode *&node_pt)
 Update the geometric references that are used to update node after mesh adaptation. Empty – no update of node update required without adaptivity.
 
void algebraic_node_update (const unsigned &t, AlgebraicNode *&node_pt)
 Update nodal position at time level t (t=0: present; t>0: previous)
 
- Public Member Functions inherited from oomph::ChannelWithLeafletMesh< ELEMENT >
 ChannelWithLeafletMesh (GeomObject *leaflet_pt, const double &lleft, const double &lright, const double &hleaflet, const double &htot, const unsigned &nleft, const unsigned &nright, const unsigned &ny1, const unsigned &ny2, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass pointer to GeomObject that represents the leaflet, the length of the domain to left and right of the leaflet, the height of the leaflet and the overall height of the channel, the number of element columns to the left and right of the leaflet, the number of rows of elements from the bottom of the channel to the end of the leaflet, the number of rows of elements above the end of the leaflet. Timestepper defaults to Steady default Timestepper defined in the Mesh base class.
 
virtual ~ChannelWithLeafletMesh ()
 Destructor : empty.
 
ChannelWithLeafletDomaindomain_pt ()
 Access function to domain.
 
- Public Member Functions inherited from oomph::SimpleRectangularQuadMesh< ELEMENT >
 SimpleRectangularQuadMesh (const unsigned &Nx, const unsigned &Ny, const double &Lx, const double &Ly, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass number of elements in the horizontal and vertical directions, and the corresponding dimensions. Timestepper defaults to Steady.
 
const unsignednx () const
 Access function for number of elements in x directions.
 
const unsignedny () const
 Access function for number of elements in y directions.
 

Protected Member Functions

void setup_algebraic_node_update ()
 Function to setup the algebraic node update.
 
void node_update_I (const unsigned &t, AlgebraicNode *&node_pt)
 Update function for nodes in lower left region (I)
 
void node_update_II (const unsigned &t, AlgebraicNode *&node_pt)
 Update function for nodes in lower right region (II)
 
void node_update_III (const unsigned &t, AlgebraicNode *&node_pt)
 Update function for nodes in upper left region (III)
 
void node_update_IV (const unsigned &t, AlgebraicNode *&node_pt)
 Update function for nodes in upper right region (IV)
 
void slanted_bound_up (const unsigned &t, const Vector< double > &zeta, Vector< double > &r)
 Helper function.
 

Protected Attributes

double X_0
 Origin of the wall (stored explicitly for reference in algebraic node update – it's also stored independently in domain....)
 
double Hleaflet
 Length of the leaflet (stored explicitly for reference in algebraic node update – it's also stored independently in domain....)
 
- Protected Attributes inherited from oomph::ChannelWithLeafletMesh< ELEMENT >
ChannelWithLeafletDomainDomain_pt
 Pointer to domain.
 
GeomObjectLeaflet_pt
 Pointer to GeomObject that represents the leaflet.
 

Detailed Description

template<class ELEMENT>
class oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >

Algebraic version of ChannelWithLeafletMesh. Leaflet is assumed to be in its undeformed (straight vertical) position when the algebraic node update is set up.

Definition at line 354 of file channel_with_leaflet_mesh.h.

Constructor & Destructor Documentation

◆ AlgebraicChannelWithLeafletMesh()

template<class ELEMENT >
oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::AlgebraicChannelWithLeafletMesh ( GeomObject leaflet_pt,
const double lleft,
const double lright,
const double hleaflet,
const double htot,
const unsigned nleft,
const unsigned nright,
const unsigned ny1,
const unsigned ny2,
TimeStepper time_stepper_pt = &Mesh::Default_TimeStepper 
)
inline

Constructor: Pass pointer to GeomObject that represents the leaflet, the length of the domain to left and right of the leaflet, the height of the leaflet and the overall height of the channel, the number of element columns to the left and right of the leaflet, the number of rows of elements from the bottom of the channel to the end of the leaflet, the number of rows of elements above the end of the leaflet. Timestepper defaults to Steady default Timestepper defined in the Mesh base class.

Definition at line 368 of file channel_with_leaflet_mesh.h.

References oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::Hleaflet, oomph::ChannelWithLeafletMesh< ELEMENT >::Leaflet_pt, oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::setup_algebraic_node_update(), and oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::X_0.

◆ ~AlgebraicChannelWithLeafletMesh()

Destructor: empty.

Definition at line 410 of file channel_with_leaflet_mesh.h.

Member Function Documentation

◆ algebraic_node_update()

template<class ELEMENT >
void oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::algebraic_node_update ( const unsigned t,
AlgebraicNode *&  node_pt 
)

Update nodal position at time level t (t=0: present; t>0: previous)

Perform algebraic node update.

Definition at line 406 of file channel_with_leaflet_mesh.template.cc.

◆ node_update_I()

template<class ELEMENT >
void oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::node_update_I ( const unsigned t,
AlgebraicNode *&  node_pt 
)
protected

Update function for nodes in lower left region (I)

Node update for region I.

Definition at line 448 of file channel_with_leaflet_mesh.template.cc.

◆ node_update_II()

template<class ELEMENT >
void oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::node_update_II ( const unsigned t,
AlgebraicNode *&  node_pt 
)
protected

Update function for nodes in lower right region (II)

Node update for region II.

Definition at line 489 of file channel_with_leaflet_mesh.template.cc.

◆ node_update_III()

template<class ELEMENT >
void oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::node_update_III ( const unsigned t,
AlgebraicNode *&  node_pt 
)
protected

Update function for nodes in upper left region (III)

Node update for region III.

Definition at line 552 of file channel_with_leaflet_mesh.template.cc.

◆ node_update_IV()

template<class ELEMENT >
void oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::node_update_IV ( const unsigned t,
AlgebraicNode *&  node_pt 
)
protected

Update function for nodes in upper right region (IV)

Node update for region IV.

Definition at line 586 of file channel_with_leaflet_mesh.template.cc.

◆ setup_algebraic_node_update()

template<class ELEMENT >
void oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::setup_algebraic_node_update ( )
protected

Function to setup the algebraic node update.

Setup algebraic node update. Leaflet is assumed to be in its undeformed (straight vertical) position!

Definition at line 239 of file channel_with_leaflet_mesh.template.cc.

Referenced by oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::AlgebraicChannelWithLeafletMesh().

◆ slanted_bound_up()

template<class ELEMENT >
void oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::slanted_bound_up ( const unsigned t,
const Vector< double > &  zeta,
Vector< double > &  r 
)
protected

Helper function.

Slanted bound : helper function.

Coordinates of the point on the boundary beetween the upper and the lower part, in the same column, at the east.

Definition at line 530 of file channel_with_leaflet_mesh.template.cc.

◆ update_node_update()

template<class ELEMENT >
void oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::update_node_update ( AlgebraicNode *&  node_pt)
inline

Update the geometric references that are used to update node after mesh adaptation. Empty – no update of node update required without adaptivity.

Definition at line 416 of file channel_with_leaflet_mesh.h.

Member Data Documentation

◆ Hleaflet

Length of the leaflet (stored explicitly for reference in algebraic node update – it's also stored independently in domain....)

Definition at line 451 of file channel_with_leaflet_mesh.h.

Referenced by oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::AlgebraicChannelWithLeafletMesh().

◆ X_0

Origin of the wall (stored explicitly for reference in algebraic node update – it's also stored independently in domain....)

Definition at line 446 of file channel_with_leaflet_mesh.h.

Referenced by oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::AlgebraicChannelWithLeafletMesh().


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