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

Mesh class that takes a 2D mesh consisting of quadrilateral elements and "extrudes" it in the z-direction. More...

#include <extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h>

Inheritance diagram for oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >:
oomph::RefineableExtrudedCubeMeshFromQuadMesh< ELEMENT >

Public Member Functions

 ExtrudedCubeMeshFromQuadMesh (QuadMeshBase *quad_mesh_pt, const unsigned &nz, const double &lz, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass a mesh consisting of quad elements, specify the number of elements in the z direction, and the corresponding length in this direction. Assumes that the back lower left corner is located at (0,0,0). Timestepper defaults to the Steady timestepper. More...
 
 ExtrudedCubeMeshFromQuadMesh (QuadMeshBase *quad_mesh_pt, const unsigned &nz, const double &zmin, const double &zmax, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass a mesh consisting of quad elements, specify the number of elements in the z direction, and the corresponding minimum and maximum z-value of the mesh. Again, timestepper defaults to Steady. More...
 
 ~ExtrudedCubeMeshFromQuadMesh ()
 Destructor: If the underlying spatial domain was made up of any macro elements then we will have created an extruded domain which in turn creates extruded macro elements. As we're responsible for creating the domain, we need to kill it and it'll kill the extruded macro elements... More...
 
virtual double z_spacing_function (const unsigned &z_element, const unsigned &z_node) const
 Return the value of the z-coordinate at the node given by the local node number, znode. More...
 
Vector< std::pair< unsigned, int > > get_element_boundary_information (QuadMeshBase *quad_mesh_pt, FiniteElement *quad_el_pt)
 Get all the boundary information of an element using the input (quad_mesh_pt) mesh. If the element lies on a boundary then the user will be given the corresponding boundary index and the index of the face of quad_el_pt attached to the boundary. If the element does NOT lie on any boundaries, this function simply returns a vector of size zero. More...
 
const unsigned & nz () const
 Access function for number of elements in z-direction (const version) More...
 

Protected Member Functions

void build_mesh (QuadMeshBase *quad_mesh_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Generic mesh construction function: contains all the hard work. More...
 

Protected Attributes

unsigned N_node_1d
 The number of nodes in each direction. More...
 
unsigned Nz
 Number of elements in the z-direction. More...
 
double Zmin
 Minimum value of z coordinate. More...
 
double Zmax
 Maximum value of z coordinate. More...
 
Vector< ExtrudedDomain * > Extruded_domain_pt
 Vector of pointers to extruded domain objects. More...
 

Detailed Description

template<class ELEMENT>
class oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >

Mesh class that takes a 2D mesh consisting of quadrilateral elements and "extrudes" it in the z-direction.

Definition at line 98 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.

Constructor & Destructor Documentation

◆ ExtrudedCubeMeshFromQuadMesh() [1/2]

template<class ELEMENT >
oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::ExtrudedCubeMeshFromQuadMesh ( QuadMeshBase *  quad_mesh_pt,
const unsigned &  nz,
const double &  lz,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)
inline

Constructor: Pass a mesh consisting of quad elements, specify the number of elements in the z direction, and the corresponding length in this direction. Assumes that the back lower left corner is located at (0,0,0). Timestepper defaults to the Steady timestepper.

Definition at line 106 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.

References oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh().

◆ ExtrudedCubeMeshFromQuadMesh() [2/2]

template<class ELEMENT >
oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::ExtrudedCubeMeshFromQuadMesh ( QuadMeshBase *  quad_mesh_pt,
const unsigned &  nz,
const double &  zmin,
const double &  zmax,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)
inline

Constructor: Pass a mesh consisting of quad elements, specify the number of elements in the z direction, and the corresponding minimum and maximum z-value of the mesh. Again, timestepper defaults to Steady.

Definition at line 122 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.

References oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh().

◆ ~ExtrudedCubeMeshFromQuadMesh()

template<class ELEMENT >
oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::~ExtrudedCubeMeshFromQuadMesh ( )
inline

Destructor: If the underlying spatial domain was made up of any macro elements then we will have created an extruded domain which in turn creates extruded macro elements. As we're responsible for creating the domain, we need to kill it and it'll kill the extruded macro elements...

Definition at line 140 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.

References oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::Extruded_domain_pt.

Member Function Documentation

◆ build_mesh()

template<class ELEMENT >
void oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh ( QuadMeshBase *  quad_mesh_pt,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)
protected

Generic mesh construction function: contains all the hard work.

Generic mesh construction. This function contains all the details of the mesh generation process, including all the tedious loops, counting spacing and boundary functions. NOTE: The boundary number of the extruded mesh will follow the same numbering as the input quad mesh. The newly created "front" and "back" face of the 3D mesh will added after those boundaries. For example, if the input mesh has 4 boundaries; b_0, b_1, b_2 & b_3 then the extruded mesh will have 6 boundaries; eb_0, eb_1, eb_2, eb_3, eb_4 & eb_5 where eb_4 is the "front" face and eb5 is the "back" face. The boundaries eb_i here satisfy eb_i = (b_i) x [Zmin,Zmax].

/ Check if the node that we're about to construct lies on the

Definition at line 99 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.cc.

References oomph::MeshExtrusionHelpers::Mesh_extrusion_helper.

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

◆ get_element_boundary_information()

template<class ELEMENT >
Vector< std::pair< unsigned, int > > oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::get_element_boundary_information ( QuadMeshBase *  quad_mesh_pt,
FiniteElement *  quad_el_pt 
)

Get all the boundary information of an element using the input (quad_mesh_pt) mesh. If the element lies on a boundary then the user will be given the corresponding boundary index and the index of the face of quad_el_pt attached to the boundary. If the element does NOT lie on any boundaries, this function simply returns a vector of size zero.

Definition at line 45 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.cc.

◆ nz()

template<class ELEMENT >
const unsigned& oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::nz ( ) const
inline

Access function for number of elements in z-direction (const version)

Definition at line 184 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.

References oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::Nz.

◆ z_spacing_function()

template<class ELEMENT >
virtual double oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::z_spacing_function ( const unsigned &  z_element,
const unsigned &  z_node 
) const
inlinevirtual

Member Data Documentation

◆ Extruded_domain_pt

template<class ELEMENT >
Vector<ExtrudedDomain*> oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::Extruded_domain_pt
protected

◆ N_node_1d

template<class ELEMENT >
unsigned oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::N_node_1d
protected

◆ Nz

template<class ELEMENT >
unsigned oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::Nz
protected

◆ Zmax

template<class ELEMENT >
double oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::Zmax
protected

◆ Zmin

template<class ELEMENT >
double oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::Zmin
protected

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