49 #ifndef __INTREPID2_CELLTOOLS_DEBUG_DEF_HPP__
50 #define __INTREPID2_CELLTOOLS_DEBUG_DEF_HPP__
53 #if defined (__clang__) && !defined (__INTEL_COMPILER)
54 #pragma clang system_header
66 template<
class Scalar>
67 void CellTools<Scalar>::printSubcellVertices(
const ordinal_type subcellDim,
68 const ordinal_type subcellOrd,
69 const shards::CellTopology & parentCell){
72 ordinal_type subcVertexCount = parentCell.getVertexCount(subcellDim, subcellOrd);
73 ordinal_type cellDim = parentCell.getDimension();
76 FieldContainer<double> subcellVertices(subcVertexCount, cellDim);
79 getReferenceSubcellVertices(subcellVertices,
86 <<
" Subcell " << std::setw(2) << subcellOrd
87 <<
" is " << parentCell.getName(subcellDim, subcellOrd) <<
" with vertices = {";
90 for(ordinal_type subcVertOrd = 0; subcVertOrd < subcVertexCount; subcVertOrd++){
94 for(ordinal_type dim = 0; dim < (ordinal_type)parentCell.getDimension(); dim++){
95 std::cout << subcellVertices(subcVertOrd, dim);
96 if(dim < (ordinal_type)parentCell.getDimension()-1 ) { std::cout <<
","; }
99 if(subcVertOrd < subcVertexCount - 1) { std::cout <<
", "; }
105 template<
class Scalar>
106 template<
class ArrayCell>
107 void CellTools<Scalar>::printWorksetSubcell(
const ArrayCell & cellWorkset,
108 const shards::CellTopology & parentCell,
109 const ordinal_type& pCellOrd,
110 const ordinal_type& subcellDim,
111 const ordinal_type& subcellOrd,
112 const ordinal_type& fieldWidth){
115 ordinal_type subcNodeCount = parentCell.getNodeCount(subcellDim, subcellOrd);
116 ordinal_type pCellDim = parentCell.getDimension();
117 std::vector<ordinal_type> subcNodeOrdinals(subcNodeCount);
119 for(ordinal_type i = 0; i < subcNodeCount; i++){
120 subcNodeOrdinals[i] = parentCell.getNodeMap(subcellDim, subcellOrd, i);
126 <<
" Subcell " << subcellOrd <<
" on parent cell " << pCellOrd <<
" is "
127 << parentCell.getName(subcellDim, subcellOrd) <<
" with node(s) \n ({";
129 for(ordinal_type i = 0; i < subcNodeCount; i++){
132 for(ordinal_type dim = 0; dim < pCellDim; dim++){
134 << std::setw(fieldWidth) << std::right << cellWorkset(pCellOrd, subcNodeOrdinals[i], dim);
135 if(dim < pCellDim - 1){ std::cout <<
","; }
138 if(i < subcNodeCount - 1){ std::cout <<
", {"; }
140 std::cout <<
")\n\n";