refine.h

Note

The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.

Mesh refine(const Mesh &mesh, bool redistribute = true)

Create uniformly refined mesh

Arguments
mesh (Mesh)
The mesh to refine.
redistribute (_bool_)
Optional argument to redistribute the refined mesh if mesh is a distributed mesh.
Returns
Mesh
The refined mesh.
Example
mesh = refine(mesh);
std::shared_ptr<const MeshHierarchy> refine(const MeshHierarchy &hierarchy, const MeshFunction<bool> &markers)

Refine a MeshHierarchy

void refine(Mesh &refined_mesh, const Mesh &mesh, bool redistribute = true)

Create uniformly refined mesh

Arguments
refined_mesh (Mesh)
The mesh that will be the refined mesh.
mesh (Mesh)
The original mesh.
redistribute (_bool_)
Optional argument to redistribute the refined mesh if mesh is a distributed mesh.
Mesh refine(const Mesh &mesh, const MeshFunction<bool> &cell_markers, bool redistribute = true)

Create locally refined mesh

Arguments
mesh (Mesh)
The mesh to refine.
cell_markers (MeshFunction <bool>)
A mesh function over booleans specifying which cells that should be refined (and which should not).
redistribute (_bool_)
Optional argument to redistribute the refined mesh if mesh is a distributed mesh.
Returns
Mesh
The locally refined mesh.
Example
CellFunction<bool> cell_markers(mesh);
cell_markers.set_all(false);
Point origin(0.0, 0.0, 0.0);
for (CellIterator cell(mesh); !cell.end(); ++cell)
{
    Point p = cell->midpoint();
    if (p.distance(origin) < 0.1)
        cell_markers[*cell] = true;
}
mesh = refine(mesh, cell_markers);
void refine(Mesh &refined_mesh, const Mesh &mesh, const MeshFunction<bool> &cell_markers, bool redistribute = true)

Create locally refined mesh

Arguments
refined_mesh (Mesh)
The mesh that will be the refined mesh.
mesh (Mesh)
The original mesh.
cell_markers (MeshFunction <bool>)
A mesh function over booleans specifying which cells that should be refined (and which should not).
redistribute (_bool_)
Optional argument to redistribute the refined mesh if mesh is a distributed mesh.
void p_refine(Mesh &refined_mesh, const Mesh &mesh)

Increase the polynomial order of the mesh from 1 to 2, i.e. add points at the Edge midpoints, to make a quadratic mesh.

Arguments
refined_mesh (Mesh)
The mesh that will be the quadratic mesh.
mesh (Mesh)
The original linear mesh.
Mesh p_refine(const Mesh &mesh)

Return a p_refined mesh Increase the polynomial order of the mesh from 1 to 2, i.e. add points at the Edge midpoints, to make a quadratic mesh.

Arguments
mesh (Mesh)
The original linear mesh.