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>
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... | |
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.
|
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().
|
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().
|
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.
|
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().
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.
|
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.
|
inlinevirtual |
Return the value of the z-coordinate at the node given by the local node number, znode.
Definition at line 163 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.
References oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::N_node_1d, oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::Nz, oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::Zmax, and oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::Zmin.
|
protected |
Vector of pointers to extruded domain objects.
Definition at line 204 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.
Referenced by oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::~ExtrudedCubeMeshFromQuadMesh().
|
protected |
The number of nodes in each direction.
Definition at line 192 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.
Referenced by oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::z_spacing_function().
|
protected |
Number of elements in the z-direction.
Definition at line 195 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.
Referenced by oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::nz(), and oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::z_spacing_function().
|
protected |
Maximum value of z coordinate.
Definition at line 201 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.
Referenced by oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::z_spacing_function().
|
protected |
Minimum value of z coordinate.
Definition at line 198 of file extruded_cube_mesh_from_quad_mesh_with_macro_elements.template.h.
Referenced by oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::z_spacing_function().