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>
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) | |
![]() | |
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. | |
ChannelWithLeafletDomain * | domain_pt () |
Access function to domain. | |
![]() | |
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 unsigned & | nx () const |
Access function for number of elements in x directions. | |
const unsigned & | ny () 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....) | |
![]() | |
ChannelWithLeafletDomain * | Domain_pt |
Pointer to domain. | |
GeomObject * | Leaflet_pt |
Pointer to GeomObject that represents the leaflet. | |
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.
|
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.
|
inlinevirtual |
Destructor: empty.
Definition at line 410 of file channel_with_leaflet_mesh.h.
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.
|
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.
|
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.
|
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.
|
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.
|
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().
|
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.
|
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.
|
protected |
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().
|
protected |
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().