Public Member Functions | Private Attributes
Sundance::PeriodicMesh1D Class Reference

Periodic mesh in 1D. More...

Inheritance diagram for Sundance::PeriodicMesh1D:
Sundance::MeshBase Sundance::ObjectWithClassVerbosity< MeshBase > Sundance::ObjectWithInstanceID< MeshBase > Sundance::DefaultObjectWithVerbosity Sundance::ObjectWithVerbosityBase

List of all members.

Public Member Functions

 PeriodicMesh1D (double xMin, double xMax, int numElems)
virtual ~PeriodicMesh1D ()
 virtual dtor
int numCells (int dim) const
 Get the number of cells having dimension dim.
Point nodePosition (int i) const
 Return the position of the i-th node.
const double * nodePositionView (int i) const
 Return a view of the i-th node's position.
virtual void getJacobians (int cellDim, const Array< int > &cellLID, CellJacobianBatch &jBatch) const
 Compute the jacobians of a batch of cells, returning the result via reference argument.
virtual void getCellDiameters (int cellDim, const Array< int > &cellLID, Array< double > &cellDiameters) const
 Compute the diameters of a batch of cells, result via reference argument.
virtual void pushForward (int cellDim, const Array< int > &cellLID, const Array< Point > &refQuadPts, Array< Point > &physQuadPts) const
 Map reference quadrature points to physical points on the given cells.
virtual int ownerProcID (int cellDim, int cellLID) const
 Return the rank of the processor that owns the given cell.
virtual int numFacets (int cellDim, int cellLID, int facetDim) const
 Return the number of facets of the given cell.
virtual int facetLID (int cellDim, int cellLID, int facetDim, int facetIndex, int &facetOrientation) const
 Return the local ID of a facet cell.
virtual void getFacetLIDs (int cellDim, const Array< int > &cellLID, int facetDim, Array< int > &facetLID, Array< int > &facetSign) const
 Return by reference argument an array containing&(elemVerts_.value(cellLID, 0)) the LIDs of the facetDim-dimensional facets of the given batch of cells.
const int * elemZeroFacetView (int cellLID) const
 Return a view of an element's zero-dimensional facets,.
virtual int numMaxCofacets (int cellDim, int cellLID) const
 Return the number of maximal cofacets of the given cell.
virtual int maxCofacetLID (int cellDim, int cellLID, int cofacetIndex, int &facetIndex) const
 Return the local ID of a maximal cofacet cell.
virtual void getMaxCofacetLIDs (const Array< int > &cellLIDs, MaximalCofacetBatch &cofacets) const
 Get the LIDs of the maximal cofacets for a batch of codimension-one cells.
void getCofacets (int cellDim, int cellLID, int cofacetDim, Array< int > &cofacetLIDs) const
 Find the cofacets of the given cell.
virtual int mapGIDToLID (int cellDim, int globalIndex) const
 Find the local ID of a cell given its global index.
virtual bool hasGID (int cellDim, int globalIndex) const
 Determine whether a given cell GID exists on this processor.
virtual int mapLIDToGID (int cellDim, int localIndex) const
 Find the global ID of a cell given its local index.
virtual CellType cellType (int cellDim) const
 Get the type of the given cell.
virtual int label (int cellDim, int cellLID) const
 Get the label of the given cell.
virtual void getLabels (int cellDim, const Array< int > &cellLID, Array< int > &labels) const
 Get the labels for a batch of cells.
virtual Set< int > getAllLabelsForDimension (int cellDim) const
 Get the list of all labels defined for cells of the given dimension.
virtual void getLIDsForLabel (int cellDim, int label, Array< int > &cellLIDs) const
 Get the cells associated with a specified label.
virtual void setLabel (int cellDim, int cellLID, int label)
 Set the label of the given cell.
virtual void assignIntermediateCellGIDs (int cellDim)
 Coordinate intermediate cell definitions across processors.
virtual bool hasIntermediateGIDs (int dim) const
 Return if cells of dimension cellDim have been assigned global IDs or not.

Private Attributes

int numElems_
double xMin_
double xMax_
Array< Pointx_
Array< Array< int > > verts_
Array< Array< int > > labels_

Detailed Description

Periodic mesh in 1D.

Definition at line 51 of file SundancePeriodicMesh1D.hpp.


Constructor & Destructor Documentation

PeriodicMesh1D::PeriodicMesh1D ( double  xMin,
double  xMax,
int  numElems 
)

Definition at line 47 of file SundancePeriodicMesh1D.cpp.

References labels_, numElems_, verts_, x_, xMax_, and xMin_.

virtual Sundance::PeriodicMesh1D::~PeriodicMesh1D ( ) [inline, virtual]

virtual dtor

Definition at line 58 of file SundancePeriodicMesh1D.hpp.


Member Function Documentation

virtual void Sundance::PeriodicMesh1D::assignIntermediateCellGIDs ( int  cellDim) [inline, virtual]

Coordinate intermediate cell definitions across processors.

Implements Sundance::MeshBase.

