DOLFIN
DOLFIN C++ interface
Loading...
Searching...
No Matches
dolfin::UnitCubeMesh Class Reference

#include <UnitCubeMesh.h>

Inheritance diagram for dolfin::UnitCubeMesh:
Collaboration diagram for dolfin::UnitCubeMesh:

Public Member Functions

 UnitCubeMesh (std::size_t nx, std::size_t ny, std::size_t nz)
 UnitCubeMesh (MPI_Comm comm, std::size_t nx, std::size_t ny, std::size_t nz)
Public Member Functions inherited from dolfin::BoxMesh
 BoxMesh (const Point &p0, const Point &p1, std::size_t nx, std::size_t ny, std::size_t nz)
 BoxMesh (MPI_Comm comm, const Point &p0, const Point &p1, std::size_t nx, std::size_t ny, std::size_t nz)
Public Member Functions inherited from dolfin::Mesh
 Mesh ()
 Create empty mesh.
 Mesh (MPI_Comm comm)
 Create empty mesh.
 Mesh (const Mesh &mesh)
 Mesh (std::string filename)
 Mesh (MPI_Comm comm, std::string filename)
 Mesh (MPI_Comm comm, LocalMeshData &local_mesh_data)
 ~Mesh ()
 Destructor.
const Meshoperator= (const Mesh &mesh)
std::size_t num_vertices () const
std::size_t num_edges () const
std::size_t num_faces () const
std::size_t num_facets () const
std::size_t num_cells () const
std::size_t num_entities (std::size_t d) const
std::vector< double > & coordinates ()
const std::vector< double > & coordinates () const
const std::vector< unsigned int > & cells () const
std::size_t num_entities_global (std::size_t dim) const
MeshTopologytopology ()
const MeshTopologytopology () const
MeshGeometrygeometry ()
const MeshGeometrygeometry () const
MeshDomainsdomains ()
const MeshDomainsdomains () const
std::shared_ptr< BoundingBoxTreebounding_box_tree () const
MeshDatadata ()
const MeshDatadata () const
CellTypetype ()
const CellTypetype () const
 Get mesh cell type (const version).
std::size_t init (std::size_t dim) const
void init (std::size_t d0, std::size_t d1) const
void init () const
 Compute all entities and connectivity.
void init_global (std::size_t dim) const
 Compute global indices for entity dimension dim.
void clean ()
void order ()
bool ordered () const
Mesh renumber_by_color () const
void scale (double factor)
void translate (const Point &point)
void rotate (double angle, std::size_t axis=2)
void rotate (double angle, std::size_t axis, const Point &point)
void smooth (std::size_t num_iterations=1)
void smooth_boundary (std::size_t num_iterations=1, bool harmonic_smoothing=true)
void snap_boundary (const SubDomain &sub_domain, bool harmonic_smoothing=true)
const std::vector< std::size_t > & color (std::string coloring_type) const
const std::vector< std::size_t > & color (std::vector< std::size_t > coloring_type) const
double hmin () const
double hmax () const
double rmin () const
double rmax () const
std::size_t hash () const
std::string str (bool verbose) const
const std::vector< int > & cell_orientations () const
void init_cell_orientations (const Expression &global_normal)
MPI_Comm mpi_comm () const
std::string ghost_mode () const
Public Member Functions inherited from dolfin::Variable
 Variable ()
 Create unnamed variable.
 Variable (const std::string name, const std::string label)
 Create variable with given name and label.
 Variable (const Variable &variable)
 Copy constructor.
virtual ~Variable ()
 Destructor.
const Variableoperator= (const Variable &variable)
 Assignment operator.
void rename (const std::string name, const std::string label)
 Rename variable.
std::string name () const
 Return name.
std::string label () const
 Return label (description).
std::size_t id () const
Public Member Functions inherited from dolfin::Hierarchical< Mesh >
 Hierarchical (Mesh &self)
 Constructor.
virtual ~Hierarchical ()
 Destructor.
std::size_t depth () const
bool has_parent () const
bool has_child () const
Meshparent ()
std::shared_ptr< Meshparent_shared_ptr ()
Meshchild ()
std::shared_ptr< Meshchild_shared_ptr ()
Meshroot_node ()
std::shared_ptr< Meshroot_node_shared_ptr ()
Meshleaf_node ()
std::shared_ptr< Meshleaf_node_shared_ptr ()
void set_parent (std::shared_ptr< Mesh > parent)
 Set parent.
