Public Member Functions | Private Attributes | List of all members
ElasticTwoLayerMesh< ELEMENT > Class Template Reference
Inheritance diagram for ElasticTwoLayerMesh< ELEMENT >:

Public Member Functions

 ElasticTwoLayerMesh (const unsigned &nx, const unsigned &ny1, const unsigned &ny2, const double &lx, const double &h1, const double &h2, const bool &periodic_in_x=false, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass number of elements in x-direction, number of elements in y-direction in bottom and top layer, respectively, axial length and height of top and bottom layers, a boolean flag to make the mesh periodic in the x-direction, and pointer to timestepper (defaults to Steady timestepper) More...
 
FiniteElement *& upper_layer_element_pt (const unsigned long &i)
 Access functions for pointers to elements in upper layer. More...
 
FiniteElement *& lower_layer_element_pt (const unsigned long &i)
 Access functions for pointers to elements in bottom layer. More...
 
unsigned long nupper () const
 Number of elements in upper layer. More...
 
unsigned long nlower () const
 Number of elements in top layer. More...
 
FiniteElement *& interface_upper_boundary_element_pt (const unsigned long &i)
 Access functions for pointers to elements in upper layer. More...
 
FiniteElement *& interface_lower_boundary_element_pt (const unsigned long &i)
 Access functions for pointers to elements in bottom layer. More...
 
unsigned long ninterface_upper () const
 Number of elements in upper layer. More...
 
unsigned long ninterface_lower () const
 Number of elements in top layer. More...
 
int interface_upper_face_index_at_boundary (const unsigned &e)
 Index of the face of the elements next to the interface in the upper region (always -2) More...
 
int interface_lower_face_index_at_boundary (const unsigned &e)
 Index of the face of the elements next to the interface in the lower region (always 2) More...
 

Private Attributes

Vector< FiniteElement * > Lower_layer_element_pt
 Vector of pointers to element in the upper layer. More...
 
Vector< FiniteElement * > Upper_layer_element_pt
 Vector of pointers to element in the lower layer. More...
 
Vector< FiniteElement * > Interface_lower_boundary_element_pt
 Vector of pointers to the elements adjacent to the interface on the lower layer. More...
 
Vector< FiniteElement * > Interface_upper_boundary_element_pt
 Vector of pointers to the element adjacent to the interface on the upper layer. More...
 

Detailed Description

template<class ELEMENT>
class ElasticTwoLayerMesh< ELEMENT >

Two layer mesh which employs a pseudo-solid node-update strategy. This class is essentially a wrapper to an ElasticRectangularQuadMesh, with an additional boundary to represent the interface between the two fluid layers. In addition, the mesh paritions the elements into those above and below the interface and relabels boundaries so that we can impose a volume constraint on the lower or upper fluid.

                            3
          ---------------------------------------
          |                                     |
        4 |                                     | 2
          |                 6                   |
          ---------------------------------------
          |                                     |
        5 |                                     | 1
          |                                     |
          ---------------------------------------
                            0  

Definition at line 456 of file static_two_layer.cc.

Constructor & Destructor Documentation

template<class ELEMENT>
ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh ( const unsigned &  nx,
const unsigned &  ny1,
const unsigned &  ny2,
const double &  lx,
const double &  h1,
const double &  h2,
const bool &  periodic_in_x = false,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)
inline

Constructor: Pass number of elements in x-direction, number of elements in y-direction in bottom and top layer, respectively, axial length and height of top and bottom layers, a boolean flag to make the mesh periodic in the x-direction, and pointer to timestepper (defaults to Steady timestepper)

Definition at line 467 of file static_two_layer.cc.

Member Function Documentation

template<class ELEMENT>
FiniteElement* & ElasticTwoLayerMesh< ELEMENT >::interface_lower_boundary_element_pt ( const unsigned long &  i)
inline

Access functions for pointers to elements in bottom layer.

Definition at line 705 of file static_two_layer.cc.

template<class ELEMENT>
int ElasticTwoLayerMesh< ELEMENT >::interface_lower_face_index_at_boundary ( const unsigned &  e)
inline

Index of the face of the elements next to the interface in the lower region (always 2)

Definition at line 723 of file static_two_layer.cc.

template<class ELEMENT>
FiniteElement* & ElasticTwoLayerMesh< ELEMENT >::interface_upper_boundary_element_pt ( const unsigned long &  i)
inline

Access functions for pointers to elements in upper layer.

Definition at line 701 of file static_two_layer.cc.

template<class ELEMENT>
int ElasticTwoLayerMesh< ELEMENT >::interface_upper_face_index_at_boundary ( const unsigned &  e)
inline

Index of the face of the elements next to the interface in the upper region (always -2)

Definition at line 718 of file static_two_layer.cc.

template<class ELEMENT>
FiniteElement* & ElasticTwoLayerMesh< ELEMENT >::lower_layer_element_pt ( const unsigned long &  i)
inline

Access functions for pointers to elements in bottom layer.

Definition at line 691 of file static_two_layer.cc.

template<class ELEMENT>
unsigned long ElasticTwoLayerMesh< ELEMENT >::ninterface_lower ( ) const
inline

Number of elements in top layer.

Definition at line 713 of file static_two_layer.cc.

template<class ELEMENT>
unsigned long ElasticTwoLayerMesh< ELEMENT >::ninterface_upper ( ) const
inline

Number of elements in upper layer.

Definition at line 709 of file static_two_layer.cc.

template<class ELEMENT>
unsigned long ElasticTwoLayerMesh< ELEMENT >::nlower ( ) const
inline

Number of elements in top layer.

Definition at line 698 of file static_two_layer.cc.

template<class ELEMENT>
unsigned long ElasticTwoLayerMesh< ELEMENT >::nupper ( ) const
inline

Number of elements in upper layer.

Definition at line 695 of file static_two_layer.cc.

template<class ELEMENT>
FiniteElement* & ElasticTwoLayerMesh< ELEMENT >::upper_layer_element_pt ( const unsigned long &  i)
inline

Access functions for pointers to elements in upper layer.

Definition at line 687 of file static_two_layer.cc.

Member Data Documentation

template<class ELEMENT>
Vector<FiniteElement*> ElasticTwoLayerMesh< ELEMENT >::Interface_lower_boundary_element_pt
private

Vector of pointers to the elements adjacent to the interface on the lower layer.

Definition at line 736 of file static_two_layer.cc.

template<class ELEMENT>
Vector<FiniteElement *> ElasticTwoLayerMesh< ELEMENT >::Interface_upper_boundary_element_pt
private

Vector of pointers to the element adjacent to the interface on the upper layer.

Definition at line 740 of file static_two_layer.cc.

template<class ELEMENT>
Vector<FiniteElement *> ElasticTwoLayerMesh< ELEMENT >::Lower_layer_element_pt
private

Vector of pointers to element in the upper layer.

Definition at line 729 of file static_two_layer.cc.

template<class ELEMENT>
Vector<FiniteElement *> ElasticTwoLayerMesh< ELEMENT >::Upper_layer_element_pt
private

Vector of pointers to element in the lower layer.

Definition at line 732 of file static_two_layer.cc.


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