Definition at line 240 of file SundancePeriodicMesh1D.hpp.

CellType PeriodicMesh1D::cellType ( int  cellDim) const [virtual]

Get the type of the given cell.

Implements Sundance::MeshBase.

Definition at line 283 of file SundancePeriodicMesh1D.cpp.

References Sundance::LineCell, Sundance::NullCell, and Sundance::PointCell.

const int * PeriodicMesh1D::elemZeroFacetView ( int  cellLID) const [virtual]

Return a view of an element's zero-dimensional facets,.

Returns:
an array of integers with the indexes of the points which for it

Implements Sundance::MeshBase.

Definition at line 230 of file SundancePeriodicMesh1D.cpp.

References verts_.

int PeriodicMesh1D::facetLID ( int  cellDim,
int  cellLID,
int  facetDim,
int  facetIndex,
int &  facetOrientation 
) const [virtual]

Return the local ID of a facet cell.

Parameters:
cellDimdimension of the cell whose facets are being obtained
cellLIDlocal index of the cell whose facets are being obtained
facetDimdimension of the desired facet
facetIndexindex into the list of the cell's facets
facetOrientationorientation of the facet as seen from the given cell (returned via reference)

Implements Sundance::MeshBase.

Definition at line 199 of file SundancePeriodicMesh1D.cpp.

References numElems_, and verts_.

Referenced by getFacetLIDs().

Set< int > PeriodicMesh1D::getAllLabelsForDimension ( int  cellDim) const [virtual]

Get the list of all labels defined for cells of the given dimension.

Implements Sundance::MeshBase.

Definition at line 306 of file SundancePeriodicMesh1D.cpp.

References labels_, and Sundance::Set< Key, Compare >::put().

void PeriodicMesh1D::getCellDiameters ( int  cellDim,
const Array< int > &  cellLID,
Array< double > &  cellDiameters 
) const [virtual]

Compute the diameters of a batch of cells, result via reference argument.

Parameters:
cellDimdimension of the cells whose diameters are to be computed
cellLIDlocal indices of the cells for which diameters are to be computed
diametersreference to the array of cell diameters

Reimplemented from Sundance::MeshBase.

Definition at line 134 of file SundancePeriodicMesh1D.cpp.

References x_.

void PeriodicMesh1D::getCofacets ( int  cellDim,
int  cellLID,
int  cofacetDim,
Array< int > &  cofacetLIDs 
) const [virtual]

Find the cofacets of the given cell.

Parameters:
cellDimdimension of the cell whose cofacets are being obtained
cellLIDlocal index of the cell whose cofacets are being obtained
cofacetDimdimension of the cofacets to get
cofacetLIDsLIDs of the cofacet

Implements Sundance::MeshBase.

Definition at line 257 of file SundancePeriodicMesh1D.cpp.

References numElems_.

void PeriodicMesh1D::getFacetLIDs ( int  cellDim,
const Array< int > &  cellLID,
int  facetDim,
Array< int > &  facetLID,
Array< int > &  facetSign 
) const [virtual]

Return by reference argument an array containing&(elemVerts_.value(cellLID, 0)) the LIDs of the facetDim-dimensional facets of the given batch of cells.

Implements Sundance::MeshBase.

Definition at line 213 of file SundancePeriodicMesh1D.cpp.

References facetLID().

void PeriodicMesh1D::getJacobians ( int  cellDim,
const Array< int > &  cellLID,
CellJacobianBatch jBatch 
) const [virtual]

Compute the jacobians of a batch of cells, returning the result via reference argument.

Parameters:
cellDimdimension of the cells whose Jacobians are to be computed
cellLIDlocal indices of the cells for which Jacobians are to be computed
jBatchreference to the resulting Jacobian batch

Reimplemented from Sundance::MeshBase.

Definition at line 100 of file SundancePeriodicMesh1D.cpp.

References Sundance::CellJacobianBatch::detJ(), Sundance::CellJacobianBatch::jVals(), Sundance::CellJacobianBatch::resize(), Sundance::MeshBase::spatialDim(), and x_.

void PeriodicMesh1D::getLabels ( int  cellDim,
const Array< int > &  cellLID,
Array< int > &  labels 
) const [virtual]

Get the labels for a batch of cells.

Implements Sundance::MeshBase.

Definition at line 295 of file SundancePeriodicMesh1D.cpp.

References labels_.

void PeriodicMesh1D::getLIDsForLabel ( int  cellDim,
int  label,
Array< int > &  cellLIDs 
) const [virtual]

Get the cells associated with a specified label.

The array cellLID will be filled with those cells of dimension cellDim having the given label.

Implements Sundance::MeshBase.

Definition at line 325 of file SundancePeriodicMesh1D.cpp.

References labels_.

void PeriodicMesh1D::getMaxCofacetLIDs ( const Array< int > &  cellLIDs,
MaximalCofacetBatch cofacets 
) const [virtual]

Get the LIDs of the maximal cofacets for a batch of codimension-one cells.

Parameters:
cellLIDs[in] array of LIDs of the cells whose cofacets are being obtained
cofacets[out] the batch of cofacets

