DataTransferKit - Multiphysics Solution Transfer Services
2.0
|
Manager for Intrepid cell-level operations. More...
#include <DTK_IntrepidCell.hpp>
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 ¶metric_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... | |
Manager for Intrepid cell-level operations.
Definition at line 59 of file DTK_IntrepidCell.hpp.
typedef double DataTransferKit::IntrepidCell::Scalar |
Typedefs.
Definition at line 63 of file DTK_IntrepidCell.hpp.
DataTransferKit::IntrepidCell::IntrepidCell | ( | const shards::CellTopology & | cell_topology, |
const unsigned | degree | ||
) |
Constructor.
Definition at line 58 of file DTK_IntrepidCell.cpp.
|
virtual |
Destructor.
Definition at line 83 of file DTK_IntrepidCell.cpp.
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.
|
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.
|
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.
|
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.