Wonton::Adaptive_Refinement_Mesh< D, CoordSys > Class Template Reference

A simple mesh that mimics a cell-by-cell AMR mesh. More...

#include <adaptive_refinement_mesh.h>

Public Member Functions

 Adaptive_Refinement_Mesh ()=delete
 Default constructor (disabled) More...
 
 Adaptive_Refinement_Mesh (std::function< int(const Point< D >)> func, const Point< D > &plo, const Point< D > &phi)
 Constructor to create a Adaptive_Refinement_Mesh. More...
 
Adaptive_Refinement_Meshoperator= (const Adaptive_Refinement_Mesh< D, CoordSys > &)=delete
 Assignment operator (disabled). More...
 
int space_dimension () const
 Get the dimensionality of the mesh. More...
 
int num_cells () const
 Get the total number of cells in the mesh. More...
 
BoundingBox< D > cell_get_bounds (const int id) const
 Get the lower and upper bounds of the specified cell. More...
 

Detailed Description

template<int D, class CoordSys = DefaultCoordSys>
class Wonton::Adaptive_Refinement_Mesh< D, CoordSys >

A simple mesh that mimics a cell-by-cell AMR mesh.

An Adaptive_Refinement_Mesh is a basic, serial, N-dimensional mesh whose cells are all axis-aligned boxes. It is intended to be a simple mesh that mimics many of the important features of a cell-by-cell AMR (adaptive mesh refinement) mesh.

Storage of the mesh is based on a list of cells and associated geometric quantities.

The Adaptive_Refinement_Mesh is designed to implement only the necessary functionality to test certain components in Wonton and Portage. As the scope of the tests expands, the scope of functionality of the Adaptive_Refinement_Mesh may also expand.

Constructor & Destructor Documentation

◆ Adaptive_Refinement_Mesh() [1/2]

template<int D, class CoordSys = DefaultCoordSys>
Wonton::Adaptive_Refinement_Mesh< D, CoordSys >::Adaptive_Refinement_Mesh ( )
delete

Default constructor (disabled)

◆ Adaptive_Refinement_Mesh() [2/2]

template<int D, class CoordSys >
Wonton::Adaptive_Refinement_Mesh< D, CoordSys >::Adaptive_Refinement_Mesh ( std::function< int(const Point< D >)>  func,
const Point< D > &  plo,
const Point< D > &  phi 
)

Constructor to create a Adaptive_Refinement_Mesh.

Parameters
[in]funcThe refinement function specifying the AMR level as a function of position.
[in]ploPoint specifying the low corner of the mesh along all axes.
[in]phiPoint specifying the high corner of the mesh along all axes.

Some AMR meshes allow multiple refinement-level-zero cells in order to have non-square grids, but for simplicity this mesh assumes that the overall grid has a single refinement-level-zero cell, and then refines from there.

Member Function Documentation

◆ cell_get_bounds()

template<int D, class CoordSys >
BoundingBox< D > Wonton::Adaptive_Refinement_Mesh< D, CoordSys >::cell_get_bounds ( const int  id) const

Get the lower and upper bounds of the specified cell.

Parameters
[in]idThe ID of the cell to query.

◆ num_cells()

template<int D, class CoordSys >
int Wonton::Adaptive_Refinement_Mesh< D, CoordSys >::num_cells ( ) const

Get the total number of cells in the mesh.

◆ operator=()

template<int D, class CoordSys = DefaultCoordSys>
Adaptive_Refinement_Mesh& Wonton::Adaptive_Refinement_Mesh< D, CoordSys >::operator= ( const Adaptive_Refinement_Mesh< D, CoordSys > &  )
delete

Assignment operator (disabled).

◆ space_dimension()

template<int D, class CoordSys >
int Wonton::Adaptive_Refinement_Mesh< D, CoordSys >::space_dimension ( ) const

Get the dimensionality of the mesh.


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