Implements Sundance::MeshBase.

Definition at line 251 of file SundancePeriodicMesh1D.cpp.

bool PeriodicMesh1D::hasGID ( int  cellDim,
int  globalIndex 
) const [virtual]

Determine whether a given cell GID exists on this processor.

Implements Sundance::MeshBase.

Definition at line 273 of file SundancePeriodicMesh1D.cpp.

virtual bool Sundance::PeriodicMesh1D::hasIntermediateGIDs ( int  cellDim) const [inline, virtual]

Return if cells of dimension cellDim have been assigned global IDs or not.

Parameters:
cellDim[in] Dimension of the cell

Implements Sundance::MeshBase.

Definition at line 243 of file SundancePeriodicMesh1D.hpp.

int PeriodicMesh1D::label ( int  cellDim,
int  cellLID 
) const [virtual]

Get the label of the given cell.

Implements Sundance::MeshBase.

Definition at line 290 of file SundancePeriodicMesh1D.cpp.

References labels_.

Referenced by setLabel().

int PeriodicMesh1D::mapGIDToLID ( int  cellDim,
int  globalIndex 
) const [virtual]

Find the local ID of a cell given its global index.

Implements Sundance::MeshBase.

Definition at line 268 of file SundancePeriodicMesh1D.cpp.

int PeriodicMesh1D::mapLIDToGID ( int  cellDim,
int  localIndex 
) const [virtual]

Find the global ID of a cell given its local index.

Implements Sundance::MeshBase.

Definition at line 278 of file SundancePeriodicMesh1D.cpp.

int PeriodicMesh1D::maxCofacetLID ( int  cellDim,
int  cellLID,
int  cofacetIndex,
int &  facetIndex 
) const [virtual]

Return the local ID of a maximal cofacet cell.

Parameters:
cellDimdimension of the cell whose cofacets are being obtained
cellLIDlocal index of the cell whose cofacets are being obtained
cofacetIndexwhich maximal cofacet to get
facetIndexindex of the cell cellLID into the list of the maximal cell's facets

Implements Sundance::MeshBase.

Definition at line 242 of file SundancePeriodicMesh1D.cpp.

References numElems_.

Point PeriodicMesh1D::nodePosition ( int  i) const [virtual]

Return the position of the i-th node.

Implements Sundance::MeshBase.

Definition at line 89 of file SundancePeriodicMesh1D.cpp.

References x_.

const double * PeriodicMesh1D::nodePositionView ( int  i) const [virtual]

Return a view of the i-th node's position.

Implements Sundance::MeshBase.

Definition at line 95 of file SundancePeriodicMesh1D.cpp.

References x_.

int PeriodicMesh1D::numCells ( int  dim) const [virtual]

Get the number of cells having dimension dim.

Implements Sundance::MeshBase.

Definition at line 74 of file SundancePeriodicMesh1D.cpp.

References numElems_.

int PeriodicMesh1D::numFacets ( int  cellDim,
int  cellLID,
int  facetDim 
) const [virtual]

Return the number of facets of the given cell.

Implements Sundance::MeshBase.

Definition at line 189 of file SundancePeriodicMesh1D.cpp.

References numElems_.

int PeriodicMesh1D::numMaxCofacets ( int  cellDim,
int  cellLID 
) const [virtual]

Return the number of maximal cofacets of the given cell.

Implements Sundance::MeshBase.

Definition at line 236 of file SundancePeriodicMesh1D.cpp.

virtual int Sundance::PeriodicMesh1D::ownerProcID ( int  cellDim,
int  cellLID 
) const [inline, virtual]

Return the rank of the processor that owns the given cell.

Implements Sundance::MeshBase.

Definition at line 115 of file SundancePeriodicMesh1D.hpp.

void PeriodicMesh1D::pushForward ( int  cellDim,
const Array< int > &  cellLID,
const Array< Point > &  refQuadPts,
Array< Point > &  physQuadPts 
) const [virtual]

Map reference quadrature points to physical points on the given cells.

Reimplemented from Sundance::MeshBase.

Definition at line 159 of file SundancePeriodicMesh1D.cpp.

References x_.

void PeriodicMesh1D::setLabel ( int  cellDim,
int  cellLID,
int  label 
) [virtual]

Set the label of the given cell.

Implements Sundance::MeshBase.

Definition at line 319 of file SundancePeriodicMesh1D.cpp.

References label(), and labels_.


Member Data Documentation

Array<Array<int> > Sundance::PeriodicMesh1D::labels_ [private]
Array<Array<int> > Sundance::PeriodicMesh1D::verts_ [private]

Definition at line 253 of file SundancePeriodicMesh1D.hpp.

Referenced by elemZeroFacetView(), facetLID(), and PeriodicMesh1D().

Definition at line 251 of file SundancePeriodicMesh1D.hpp.

Referenced by PeriodicMesh1D().

Definition at line 250 of file SundancePeriodicMesh1D.hpp.

Referenced by PeriodicMesh1D().

Site Contact