DataTransferKit - Multiphysics Solution Transfer Services  2.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
DataTransferKit::IntrepidCell Class Reference

Manager for Intrepid cell-level operations. More...

#include <DTK_IntrepidCell.hpp>

Inheritance diagram for DataTransferKit::IntrepidCell:
DataTransferKit::IntrepidSideCell

Public Types

typedef double Scalar
 Typedefs. More...
 

Public Member Functions

 IntrepidCell (const shards::CellTopology &cell_topology, const unsigned degree)
 Constructor. More...
 
virtual ~IntrepidCell ()
 Destructor. More...
 
void setCellNodeCoordinates (const MDArray &cell_node_coords)
 Given physical coordinates for the cell nodes (Cell,Node,Dim), assign them to the cell without allocating internal data. More...
 
void allocateCellState (const MDArray &cell_node_coords)
 Given physical coordinates for the cell nodes (Cell,Node,Dim), allocate the state of the cell object. More...
 
virtual void updateCellState ()
 Update the state of the cell object for the current cell node coordinates. More...
 
void mapToCellReferenceFrame (const MDArray &physical_coords, MDArray &reference_coords)
 Given a set of coordinates in the physical frame of the cell, map them to the reference frame of the cell. More...
 
virtual void mapToCellPhysicalFrame (const MDArray &parametric_coords, MDArray &physical_coords)
 Given a set of coordinates in the reference frame of the cell, map them to the physical frame. More...
 
bool pointInReferenceCell (const MDArray &reference_point, const double tolerance)
 Determine if a point given in parametric coordinates is inside of the reference cell. More...
 
bool pointInPhysicalCell (const MDArray &point, const double tolerance)
 Determine if a point given in physical coordinates is inside of the phyiscal cell. More...
 
int getNumCells () const
 Get the number of cells in the current state. More...
 
int getNumIntegrationPoints () const
 Get the number of cell points. More...
 
int getSpatialDimension () const
 Get the spatial dimension. More...
 
void getCellMeasures (MDArray &cell_measures) const
 Get the cell measures (Cell). cell_measures must all ready be allocated. More...
 
void integrate (const MDArray &dofs, MDArray &integrals) const
 Given DOFs at the quadrature points {(Cell,Node) for scalar fields, (Cell,Node,VecDim) for vector fields, and (Cell,Node,TensDim1,TensDim2) for tensor fields.} perform the numerical integration in each cell by contracting them with the weighted measures. More...
 

Static Public Member Functions

static void updateState (IntrepidCell &Intrepid_cell, const MDArray &cell_node_coords)
 Free function for updating the cell state for a new set of physical cells in a single call. More...
 

Detailed Description

Manager for Intrepid cell-level operations.

Definition at line 59 of file DTK_IntrepidCell.hpp.

Member Typedef Documentation

Typedefs.

Definition at line 63 of file DTK_IntrepidCell.hpp.

Constructor & Destructor Documentation

DataTransferKit::IntrepidCell::IntrepidCell ( const shards::CellTopology &  cell_topology,
const unsigned  degree 
)

Constructor.

Definition at line 58 of file DTK_IntrepidCell.cpp.

DataTransferKit::IntrepidCell::~IntrepidCell ( )
virtual

Destructor.

Definition at line 83 of file DTK_IntrepidCell.cpp.

Member Function Documentation

void DataTransferKit::IntrepidCell::setCellNodeCoordinates ( const MDArray &  cell_node_coords)

Given physical coordinates for the cell nodes (Cell,Node,Dim), assign them to the cell without allocating internal data.

Definition at line 90 of file DTK_IntrepidCell.cpp.

void DataTransferKit::IntrepidCell::allocateCellState ( const MDArray &  cell_node_coords)

Given physical coordinates for the cell nodes (Cell,Node,Dim), allocate the state of the cell object.

Definition at line 100 of file DTK_IntrepidCell.cpp.

void DataTransferKit::IntrepidCell::updateCellState ( )
virtual

Update the state of the cell object for the current cell node coordinates.

Reimplemented in DataTransferKit::IntrepidSideCell.

Definition at line 122 of file DTK_IntrepidCell.cpp.

void DataTransferKit::IntrepidCell::updateState ( IntrepidCell Intrepid_cell,
const MDArray &  cell_node_coords 
)
static

Free function for updating the cell state for a new set of physical cells in a single call.

Definition at line 146 of file DTK_IntrepidCell.cpp.

void DataTransferKit::IntrepidCell::mapToCellReferenceFrame ( const MDArray &  physical_coords,
MDArray &  reference_coords 
)

Given a set of coordinates in the physical frame of the cell, map them to the reference frame of the cell.

Definition at line 158 of file DTK_IntrepidCell.cpp.

void DataTransferKit::IntrepidCell::mapToCellPhysicalFrame ( const MDArray &  parametric_coords,
MDArray &  physical_coords 
)
virtual

Given a set of coordinates in the reference frame of the cell, map them to the physical frame.

Reimplemented in DataTransferKit::IntrepidSideCell.

Definition at line 172 of file DTK_IntrepidCell.cpp.

bool DataTransferKit::IntrepidCell::pointInReferenceCell ( const MDArray &  reference_point,
const double  tolerance 
)

Determine if a point given in parametric coordinates is inside of the reference cell.

Definition at line 195 of file DTK_IntrepidCell.cpp.

bool DataTransferKit::IntrepidCell::pointInPhysicalCell ( const MDArray &  point,
const double  tolerance 
)

Determine if a point given in physical coordinates is inside of the phyiscal cell.

Definition at line 207 of file DTK_IntrepidCell.cpp.

int DataTransferKit::IntrepidCell::getNumCells ( ) const

Get the number of cells in the current state.

Definition at line 220 of file DTK_IntrepidCell.cpp.

int DataTransferKit::IntrepidCell::getNumIntegrationPoints ( ) const

Get the number of cell points.

Definition at line 229 of file DTK_IntrepidCell.cpp.

int DataTransferKit::IntrepidCell::getSpatialDimension ( ) const

Get the spatial dimension.

Definition at line 238 of file DTK_IntrepidCell.cpp.

void DataTransferKit::IntrepidCell::getCellMeasures ( MDArray &  cell_measures) const

Get the cell measures (Cell). cell_measures must all ready be allocated.

Definition at line 248 of file DTK_IntrepidCell.cpp.

void DataTransferKit::IntrepidCell::integrate ( const MDArray &  dofs,
MDArray &  integrals 
) const

Given DOFs at the quadrature points {(Cell,Node) for scalar fields, (Cell,Node,VecDim) for vector fields, and (Cell,Node,TensDim1,TensDim2) for tensor fields.} perform the numerical integration in each cell by contracting them with the weighted measures.

Definition at line 276 of file DTK_IntrepidCell.cpp.


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