void clear_child ()
 Clear child.
void set_child (std::shared_ptr< Mesh > child)
 Set child.
const Hierarchicaloperator= (const Hierarchical &hierarchical)
 Assignment operator.
void _debug () const
 Function useful for debugging the hierarchy.

Static Public Member Functions

static Mesh create (std::array< std::size_t, 3 > n, CellType::Type cell_type)
static Mesh create (MPI_Comm comm, std::array< std::size_t, 3 > n, CellType::Type cell_type)
static Mesh create (std::size_t nx, std::size_t ny, std::size_t nz, CellType::Type cell_type)
static Mesh create (MPI_Comm comm, std::size_t nx, std::size_t ny, std::size_t nz, CellType::Type cell_type)
Static Public Member Functions inherited from dolfin::BoxMesh
static Mesh create (const std::array< Point, 2 > &p, std::array< std::size_t, 3 > n, CellType::Type cell_type)
static Mesh create (MPI_Comm comm, const std::array< Point, 2 > &p, std::array< std::size_t, 3 > n, CellType::Type cell_type)

Additional Inherited Members

Public Attributes inherited from dolfin::Variable
Parameters parameters
 Parameters.

Detailed Description

Tetrahedral/hexahedral mesh of the 3D unit cube [0,1] x [0,1] x [0,1]. Given the number of cells (nx, ny, nz) in each direction, the total number of tetrahedra will be 6*nx*ny*nz and the total number of vertices will be (nx + 1)*(ny + 1)*(nz + 1).

Constructor & Destructor Documentation

◆ UnitCubeMesh() [1/2]

dolfin::UnitCubeMesh::UnitCubeMesh ( std::size_t nx,
std::size_t ny,
std::size_t nz )
inline

Create a uniform finite element Mesh over the unit cube [0,1] x [0,1] x [0,1].

Parameters
nx(std::size_t) Number of cells in :math:x direction.
ny(std::size_t) Number of cells in :math:y direction.
nz(std::size_t) Number of cells in :math:z direction.
UnitCubeMesh mesh(32, 32, 32);
UnitCubeMesh(std::size_t nx, std::size_t ny, std::size_t nz)
Definition UnitCubeMesh.h:95

◆ UnitCubeMesh() [2/2]

dolfin::UnitCubeMesh::UnitCubeMesh ( MPI_Comm comm,
std::size_t nx,
std::size_t ny,
std::size_t nz )
inline

Create a uniform finite element Mesh over the unit cube [0,1] x [0,1] x [0,1].

Parameters
comm(MPI_Comm) MPI communicator
nx(std::size_t) Number of cells in :math:x direction.
ny(std::size_t) Number of cells in :math:y direction.
nz(std::size_t) Number of cells in :math:z direction.
UnitCubeMesh mesh(MPI_COMM_WORLD, 32, 32, 32);

Member Function Documentation

◆ create() [1/2]

Mesh dolfin::UnitCubeMesh::create ( MPI_Comm comm,
std::array< std::size_t, 3 > n,
CellType::Type cell_type )
inlinestatic

Create a uniform finite element Mesh over the unit cube [0,1] x [0,1] x [0,1].

Parameters
comm(MPI_Comm) MPI communicator
n(std::aray<std::size_t, 3>) Number of cells in each direction.
cell_typeTetrahedron or hexahedron
auto mesh = UnitCubeMesh::create(MPI_COMM_WORLD, {32, 32, 32}, CellType::Type::hexahedron);
static Mesh create(std::array< std::size_t, 3 > n, CellType::Type cell_type)
Definition UnitCubeMesh.h:50

◆ create() [2/2]

Mesh dolfin::UnitCubeMesh::create ( std::array< std::size_t, 3 > n,
CellType::Type cell_type )
inlinestatic

Create a uniform finite element Mesh over the unit cube [0,1] x [0,1] x [0,1].

Parameters
n(std::array<std::size_t, 3>) Number of cells in each direction.
cell_typeTetrahedron or hexahedron
auto mesh = UnitCubeMesh::create(32, 32, 32, CellType::Type::tetrahedron);

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