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

#include <UnitSquareMesh.h>

Inheritance diagram for dolfin::UnitSquareMesh:
Collaboration diagram for dolfin::UnitSquareMesh:

Public Member Functions

 UnitSquareMesh (std::size_t nx, std::size_t ny, std::string diagonal="right")
 UnitSquareMesh (MPI_Comm comm, std::size_t nx, std::size_t ny, std::string diagonal="right")
Public Member Functions inherited from dolfin::RectangleMesh
 RectangleMesh (const Point &p0, const Point &p1, std::size_t nx, std::size_t ny, std::string diagonal="right")
 RectangleMesh (MPI_Comm comm, const Point &p0, const Point &p1, std::size_t nx, std::size_t ny, std::string diagonal="right")
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
void build_mapping (std::shared_ptr< const Mesh > other) 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, 2 > n, CellType::Type cell_type, std::string diagonal="right")
static Mesh create (std::size_t nx, std::size_t ny, CellType::Type cell_type, std::string diagonal="right")
static Mesh create (MPI_Comm comm, std::size_t nx, std::size_t ny, CellType::Type cell_type, std::string diagonal="right")
static Mesh create (MPI_Comm comm, std::array< std::size_t, 2 > n, CellType::Type cell_type, std::string diagonal="right")
Static Public Member Functions inherited from dolfin::RectangleMesh
static Mesh create (const std::array< Point, 2 > &p, std::array< std::size_t, 2 > n, CellType::Type cell_type, std::string diagonal="right")
static Mesh create (MPI_Comm comm, const std::array< Point, 2 > &p, std::array< std::size_t, 2 > n, CellType::Type cell_type, std::string diagonal="right")

Additional Inherited Members

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

Detailed Description

Triangular/quadrilateral mesh of the 2D unit square [0,1] x [0,1]. Given the number of cells (nx, ny) in each direction, the total number of triangles will be 2*nx*ny and the total number of vertices will be (nx + 1)*(ny + 1).

std::string diagonal ("left", "right", "right/left", "left/right", or "crossed") indicates the direction of the diagonals.

Constructor & Destructor Documentation

◆ UnitSquareMesh() [1/2]

dolfin::UnitSquareMesh::UnitSquareMesh ( std::size_t nx,
std::size_t ny,
std::string diagonal = "right" )
inline

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

Parameters
nx(std::size_t) Number of cells in horizontal direction.
ny(std::size_t) Number of cells in vertical direction.
diagonal(std::string) Optional argument: A std::string indicating the direction of the diagonals.
UnitSquareMesh mesh1(32, 32);
UnitSquareMesh mesh2(32, 32, "crossed");
UnitSquareMesh(std::size_t nx, std::size_t ny, std::string diagonal="right")
Definition UnitSquareMesh.h:129

◆ UnitSquareMesh() [2/2]

dolfin::UnitSquareMesh::UnitSquareMesh ( MPI_Comm comm,
std::size_t nx,
std::size_t ny,
std::string diagonal = "right" )
inline

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

Parameters
comm(MPI_Comm) MPI communicator
nx(std::size_t) Number of cells in horizontal direction.
ny(std::size_t) Number of cells in vertical direction.
diagonal(std::string) Optional argument: A std::string indicating the direction of the diagonals.
UnitSquareMesh mesh1(MPI_COMM_WORLD, 32, 32);
UnitSquareMesh mesh2(MPI_COMM_WORLD, 32, 32, "crossed");

Member Function Documentation

◆ create() [1/2]

Mesh dolfin::UnitSquareMesh::create ( MPI_Comm comm,
std::array< std::size_t, 2 > n,
CellType::Type cell_type,
std::string diagonal = "right" )
inlinestatic

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

Parameters
comm(MPI_Comm) MPI communicator
n(std:::array<std::size_t, 2>) Number of cells in each direction.
cell_typeTriangle or quadrilateral.
diagonal(std::string) Optional argument: A std::string indicating the direction of the diagonals.
auto mesh1 = UnitSquareMesh::create(MPI_COMM_WORLD, 32, 32);
auto mesh2 = UnitSquareMesh::create(MPI_COMM_WORLD, 32, 32, "crossed");
static Mesh create(std::array< std::size_t, 2 > n, CellType::Type cell_type, std::string diagonal="right")
Definition UnitSquareMesh.h:62

◆ create() [2/2]

Mesh dolfin::UnitSquareMesh::create ( std::array< std::size_t, 2 > n,
CellType::Type cell_type,
std::string diagonal = "right" )
inlinestatic

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

Parameters
n(std:::array<std::size_t, 2>) Number of cells in each direction.
cell_typeTriangle or quadrilateral
diagonal(std::string) Optional argument: A std::string indicating the direction of the diagonals.
auto mesh1 = UnitSquareMesh::create(32, 32);
auto mesh2 = UnitSquareMesh::create(32, 32, "crossed");

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