Intrepid2
Functions
Intrepid2_CellGeometryTestUtils.hpp File Reference

Utility methods for working with CellGeometry objects in unit tests. More...

#include "Intrepid2_CellGeometry.hpp"
#include "Intrepid2_ScalarView.hpp"
#include "Intrepid2_TestUtils.hpp"

Go to the source code of this file.

Functions

template<typename PointScalar , int spaceDim, typename DeviceType >
CellGeometry< PointScalar, spaceDim, DeviceType > Intrepid2::getNodalCellGeometry (CellGeometry< PointScalar, spaceDim, DeviceType > &anyCellGeometry, const bool &copyAffineness)
 Use the cell nodes provided by one cell geometry object to create another CellGeometry that is node-based (as opposed to tensor-grid-based, uniform-grid-based, etc.) More...
 
template<class PointScalar , int spaceDim, typename DeviceType >
CellGeometry< PointScalar, spaceDim, DeviceType > Intrepid2::uniformCartesianMesh (const Kokkos::Array< PointScalar, spaceDim > &domainExtents, const Kokkos::Array< int, spaceDim > &gridCellCounts)
 Create a uniform Cartesian mesh, with origin at 0, and domain extents and mesh widths that can be different in different coordinate dimensions. More...
 
template<class PointScalar , int spaceDim, typename DeviceType >
CellGeometry< PointScalar, spaceDim, DeviceType > Intrepid2::uniformCartesianMesh (const PointScalar &domainExtent, const int &meshWidth)
 Create a uniform Cartesian mesh, with origin at 0, and the same extent and number of grid cells in each coordinate dimension. More...
 

Detailed Description

Utility methods for working with CellGeometry objects in unit tests.

Author
Created by N.V. Roberts.

Definition in file Intrepid2_CellGeometryTestUtils.hpp.

Function Documentation

◆ getNodalCellGeometry()

template<typename PointScalar , int spaceDim, typename DeviceType >
CellGeometry<PointScalar, spaceDim, DeviceType> Intrepid2::getNodalCellGeometry ( CellGeometry< PointScalar, spaceDim, DeviceType > &  anyCellGeometry,
const bool &  copyAffineness 
)
inline

Use the cell nodes provided by one cell geometry object to create another CellGeometry that is node-based (as opposed to tensor-grid-based, uniform-grid-based, etc.)

Parameters
[in]anyCellGeometry- the projected geometry degrees of freedom
[in]copyAffineness- if true, the resulting geometry will be marked as affine if the original geometry was, allowing reduce storage of Jacobians, etc.
Returns
a representation of the same geometry, defined using cell-to-nodes and node-to-coordinates containers.

Definition at line 66 of file Intrepid2_CellGeometryTestUtils.hpp.

References Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::affine(), Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::cellTopology(), Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::extent_int(), Intrepid2::getNodalCellGeometry(), and Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::nodeOrderingForHypercubes().

Referenced by Intrepid2::getNodalCellGeometry().

◆ uniformCartesianMesh() [1/2]

template<class PointScalar , int spaceDim, typename DeviceType >
CellGeometry<PointScalar,spaceDim,DeviceType> Intrepid2::uniformCartesianMesh ( const Kokkos::Array< PointScalar, spaceDim > &  domainExtents,
const Kokkos::Array< int, spaceDim > &  gridCellCounts 
)
inline

Create a uniform Cartesian mesh, with origin at 0, and domain extents and mesh widths that can be different in different coordinate dimensions.

Parameters
[in]domainExtents- array specifying the extent of the domain in each coordinate dimension.
[in]gridCellCounts- array specifying the number of cells in each coordinate dimension.
Returns
a uniform Cartesion mesh, with origin at 0, with the specified domain extents and grid cell counts.

Definition at line 110 of file Intrepid2_CellGeometryTestUtils.hpp.

References Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::HYPERCUBE_NODE_ORDER_CLASSIC_SHARDS, Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::NO_SUBDIVISION, and Intrepid2::uniformCartesianMesh().

Referenced by Intrepid2::uniformCartesianMesh().

◆ uniformCartesianMesh() [2/2]

template<class PointScalar , int spaceDim, typename DeviceType >
CellGeometry<PointScalar,spaceDim,DeviceType> Intrepid2::uniformCartesianMesh ( const PointScalar &  domainExtent,
const int &  meshWidth 
)
inline

Create a uniform Cartesian mesh, with origin at 0, and the same extent and number of grid cells in each coordinate dimension.

Parameters
[in]domainExtent- the extent of the domain in each coordinate dimension.
[in]gridCellCounts- the number of cells in each coordinate dimension.
Returns
a uniform Cartesion mesh, with origin at 0, with the specified domain extent and grid cell counts.

Definition at line 132 of file Intrepid2_CellGeometryTestUtils.hpp.

References Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::HYPERCUBE_NODE_ORDER_CLASSIC_SHARDS, Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::NO_SUBDIVISION, and Intrepid2::uniformCartesianMesh().