From f405538cb76274818df8de1c5ef6ec12871d1368 Mon Sep 17 00:00:00 2001 From: Nils Kohl Date: Mon, 8 Apr 2019 14:11:57 +0200 Subject: [PATCH 1/4] Generated replace versions for P2 macro-cell edge to vertex and vertex to edge kernels --- ...eneratedKernelsEdgeToVertexMacroCell3D.hpp | 2 + ...macrocell_edgedof_to_vertexdof_replace.cpp | 1085 +++++++++++++++++ ...eneratedKernelsVertexToEdgeMacroCell3D.hpp | 2 + ...macrocell_vertexdof_to_edgedof_replace.cpp | 793 ++++++++++++ 4 files changed, 1882 insertions(+) create mode 100644 src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_replace.cpp create mode 100644 src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_replace.cpp diff --git a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroCell3D.hpp b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroCell3D.hpp index a04c1110a..db22db50d 100644 --- a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroCell3D.hpp +++ b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroCell3D.hpp @@ -15,6 +15,8 @@ namespace hhg { namespace EdgeDoFToVertexDoF { namespace generated { +void apply_3D_macrocell_edgedof_to_vertexdof_replace(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level); + void apply_3D_macrocell_edgedof_to_vertexdof_add(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level); } // namespace generated diff --git a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_replace.cpp b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_replace.cpp new file mode 100644 index 000000000..e21e2dc06 --- /dev/null +++ b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_replace.cpp @@ -0,0 +1,1085 @@ + +////////////////////////////////////////////////////////////////////////////// +// This file is generated! To fix issues, please fix them in the generator. // +////////////////////////////////////////////////////////////////////////////// + +#include "GeneratedKernelsEdgeToVertexMacroCell3D.hpp" + +namespace hhg { +namespace EdgeDoFToVertexDoF { +namespace generated { + +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_2(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +{ + const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; + const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; + const double xi_3 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, 0 }]; + const double xi_4 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, -1 }]; + const double xi_5 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, 0 }]; + const double xi_6 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, -1 }]; + const double xi_7 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 0 }]; + const double xi_8 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 1 }]; + const double xi_9 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, -1 }]; + const double xi_10 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, 0 }]; + const double xi_11 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 0 }]; + const double xi_12 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 1 }]; + const double xi_13 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, -1 }]; + const double xi_14 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_15 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, -1 }]; + const double xi_16 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, 0 }]; + const double xi_17 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 1, -1 }]; + const double xi_18 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, -1, 0 }]; + const double xi_19 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, -1 }]; + const double xi_20 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_21 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 0 }]; + const double xi_22 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 1 }]; + const double xi_23 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, -1 }]; + const double xi_24 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, 0 }]; + const double xi_25 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 0 }]; + const double xi_26 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 1 }]; + const double xi_27 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, -1 }]; + const double xi_28 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_29 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, -1 }]; + const double xi_30 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, 0 }]; + const double xi_31 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, -1 }]; + const double xi_32 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, 0 }]; + const double xi_33 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, -1 }]; + const double xi_34 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_35 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, -1 }]; + const double xi_36 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, 0 }]; + const double xi_37 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 0, 0 }]; + const double xi_38 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 0 }]; + const double xi_39 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 1 }]; + const double xi_40 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, -1 }]; + const double xi_41 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_42 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, -1, 0 }]; + const double xi_43 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 0 }]; + const double xi_44 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, -1 }]; + const double xi_45 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 0 }]; + const double xi_46 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, -1 }]; + const double xi_47 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_48 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, -1 }]; + const double xi_49 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 0 }]; + const double xi_50 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, -1 }]; + for (int ctr_3 = 1; ctr_3 < 4; ctr_3 += 1) + { + for (int ctr_2 = 1; ctr_2 < -ctr_3 + 4; ctr_2 += 1) + { + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + 4; ctr_1 += 1) + { + const double xi_53 = xi_1*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6)) - 1]; + const double xi_64 = xi_2*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_75 = xi_3*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6)) - 1]; + const double xi_86 = xi_4*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((60) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_97 = xi_5*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))]; + const double xi_99 = xi_6*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_100 = xi_7*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_101 = xi_8*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 4) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6)) - 1]; + const double xi_102 = xi_9*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_54 = xi_10*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_55 = xi_11*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_56 = xi_12*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 4) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))]; + const double xi_57 = xi_13*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_58 = xi_14*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_59 = xi_15*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_60 = xi_16*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_61 = xi_17*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((120) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_62 = xi_18*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_63 = xi_19*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_65 = xi_20*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_66 = xi_21*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_67 = xi_22*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 4) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6)) - 1]; + const double xi_68 = xi_23*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((120) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_69 = xi_24*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((120) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_70 = xi_25*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_71 = xi_26*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 4) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))]; + const double xi_72 = xi_27*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_73 = xi_28*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_74 = xi_29*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_76 = xi_30*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_77 = xi_31*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_78 = xi_32*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_79 = xi_33*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_80 = xi_34*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_81 = xi_35*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_82 = xi_36*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_83 = xi_37*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_84 = xi_38*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_85 = xi_39*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 4) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))]; + const double xi_87 = xi_40*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_88 = xi_41*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_89 = xi_42*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_90 = xi_43*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_91 = xi_44*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((120) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_92 = xi_45*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_93 = xi_46*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_94 = xi_47*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_95 = xi_48*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((120) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_96 = xi_49*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_98 = xi_50*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 6) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_vertexCellDst[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))] = xi_100 + xi_101 + xi_102 + xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66 + xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74 + xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82 + xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88 + xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96 + xi_97 + xi_98 + xi_99; + } + } + } +} + +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_3(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +{ + const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; + const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; + const double xi_3 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, 0 }]; + const double xi_4 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, -1 }]; + const double xi_5 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, 0 }]; + const double xi_6 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, -1 }]; + const double xi_7 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 0 }]; + const double xi_8 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 1 }]; + const double xi_9 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, -1 }]; + const double xi_10 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, 0 }]; + const double xi_11 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 0 }]; + const double xi_12 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 1 }]; + const double xi_13 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, -1 }]; + const double xi_14 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_15 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, -1 }]; + const double xi_16 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, 0 }]; + const double xi_17 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 1, -1 }]; + const double xi_18 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, -1, 0 }]; + const double xi_19 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, -1 }]; + const double xi_20 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_21 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 0 }]; + const double xi_22 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 1 }]; + const double xi_23 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, -1 }]; + const double xi_24 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, 0 }]; + const double xi_25 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 0 }]; + const double xi_26 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 1 }]; + const double xi_27 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, -1 }]; + const double xi_28 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_29 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, -1 }]; + const double xi_30 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, 0 }]; + const double xi_31 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, -1 }]; + const double xi_32 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, 0 }]; + const double xi_33 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, -1 }]; + const double xi_34 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_35 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, -1 }]; + const double xi_36 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, 0 }]; + const double xi_37 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 0, 0 }]; + const double xi_38 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 0 }]; + const double xi_39 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 1 }]; + const double xi_40 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, -1 }]; + const double xi_41 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_42 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, -1, 0 }]; + const double xi_43 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 0 }]; + const double xi_44 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, -1 }]; + const double xi_45 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 0 }]; + const double xi_46 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, -1 }]; + const double xi_47 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_48 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, -1 }]; + const double xi_49 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 0 }]; + const double xi_50 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, -1 }]; + for (int ctr_3 = 1; ctr_3 < 8; ctr_3 += 1) + { + for (int ctr_2 = 1; ctr_2 < -ctr_3 + 8; ctr_2 += 1) + { + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + 8; ctr_1 += 1) + { + const double xi_53 = xi_1*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 8) + ((504) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 7)*(-ctr_3 + 8)*(-ctr_3 + 9)) / (6)) - 1]; + const double xi_64 = xi_2*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 9) + ((504) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) - 1]; + const double xi_75 = xi_3*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 8) + ((504) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 7)*(-ctr_3 + 8)*(-ctr_3 + 9)) / (6)) - 1]; + const double xi_86 = xi_4*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((504) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_97 = xi_5*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 8) + ((504) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 7)*(-ctr_3 + 8)*(-ctr_3 + 9)) / (6))]; + const double xi_99 = xi_6*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 9) + ((504) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_100 = xi_7*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) - 1]; + const double xi_101 = xi_8*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 8) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 7)*(-ctr_3 + 8)*(-ctr_3 + 9)) / (6)) - 1]; + const double xi_102 = xi_9*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6)) - 1]; + const double xi_54 = xi_10*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) - 1]; + const double xi_55 = xi_11*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_56 = xi_12*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 8) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 7)*(-ctr_3 + 8)*(-ctr_3 + 9)) / (6))]; + const double xi_57 = xi_13*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6))]; + const double xi_58 = xi_14*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_59 = xi_15*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6)) - 1]; + const double xi_60 = xi_16*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) - 1]; + const double xi_61 = xi_17*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 10) + ((720) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6)) - 1]; + const double xi_62 = xi_18*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_63 = xi_19*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6))]; + const double xi_65 = xi_20*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_66 = xi_21*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) - 1]; + const double xi_67 = xi_22*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 8) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 7)*(-ctr_3 + 8)*(-ctr_3 + 9)) / (6)) - 1]; + const double xi_68 = xi_23*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 10) + ((720) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6)) - 1]; + const double xi_69 = xi_24*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 9) + ((720) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) - 1]; + const double xi_70 = xi_25*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_71 = xi_26*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 8) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 7)*(-ctr_3 + 8)*(-ctr_3 + 9)) / (6))]; + const double xi_72 = xi_27*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6))]; + const double xi_73 = xi_28*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_74 = xi_29*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6)) - 1]; + const double xi_76 = xi_30*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) - 1]; + const double xi_77 = xi_31*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6))]; + const double xi_78 = xi_32*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_79 = xi_33*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6))]; + const double xi_80 = xi_34*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_81 = xi_35*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6)) + 1]; + const double xi_82 = xi_36*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) + 1]; + const double xi_83 = xi_37*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) - 1]; + const double xi_84 = xi_38*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_85 = xi_39*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 8) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 7)*(-ctr_3 + 8)*(-ctr_3 + 9)) / (6))]; + const double xi_87 = xi_40*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6))]; + const double xi_88 = xi_41*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_89 = xi_42*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) + 1]; + const double xi_90 = xi_43*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) - 1]; + const double xi_91 = xi_44*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 10) + ((720) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6)) - 1]; + const double xi_92 = xi_45*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_93 = xi_46*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6))]; + const double xi_94 = xi_47*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6))]; + const double xi_95 = xi_48*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 10) + ((720) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6))]; + const double xi_96 = xi_49*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 9) + ((720) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 8)*(-ctr_3 + 9)*(-ctr_3 + 10)) / (6)) + 1]; + const double xi_98 = xi_50*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 10) + ((720) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6)) + 1]; + _data_vertexCellDst[ctr_1 + ctr_2*(-ctr_3 + 10) + ((990) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 9)*(-ctr_3 + 10)*(-ctr_3 + 11)) / (6))] = xi_100 + xi_101 + xi_102 + xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66 + xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74 + xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82 + xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88 + xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96 + xi_97 + xi_98 + xi_99; + } + } + } +} + +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_4(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +{ + const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; + const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; + const double xi_3 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, 0 }]; + const double xi_4 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, -1 }]; + const double xi_5 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, 0 }]; + const double xi_6 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, -1 }]; + const double xi_7 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 0 }]; + const double xi_8 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 1 }]; + const double xi_9 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, -1 }]; + const double xi_10 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, 0 }]; + const double xi_11 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 0 }]; + const double xi_12 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 1 }]; + const double xi_13 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, -1 }]; + const double xi_14 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_15 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, -1 }]; + const double xi_16 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, 0 }]; + const double xi_17 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 1, -1 }]; + const double xi_18 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, -1, 0 }]; + const double xi_19 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, -1 }]; + const double xi_20 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_21 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 0 }]; + const double xi_22 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 1 }]; + const double xi_23 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, -1 }]; + const double xi_24 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, 0 }]; + const double xi_25 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 0 }]; + const double xi_26 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 1 }]; + const double xi_27 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, -1 }]; + const double xi_28 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_29 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, -1 }]; + const double xi_30 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, 0 }]; + const double xi_31 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, -1 }]; + const double xi_32 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, 0 }]; + const double xi_33 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, -1 }]; + const double xi_34 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_35 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, -1 }]; + const double xi_36 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, 0 }]; + const double xi_37 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 0, 0 }]; + const double xi_38 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 0 }]; + const double xi_39 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 1 }]; + const double xi_40 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, -1 }]; + const double xi_41 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_42 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, -1, 0 }]; + const double xi_43 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 0 }]; + const double xi_44 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, -1 }]; + const double xi_45 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 0 }]; + const double xi_46 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, -1 }]; + const double xi_47 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_48 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, -1 }]; + const double xi_49 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 0 }]; + const double xi_50 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, -1 }]; + for (int ctr_3 = 1; ctr_3 < 16; ctr_3 += 1) + { + for (int ctr_2 = 1; ctr_2 < -ctr_3 + 16; ctr_2 += 1) + { + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + 16; ctr_1 += 1) + { + const double xi_53 = xi_1*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 16) + ((4080) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 15)*(-ctr_3 + 16)*(-ctr_3 + 17)) / (6)) - 1]; + const double xi_64 = xi_2*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4080) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) - 1]; + const double xi_75 = xi_3*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 16) + ((4080) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 15)*(-ctr_3 + 16)*(-ctr_3 + 17)) / (6)) - 1]; + const double xi_86 = xi_4*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4080) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_97 = xi_5*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 16) + ((4080) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 15)*(-ctr_3 + 16)*(-ctr_3 + 17)) / (6))]; + const double xi_99 = xi_6*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4080) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_100 = xi_7*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) - 1]; + const double xi_101 = xi_8*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 16) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 15)*(-ctr_3 + 16)*(-ctr_3 + 17)) / (6)) - 1]; + const double xi_102 = xi_9*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6)) - 1]; + const double xi_54 = xi_10*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) - 1]; + const double xi_55 = xi_11*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_56 = xi_12*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 16) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 15)*(-ctr_3 + 16)*(-ctr_3 + 17)) / (6))]; + const double xi_57 = xi_13*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6))]; + const double xi_58 = xi_14*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_59 = xi_15*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6)) - 1]; + const double xi_60 = xi_16*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) - 1]; + const double xi_61 = xi_17*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 18) + ((4896) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6)) - 1]; + const double xi_62 = xi_18*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_63 = xi_19*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6))]; + const double xi_65 = xi_20*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_66 = xi_21*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) - 1]; + const double xi_67 = xi_22*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 16) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 15)*(-ctr_3 + 16)*(-ctr_3 + 17)) / (6)) - 1]; + const double xi_68 = xi_23*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 18) + ((4896) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6)) - 1]; + const double xi_69 = xi_24*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 17) + ((4896) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) - 1]; + const double xi_70 = xi_25*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_71 = xi_26*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 16) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 15)*(-ctr_3 + 16)*(-ctr_3 + 17)) / (6))]; + const double xi_72 = xi_27*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6))]; + const double xi_73 = xi_28*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_74 = xi_29*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6)) - 1]; + const double xi_76 = xi_30*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) - 1]; + const double xi_77 = xi_31*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6))]; + const double xi_78 = xi_32*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_79 = xi_33*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6))]; + const double xi_80 = xi_34*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_81 = xi_35*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6)) + 1]; + const double xi_82 = xi_36*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) + 1]; + const double xi_83 = xi_37*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) - 1]; + const double xi_84 = xi_38*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_85 = xi_39*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 16) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 15)*(-ctr_3 + 16)*(-ctr_3 + 17)) / (6))]; + const double xi_87 = xi_40*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6))]; + const double xi_88 = xi_41*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_89 = xi_42*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) + 1]; + const double xi_90 = xi_43*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) - 1]; + const double xi_91 = xi_44*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 18) + ((4896) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6)) - 1]; + const double xi_92 = xi_45*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_93 = xi_46*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6))]; + const double xi_94 = xi_47*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6))]; + const double xi_95 = xi_48*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 18) + ((4896) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6))]; + const double xi_96 = xi_49*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 17) + ((4896) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 16)*(-ctr_3 + 17)*(-ctr_3 + 18)) / (6)) + 1]; + const double xi_98 = xi_50*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 18) + ((4896) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6)) + 1]; + _data_vertexCellDst[ctr_1 + ctr_2*(-ctr_3 + 18) + ((5814) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 17)*(-ctr_3 + 18)*(-ctr_3 + 19)) / (6))] = xi_100 + xi_101 + xi_102 + xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66 + xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74 + xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82 + xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88 + xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96 + xi_97 + xi_98 + xi_99; + } + } + } +} + +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_5(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +{ + const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; + const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; + const double xi_3 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, 0 }]; + const double xi_4 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, -1 }]; + const double xi_5 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, 0 }]; + const double xi_6 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, -1 }]; + const double xi_7 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 0 }]; + const double xi_8 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 1 }]; + const double xi_9 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, -1 }]; + const double xi_10 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, 0 }]; + const double xi_11 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 0 }]; + const double xi_12 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 1 }]; + const double xi_13 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, -1 }]; + const double xi_14 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_15 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, -1 }]; + const double xi_16 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, 0 }]; + const double xi_17 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 1, -1 }]; + const double xi_18 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, -1, 0 }]; + const double xi_19 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, -1 }]; + const double xi_20 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_21 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 0 }]; + const double xi_22 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 1 }]; + const double xi_23 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, -1 }]; + const double xi_24 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, 0 }]; + const double xi_25 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 0 }]; + const double xi_26 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 1 }]; + const double xi_27 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, -1 }]; + const double xi_28 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_29 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, -1 }]; + const double xi_30 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, 0 }]; + const double xi_31 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, -1 }]; + const double xi_32 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, 0 }]; + const double xi_33 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, -1 }]; + const double xi_34 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_35 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, -1 }]; + const double xi_36 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, 0 }]; + const double xi_37 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 0, 0 }]; + const double xi_38 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 0 }]; + const double xi_39 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 1 }]; + const double xi_40 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, -1 }]; + const double xi_41 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_42 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, -1, 0 }]; + const double xi_43 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 0 }]; + const double xi_44 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, -1 }]; + const double xi_45 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 0 }]; + const double xi_46 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, -1 }]; + const double xi_47 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_48 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, -1 }]; + const double xi_49 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 0 }]; + const double xi_50 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, -1 }]; + for (int ctr_3 = 1; ctr_3 < 32; ctr_3 += 1) + { + for (int ctr_2 = 1; ctr_2 < -ctr_3 + 32; ctr_2 += 1) + { + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + 32; ctr_1 += 1) + { + const double xi_53 = xi_1*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 32) + ((32736) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 31)*(-ctr_3 + 32)*(-ctr_3 + 33)) / (6)) - 1]; + const double xi_64 = xi_2*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 33) + ((32736) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) - 1]; + const double xi_75 = xi_3*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 32) + ((32736) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 31)*(-ctr_3 + 32)*(-ctr_3 + 33)) / (6)) - 1]; + const double xi_86 = xi_4*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((32736) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_97 = xi_5*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 32) + ((32736) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 31)*(-ctr_3 + 32)*(-ctr_3 + 33)) / (6))]; + const double xi_99 = xi_6*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 33) + ((32736) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_100 = xi_7*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) - 1]; + const double xi_101 = xi_8*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 32) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 31)*(-ctr_3 + 32)*(-ctr_3 + 33)) / (6)) - 1]; + const double xi_102 = xi_9*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6)) - 1]; + const double xi_54 = xi_10*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) - 1]; + const double xi_55 = xi_11*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_56 = xi_12*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 32) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 31)*(-ctr_3 + 32)*(-ctr_3 + 33)) / (6))]; + const double xi_57 = xi_13*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6))]; + const double xi_58 = xi_14*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_59 = xi_15*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6)) - 1]; + const double xi_60 = xi_16*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) - 1]; + const double xi_61 = xi_17*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 34) + ((35904) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6)) - 1]; + const double xi_62 = xi_18*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_63 = xi_19*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6))]; + const double xi_65 = xi_20*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_66 = xi_21*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) - 1]; + const double xi_67 = xi_22*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 32) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 31)*(-ctr_3 + 32)*(-ctr_3 + 33)) / (6)) - 1]; + const double xi_68 = xi_23*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 34) + ((35904) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6)) - 1]; + const double xi_69 = xi_24*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 33) + ((35904) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) - 1]; + const double xi_70 = xi_25*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_71 = xi_26*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 32) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 31)*(-ctr_3 + 32)*(-ctr_3 + 33)) / (6))]; + const double xi_72 = xi_27*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6))]; + const double xi_73 = xi_28*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_74 = xi_29*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6)) - 1]; + const double xi_76 = xi_30*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) - 1]; + const double xi_77 = xi_31*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6))]; + const double xi_78 = xi_32*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_79 = xi_33*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6))]; + const double xi_80 = xi_34*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_81 = xi_35*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6)) + 1]; + const double xi_82 = xi_36*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) + 1]; + const double xi_83 = xi_37*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) - 1]; + const double xi_84 = xi_38*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_85 = xi_39*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 32) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 31)*(-ctr_3 + 32)*(-ctr_3 + 33)) / (6))]; + const double xi_87 = xi_40*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6))]; + const double xi_88 = xi_41*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_89 = xi_42*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) + 1]; + const double xi_90 = xi_43*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) - 1]; + const double xi_91 = xi_44*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 34) + ((35904) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6)) - 1]; + const double xi_92 = xi_45*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_93 = xi_46*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6))]; + const double xi_94 = xi_47*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6))]; + const double xi_95 = xi_48*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 34) + ((35904) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6))]; + const double xi_96 = xi_49*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 33) + ((35904) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 32)*(-ctr_3 + 33)*(-ctr_3 + 34)) / (6)) + 1]; + const double xi_98 = xi_50*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 34) + ((35904) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6)) + 1]; + _data_vertexCellDst[ctr_1 + ctr_2*(-ctr_3 + 34) + ((39270) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 33)*(-ctr_3 + 34)*(-ctr_3 + 35)) / (6))] = xi_100 + xi_101 + xi_102 + xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66 + xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74 + xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82 + xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88 + xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96 + xi_97 + xi_98 + xi_99; + } + } + } +} + +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_6(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +{ + const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; + const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; + const double xi_3 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, 0 }]; + const double xi_4 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, -1 }]; + const double xi_5 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, 0 }]; + const double xi_6 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, -1 }]; + const double xi_7 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 0 }]; + const double xi_8 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 1 }]; + const double xi_9 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, -1 }]; + const double xi_10 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, 0 }]; + const double xi_11 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 0 }]; + const double xi_12 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 1 }]; + const double xi_13 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, -1 }]; + const double xi_14 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_15 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, -1 }]; + const double xi_16 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, 0 }]; + const double xi_17 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 1, -1 }]; + const double xi_18 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, -1, 0 }]; + const double xi_19 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, -1 }]; + const double xi_20 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_21 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 0 }]; + const double xi_22 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 1 }]; + const double xi_23 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, -1 }]; + const double xi_24 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, 0 }]; + const double xi_25 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 0 }]; + const double xi_26 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 1 }]; + const double xi_27 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, -1 }]; + const double xi_28 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_29 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, -1 }]; + const double xi_30 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, 0 }]; + const double xi_31 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, -1 }]; + const double xi_32 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, 0 }]; + const double xi_33 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, -1 }]; + const double xi_34 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_35 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, -1 }]; + const double xi_36 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, 0 }]; + const double xi_37 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 0, 0 }]; + const double xi_38 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 0 }]; + const double xi_39 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 1 }]; + const double xi_40 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, -1 }]; + const double xi_41 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_42 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, -1, 0 }]; + const double xi_43 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 0 }]; + const double xi_44 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, -1 }]; + const double xi_45 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 0 }]; + const double xi_46 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, -1 }]; + const double xi_47 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_48 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, -1 }]; + const double xi_49 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 0 }]; + const double xi_50 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, -1 }]; + for (int ctr_3 = 1; ctr_3 < 64; ctr_3 += 1) + { + for (int ctr_2 = 1; ctr_2 < -ctr_3 + 64; ctr_2 += 1) + { + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + 64; ctr_1 += 1) + { + const double xi_53 = xi_1*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 64) + ((262080) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 63)*(-ctr_3 + 64)*(-ctr_3 + 65)) / (6)) - 1]; + const double xi_64 = xi_2*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 65) + ((262080) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) - 1]; + const double xi_75 = xi_3*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 64) + ((262080) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 63)*(-ctr_3 + 64)*(-ctr_3 + 65)) / (6)) - 1]; + const double xi_86 = xi_4*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((262080) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_97 = xi_5*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 64) + ((262080) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 63)*(-ctr_3 + 64)*(-ctr_3 + 65)) / (6))]; + const double xi_99 = xi_6*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 65) + ((262080) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_100 = xi_7*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) - 1]; + const double xi_101 = xi_8*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 64) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 63)*(-ctr_3 + 64)*(-ctr_3 + 65)) / (6)) - 1]; + const double xi_102 = xi_9*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6)) - 1]; + const double xi_54 = xi_10*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) - 1]; + const double xi_55 = xi_11*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_56 = xi_12*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 64) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 63)*(-ctr_3 + 64)*(-ctr_3 + 65)) / (6))]; + const double xi_57 = xi_13*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6))]; + const double xi_58 = xi_14*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_59 = xi_15*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6)) - 1]; + const double xi_60 = xi_16*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) - 1]; + const double xi_61 = xi_17*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 66) + ((274560) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6)) - 1]; + const double xi_62 = xi_18*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_63 = xi_19*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6))]; + const double xi_65 = xi_20*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_66 = xi_21*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) - 1]; + const double xi_67 = xi_22*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 64) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 63)*(-ctr_3 + 64)*(-ctr_3 + 65)) / (6)) - 1]; + const double xi_68 = xi_23*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 66) + ((274560) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6)) - 1]; + const double xi_69 = xi_24*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 65) + ((274560) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) - 1]; + const double xi_70 = xi_25*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_71 = xi_26*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 64) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 63)*(-ctr_3 + 64)*(-ctr_3 + 65)) / (6))]; + const double xi_72 = xi_27*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6))]; + const double xi_73 = xi_28*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_74 = xi_29*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6)) - 1]; + const double xi_76 = xi_30*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) - 1]; + const double xi_77 = xi_31*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6))]; + const double xi_78 = xi_32*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_79 = xi_33*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6))]; + const double xi_80 = xi_34*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_81 = xi_35*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6)) + 1]; + const double xi_82 = xi_36*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) + 1]; + const double xi_83 = xi_37*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) - 1]; + const double xi_84 = xi_38*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_85 = xi_39*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 64) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 63)*(-ctr_3 + 64)*(-ctr_3 + 65)) / (6))]; + const double xi_87 = xi_40*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6))]; + const double xi_88 = xi_41*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_89 = xi_42*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) + 1]; + const double xi_90 = xi_43*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) - 1]; + const double xi_91 = xi_44*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 66) + ((274560) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6)) - 1]; + const double xi_92 = xi_45*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_93 = xi_46*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6))]; + const double xi_94 = xi_47*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6))]; + const double xi_95 = xi_48*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 66) + ((274560) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6))]; + const double xi_96 = xi_49*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 65) + ((274560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 64)*(-ctr_3 + 65)*(-ctr_3 + 66)) / (6)) + 1]; + const double xi_98 = xi_50*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 66) + ((274560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6)) + 1]; + _data_vertexCellDst[ctr_1 + ctr_2*(-ctr_3 + 66) + ((287430) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 65)*(-ctr_3 + 66)*(-ctr_3 + 67)) / (6))] = xi_100 + xi_101 + xi_102 + xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66 + xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74 + xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82 + xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88 + xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96 + xi_97 + xi_98 + xi_99; + } + } + } +} + +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_7(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +{ + const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; + const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; + const double xi_3 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, 0 }]; + const double xi_4 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, -1 }]; + const double xi_5 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, 0 }]; + const double xi_6 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, -1 }]; + const double xi_7 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 0 }]; + const double xi_8 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 1 }]; + const double xi_9 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, -1 }]; + const double xi_10 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, 0 }]; + const double xi_11 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 0 }]; + const double xi_12 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 1 }]; + const double xi_13 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, -1 }]; + const double xi_14 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_15 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, -1 }]; + const double xi_16 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, 0 }]; + const double xi_17 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 1, -1 }]; + const double xi_18 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, -1, 0 }]; + const double xi_19 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, -1 }]; + const double xi_20 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_21 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 0 }]; + const double xi_22 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 1 }]; + const double xi_23 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, -1 }]; + const double xi_24 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, 0 }]; + const double xi_25 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 0 }]; + const double xi_26 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 1 }]; + const double xi_27 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, -1 }]; + const double xi_28 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_29 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, -1 }]; + const double xi_30 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, 0 }]; + const double xi_31 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, -1 }]; + const double xi_32 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, 0 }]; + const double xi_33 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, -1 }]; + const double xi_34 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_35 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, -1 }]; + const double xi_36 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, 0 }]; + const double xi_37 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 0, 0 }]; + const double xi_38 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 0 }]; + const double xi_39 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 1 }]; + const double xi_40 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, -1 }]; + const double xi_41 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_42 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, -1, 0 }]; + const double xi_43 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 0 }]; + const double xi_44 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, -1 }]; + const double xi_45 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 0 }]; + const double xi_46 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, -1 }]; + const double xi_47 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_48 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, -1 }]; + const double xi_49 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 0 }]; + const double xi_50 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, -1 }]; + for (int ctr_3 = 1; ctr_3 < 128; ctr_3 += 1) + { + for (int ctr_2 = 1; ctr_2 < -ctr_3 + 128; ctr_2 += 1) + { + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + 128; ctr_1 += 1) + { + const double xi_53 = xi_1*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 128) + ((2097024) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 127)*(-ctr_3 + 128)*(-ctr_3 + 129)) / (6)) - 1]; + const double xi_64 = xi_2*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2097024) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) - 1]; + const double xi_75 = xi_3*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 128) + ((2097024) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 127)*(-ctr_3 + 128)*(-ctr_3 + 129)) / (6)) - 1]; + const double xi_86 = xi_4*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2097024) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_97 = xi_5*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 128) + ((2097024) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 127)*(-ctr_3 + 128)*(-ctr_3 + 129)) / (6))]; + const double xi_99 = xi_6*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2097024) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_100 = xi_7*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) - 1]; + const double xi_101 = xi_8*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 128) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 127)*(-ctr_3 + 128)*(-ctr_3 + 129)) / (6)) - 1]; + const double xi_102 = xi_9*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6)) - 1]; + const double xi_54 = xi_10*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) - 1]; + const double xi_55 = xi_11*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_56 = xi_12*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 128) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 127)*(-ctr_3 + 128)*(-ctr_3 + 129)) / (6))]; + const double xi_57 = xi_13*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6))]; + const double xi_58 = xi_14*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_59 = xi_15*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6)) - 1]; + const double xi_60 = xi_16*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) - 1]; + const double xi_61 = xi_17*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 130) + ((2146560) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6)) - 1]; + const double xi_62 = xi_18*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_63 = xi_19*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6))]; + const double xi_65 = xi_20*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_66 = xi_21*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) - 1]; + const double xi_67 = xi_22*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 128) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 127)*(-ctr_3 + 128)*(-ctr_3 + 129)) / (6)) - 1]; + const double xi_68 = xi_23*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 130) + ((2146560) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6)) - 1]; + const double xi_69 = xi_24*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 129) + ((2146560) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) - 1]; + const double xi_70 = xi_25*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_71 = xi_26*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 128) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 127)*(-ctr_3 + 128)*(-ctr_3 + 129)) / (6))]; + const double xi_72 = xi_27*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6))]; + const double xi_73 = xi_28*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_74 = xi_29*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6)) - 1]; + const double xi_76 = xi_30*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) - 1]; + const double xi_77 = xi_31*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6))]; + const double xi_78 = xi_32*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_79 = xi_33*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6))]; + const double xi_80 = xi_34*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_81 = xi_35*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6)) + 1]; + const double xi_82 = xi_36*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) + 1]; + const double xi_83 = xi_37*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) - 1]; + const double xi_84 = xi_38*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_85 = xi_39*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 128) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 127)*(-ctr_3 + 128)*(-ctr_3 + 129)) / (6))]; + const double xi_87 = xi_40*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6))]; + const double xi_88 = xi_41*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_89 = xi_42*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) + 1]; + const double xi_90 = xi_43*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) - 1]; + const double xi_91 = xi_44*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 130) + ((2146560) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6)) - 1]; + const double xi_92 = xi_45*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_93 = xi_46*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6))]; + const double xi_94 = xi_47*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6))]; + const double xi_95 = xi_48*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 130) + ((2146560) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6))]; + const double xi_96 = xi_49*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 129) + ((2146560) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 128)*(-ctr_3 + 129)*(-ctr_3 + 130)) / (6)) + 1]; + const double xi_98 = xi_50*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2146560) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6)) + 1]; + _data_vertexCellDst[ctr_1 + ctr_2*(-ctr_3 + 130) + ((2196870) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 129)*(-ctr_3 + 130)*(-ctr_3 + 131)) / (6))] = xi_100 + xi_101 + xi_102 + xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66 + xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74 + xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82 + xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88 + xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96 + xi_97 + xi_98 + xi_99; + } + } + } +} + +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_8(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +{ + const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; + const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; + const double xi_3 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, 0 }]; + const double xi_4 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, -1 }]; + const double xi_5 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, 0 }]; + const double xi_6 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, -1 }]; + const double xi_7 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 0 }]; + const double xi_8 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 1 }]; + const double xi_9 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, -1 }]; + const double xi_10 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, 0 }]; + const double xi_11 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 0 }]; + const double xi_12 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 1 }]; + const double xi_13 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, -1 }]; + const double xi_14 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_15 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, -1 }]; + const double xi_16 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, 0 }]; + const double xi_17 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 1, -1 }]; + const double xi_18 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, -1, 0 }]; + const double xi_19 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, -1 }]; + const double xi_20 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_21 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 0 }]; + const double xi_22 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 1 }]; + const double xi_23 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, -1 }]; + const double xi_24 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, 0 }]; + const double xi_25 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 0 }]; + const double xi_26 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 1 }]; + const double xi_27 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, -1 }]; + const double xi_28 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_29 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, -1 }]; + const double xi_30 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, 0 }]; + const double xi_31 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, -1 }]; + const double xi_32 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, 0 }]; + const double xi_33 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, -1 }]; + const double xi_34 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_35 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, -1 }]; + const double xi_36 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, 0 }]; + const double xi_37 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 0, 0 }]; + const double xi_38 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 0 }]; + const double xi_39 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 1 }]; + const double xi_40 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, -1 }]; + const double xi_41 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_42 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, -1, 0 }]; + const double xi_43 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 0 }]; + const double xi_44 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, -1 }]; + const double xi_45 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 0 }]; + const double xi_46 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, -1 }]; + const double xi_47 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_48 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, -1 }]; + const double xi_49 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 0 }]; + const double xi_50 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, -1 }]; + for (int ctr_3 = 1; ctr_3 < 256; ctr_3 += 1) + { + for (int ctr_2 = 1; ctr_2 < -ctr_3 + 256; ctr_2 += 1) + { + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + 256; ctr_1 += 1) + { + const double xi_53 = xi_1*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 256) + ((16776960) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 255)*(-ctr_3 + 256)*(-ctr_3 + 257)) / (6)) - 1]; + const double xi_64 = xi_2*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16776960) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) - 1]; + const double xi_75 = xi_3*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 256) + ((16776960) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 255)*(-ctr_3 + 256)*(-ctr_3 + 257)) / (6)) - 1]; + const double xi_86 = xi_4*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16776960) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_97 = xi_5*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 256) + ((16776960) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 255)*(-ctr_3 + 256)*(-ctr_3 + 257)) / (6))]; + const double xi_99 = xi_6*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16776960) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_100 = xi_7*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) - 1]; + const double xi_101 = xi_8*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 256) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 255)*(-ctr_3 + 256)*(-ctr_3 + 257)) / (6)) - 1]; + const double xi_102 = xi_9*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6)) - 1]; + const double xi_54 = xi_10*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) - 1]; + const double xi_55 = xi_11*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_56 = xi_12*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 256) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 255)*(-ctr_3 + 256)*(-ctr_3 + 257)) / (6))]; + const double xi_57 = xi_13*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6))]; + const double xi_58 = xi_14*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_59 = xi_15*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6)) - 1]; + const double xi_60 = xi_16*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) - 1]; + const double xi_61 = xi_17*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 258) + ((16974336) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6)) - 1]; + const double xi_62 = xi_18*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_63 = xi_19*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6))]; + const double xi_65 = xi_20*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_66 = xi_21*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) - 1]; + const double xi_67 = xi_22*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 256) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 255)*(-ctr_3 + 256)*(-ctr_3 + 257)) / (6)) - 1]; + const double xi_68 = xi_23*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 258) + ((16974336) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6)) - 1]; + const double xi_69 = xi_24*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 257) + ((16974336) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) - 1]; + const double xi_70 = xi_25*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_71 = xi_26*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 256) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 255)*(-ctr_3 + 256)*(-ctr_3 + 257)) / (6))]; + const double xi_72 = xi_27*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6))]; + const double xi_73 = xi_28*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_74 = xi_29*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6)) - 1]; + const double xi_76 = xi_30*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) - 1]; + const double xi_77 = xi_31*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6))]; + const double xi_78 = xi_32*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_79 = xi_33*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6))]; + const double xi_80 = xi_34*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_81 = xi_35*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6)) + 1]; + const double xi_82 = xi_36*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) + 1]; + const double xi_83 = xi_37*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) - 1]; + const double xi_84 = xi_38*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_85 = xi_39*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 256) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 255)*(-ctr_3 + 256)*(-ctr_3 + 257)) / (6))]; + const double xi_87 = xi_40*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6))]; + const double xi_88 = xi_41*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_89 = xi_42*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) + 1]; + const double xi_90 = xi_43*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) - 1]; + const double xi_91 = xi_44*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 258) + ((16974336) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6)) - 1]; + const double xi_92 = xi_45*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_93 = xi_46*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6))]; + const double xi_94 = xi_47*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6))]; + const double xi_95 = xi_48*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 258) + ((16974336) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6))]; + const double xi_96 = xi_49*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 257) + ((16974336) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 256)*(-ctr_3 + 257)*(-ctr_3 + 258)) / (6)) + 1]; + const double xi_98 = xi_50*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 258) + ((16974336) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6)) + 1]; + _data_vertexCellDst[ctr_1 + ctr_2*(-ctr_3 + 258) + ((17173254) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 257)*(-ctr_3 + 258)*(-ctr_3 + 259)) / (6))] = xi_100 + xi_101 + xi_102 + xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66 + xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74 + xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82 + xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88 + xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96 + xi_97 + xi_98 + xi_99; + } + } + } +} + +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_9(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +{ + const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; + const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; + const double xi_3 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, 0 }]; + const double xi_4 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, -1 }]; + const double xi_5 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, 0 }]; + const double xi_6 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, -1 }]; + const double xi_7 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 0 }]; + const double xi_8 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 1 }]; + const double xi_9 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, -1 }]; + const double xi_10 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, 0 }]; + const double xi_11 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 0 }]; + const double xi_12 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 1 }]; + const double xi_13 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, -1 }]; + const double xi_14 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_15 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, -1 }]; + const double xi_16 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, 0 }]; + const double xi_17 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 1, -1 }]; + const double xi_18 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, -1, 0 }]; + const double xi_19 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, -1 }]; + const double xi_20 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_21 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 0 }]; + const double xi_22 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 1 }]; + const double xi_23 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, -1 }]; + const double xi_24 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, 0 }]; + const double xi_25 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 0 }]; + const double xi_26 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 1 }]; + const double xi_27 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, -1 }]; + const double xi_28 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_29 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, -1 }]; + const double xi_30 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, 0 }]; + const double xi_31 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, -1 }]; + const double xi_32 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, 0 }]; + const double xi_33 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, -1 }]; + const double xi_34 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_35 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, -1 }]; + const double xi_36 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, 0 }]; + const double xi_37 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 0, 0 }]; + const double xi_38 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 0 }]; + const double xi_39 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 1 }]; + const double xi_40 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, -1 }]; + const double xi_41 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_42 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, -1, 0 }]; + const double xi_43 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 0 }]; + const double xi_44 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, -1 }]; + const double xi_45 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 0 }]; + const double xi_46 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, -1 }]; + const double xi_47 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_48 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, -1 }]; + const double xi_49 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 0 }]; + const double xi_50 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, -1 }]; + for (int ctr_3 = 1; ctr_3 < 512; ctr_3 += 1) + { + for (int ctr_2 = 1; ctr_2 < -ctr_3 + 512; ctr_2 += 1) + { + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + 512; ctr_1 += 1) + { + const double xi_53 = xi_1*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 512) + ((134217216) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 511)*(-ctr_3 + 512)*(-ctr_3 + 513)) / (6)) - 1]; + const double xi_64 = xi_2*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 513) + ((134217216) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) - 1]; + const double xi_75 = xi_3*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 512) + ((134217216) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 511)*(-ctr_3 + 512)*(-ctr_3 + 513)) / (6)) - 1]; + const double xi_86 = xi_4*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((134217216) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_97 = xi_5*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 512) + ((134217216) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 511)*(-ctr_3 + 512)*(-ctr_3 + 513)) / (6))]; + const double xi_99 = xi_6*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + 513) + ((134217216) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_100 = xi_7*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) - 1]; + const double xi_101 = xi_8*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 512) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 511)*(-ctr_3 + 512)*(-ctr_3 + 513)) / (6)) - 1]; + const double xi_102 = xi_9*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6)) - 1]; + const double xi_54 = xi_10*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) - 1]; + const double xi_55 = xi_11*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_56 = xi_12*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 512) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 511)*(-ctr_3 + 512)*(-ctr_3 + 513)) / (6))]; + const double xi_57 = xi_13*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6))]; + const double xi_58 = xi_14*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_59 = xi_15*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6)) - 1]; + const double xi_60 = xi_16*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) - 1]; + const double xi_61 = xi_17*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 514) + ((135005184) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6)) - 1]; + const double xi_62 = xi_18*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_63 = xi_19*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6))]; + const double xi_65 = xi_20*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_66 = xi_21*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) - 1]; + const double xi_67 = xi_22*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 512) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 511)*(-ctr_3 + 512)*(-ctr_3 + 513)) / (6)) - 1]; + const double xi_68 = xi_23*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 514) + ((135005184) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6)) - 1]; + const double xi_69 = xi_24*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 513) + ((135005184) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) - 1]; + const double xi_70 = xi_25*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_71 = xi_26*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 512) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 511)*(-ctr_3 + 512)*(-ctr_3 + 513)) / (6))]; + const double xi_72 = xi_27*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6))]; + const double xi_73 = xi_28*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_74 = xi_29*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6)) - 1]; + const double xi_76 = xi_30*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) - 1]; + const double xi_77 = xi_31*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6))]; + const double xi_78 = xi_32*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_79 = xi_33*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6))]; + const double xi_80 = xi_34*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_81 = xi_35*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6)) + 1]; + const double xi_82 = xi_36*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) + 1]; + const double xi_83 = xi_37*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) - 1]; + const double xi_84 = xi_38*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_85 = xi_39*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 512) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 511)*(-ctr_3 + 512)*(-ctr_3 + 513)) / (6))]; + const double xi_87 = xi_40*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6))]; + const double xi_88 = xi_41*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_89 = xi_42*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) + 1]; + const double xi_90 = xi_43*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) - 1]; + const double xi_91 = xi_44*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 514) + ((135005184) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6)) - 1]; + const double xi_92 = xi_45*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_93 = xi_46*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6))]; + const double xi_94 = xi_47*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6))]; + const double xi_95 = xi_48*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 514) + ((135005184) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6))]; + const double xi_96 = xi_49*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 513) + ((135005184) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 512)*(-ctr_3 + 513)*(-ctr_3 + 514)) / (6)) + 1]; + const double xi_98 = xi_50*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135005184) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6)) + 1]; + _data_vertexCellDst[ctr_1 + ctr_2*(-ctr_3 + 514) + ((135796230) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 513)*(-ctr_3 + 514)*(-ctr_3 + 515)) / (6))] = xi_100 + xi_101 + xi_102 + xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66 + xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74 + xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82 + xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88 + xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96 + xi_97 + xi_98 + xi_99; + } + } + } +} + +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_any(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level) +{ + const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; + const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; + const double xi_3 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, 0 }]; + const double xi_4 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, -1 }]; + const double xi_5 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, -1, 0 }]; + const double xi_6 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, -1 }]; + const double xi_7 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 0 }]; + const double xi_8 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, -1, 1 }]; + const double xi_9 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, -1 }]; + const double xi_10 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ -1, 0, 0 }]; + const double xi_11 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 0 }]; + const double xi_12 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, -1, 1 }]; + const double xi_13 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, -1 }]; + const double xi_14 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_15 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, -1 }]; + const double xi_16 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 0, 0 }]; + const double xi_17 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ -1, 1, -1 }]; + const double xi_18 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, -1, 0 }]; + const double xi_19 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, -1 }]; + const double xi_20 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_21 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 0 }]; + const double xi_22 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 0, 1 }]; + const double xi_23 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, -1 }]; + const double xi_24 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ -1, 1, 0 }]; + const double xi_25 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 0 }]; + const double xi_26 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, -1, 1 }]; + const double xi_27 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, -1 }]; + const double xi_28 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_29 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, -1 }]; + const double xi_30 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 0, 0 }]; + const double xi_31 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, -1 }]; + const double xi_32 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, -1, 0 }]; + const double xi_33 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, -1 }]; + const double xi_34 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_35 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, -1 }]; + const double xi_36 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, -1, 0 }]; + const double xi_37 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 0, 0 }]; + const double xi_38 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 0 }]; + const double xi_39 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, -1, 1 }]; + const double xi_40 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, -1 }]; + const double xi_41 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_42 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, -1, 0 }]; + const double xi_43 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 0 }]; + const double xi_44 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, -1 }]; + const double xi_45 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 0 }]; + const double xi_46 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, -1 }]; + const double xi_47 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_48 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, -1 }]; + const double xi_49 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 0 }]; + const double xi_50 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, -1 }]; + for (int ctr_3 = 1; ctr_3 < (1 << (level)); ctr_3 += 1) + { + for (int ctr_2 = 1; ctr_2 < -ctr_3 + (1 << (level)); ctr_2 += 1) + { + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + (1 << (level)); ctr_1 += 1) + { + const double xi_53 = xi_1*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6)) - 1]; + const double xi_64 = xi_2*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6)) - 1]; + const double xi_75 = xi_3*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6)) - 1]; + const double xi_86 = xi_4*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))]; + const double xi_97 = xi_5*_data_edgeCellSrc_XYZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))]; + const double xi_99 = xi_6*_data_edgeCellSrc_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))]; + const double xi_100 = xi_7*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - 1]; + const double xi_101 = xi_8*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - 1]; + const double xi_102 = xi_9*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_54 = xi_10*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - 1]; + const double xi_55 = xi_11*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_56 = xi_12*_data_edgeCellSrc_XY[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_57 = xi_13*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_58 = xi_14*_data_edgeCellSrc_XY[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_59 = xi_15*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_60 = xi_16*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - 1]; + const double xi_61 = xi_17*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_62 = xi_18*_data_edgeCellSrc_XZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_63 = xi_19*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_65 = xi_20*_data_edgeCellSrc_XZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_66 = xi_21*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - 1]; + const double xi_67 = xi_22*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - 1]; + const double xi_68 = xi_23*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_69 = xi_24*_data_edgeCellSrc_X[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - 1]; + const double xi_70 = xi_25*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_71 = xi_26*_data_edgeCellSrc_X[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_72 = xi_27*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_73 = xi_28*_data_edgeCellSrc_X[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_74 = xi_29*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_76 = xi_30*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - 1]; + const double xi_77 = xi_31*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 - 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_78 = xi_32*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_79 = xi_33*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_80 = xi_34*_data_edgeCellSrc_YZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_81 = xi_35*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 - 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_82 = xi_36*_data_edgeCellSrc_YZ[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) + 1]; + const double xi_83 = xi_37*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - 1]; + const double xi_84 = xi_38*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_85 = xi_39*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_87 = xi_40*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_88 = xi_41*_data_edgeCellSrc_Y[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_89 = xi_42*_data_edgeCellSrc_Y[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) + 1]; + const double xi_90 = xi_43*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - 1]; + const double xi_91 = xi_44*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_92 = xi_45*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_93 = xi_46*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_94 = xi_47*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))]; + const double xi_95 = xi_48*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_96 = xi_49*_data_edgeCellSrc_Z[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) + 1]; + const double xi_98 = xi_50*_data_edgeCellSrc_Z[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_vertexCellDst[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))] = xi_100 + xi_101 + xi_102 + xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66 + xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74 + xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82 + xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88 + xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96 + xi_97 + xi_98 + xi_99; + } + } + } +} + + +void apply_3D_macrocell_edgedof_to_vertexdof_replace(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level) +{ + switch( level ) + { + case 2: + apply_3D_macrocell_edgedof_to_vertexdof_replace_level_2(_data_edgeCellSrc_X, _data_edgeCellSrc_XY, _data_edgeCellSrc_XYZ, _data_edgeCellSrc_XZ, _data_edgeCellSrc_Y, _data_edgeCellSrc_YZ, _data_edgeCellSrc_Z, _data_vertexCellDst, e2vStencilMap); + break; + case 3: + apply_3D_macrocell_edgedof_to_vertexdof_replace_level_3(_data_edgeCellSrc_X, _data_edgeCellSrc_XY, _data_edgeCellSrc_XYZ, _data_edgeCellSrc_XZ, _data_edgeCellSrc_Y, _data_edgeCellSrc_YZ, _data_edgeCellSrc_Z, _data_vertexCellDst, e2vStencilMap); + break; + case 4: + apply_3D_macrocell_edgedof_to_vertexdof_replace_level_4(_data_edgeCellSrc_X, _data_edgeCellSrc_XY, _data_edgeCellSrc_XYZ, _data_edgeCellSrc_XZ, _data_edgeCellSrc_Y, _data_edgeCellSrc_YZ, _data_edgeCellSrc_Z, _data_vertexCellDst, e2vStencilMap); + break; + case 5: + apply_3D_macrocell_edgedof_to_vertexdof_replace_level_5(_data_edgeCellSrc_X, _data_edgeCellSrc_XY, _data_edgeCellSrc_XYZ, _data_edgeCellSrc_XZ, _data_edgeCellSrc_Y, _data_edgeCellSrc_YZ, _data_edgeCellSrc_Z, _data_vertexCellDst, e2vStencilMap); + break; + case 6: + apply_3D_macrocell_edgedof_to_vertexdof_replace_level_6(_data_edgeCellSrc_X, _data_edgeCellSrc_XY, _data_edgeCellSrc_XYZ, _data_edgeCellSrc_XZ, _data_edgeCellSrc_Y, _data_edgeCellSrc_YZ, _data_edgeCellSrc_Z, _data_vertexCellDst, e2vStencilMap); + break; + case 7: + apply_3D_macrocell_edgedof_to_vertexdof_replace_level_7(_data_edgeCellSrc_X, _data_edgeCellSrc_XY, _data_edgeCellSrc_XYZ, _data_edgeCellSrc_XZ, _data_edgeCellSrc_Y, _data_edgeCellSrc_YZ, _data_edgeCellSrc_Z, _data_vertexCellDst, e2vStencilMap); + break; + case 8: + apply_3D_macrocell_edgedof_to_vertexdof_replace_level_8(_data_edgeCellSrc_X, _data_edgeCellSrc_XY, _data_edgeCellSrc_XYZ, _data_edgeCellSrc_XZ, _data_edgeCellSrc_Y, _data_edgeCellSrc_YZ, _data_edgeCellSrc_Z, _data_vertexCellDst, e2vStencilMap); + break; + case 9: + apply_3D_macrocell_edgedof_to_vertexdof_replace_level_9(_data_edgeCellSrc_X, _data_edgeCellSrc_XY, _data_edgeCellSrc_XYZ, _data_edgeCellSrc_XZ, _data_edgeCellSrc_Y, _data_edgeCellSrc_YZ, _data_edgeCellSrc_Z, _data_vertexCellDst, e2vStencilMap); + break; + default: + apply_3D_macrocell_edgedof_to_vertexdof_replace_level_any(_data_edgeCellSrc_X, _data_edgeCellSrc_XY, _data_edgeCellSrc_XYZ, _data_edgeCellSrc_XZ, _data_edgeCellSrc_Y, _data_edgeCellSrc_YZ, _data_edgeCellSrc_Z, _data_vertexCellDst, e2vStencilMap, level); + break; + } +} + + +} // namespace generated +} // namespace EdgeDoFToVertexDoF +} // namespace hhg \ No newline at end of file diff --git a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroCell3D.hpp b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroCell3D.hpp index 957ce83a3..9de9e35eb 100644 --- a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroCell3D.hpp +++ b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroCell3D.hpp @@ -15,6 +15,8 @@ namespace hhg { namespace VertexDoFToEdgeDoF { namespace generated { +void apply_3D_macrocell_vertexdof_to_edgedof_replace(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap); + void apply_3D_macrocell_vertexdof_to_edgedof_add(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap); } // namespace generated diff --git a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_replace.cpp b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_replace.cpp new file mode 100644 index 000000000..6fe993988 --- /dev/null +++ b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_replace.cpp @@ -0,0 +1,793 @@ + +////////////////////////////////////////////////////////////////////////////// +// This file is generated! To fix issues, please fix them in the generator. // +////////////////////////////////////////////////////////////////////////////// + +#include "GeneratedKernelsVertexToEdgeMacroCell3D.hpp" + +namespace hhg { +namespace VertexDoFToEdgeDoF { +namespace generated { + +static void apply_3D_macrocell_vertexdof_to_edgedof_replace_level_2(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) +{ + const double xi_105 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, 1 }]; + const double xi_106 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 1, 0 }]; + const double xi_107 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 1, 1 }]; + const double xi_108 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 1, 0, 0 }]; + const double xi_109 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 1, 0, 1 }]; + const double xi_110 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 1, 1, 0 }]; + const double xi_133 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 1, 0 }]; + const double xi_134 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 1, 1 }]; + const double xi_135 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_136 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 1 }]; + const double xi_137 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 1, 0 }]; + const double xi_138 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 1, 1 }]; + const double xi_139 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, 0, 0 }]; + const double xi_140 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, 0, 1 }]; + const double xi_165 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_166 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 1 }]; + const double xi_167 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 1, 0 }]; + const double xi_168 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 1, -1, 1 }]; + const double xi_169 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 1, 0, 0 }]; + const double xi_170 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 1, 0, 1 }]; + const double xi_281 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 1 }]; + const double xi_282 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, 0 }]; + const double xi_283 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 1 }]; + const double xi_284 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_285 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 1 }]; + const double xi_286 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, 0 }]; + const double xi_287 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 1 }]; + const double xi_288 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, 0 }]; + const double xi_213 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_214 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 1 }]; + const double xi_215 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 1, -1 }]; + const double xi_216 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 1, 0 }]; + const double xi_217 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 1, 0, 0 }]; + const double xi_218 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 1, 0, 1 }]; + const double xi_219 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 1, 1, -1 }]; + const double xi_220 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 1, 1, 0 }]; + const double xi_341 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 1, 0 }]; + const double xi_342 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_343 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 1 }]; + const double xi_344 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 1, -1 }]; + const double xi_345 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 1, 0 }]; + const double xi_346 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, 0, 0 }]; + const double xi_401 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_402 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 1 }]; + const double xi_403 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 1, -1 }]; + const double xi_404 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 1, 0 }]; + const double xi_405 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 1, -1, 0 }]; + const double xi_406 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 1, -1, 1 }]; + const double xi_407 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 1, 0, -1 }]; + const double xi_408 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 1, 0, 0 }]; + for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) + { + for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) + { + // vertex 0 + for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) + { + const double xi_113 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_114 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_115 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_116 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_117 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_118 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))] = xi_113 + xi_114 + xi_115 + xi_116 + xi_117 + xi_118; + } + // edge 0 + for (int ctr_1 = 1; ctr_1 < 3; ctr_1 += 1) + { + const double xi_149 = xi_133*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_150 = xi_134*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_151 = xi_135*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_152 = xi_136*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_153 = xi_137*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_154 = xi_138*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_155 = xi_139*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_156 = xi_140*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_157 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_158 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_159 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_160 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_161 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_162 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_YZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_149 + xi_150 + xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + } + } + for (int ctr_2 = 1; ctr_2 < -ctr_3 + 3; ctr_2 += 1) + { + // edge 1 + for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) + { + const double xi_179 = xi_165*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_180 = xi_166*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_181 = xi_167*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_182 = xi_168*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_183 = xi_169*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_184 = xi_170*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_185 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_186 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_187 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_188 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_189 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_190 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_XZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_179 + xi_180 + xi_181 + xi_182 + xi_183 + xi_184; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))] = xi_185 + xi_186 + xi_187 + xi_188 + xi_189 + xi_190; + } + // face 0 + for (int ctr_1 = 1; ctr_1 < -ctr_2 + 3; ctr_1 += 1) + { + const double xi_311 = xi_281*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_312 = xi_282*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_313 = xi_283*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_314 = xi_284*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_315 = xi_285*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_316 = xi_286*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_317 = xi_287*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_318 = xi_288*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_319 = xi_165*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_320 = xi_166*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_321 = xi_167*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_322 = xi_168*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_323 = xi_169*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_324 = xi_170*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_325 = xi_133*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_326 = xi_134*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_327 = xi_135*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_328 = xi_136*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_329 = xi_137*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_330 = xi_138*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_331 = xi_139*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_332 = xi_140*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_333 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_334 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_335 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_336 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_337 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_338 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_Z[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_311 + xi_312 + xi_313 + xi_314 + xi_315 + xi_316 + xi_317 + xi_318; + _data_edgeCellDst_XZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_319 + xi_320 + xi_321 + xi_322 + xi_323 + xi_324; + _data_edgeCellDst_YZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_325 + xi_326 + xi_327 + xi_328 + xi_329 + xi_330 + xi_331 + xi_332; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))] = xi_333 + xi_334 + xi_335 + xi_336 + xi_337 + xi_338; + } + // edge 2 + for (int ctr_1 = -ctr_2 + 3; ctr_1 < -ctr_2 + 4; ctr_1 += 1) + { + const double xi_203 = xi_281*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_204 = xi_282*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_205 = xi_283*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_206 = xi_284*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_207 = xi_285*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_208 = xi_286*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_209 = xi_287*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_210 = xi_288*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_Z[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_203 + xi_204 + xi_205 + xi_206 + xi_207 + xi_208 + xi_209 + xi_210; + } + } + } + for (int ctr_3 = 1; ctr_3 < 3; ctr_3 += 1) + { + for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) + { + // edge 3 + for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) + { + const double xi_229 = xi_213*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_230 = xi_214*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_231 = xi_215*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_232 = xi_216*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_233 = xi_217*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_234 = xi_218*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_235 = xi_219*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6)) + 1]; + const double xi_236 = xi_220*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_237 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_238 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_239 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_240 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_241 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_242 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_XY[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_229 + xi_230 + xi_231 + xi_232 + xi_233 + xi_234 + xi_235 + xi_236; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))] = xi_237 + xi_238 + xi_239 + xi_240 + xi_241 + xi_242; + } + // face 1 + for (int ctr_1 = 1; ctr_1 < -ctr_3 + 3; ctr_1 += 1) + { + const double xi_371 = xi_341*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_372 = xi_342*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_373 = xi_343*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_374 = xi_344*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_375 = xi_345*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_376 = xi_346*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_377 = xi_213*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_378 = xi_214*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_379 = xi_215*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_380 = xi_216*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_381 = xi_217*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_382 = xi_218*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_383 = xi_219*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6)) + 1]; + const double xi_384 = xi_220*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_385 = xi_133*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_386 = xi_134*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_387 = xi_135*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_388 = xi_136*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_389 = xi_137*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_390 = xi_138*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_391 = xi_139*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_392 = xi_140*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_393 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_394 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_395 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_396 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_397 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_398 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_Y[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_371 + xi_372 + xi_373 + xi_374 + xi_375 + xi_376; + _data_edgeCellDst_XY[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_377 + xi_378 + xi_379 + xi_380 + xi_381 + xi_382 + xi_383 + xi_384; + _data_edgeCellDst_YZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_385 + xi_386 + xi_387 + xi_388 + xi_389 + xi_390 + xi_391 + xi_392; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))] = xi_393 + xi_394 + xi_395 + xi_396 + xi_397 + xi_398; + } + // edge 4 + for (int ctr_1 = -ctr_3 + 3; ctr_1 < -ctr_3 + 4; ctr_1 += 1) + { + const double xi_253 = xi_341*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_254 = xi_342*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_255 = xi_343*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_256 = xi_344*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_257 = xi_345*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_258 = xi_346*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_Y[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_253 + xi_254 + xi_255 + xi_256 + xi_257 + xi_258; + } + } + for (int ctr_2 = 1; ctr_2 < -ctr_3 + 3; ctr_2 += 1) + { + // face 2 + for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) + { + const double xi_431 = xi_401*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_432 = xi_402*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_433 = xi_403*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_434 = xi_404*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_435 = xi_405*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_436 = xi_406*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_437 = xi_407*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 7) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6)) + 1]; + const double xi_438 = xi_408*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_439 = xi_213*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_440 = xi_214*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_441 = xi_215*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_442 = xi_216*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_443 = xi_217*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_444 = xi_218*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_445 = xi_219*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6)) + 1]; + const double xi_446 = xi_220*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_447 = xi_165*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_448 = xi_166*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_449 = xi_167*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_450 = xi_168*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_451 = xi_169*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_452 = xi_170*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_453 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_454 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_455 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_456 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_457 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_458 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_X[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_431 + xi_432 + xi_433 + xi_434 + xi_435 + xi_436 + xi_437 + xi_438; + _data_edgeCellDst_XY[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_439 + xi_440 + xi_441 + xi_442 + xi_443 + xi_444 + xi_445 + xi_446; + _data_edgeCellDst_XZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_447 + xi_448 + xi_449 + xi_450 + xi_451 + xi_452; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))] = xi_453 + xi_454 + xi_455 + xi_456 + xi_457 + xi_458; + } + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + 3; ctr_1 += 1) + { + const double xi_53 = xi_401*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_54 = xi_402*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_55 = xi_403*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_56 = xi_404*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_57 = xi_405*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_58 = xi_406*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_59 = xi_407*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 7) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6)) + 1]; + const double xi_60 = xi_408*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_66 = xi_341*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_61 = xi_342*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_62 = xi_343*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_63 = xi_344*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_64 = xi_345*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_65 = xi_346*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_67 = xi_281*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_68 = xi_282*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_69 = xi_283*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_70 = xi_284*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_71 = xi_285*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_72 = xi_286*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_73 = xi_287*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_74 = xi_288*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_75 = xi_213*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_76 = xi_214*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_77 = xi_215*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_78 = xi_216*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_79 = xi_217*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_80 = xi_218*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_81 = xi_219*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6)) + 1]; + const double xi_82 = xi_220*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_83 = xi_165*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_84 = xi_166*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_85 = xi_167*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_86 = xi_168*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_87 = xi_169*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_88 = xi_170*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_89 = xi_133*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_90 = xi_134*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_91 = xi_135*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_92 = xi_136*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_93 = xi_137*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_94 = xi_138*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_95 = xi_139*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_96 = xi_140*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_97 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_98 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_99 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 5) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_100 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_101 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_102 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_X[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60; + _data_edgeCellDst_Y[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66; + _data_edgeCellDst_Z[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74; + _data_edgeCellDst_XY[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82; + _data_edgeCellDst_XZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88; + _data_edgeCellDst_YZ[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + 4) + ((60) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 3)*(-ctr_3 + 4)*(-ctr_3 + 5)) / (6))] = xi_100 + xi_101 + xi_102 + xi_97 + xi_98 + xi_99; + } + // face 3 + for (int ctr_1 = -ctr_2 - ctr_3 + 3; ctr_1 < -ctr_2 - ctr_3 + 4; ctr_1 += 1) + { + const double xi_485 = xi_401*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_486 = xi_402*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_487 = xi_403*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_488 = xi_404*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_489 = xi_405*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_490 = xi_406*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_491 = xi_407*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 7) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6)) + 1]; + const double xi_492 = xi_408*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_493 = xi_341*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_494 = xi_342*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_495 = xi_343*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_496 = xi_344*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_497 = xi_345*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_498 = xi_346*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_499 = xi_281*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) - 1]; + const double xi_500 = xi_282*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) - 1]; + const double xi_501 = xi_283*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_502 = xi_284*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_503 = xi_285*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_504 = xi_286*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_505 = xi_287*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_506 = xi_288*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_X[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_485 + xi_486 + xi_487 + xi_488 + xi_489 + xi_490 + xi_491 + xi_492; + _data_edgeCellDst_Y[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_493 + xi_494 + xi_495 + xi_496 + xi_497 + xi_498; + _data_edgeCellDst_Z[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_499 + xi_500 + xi_501 + xi_502 + xi_503 + xi_504 + xi_505 + xi_506; + } + } + for (int ctr_2 = -ctr_3 + 3; ctr_2 < -ctr_3 + 4; ctr_2 += 1) + { + // edge 5 + for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) + { + const double xi_271 = xi_401*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_272 = xi_402*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))]; + const double xi_273 = xi_403*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 7) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6))]; + const double xi_274 = xi_404*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + 6) + ((210) / (6)) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6))]; + const double xi_275 = xi_405*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + const double xi_276 = xi_406*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + 5) + ((210) / (6)) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6)) + 1]; + const double xi_277 = xi_407*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 7) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 6)*(-ctr_3 + 7)*(-ctr_3 + 8)) / (6)) + 1]; + const double xi_278 = xi_408*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + 6) + ((210) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 5)*(-ctr_3 + 6)*(-ctr_3 + 7)) / (6)) + 1]; + _data_edgeCellDst_X[ctr_1 + ctr_2*(-ctr_3 + 5) + ((120) / (6)) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + 4)*(-ctr_3 + 5)*(-ctr_3 + 6)) / (6))] = xi_271 + xi_272 + xi_273 + xi_274 + xi_275 + xi_276 + xi_277 + xi_278; + } + } + } + { + + } +} + +static void apply_3D_macrocell_vertexdof_to_edgedof_replace_level_any(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) +{ + const double xi_105 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, 1 }]; + const double xi_106 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 1, 0 }]; + const double xi_107 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 1, 1 }]; + const double xi_108 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 1, 0, 0 }]; + const double xi_109 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 1, 0, 1 }]; + const double xi_110 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 1, 1, 0 }]; + const double xi_133 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 1, 0 }]; + const double xi_134 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ -1, 1, 1 }]; + const double xi_135 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 0 }]; + const double xi_136 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 0, 1 }]; + const double xi_137 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 1, 0 }]; + const double xi_138 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 0, 1, 1 }]; + const double xi_139 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, 0, 0 }]; + const double xi_140 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::YZ][{ 1, 0, 1 }]; + const double xi_165 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 0 }]; + const double xi_166 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 0, 1 }]; + const double xi_167 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 0, 1, 0 }]; + const double xi_168 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 1, -1, 1 }]; + const double xi_169 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 1, 0, 0 }]; + const double xi_170 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XZ][{ 1, 0, 1 }]; + const double xi_281 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 0, 1 }]; + const double xi_282 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ -1, 1, 0 }]; + const double xi_283 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, -1, 1 }]; + const double xi_284 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 0 }]; + const double xi_285 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 0, 1 }]; + const double xi_286 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 0, 1, 0 }]; + const double xi_287 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, -1, 1 }]; + const double xi_288 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Z][{ 1, 0, 0 }]; + const double xi_213 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; + const double xi_214 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 1 }]; + const double xi_215 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 1, -1 }]; + const double xi_216 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 1, 0 }]; + const double xi_217 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 1, 0, 0 }]; + const double xi_218 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 1, 0, 1 }]; + const double xi_219 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 1, 1, -1 }]; + const double xi_220 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XY][{ 1, 1, 0 }]; + const double xi_341 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ -1, 1, 0 }]; + const double xi_342 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 0 }]; + const double xi_343 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 0, 1 }]; + const double xi_344 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 1, -1 }]; + const double xi_345 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 0, 1, 0 }]; + const double xi_346 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::Y][{ 1, 0, 0 }]; + const double xi_401 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 0 }]; + const double xi_402 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 0, 1 }]; + const double xi_403 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 1, -1 }]; + const double xi_404 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 0, 1, 0 }]; + const double xi_405 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 1, -1, 0 }]; + const double xi_406 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 1, -1, 1 }]; + const double xi_407 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 1, 0, -1 }]; + const double xi_408 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::X][{ 1, 0, 0 }]; + for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) + { + for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) + { + // vertex 0 + for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) + { + const double xi_113 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_114 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_115 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_116 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_117 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_118 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))] = xi_113 + xi_114 + xi_115 + xi_116 + xi_117 + xi_118; + } + // edge 0 + for (int ctr_1 = 1; ctr_1 < (1 << (level)) - 1; ctr_1 += 1) + { + const double xi_149 = xi_133*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_150 = xi_134*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - 1]; + const double xi_151 = xi_135*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_152 = xi_136*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_153 = xi_137*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_154 = xi_138*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_155 = xi_139*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_156 = xi_140*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_157 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_158 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_159 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_160 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_161 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_162 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_YZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_149 + xi_150 + xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + } + } + for (int ctr_2 = 1; ctr_2 < -ctr_3 + (1 << (level)) - 1; ctr_2 += 1) + { + // edge 1 + for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) + { + const double xi_179 = xi_165*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_180 = xi_166*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_181 = xi_167*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_182 = xi_168*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_183 = xi_169*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_184 = xi_170*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_185 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_186 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_187 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_188 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_189 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_190 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_XZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_179 + xi_180 + xi_181 + xi_182 + xi_183 + xi_184; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))] = xi_185 + xi_186 + xi_187 + xi_188 + xi_189 + xi_190; + } + // face 0 + for (int ctr_1 = 1; ctr_1 < -ctr_2 + (1 << (level)) - 1; ctr_1 += 1) + { + const double xi_311 = xi_281*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - 1]; + const double xi_312 = xi_282*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_313 = xi_283*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_314 = xi_284*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_315 = xi_285*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_316 = xi_286*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_317 = xi_287*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_318 = xi_288*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_319 = xi_165*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_320 = xi_166*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_321 = xi_167*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_322 = xi_168*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_323 = xi_169*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_324 = xi_170*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_325 = xi_133*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_326 = xi_134*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - 1]; + const double xi_327 = xi_135*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_328 = xi_136*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_329 = xi_137*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_330 = xi_138*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_331 = xi_139*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_332 = xi_140*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_333 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_334 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_335 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_336 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_337 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_338 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_Z[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_311 + xi_312 + xi_313 + xi_314 + xi_315 + xi_316 + xi_317 + xi_318; + _data_edgeCellDst_XZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_319 + xi_320 + xi_321 + xi_322 + xi_323 + xi_324; + _data_edgeCellDst_YZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_325 + xi_326 + xi_327 + xi_328 + xi_329 + xi_330 + xi_331 + xi_332; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))] = xi_333 + xi_334 + xi_335 + xi_336 + xi_337 + xi_338; + } + // edge 2 + for (int ctr_1 = -ctr_2 + (1 << (level)) - 1; ctr_1 < -ctr_2 + (1 << (level)); ctr_1 += 1) + { + const double xi_203 = xi_281*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - 1]; + const double xi_204 = xi_282*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_205 = xi_283*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_206 = xi_284*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_207 = xi_285*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_208 = xi_286*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_209 = xi_287*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_210 = xi_288*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_Z[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_203 + xi_204 + xi_205 + xi_206 + xi_207 + xi_208 + xi_209 + xi_210; + } + } + } + for (int ctr_3 = 1; ctr_3 < (1 << (level)) - 1; ctr_3 += 1) + { + for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) + { + // edge 3 + for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) + { + const double xi_229 = xi_213*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_230 = xi_214*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_231 = xi_215*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_232 = xi_216*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_233 = xi_217*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_234 = xi_218*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_235 = xi_219*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6)) + 1]; + const double xi_236 = xi_220*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_237 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_238 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_239 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_240 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_241 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_242 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_XY[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_229 + xi_230 + xi_231 + xi_232 + xi_233 + xi_234 + xi_235 + xi_236; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))] = xi_237 + xi_238 + xi_239 + xi_240 + xi_241 + xi_242; + } + // face 1 + for (int ctr_1 = 1; ctr_1 < -ctr_3 + (1 << (level)) - 1; ctr_1 += 1) + { + const double xi_371 = xi_341*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_372 = xi_342*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_373 = xi_343*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_374 = xi_344*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_375 = xi_345*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_376 = xi_346*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_377 = xi_213*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_378 = xi_214*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_379 = xi_215*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_380 = xi_216*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_381 = xi_217*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_382 = xi_218*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_383 = xi_219*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6)) + 1]; + const double xi_384 = xi_220*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_385 = xi_133*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_386 = xi_134*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - 1]; + const double xi_387 = xi_135*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_388 = xi_136*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_389 = xi_137*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_390 = xi_138*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_391 = xi_139*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_392 = xi_140*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_393 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_394 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_395 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_396 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_397 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_398 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_Y[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_371 + xi_372 + xi_373 + xi_374 + xi_375 + xi_376; + _data_edgeCellDst_XY[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_377 + xi_378 + xi_379 + xi_380 + xi_381 + xi_382 + xi_383 + xi_384; + _data_edgeCellDst_YZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_385 + xi_386 + xi_387 + xi_388 + xi_389 + xi_390 + xi_391 + xi_392; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))] = xi_393 + xi_394 + xi_395 + xi_396 + xi_397 + xi_398; + } + // edge 4 + for (int ctr_1 = -ctr_3 + (1 << (level)) - 1; ctr_1 < -ctr_3 + (1 << (level)); ctr_1 += 1) + { + const double xi_253 = xi_341*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_254 = xi_342*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_255 = xi_343*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_256 = xi_344*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_257 = xi_345*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_258 = xi_346*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_Y[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_253 + xi_254 + xi_255 + xi_256 + xi_257 + xi_258; + } + } + for (int ctr_2 = 1; ctr_2 < -ctr_3 + (1 << (level)) - 1; ctr_2 += 1) + { + // face 2 + for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) + { + const double xi_431 = xi_401*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_432 = xi_402*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_433 = xi_403*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_434 = xi_404*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_435 = xi_405*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 - 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_436 = xi_406*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_437 = xi_407*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 3) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6)) + 1]; + const double xi_438 = xi_408*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_439 = xi_213*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_440 = xi_214*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_441 = xi_215*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_442 = xi_216*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_443 = xi_217*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_444 = xi_218*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_445 = xi_219*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6)) + 1]; + const double xi_446 = xi_220*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_447 = xi_165*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_448 = xi_166*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_449 = xi_167*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_450 = xi_168*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_451 = xi_169*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_452 = xi_170*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_453 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_454 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_455 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_456 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_457 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_458 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_X[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_431 + xi_432 + xi_433 + xi_434 + xi_435 + xi_436 + xi_437 + xi_438; + _data_edgeCellDst_XY[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_439 + xi_440 + xi_441 + xi_442 + xi_443 + xi_444 + xi_445 + xi_446; + _data_edgeCellDst_XZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_447 + xi_448 + xi_449 + xi_450 + xi_451 + xi_452; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))] = xi_453 + xi_454 + xi_455 + xi_456 + xi_457 + xi_458; + } + // cell (inner) + for (int ctr_1 = 1; ctr_1 < -ctr_2 - ctr_3 + (1 << (level)) - 1; ctr_1 += 1) + { + const double xi_53 = xi_401*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_54 = xi_402*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_55 = xi_403*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_56 = xi_404*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_57 = xi_405*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 - 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_58 = xi_406*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_59 = xi_407*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 3) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6)) + 1]; + const double xi_60 = xi_408*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_66 = xi_341*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_61 = xi_342*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_62 = xi_343*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_63 = xi_344*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_64 = xi_345*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_65 = xi_346*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_67 = xi_281*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - 1]; + const double xi_68 = xi_282*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_69 = xi_283*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_70 = xi_284*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_71 = xi_285*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_72 = xi_286*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_73 = xi_287*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_74 = xi_288*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_75 = xi_213*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_76 = xi_214*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_77 = xi_215*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_78 = xi_216*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_79 = xi_217*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_80 = xi_218*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_81 = xi_219*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6)) + 1]; + const double xi_82 = xi_220*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_83 = xi_165*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_84 = xi_166*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_85 = xi_167*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_86 = xi_168*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_87 = xi_169*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_88 = xi_170*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_89 = xi_133*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_90 = xi_134*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - 1]; + const double xi_91 = xi_135*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_92 = xi_136*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_93 = xi_137*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_94 = xi_138*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_95 = xi_139*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_96 = xi_140*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_97 = xi_105*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_98 = xi_106*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_99 = xi_107*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_100 = xi_108*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_101 = xi_109*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_102 = xi_110*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_X[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_53 + xi_54 + xi_55 + xi_56 + xi_57 + xi_58 + xi_59 + xi_60; + _data_edgeCellDst_Y[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_61 + xi_62 + xi_63 + xi_64 + xi_65 + xi_66; + _data_edgeCellDst_Z[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_67 + xi_68 + xi_69 + xi_70 + xi_71 + xi_72 + xi_73 + xi_74; + _data_edgeCellDst_XY[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80 + xi_81 + xi_82; + _data_edgeCellDst_XZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_83 + xi_84 + xi_85 + xi_86 + xi_87 + xi_88; + _data_edgeCellDst_YZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_89 + xi_90 + xi_91 + xi_92 + xi_93 + xi_94 + xi_95 + xi_96; + _data_edgeCellDst_XYZ[ctr_1 + ctr_2*(-ctr_3 + (1 << (level))) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) - 1)*(-ctr_3 + (1 << (level)) + 1)) / (6)) + ((((1 << (level)) - 1)*((1 << (level)) + 1)*(1 << (level))) / (6))] = xi_100 + xi_101 + xi_102 + xi_97 + xi_98 + xi_99; + } + // face 3 + for (int ctr_1 = -ctr_2 - ctr_3 + (1 << (level)) - 1; ctr_1 < -ctr_2 - ctr_3 + (1 << (level)); ctr_1 += 1) + { + const double xi_485 = xi_401*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_486 = xi_402*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_487 = xi_403*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_488 = xi_404*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_489 = xi_405*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 - 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_490 = xi_406*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_491 = xi_407*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 3) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6)) + 1]; + const double xi_492 = xi_408*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_493 = xi_341*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_494 = xi_342*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_495 = xi_343*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_496 = xi_344*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_497 = xi_345*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_498 = xi_346*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_499 = xi_281*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - 1]; + const double xi_500 = xi_282*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) - 1]; + const double xi_501 = xi_283*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_502 = xi_284*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_503 = xi_285*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_504 = xi_286*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_505 = xi_287*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_506 = xi_288*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_X[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_485 + xi_486 + xi_487 + xi_488 + xi_489 + xi_490 + xi_491 + xi_492; + _data_edgeCellDst_Y[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_493 + xi_494 + xi_495 + xi_496 + xi_497 + xi_498; + _data_edgeCellDst_Z[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_499 + xi_500 + xi_501 + xi_502 + xi_503 + xi_504 + xi_505 + xi_506; + } + } + for (int ctr_2 = -ctr_3 + (1 << (level)) - 1; ctr_2 < -ctr_3 + (1 << (level)); ctr_2 += 1) + { + // edge 5 + for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) + { + const double xi_271 = xi_401*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_272 = xi_402*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6))]; + const double xi_273 = xi_403*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 3) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6))]; + const double xi_274 = xi_404*_data_vertexCellSrc[ctr_1 + (ctr_2 + 1)*(-ctr_3 + (1 << (level)) + 2) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6))]; + const double xi_275 = xi_405*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 - 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + const double xi_276 = xi_406*_data_vertexCellSrc[ctr_1 + (ctr_2 - 1)*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) + 1]; + const double xi_277 = xi_407*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 3) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)*(-ctr_3 + (1 << (level)) + 4)) / (6)) + 1]; + const double xi_278 = xi_408*_data_vertexCellSrc[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 2) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*((1 << (level)) + 3)) / (6)) - (((-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)*(-ctr_3 + (1 << (level)) + 3)) / (6)) + 1]; + _data_edgeCellDst_X[ctr_1 + ctr_2*(-ctr_3 + (1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - (((-ctr_3 + (1 << (level)))*(-ctr_3 + (1 << (level)) + 1)*(-ctr_3 + (1 << (level)) + 2)) / (6)) + ((((1 << (level)) + 1)*((1 << (level)) + 2)*(1 << (level))) / (6))] = xi_271 + xi_272 + xi_273 + xi_274 + xi_275 + xi_276 + xi_277 + xi_278; + } + } + } + { + + } +} + + +void apply_3D_macrocell_vertexdof_to_edgedof_replace(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) +{ + switch( level ) + { + case 2: + apply_3D_macrocell_vertexdof_to_edgedof_replace_level_2(_data_edgeCellDst_X, _data_edgeCellDst_XY, _data_edgeCellDst_XYZ, _data_edgeCellDst_XZ, _data_edgeCellDst_Y, _data_edgeCellDst_YZ, _data_edgeCellDst_Z, _data_vertexCellSrc, v2eStencilMap); + break; + default: + apply_3D_macrocell_vertexdof_to_edgedof_replace_level_any(_data_edgeCellDst_X, _data_edgeCellDst_XY, _data_edgeCellDst_XYZ, _data_edgeCellDst_XZ, _data_edgeCellDst_Y, _data_edgeCellDst_YZ, _data_edgeCellDst_Z, _data_vertexCellSrc, level, v2eStencilMap); + break; + } +} + + +} // namespace generated +} // namespace VertexDoFToEdgeDoF +} // namespace hhg \ No newline at end of file -- GitLab From d2fe90b6c07815ce2653f28b14953ca626505f82 Mon Sep 17 00:00:00 2001 From: Nils Kohl Date: Tue, 9 Apr 2019 10:46:33 +0200 Subject: [PATCH 2/4] Fixed bug in edgedof indexing --- .../edgedofspace/EdgeDoFIndexing.hpp | 44 ++++++++++++++----- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/src/tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp b/src/tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp index cfb0af9db..d79becb01 100644 --- a/src/tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp +++ b/src/tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp @@ -65,28 +65,48 @@ inline std::ostream& operator<<(std::ostream& out, const EdgeDoFOrientation ornt inline EdgeDoFOrientation calcEdgeDoFOrientation( const indexing::IndexIncrement & vertexIndex0, const indexing::IndexIncrement & vertexIndex1 ) { const indexing::IndexIncrement offset = vertexIndex1 - vertexIndex0; - const uint_t x = std::abs( offset.x() ); - const uint_t y = std::abs( offset.y() ); - const uint_t z = std::abs( offset.z() ); - - WALBERLA_ASSERT_GREATER( x + y + z, 0 ); - WALBERLA_ASSERT_LESS_EQUAL( x, 1 ); - WALBERLA_ASSERT_LESS_EQUAL( y, 1 ); - WALBERLA_ASSERT_LESS_EQUAL( z, 1 ); + const int x = offset.x(); + const int y = offset.y(); + const int z = offset.z(); +// +// WALBERLA_ASSERT_GREATER( x + y + z, 0 ); +// WALBERLA_ASSERT_LESS_EQUAL( x, 1 ); +// WALBERLA_ASSERT_LESS_EQUAL( y, 1 ); +// WALBERLA_ASSERT_LESS_EQUAL( z, 1 ); if ( x == 1 && y == 0 && z == 0 ) return EdgeDoFOrientation::X; + if ( x == -1 && y == 0 && z == 0 ) + return EdgeDoFOrientation::X; + if ( x == 0 && y == 1 && z == 0 ) return EdgeDoFOrientation::Y; + if ( x == 0 && y == -1 && z == 0 ) + return EdgeDoFOrientation::Y; + if ( x == 0 && y == 0 && z == 1 ) return EdgeDoFOrientation::Z; - if ( x == 1 && y == 1 && z == 0 ) + if ( x == 0 && y == 0 && z == -1 ) + return EdgeDoFOrientation::Z; + + if ( x == -1 && y == 1 && z == 0 ) return EdgeDoFOrientation::XY; - if ( x == 1 && y == 0 && z == 1 ) + if ( x == 1 && y == -1 && z == 0 ) + return EdgeDoFOrientation::XY; + + if ( x == 1 && y == 0 && z == -1 ) return EdgeDoFOrientation::XZ; - if ( x == 0 && y == 1 && z == 1 ) + if ( x == -1 && y == 0 && z == 1 ) + return EdgeDoFOrientation::XZ; + + if ( x == 0 && y == 1 && z == -1 ) return EdgeDoFOrientation::YZ; - if ( x == 1 && y == 1 && z == 1 ) + if ( x == 0 && y == -1 && z == 1 ) + return EdgeDoFOrientation::YZ; + + if ( x == 1 && y == -1 && z == 1 ) + return EdgeDoFOrientation::XYZ; + if ( x == -1 && y == 1 && z == -1 ) return EdgeDoFOrientation::XYZ; WALBERLA_ASSERT( false, "Invalid index offset." ); -- GitLab From f4784d0d3db4b05cb63e5bd937773658cb4a695a Mon Sep 17 00:00:00 2001 From: Nils Kohl Date: Tue, 9 Apr 2019 12:04:35 +0200 Subject: [PATCH 3/4] Regenerated kernels: - added const and RESTRICT to field ptrs --- .../GeneratedKernelsEdgeToEdgeMacroCell3D.hpp | 8 +++-- .../GeneratedKernelsEdgeToEdgeMacroFace2D.hpp | 14 +++++---- ...ly_2D_macroface_edgedof_to_edgedof_add.cpp | 30 +++++++++---------- ...D_macroface_edgedof_to_edgedof_replace.cpp | 30 +++++++++---------- ...D_macrocell_edgedof_to_edgedof_replace.cpp | 6 ++-- ...ign_2D_macroface_edgedof_1_rhsfunction.cpp | 30 +++++++++---------- ...gn_2D_macroface_edgedof_2_rhsfunctions.cpp | 30 +++++++++---------- ...gn_2D_macroface_edgedof_3_rhsfunctions.cpp | 30 +++++++++---------- ...ign_3D_macrocell_edgedof_1_rhsfunction.cpp | 30 +++++++++---------- .../GeneratedKernelsP2MacroFace2D.hpp | 12 +++++--- ...ate_2D_macroface_P2_push_from_edgedofs.cpp | 30 +++++++++---------- ...e_2D_macroface_P2_push_from_vertexdofs.cpp | 30 +++++++++---------- ...strict_2D_macroface_P2_update_edgedofs.cpp | 30 +++++++++---------- ...rict_2D_macroface_P2_update_vertexdofs.cpp | 30 +++++++++---------- ...eneratedKernelsEdgeToVertexMacroCell3D.hpp | 8 +++-- ...eneratedKernelsEdgeToVertexMacroFace2D.hpp | 8 +++-- ..._2D_macroface_edgedof_to_vertexdof_add.cpp | 30 +++++++++---------- ...macroface_edgedof_to_vertexdof_replace.cpp | 30 +++++++++---------- ..._3D_macrocell_edgedof_to_vertexdof_add.cpp | 20 ++++++------- ...macrocell_edgedof_to_vertexdof_replace.cpp | 20 ++++++------- ...eneratedKernelsVertexToEdgeMacroCell3D.hpp | 8 +++-- ...eneratedKernelsVertexToEdgeMacroFace2D.hpp | 8 +++-- ..._2D_macroface_vertexdof_to_edgedof_add.cpp | 30 +++++++++---------- ...macroface_vertexdof_to_edgedof_replace.cpp | 30 +++++++++---------- ..._3D_macrocell_vertexdof_to_edgedof_add.cpp | 6 ++-- ...macrocell_vertexdof_to_edgedof_replace.cpp | 6 ++-- ...eratedKernelsVertexToVertexMacroCell3D.hpp | 8 +++-- ...eratedKernelsVertexToVertexMacroFace2D.hpp | 16 ++++++---- ...D_macroface_vertexdof_to_vertexdof_add.cpp | 30 +++++++++---------- ...croface_vertexdof_to_vertexdof_replace.cpp | 30 +++++++++---------- ...D_macrocell_vertexdof_to_vertexdof_add.cpp | 30 +++++++++---------- ...crocell_vertexdof_to_vertexdof_replace.cpp | 30 +++++++++---------- ...n_2D_macroface_vertexdof_1_rhsfunction.cpp | 30 +++++++++---------- ..._2D_macroface_vertexdof_2_rhsfunctions.cpp | 30 +++++++++---------- ..._2D_macroface_vertexdof_3_rhsfunctions.cpp | 30 +++++++++---------- ...el_2D_macroface_vertexdof_to_vertexdof.cpp | 30 +++++++++---------- .../GeneratedKernelsP2MacroFace2D.hpp | 8 +++-- .../sor_2D_macroface_P2_update_edgedofs.cpp | 30 +++++++++---------- .../sor_2D_macroface_P2_update_vertexdofs.cpp | 30 +++++++++---------- 39 files changed, 458 insertions(+), 418 deletions(-) diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroCell3D.hpp b/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroCell3D.hpp index e23de2396..638ecfaf2 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroCell3D.hpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroCell3D.hpp @@ -7,18 +7,22 @@ #include "core/DataTypes.h" +#include "core/Macros.h" + #include "tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp" #include +#define RESTRICT WALBERLA_RESTRICT + namespace hhg { namespace edgedof { namespace macrocell { namespace generated { -void assign_3D_macrocell_edgedof_1_rhs_function(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c, int64_t level); +void assign_3D_macrocell_edgedof_1_rhs_function(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c, int64_t level); -void apply_3D_macrocell_edgedof_to_edgedof_replace(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > > e2eStencilMap, int64_t level); +void apply_3D_macrocell_edgedof_to_edgedof_replace(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > > e2eStencilMap, int64_t level); } // namespace generated } // namespace macrocell diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroFace2D.hpp b/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroFace2D.hpp index 89c67c4f2..00faed93b 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroFace2D.hpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroFace2D.hpp @@ -7,24 +7,28 @@ #include "core/DataTypes.h" +#include "core/Macros.h" + #include "tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp" #include +#define RESTRICT WALBERLA_RESTRICT + namespace hhg { namespace edgedof { namespace macroface { namespace generated { -void apply_2D_macroface_edgedof_to_edgedof_replace(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil, int64_t level); +void apply_2D_macroface_edgedof_to_edgedof_replace(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level); -void apply_2D_macroface_edgedof_to_edgedof_add(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil, int64_t level); +void apply_2D_macroface_edgedof_to_edgedof_add(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level); -void assign_2D_macroface_edgedof_1_rhs_function(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c, int64_t level); +void assign_2D_macroface_edgedof_1_rhs_function(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c, int64_t level); -void assign_2D_macroface_edgedof_2_rhs_functions(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1, int64_t level); +void assign_2D_macroface_edgedof_2_rhs_functions(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1, int64_t level); -void assign_2D_macroface_edgedof_3_rhs_functions(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2, int64_t level); +void assign_2D_macroface_edgedof_3_rhs_functions(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2, int64_t level); } // namespace generated } // namespace macroface diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_add.cpp b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_add.cpp index 4d5e5fe07..13b675039 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_add.cpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_add.cpp @@ -10,7 +10,7 @@ namespace edgedof { namespace macroface { namespace generated { -static void apply_2D_macroface_edgedof_to_edgedof_add_level_2(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_2(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -153,7 +153,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_2(double * _data_edg } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_3(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_3(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -296,7 +296,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_3(double * _data_edg } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_4(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_4(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -439,7 +439,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_4(double * _data_edg } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_5(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_5(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -582,7 +582,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_5(double * _data_edg } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_6(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_6(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -725,7 +725,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_6(double * _data_edg } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_7(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_7(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -868,7 +868,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_7(double * _data_edg } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_8(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_8(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1011,7 +1011,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_8(double * _data_edg } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_9(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_9(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1154,7 +1154,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_9(double * _data_edg } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_10(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_10(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1297,7 +1297,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_10(double * _data_ed } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_11(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_11(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1440,7 +1440,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_11(double * _data_ed } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_12(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_12(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1583,7 +1583,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_12(double * _data_ed } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_13(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_13(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1726,7 +1726,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_13(double * _data_ed } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_14(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_14(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1869,7 +1869,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_14(double * _data_ed } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_any(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_any(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) { const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -2013,7 +2013,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_any(double * _data_e } -void apply_2D_macroface_edgedof_to_edgedof_add(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) +void apply_2D_macroface_edgedof_to_edgedof_add(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_replace.cpp b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_replace.cpp index a0729fefb..541860864 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_replace.cpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_replace.cpp @@ -10,7 +10,7 @@ namespace edgedof { namespace macroface { namespace generated { -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_2(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_2(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -141,7 +141,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_2(double * _data } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_3(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_3(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -272,7 +272,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_3(double * _data } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_4(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_4(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -403,7 +403,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_4(double * _data } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_5(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_5(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -534,7 +534,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_5(double * _data } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_6(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_6(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -665,7 +665,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_6(double * _data } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_7(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_7(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -796,7 +796,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_7(double * _data } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_8(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_8(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -927,7 +927,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_8(double * _data } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_9(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_9(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1058,7 +1058,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_9(double * _data } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_10(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_10(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1189,7 +1189,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_10(double * _dat } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_11(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_11(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1320,7 +1320,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_11(double * _dat } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_12(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_12(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1451,7 +1451,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_12(double * _dat } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_13(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_13(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1582,7 +1582,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_13(double * _dat } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_14(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_14(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1713,7 +1713,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_14(double * _dat } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_any(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_any(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) { const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; @@ -1845,7 +1845,7 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_any(double * _da } -void apply_2D_macroface_edgedof_to_edgedof_replace(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double * const _data_edgeToDiagonalEdgeFaceStencil, double * const _data_edgeToHorizontalEdgeFaceStencil, double * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) +void apply_2D_macroface_edgedof_to_edgedof_replace(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/apply_3D_macrocell_edgedof_to_edgedof_replace.cpp b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_3D_macrocell_edgedof_to_edgedof_replace.cpp index 22be91513..3aa090c39 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/apply_3D_macrocell_edgedof_to_edgedof_replace.cpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_3D_macrocell_edgedof_to_edgedof_replace.cpp @@ -10,7 +10,7 @@ namespace edgedof { namespace macrocell { namespace generated { -static void apply_3D_macrocell_edgedof_to_edgedof_replace_level_2(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > > e2eStencilMap) +static void apply_3D_macrocell_edgedof_to_edgedof_replace_level_2(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > > e2eStencilMap) { const double xi_235 = e2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, 0 }]; const double xi_236 = e2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; @@ -745,7 +745,7 @@ static void apply_3D_macrocell_edgedof_to_edgedof_replace_level_2(double * _data } } -static void apply_3D_macrocell_edgedof_to_edgedof_replace_level_any(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > > e2eStencilMap, int64_t level) +static void apply_3D_macrocell_edgedof_to_edgedof_replace_level_any(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > > e2eStencilMap, int64_t level) { const double xi_235 = e2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, 0 }]; const double xi_236 = e2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][hhg::edgedof::EdgeDoFOrientation::XY][{ 0, 0, 0 }]; @@ -1481,7 +1481,7 @@ static void apply_3D_macrocell_edgedof_to_edgedof_replace_level_any(double * _da } -void apply_3D_macrocell_edgedof_to_edgedof_replace(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > > e2eStencilMap, int64_t level) +void apply_3D_macrocell_edgedof_to_edgedof_replace(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > > e2eStencilMap, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_1_rhsfunction.cpp b/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_1_rhsfunction.cpp index 680524d4f..cae9dcb4a 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_1_rhsfunction.cpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_1_rhsfunction.cpp @@ -10,7 +10,7 @@ namespace edgedof { namespace macroface { namespace generated { -static void assign_2D_macroface_edgedof_1_rhs_function_level_2(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_2(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -66,7 +66,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_2(double * _data_ed } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_3(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_3(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -122,7 +122,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_3(double * _data_ed } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_4(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_4(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -178,7 +178,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_4(double * _data_ed } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_5(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_5(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -234,7 +234,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_5(double * _data_ed } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_6(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_6(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -290,7 +290,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_6(double * _data_ed } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_7(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_7(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -346,7 +346,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_7(double * _data_ed } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_8(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_8(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -402,7 +402,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_8(double * _data_ed } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_9(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_9(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -458,7 +458,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_9(double * _data_ed } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_10(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_10(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -514,7 +514,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_10(double * _data_e } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_11(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_11(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -570,7 +570,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_11(double * _data_e } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_12(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_12(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -626,7 +626,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_12(double * _data_e } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_13(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_13(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -682,7 +682,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_13(double * _data_e } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_14(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c) +static void assign_2D_macroface_edgedof_1_rhs_function_level_14(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -738,7 +738,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_14(double * _data_e } } -static void assign_2D_macroface_edgedof_1_rhs_function_level_any(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c, int64_t level) +static void assign_2D_macroface_edgedof_1_rhs_function_level_any(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c, int64_t level) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -795,7 +795,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_any(double * _data_ } -void assign_2D_macroface_edgedof_1_rhs_function(double * _data_edgeFaceDst, double * _data_edgeFaceSrc, double c, int64_t level) +void assign_2D_macroface_edgedof_1_rhs_function(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_2_rhsfunctions.cpp b/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_2_rhsfunctions.cpp index 4c1a7e0d6..117b3f669 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_2_rhsfunctions.cpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_2_rhsfunctions.cpp @@ -10,7 +10,7 @@ namespace edgedof { namespace macroface { namespace generated { -static void assign_2D_macroface_edgedof_2_rhs_functions_level_2(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_2(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -90,7 +90,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_2(double * _data_e } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_3(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_3(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -170,7 +170,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_3(double * _data_e } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_4(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_4(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -250,7 +250,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_4(double * _data_e } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_5(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_5(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -330,7 +330,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_5(double * _data_e } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_6(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_6(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -410,7 +410,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_6(double * _data_e } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_7(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_7(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -490,7 +490,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_7(double * _data_e } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_8(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_8(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -570,7 +570,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_8(double * _data_e } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_9(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_9(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -650,7 +650,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_9(double * _data_e } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_10(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_10(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -730,7 +730,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_10(double * _data_ } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_11(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_11(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -810,7 +810,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_11(double * _data_ } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_12(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_12(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -890,7 +890,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_12(double * _data_ } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_13(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_13(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -970,7 +970,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_13(double * _data_ } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_14(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_14(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -1050,7 +1050,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_14(double * _data_ } } -static void assign_2D_macroface_edgedof_2_rhs_functions_level_any(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1, int64_t level) +static void assign_2D_macroface_edgedof_2_rhs_functions_level_any(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1, int64_t level) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -1131,7 +1131,7 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_any(double * _data } -void assign_2D_macroface_edgedof_2_rhs_functions(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double c0, double c1, int64_t level) +void assign_2D_macroface_edgedof_2_rhs_functions(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_3_rhsfunctions.cpp b/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_3_rhsfunctions.cpp index 3bb1d5283..f32551452 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_3_rhsfunctions.cpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/assign_2D_macroface_edgedof_3_rhsfunctions.cpp @@ -10,7 +10,7 @@ namespace edgedof { namespace macroface { namespace generated { -static void assign_2D_macroface_edgedof_3_rhs_functions_level_2(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_2(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -102,7 +102,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_2(double * _data_e } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_3(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_3(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -194,7 +194,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_3(double * _data_e } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_4(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_4(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -286,7 +286,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_4(double * _data_e } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_5(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_5(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -378,7 +378,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_5(double * _data_e } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_6(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_6(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -470,7 +470,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_6(double * _data_e } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_7(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_7(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -562,7 +562,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_7(double * _data_e } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_8(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_8(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -654,7 +654,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_8(double * _data_e } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_9(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_9(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -746,7 +746,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_9(double * _data_e } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_10(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_10(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -838,7 +838,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_10(double * _data_ } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_11(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_11(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -930,7 +930,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_11(double * _data_ } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_12(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_12(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -1022,7 +1022,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_12(double * _data_ } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_13(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_13(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -1114,7 +1114,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_13(double * _data_ } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_14(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_14(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -1206,7 +1206,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_14(double * _data_ } } -static void assign_2D_macroface_edgedof_3_rhs_functions_level_any(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2, int64_t level) +static void assign_2D_macroface_edgedof_3_rhs_functions_level_any(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2, int64_t level) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { @@ -1299,7 +1299,7 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_any(double * _data } -void assign_2D_macroface_edgedof_3_rhs_functions(double * _data_edgeFaceDst, double * _data_edgeFaceSrc0, double * _data_edgeFaceSrc1, double * _data_edgeFaceSrc2, double c0, double c1, double c2, int64_t level) +void assign_2D_macroface_edgedof_3_rhs_functions(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/assign_3D_macrocell_edgedof_1_rhsfunction.cpp b/src/tinyhhg_core/edgedofspace/generatedKernels/assign_3D_macrocell_edgedof_1_rhsfunction.cpp index 05cf7f7f6..b053ce552 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/assign_3D_macrocell_edgedof_1_rhsfunction.cpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/assign_3D_macrocell_edgedof_1_rhsfunction.cpp @@ -10,7 +10,7 @@ namespace edgedof { namespace macrocell { namespace generated { -static void assign_3D_macrocell_edgedof_1_rhs_function_level_2(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_2(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -205,7 +205,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_2(double * _data_ed } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_3(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_3(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -400,7 +400,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_3(double * _data_ed } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_4(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_4(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -595,7 +595,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_4(double * _data_ed } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_5(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_5(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -790,7 +790,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_5(double * _data_ed } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_6(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_6(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -985,7 +985,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_6(double * _data_ed } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_7(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_7(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -1180,7 +1180,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_7(double * _data_ed } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_8(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_8(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -1375,7 +1375,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_8(double * _data_ed } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_9(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_9(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -1570,7 +1570,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_9(double * _data_ed } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_10(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_10(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -1765,7 +1765,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_10(double * _data_e } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_11(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_11(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -1960,7 +1960,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_11(double * _data_e } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_12(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_12(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -2155,7 +2155,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_12(double * _data_e } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_13(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_13(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -2350,7 +2350,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_13(double * _data_e } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_14(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_14(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -2545,7 +2545,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_14(double * _data_e } } -static void assign_3D_macrocell_edgedof_1_rhs_function_level_any(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c, int64_t level) +static void assign_3D_macrocell_edgedof_1_rhs_function_level_any(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c, int64_t level) { for (int ctr_3 = 0; ctr_3 < 1; ctr_3 += 1) { @@ -2741,7 +2741,7 @@ static void assign_3D_macrocell_edgedof_1_rhs_function_level_any(double * _data_ } -void assign_3D_macrocell_edgedof_1_rhs_function(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double c, int64_t level) +void assign_3D_macrocell_edgedof_1_rhs_function(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double * RESTRICT _data_edgeCellSrc_X, double * RESTRICT _data_edgeCellSrc_XY, double * RESTRICT _data_edgeCellSrc_XYZ, double * RESTRICT _data_edgeCellSrc_XZ, double * RESTRICT _data_edgeCellSrc_Y, double * RESTRICT _data_edgeCellSrc_YZ, double * RESTRICT _data_edgeCellSrc_Z, double c, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/gridtransferoperators/generatedKernels/GeneratedKernelsP2MacroFace2D.hpp b/src/tinyhhg_core/gridtransferoperators/generatedKernels/GeneratedKernelsP2MacroFace2D.hpp index 607d6656c..317f3d20a 100644 --- a/src/tinyhhg_core/gridtransferoperators/generatedKernels/GeneratedKernelsP2MacroFace2D.hpp +++ b/src/tinyhhg_core/gridtransferoperators/generatedKernels/GeneratedKernelsP2MacroFace2D.hpp @@ -7,22 +7,26 @@ #include "core/DataTypes.h" +#include "core/Macros.h" + #include "tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp" #include +#define RESTRICT WALBERLA_RESTRICT + namespace hhg { namespace P2 { namespace macroface { namespace generated { -void restrict_2D_macroface_P2_update_vertexdofs(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2); +void restrict_2D_macroface_P2_update_vertexdofs(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2); -void restrict_2D_macroface_P2_update_edgedofs(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2); +void restrict_2D_macroface_P2_update_edgedofs(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2); -void prolongate_2D_macroface_P2_push_from_vertexdofs(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2); +void prolongate_2D_macroface_P2_push_from_vertexdofs(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2); -void prolongate_2D_macroface_P2_push_from_edgedofs(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2); +void prolongate_2D_macroface_P2_push_from_edgedofs(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2); } // namespace generated } // namespace macroface diff --git a/src/tinyhhg_core/gridtransferoperators/generatedKernels/prolongate_2D_macroface_P2_push_from_edgedofs.cpp b/src/tinyhhg_core/gridtransferoperators/generatedKernels/prolongate_2D_macroface_P2_push_from_edgedofs.cpp index 2aff61fc9..bf53bd245 100644 --- a/src/tinyhhg_core/gridtransferoperators/generatedKernels/prolongate_2D_macroface_P2_push_from_edgedofs.cpp +++ b/src/tinyhhg_core/gridtransferoperators/generatedKernels/prolongate_2D_macroface_P2_push_from_edgedofs.cpp @@ -10,7 +10,7 @@ namespace P2 { namespace macroface { namespace generated { -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_2(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_2(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -219,7 +219,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_2(double * _data } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_3(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_3(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -428,7 +428,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_3(double * _data } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_4(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_4(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -637,7 +637,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_4(double * _data } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_5(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_5(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -846,7 +846,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_5(double * _data } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_6(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_6(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -1055,7 +1055,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_6(double * _data } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_7(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_7(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -1264,7 +1264,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_7(double * _data } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_8(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_8(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -1473,7 +1473,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_8(double * _data } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_9(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_9(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -1682,7 +1682,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_9(double * _data } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_10(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_10(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -1891,7 +1891,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_10(double * _dat } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_11(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_11(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -2100,7 +2100,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_11(double * _dat } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_12(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_12(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -2309,7 +2309,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_12(double * _dat } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_13(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_13(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -2518,7 +2518,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_13(double * _dat } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_14(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_14(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -2727,7 +2727,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_14(double * _dat } } -static void prolongate_2D_macroface_P2_push_from_edgedofs_level_any(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void prolongate_2D_macroface_P2_push_from_edgedofs_level_any(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_7 = 1 / (num_neighbor_faces_edge0); const double xi_10 = 1 / (num_neighbor_faces_edge2); @@ -2937,7 +2937,7 @@ static void prolongate_2D_macroface_P2_push_from_edgedofs_level_any(double * _da } -void prolongate_2D_macroface_P2_push_from_edgedofs(double * _data_edgeCoarseSrc, double * _data_edgeFineDst, double * _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +void prolongate_2D_macroface_P2_push_from_edgedofs(double * RESTRICT _data_edgeCoarseSrc, double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { switch( coarse_level ) { diff --git a/src/tinyhhg_core/gridtransferoperators/generatedKernels/prolongate_2D_macroface_P2_push_from_vertexdofs.cpp b/src/tinyhhg_core/gridtransferoperators/generatedKernels/prolongate_2D_macroface_P2_push_from_vertexdofs.cpp index ff6fb1869..ade536a22 100644 --- a/src/tinyhhg_core/gridtransferoperators/generatedKernels/prolongate_2D_macroface_P2_push_from_vertexdofs.cpp +++ b/src/tinyhhg_core/gridtransferoperators/generatedKernels/prolongate_2D_macroface_P2_push_from_vertexdofs.cpp @@ -10,7 +10,7 @@ namespace P2 { namespace macroface { namespace generated { -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_2(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_2(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -264,7 +264,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_2(double * _da } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_3(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_3(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -518,7 +518,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_3(double * _da } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_4(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_4(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -772,7 +772,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_4(double * _da } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_5(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_5(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -1026,7 +1026,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_5(double * _da } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_6(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_6(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -1280,7 +1280,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_6(double * _da } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_7(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_7(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -1534,7 +1534,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_7(double * _da } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_8(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_8(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -1788,7 +1788,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_8(double * _da } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_9(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_9(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -2042,7 +2042,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_9(double * _da } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_10(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_10(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -2296,7 +2296,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_10(double * _d } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_11(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_11(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -2550,7 +2550,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_11(double * _d } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_12(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_12(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -2804,7 +2804,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_12(double * _d } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_13(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_13(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -3058,7 +3058,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_13(double * _d } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_14(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_14(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -3312,7 +3312,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_14(double * _d } } -static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_any(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_any(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_55 = 1 / (num_neighbor_faces_edge0); const double xi_57 = 1 / (num_neighbor_faces_edge2); @@ -3567,7 +3567,7 @@ static void prolongate_2D_macroface_P2_push_from_vertexdofs_level_any(double * _ } -void prolongate_2D_macroface_P2_push_from_vertexdofs(double * _data_edgeFineDst, double * _data_vertexCoarseSrc, double * _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +void prolongate_2D_macroface_P2_push_from_vertexdofs(double * RESTRICT _data_edgeFineDst, double * RESTRICT _data_vertexCoarseSrc, double * RESTRICT _data_vertexFineDst, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { switch( coarse_level ) { diff --git a/src/tinyhhg_core/gridtransferoperators/generatedKernels/restrict_2D_macroface_P2_update_edgedofs.cpp b/src/tinyhhg_core/gridtransferoperators/generatedKernels/restrict_2D_macroface_P2_update_edgedofs.cpp index 139ab61ac..45aabd2fa 100644 --- a/src/tinyhhg_core/gridtransferoperators/generatedKernels/restrict_2D_macroface_P2_update_edgedofs.cpp +++ b/src/tinyhhg_core/gridtransferoperators/generatedKernels/restrict_2D_macroface_P2_update_edgedofs.cpp @@ -10,7 +10,7 @@ namespace P2 { namespace macroface { namespace generated { -static void restrict_2D_macroface_P2_update_edgedofs_level_2(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_2(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -219,7 +219,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_2(double * _data_edge } } -static void restrict_2D_macroface_P2_update_edgedofs_level_3(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_3(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -428,7 +428,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_3(double * _data_edge } } -static void restrict_2D_macroface_P2_update_edgedofs_level_4(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_4(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -637,7 +637,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_4(double * _data_edge } } -static void restrict_2D_macroface_P2_update_edgedofs_level_5(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_5(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -846,7 +846,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_5(double * _data_edge } } -static void restrict_2D_macroface_P2_update_edgedofs_level_6(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_6(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -1055,7 +1055,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_6(double * _data_edge } } -static void restrict_2D_macroface_P2_update_edgedofs_level_7(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_7(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -1264,7 +1264,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_7(double * _data_edge } } -static void restrict_2D_macroface_P2_update_edgedofs_level_8(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_8(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -1473,7 +1473,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_8(double * _data_edge } } -static void restrict_2D_macroface_P2_update_edgedofs_level_9(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_9(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -1682,7 +1682,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_9(double * _data_edge } } -static void restrict_2D_macroface_P2_update_edgedofs_level_10(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_10(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -1891,7 +1891,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_10(double * _data_edg } } -static void restrict_2D_macroface_P2_update_edgedofs_level_11(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_11(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -2100,7 +2100,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_11(double * _data_edg } } -static void restrict_2D_macroface_P2_update_edgedofs_level_12(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_12(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -2309,7 +2309,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_12(double * _data_edg } } -static void restrict_2D_macroface_P2_update_edgedofs_level_13(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_13(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -2518,7 +2518,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_13(double * _data_edg } } -static void restrict_2D_macroface_P2_update_edgedofs_level_14(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_14(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -2727,7 +2727,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_14(double * _data_edg } } -static void restrict_2D_macroface_P2_update_edgedofs_level_any(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +static void restrict_2D_macroface_P2_update_edgedofs_level_any(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { const double xi_35 = 1 / (num_neighbor_faces_edge0); const double xi_38 = 1 / (num_neighbor_faces_edge2); @@ -2937,7 +2937,7 @@ static void restrict_2D_macroface_P2_update_edgedofs_level_any(double * _data_ed } -void restrict_2D_macroface_P2_update_edgedofs(double * _data_edgeCoarseDst, double * _data_edgeFineSrc, double * _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) +void restrict_2D_macroface_P2_update_edgedofs(double * RESTRICT _data_edgeCoarseDst, double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2) { switch( coarse_level ) { diff --git a/src/tinyhhg_core/gridtransferoperators/generatedKernels/restrict_2D_macroface_P2_update_vertexdofs.cpp b/src/tinyhhg_core/gridtransferoperators/generatedKernels/restrict_2D_macroface_P2_update_vertexdofs.cpp index f0b7da323..a55ab4cc8 100644 --- a/src/tinyhhg_core/gridtransferoperators/generatedKernels/restrict_2D_macroface_P2_update_vertexdofs.cpp +++ b/src/tinyhhg_core/gridtransferoperators/generatedKernels/restrict_2D_macroface_P2_update_vertexdofs.cpp @@ -10,7 +10,7 @@ namespace P2 { namespace macroface { namespace generated { -static void restrict_2D_macroface_P2_update_vertexdofs_level_2(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_2(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -158,7 +158,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_2(double * _data_ed } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_3(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_3(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -306,7 +306,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_3(double * _data_ed } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_4(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_4(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -454,7 +454,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_4(double * _data_ed } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_5(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_5(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -602,7 +602,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_5(double * _data_ed } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_6(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_6(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -750,7 +750,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_6(double * _data_ed } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_7(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_7(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -898,7 +898,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_7(double * _data_ed } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_8(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_8(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -1046,7 +1046,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_8(double * _data_ed } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_9(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_9(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -1194,7 +1194,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_9(double * _data_ed } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_10(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_10(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -1342,7 +1342,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_10(double * _data_e } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_11(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_11(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -1490,7 +1490,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_11(double * _data_e } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_12(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_12(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -1638,7 +1638,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_12(double * _data_e } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_13(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_13(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -1786,7 +1786,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_13(double * _data_e } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_14(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_14(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -1934,7 +1934,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_14(double * _data_e } } -static void restrict_2D_macroface_P2_update_vertexdofs_level_any(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +static void restrict_2D_macroface_P2_update_vertexdofs_level_any(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { const double xi_103 = 1 / (num_neighbor_faces_vertex0); const double xi_106 = 1 / (num_neighbor_faces_edge0); @@ -2083,7 +2083,7 @@ static void restrict_2D_macroface_P2_update_vertexdofs_level_any(double * _data_ } -void restrict_2D_macroface_P2_update_vertexdofs(double * _data_edgeFineSrc, double * _data_vertexCoarseDst, double * _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) +void restrict_2D_macroface_P2_update_vertexdofs(double * RESTRICT _data_edgeFineSrc, double * RESTRICT _data_vertexCoarseDst, double * RESTRICT _data_vertexFineSrc, int64_t coarse_level, double num_neighbor_faces_edge0, double num_neighbor_faces_edge1, double num_neighbor_faces_edge2, double num_neighbor_faces_vertex0, double num_neighbor_faces_vertex1, double num_neighbor_faces_vertex2) { switch( coarse_level ) { diff --git a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroCell3D.hpp b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroCell3D.hpp index db22db50d..7ab35bc6b 100644 --- a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroCell3D.hpp +++ b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroCell3D.hpp @@ -7,17 +7,21 @@ #include "core/DataTypes.h" +#include "core/Macros.h" + #include "tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp" #include +#define RESTRICT WALBERLA_RESTRICT + namespace hhg { namespace EdgeDoFToVertexDoF { namespace generated { -void apply_3D_macrocell_edgedof_to_vertexdof_replace(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level); +void apply_3D_macrocell_edgedof_to_vertexdof_replace(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level); -void apply_3D_macrocell_edgedof_to_vertexdof_add(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level); +void apply_3D_macrocell_edgedof_to_vertexdof_add(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level); } // namespace generated } // namespace EdgeDoFToVertexDoF diff --git a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroFace2D.hpp b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroFace2D.hpp index 937bc7828..05220f0b8 100644 --- a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroFace2D.hpp +++ b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/GeneratedKernelsEdgeToVertexMacroFace2D.hpp @@ -7,17 +7,21 @@ #include "core/DataTypes.h" +#include "core/Macros.h" + #include "tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp" #include +#define RESTRICT WALBERLA_RESTRICT + namespace hhg { namespace EdgeDoFToVertexDoF { namespace generated { -void apply_2D_macroface_edgedof_to_vertexdof_replace(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst, int64_t level); +void apply_2D_macroface_edgedof_to_vertexdof_replace(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst, int64_t level); -void apply_2D_macroface_edgedof_to_vertexdof_add(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst, int64_t level); +void apply_2D_macroface_edgedof_to_vertexdof_add(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst, int64_t level); } // namespace generated } // namespace EdgeDoFToVertexDoF diff --git a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_2D_macroface_edgedof_to_vertexdof_add.cpp b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_2D_macroface_edgedof_to_vertexdof_add.cpp index 0ee8afeab..8ffc2dc7e 100644 --- a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_2D_macroface_edgedof_to_vertexdof_add.cpp +++ b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_2D_macroface_edgedof_to_vertexdof_add.cpp @@ -9,7 +9,7 @@ namespace hhg { namespace EdgeDoFToVertexDoF { namespace generated { -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_2(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_2(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -46,7 +46,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_2(double * _data_e } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_3(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_3(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -83,7 +83,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_3(double * _data_e } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_4(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_4(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -120,7 +120,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_4(double * _data_e } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_5(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_5(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -157,7 +157,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_5(double * _data_e } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_6(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_6(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -194,7 +194,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_6(double * _data_e } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_7(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_7(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -231,7 +231,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_7(double * _data_e } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_8(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_8(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -268,7 +268,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_8(double * _data_e } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_9(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_9(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -305,7 +305,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_9(double * _data_e } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_10(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_10(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -342,7 +342,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_10(double * _data_ } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_11(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_11(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -379,7 +379,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_11(double * _data_ } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_12(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_12(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -416,7 +416,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_12(double * _data_ } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_13(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_13(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -453,7 +453,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_13(double * _data_ } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_14(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_14(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -490,7 +490,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_14(double * _data_ } } -static void apply_2D_macroface_edgedof_to_vertexdof_add_level_any(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst, int64_t level) +static void apply_2D_macroface_edgedof_to_vertexdof_add_level_any(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst, int64_t level) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -528,7 +528,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_add_level_any(double * _data } -void apply_2D_macroface_edgedof_to_vertexdof_add(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst, int64_t level) +void apply_2D_macroface_edgedof_to_vertexdof_add(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_2D_macroface_edgedof_to_vertexdof_replace.cpp b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_2D_macroface_edgedof_to_vertexdof_replace.cpp index f8d28f4c9..8c69fc6aa 100644 --- a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_2D_macroface_edgedof_to_vertexdof_replace.cpp +++ b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_2D_macroface_edgedof_to_vertexdof_replace.cpp @@ -9,7 +9,7 @@ namespace hhg { namespace EdgeDoFToVertexDoF { namespace generated { -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_2(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_2(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -45,7 +45,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_2(double * _da } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_3(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_3(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -81,7 +81,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_3(double * _da } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_4(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_4(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -117,7 +117,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_4(double * _da } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_5(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_5(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -153,7 +153,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_5(double * _da } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_6(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_6(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -189,7 +189,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_6(double * _da } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_7(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_7(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -225,7 +225,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_7(double * _da } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_8(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_8(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -261,7 +261,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_8(double * _da } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_9(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_9(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -297,7 +297,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_9(double * _da } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_10(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_10(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -333,7 +333,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_10(double * _d } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_11(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_11(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -369,7 +369,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_11(double * _d } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_12(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_12(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -405,7 +405,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_12(double * _d } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_13(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_13(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -441,7 +441,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_13(double * _d } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_14(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_14(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -477,7 +477,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_14(double * _d } } -static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_any(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst, int64_t level) +static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_any(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst, int64_t level) { const double xi_0 = _data_edgeToVertexFaceStencil[1]; const double xi_1 = _data_edgeToVertexFaceStencil[0]; @@ -514,7 +514,7 @@ static void apply_2D_macroface_edgedof_to_vertexdof_replace_level_any(double * _ } -void apply_2D_macroface_edgedof_to_vertexdof_replace(double * _data_edgeFaceSrc, double * const _data_edgeToVertexFaceStencil, double * _data_p1FaceDst, int64_t level) +void apply_2D_macroface_edgedof_to_vertexdof_replace(double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToVertexFaceStencil, double * RESTRICT _data_p1FaceDst, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_add.cpp b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_add.cpp index 00c116f8d..89827c05e 100644 --- a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_add.cpp +++ b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_add.cpp @@ -9,7 +9,7 @@ namespace hhg { namespace EdgeDoFToVertexDoF { namespace generated { -static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_2(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_2(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -125,7 +125,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_2(double * _data_e } } -static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_3(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_3(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -241,7 +241,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_3(double * _data_e } } -static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_4(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_4(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -357,7 +357,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_4(double * _data_e } } -static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_5(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_5(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -473,7 +473,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_5(double * _data_e } } -static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_6(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_6(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -589,7 +589,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_6(double * _data_e } } -static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_7(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_7(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -705,7 +705,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_7(double * _data_e } } -static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_8(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_8(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -821,7 +821,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_8(double * _data_e } } -static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_9(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_9(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -937,7 +937,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_9(double * _data_e } } -static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_any(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level) +static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_any(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -1054,7 +1054,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_add_level_any(double * _data } -void apply_3D_macrocell_edgedof_to_vertexdof_add(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level) +void apply_3D_macrocell_edgedof_to_vertexdof_add(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_replace.cpp b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_replace.cpp index e21e2dc06..dc4dbbdf3 100644 --- a/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_replace.cpp +++ b/src/tinyhhg_core/mixedoperators/EdgeDoFToVertexDoFOperator/generatedKernels/apply_3D_macrocell_edgedof_to_vertexdof_replace.cpp @@ -9,7 +9,7 @@ namespace hhg { namespace EdgeDoFToVertexDoF { namespace generated { -static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_2(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_2(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -124,7 +124,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_2(double * _da } } -static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_3(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_3(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -239,7 +239,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_3(double * _da } } -static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_4(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_4(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -354,7 +354,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_4(double * _da } } -static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_5(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_5(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -469,7 +469,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_5(double * _da } } -static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_6(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_6(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -584,7 +584,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_6(double * _da } } -static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_7(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_7(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -699,7 +699,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_7(double * _da } } -static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_8(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_8(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -814,7 +814,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_8(double * _da } } -static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_9(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_9(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -929,7 +929,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_9(double * _da } } -static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_any(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level) +static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_any(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level) { const double xi_1 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, -1, 0 }]; const double xi_2 = e2vStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ -1, 0, -1 }]; @@ -1045,7 +1045,7 @@ static void apply_3D_macrocell_edgedof_to_vertexdof_replace_level_any(double * _ } -void apply_3D_macrocell_edgedof_to_vertexdof_replace(double * _data_edgeCellSrc_X, double * _data_edgeCellSrc_XY, double * _data_edgeCellSrc_XYZ, double * _data_edgeCellSrc_XZ, double * _data_edgeCellSrc_Y, double * _data_edgeCellSrc_YZ, double * _data_edgeCellSrc_Z, double * _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level) +void apply_3D_macrocell_edgedof_to_vertexdof_replace(double const * RESTRICT const _data_edgeCellSrc_X, double const * RESTRICT const _data_edgeCellSrc_XY, double const * RESTRICT const _data_edgeCellSrc_XYZ, double const * RESTRICT const _data_edgeCellSrc_XZ, double const * RESTRICT const _data_edgeCellSrc_Y, double const * RESTRICT const _data_edgeCellSrc_YZ, double const * RESTRICT const _data_edgeCellSrc_Z, double * RESTRICT _data_vertexCellDst, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > e2vStencilMap, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroCell3D.hpp b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroCell3D.hpp index 9de9e35eb..1f9f4692f 100644 --- a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroCell3D.hpp +++ b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroCell3D.hpp @@ -7,17 +7,21 @@ #include "core/DataTypes.h" +#include "core/Macros.h" + #include "tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp" #include +#define RESTRICT WALBERLA_RESTRICT + namespace hhg { namespace VertexDoFToEdgeDoF { namespace generated { -void apply_3D_macrocell_vertexdof_to_edgedof_replace(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap); +void apply_3D_macrocell_vertexdof_to_edgedof_replace(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap); -void apply_3D_macrocell_vertexdof_to_edgedof_add(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap); +void apply_3D_macrocell_vertexdof_to_edgedof_add(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap); } // namespace generated } // namespace VertexDoFToEdgeDoF diff --git a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroFace2D.hpp b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroFace2D.hpp index 89ce7509d..3beacfbba 100644 --- a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroFace2D.hpp +++ b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/GeneratedKernelsVertexToEdgeMacroFace2D.hpp @@ -7,17 +7,21 @@ #include "core/DataTypes.h" +#include "core/Macros.h" + #include "tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp" #include +#define RESTRICT WALBERLA_RESTRICT + namespace hhg { namespace VertexDoFToEdgeDoF { namespace generated { -void apply_2D_macroface_vertexdof_to_edgedof_replace(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil, int64_t level); +void apply_2D_macroface_vertexdof_to_edgedof_replace(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil, int64_t level); -void apply_2D_macroface_vertexdof_to_edgedof_add(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil, int64_t level); +void apply_2D_macroface_vertexdof_to_edgedof_add(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil, int64_t level); } // namespace generated } // namespace VertexDoFToEdgeDoF diff --git a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_2D_macroface_vertexdof_to_edgedof_add.cpp b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_2D_macroface_vertexdof_to_edgedof_add.cpp index 5dae692e9..a2878f20b 100644 --- a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_2D_macroface_vertexdof_to_edgedof_add.cpp +++ b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_2D_macroface_vertexdof_to_edgedof_add.cpp @@ -9,7 +9,7 @@ namespace hhg { namespace VertexDoFToEdgeDoF { namespace generated { -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_2(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_2(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -137,7 +137,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_2(double * _data_e } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_3(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_3(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -265,7 +265,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_3(double * _data_e } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_4(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_4(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -393,7 +393,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_4(double * _data_e } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_5(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_5(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -521,7 +521,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_5(double * _data_e } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_6(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_6(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -649,7 +649,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_6(double * _data_e } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_7(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_7(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -777,7 +777,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_7(double * _data_e } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_8(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_8(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -905,7 +905,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_8(double * _data_e } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_9(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_9(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1033,7 +1033,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_9(double * _data_e } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_10(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_10(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1161,7 +1161,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_10(double * _data_ } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_11(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_11(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1289,7 +1289,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_11(double * _data_ } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_12(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_12(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1417,7 +1417,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_12(double * _data_ } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_13(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_13(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1545,7 +1545,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_13(double * _data_ } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_14(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_14(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1673,7 +1673,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_14(double * _data_ } } -static void apply_2D_macroface_vertexdof_to_edgedof_add_level_any(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil, int64_t level) +static void apply_2D_macroface_vertexdof_to_edgedof_add_level_any(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil, int64_t level) { const double xi_31 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_32 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1802,7 +1802,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_add_level_any(double * _data } -void apply_2D_macroface_vertexdof_to_edgedof_add(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil, int64_t level) +void apply_2D_macroface_vertexdof_to_edgedof_add(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_2D_macroface_vertexdof_to_edgedof_replace.cpp b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_2D_macroface_vertexdof_to_edgedof_replace.cpp index 501f71d35..352d10faa 100644 --- a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_2D_macroface_vertexdof_to_edgedof_replace.cpp +++ b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_2D_macroface_vertexdof_to_edgedof_replace.cpp @@ -9,7 +9,7 @@ namespace hhg { namespace VertexDoFToEdgeDoF { namespace generated { -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_2(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_2(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -125,7 +125,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_2(double * _da } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_3(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_3(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -241,7 +241,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_3(double * _da } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_4(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_4(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -357,7 +357,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_4(double * _da } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_5(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_5(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -473,7 +473,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_5(double * _da } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_6(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_6(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -589,7 +589,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_6(double * _da } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_7(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_7(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -705,7 +705,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_7(double * _da } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_8(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_8(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -821,7 +821,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_8(double * _da } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_9(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_9(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -937,7 +937,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_9(double * _da } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_10(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_10(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1053,7 +1053,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_10(double * _d } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_11(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_11(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1169,7 +1169,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_11(double * _d } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_12(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_12(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1285,7 +1285,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_12(double * _d } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_13(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_13(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1401,7 +1401,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_13(double * _d } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_14(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_14(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1517,7 +1517,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_14(double * _d } } -static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_any(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil, int64_t level) +static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_any(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil, int64_t level) { const double xi_28 = _data_vertexToDiagonalEdgeFaceStencil[3]; const double xi_29 = _data_vertexToDiagonalEdgeFaceStencil[2]; @@ -1634,7 +1634,7 @@ static void apply_2D_macroface_vertexdof_to_edgedof_replace_level_any(double * _ } -void apply_2D_macroface_vertexdof_to_edgedof_replace(double * _data_edgeFaceDst, double * _data_vertexFaceSrc, double * const _data_vertexToDiagonalEdgeFaceStencil, double * const _data_vertexToHorizontalEdgeFaceStencil, double * const _data_vertexToVerticalEdgeFaceStencil, int64_t level) +void apply_2D_macroface_vertexdof_to_edgedof_replace(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_vertexFaceSrc, double const * const _data_vertexToDiagonalEdgeFaceStencil, double const * const _data_vertexToHorizontalEdgeFaceStencil, double const * const _data_vertexToVerticalEdgeFaceStencil, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_add.cpp b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_add.cpp index d407f3eff..41854c32d 100644 --- a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_add.cpp +++ b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_add.cpp @@ -9,7 +9,7 @@ namespace hhg { namespace VertexDoFToEdgeDoF { namespace generated { -static void apply_3D_macrocell_vertexdof_to_edgedof_add_level_2(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) +static void apply_3D_macrocell_vertexdof_to_edgedof_add_level_2(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_vertexCellSrc, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) { const double xi_112 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, 1 }]; const double xi_113 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 1, 0 }]; @@ -423,7 +423,7 @@ static void apply_3D_macrocell_vertexdof_to_edgedof_add_level_2(double * _data_e } } -static void apply_3D_macrocell_vertexdof_to_edgedof_add_level_any(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) +static void apply_3D_macrocell_vertexdof_to_edgedof_add_level_any(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) { const double xi_112 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, 1 }]; const double xi_113 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 1, 0 }]; @@ -838,7 +838,7 @@ static void apply_3D_macrocell_vertexdof_to_edgedof_add_level_any(double * _data } -void apply_3D_macrocell_vertexdof_to_edgedof_add(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) +void apply_3D_macrocell_vertexdof_to_edgedof_add(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) { switch( level ) { diff --git a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_replace.cpp b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_replace.cpp index 6fe993988..09a3f33ee 100644 --- a/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_replace.cpp +++ b/src/tinyhhg_core/mixedoperators/VertexDoFToEdgeDoFOperator/generatedKernels/apply_3D_macrocell_vertexdof_to_edgedof_replace.cpp @@ -9,7 +9,7 @@ namespace hhg { namespace VertexDoFToEdgeDoF { namespace generated { -static void apply_3D_macrocell_vertexdof_to_edgedof_replace_level_2(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) +static void apply_3D_macrocell_vertexdof_to_edgedof_replace_level_2(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_vertexCellSrc, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) { const double xi_105 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, 1 }]; const double xi_106 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 1, 0 }]; @@ -391,7 +391,7 @@ static void apply_3D_macrocell_vertexdof_to_edgedof_replace_level_2(double * _da } } -static void apply_3D_macrocell_vertexdof_to_edgedof_replace_level_any(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) +static void apply_3D_macrocell_vertexdof_to_edgedof_replace_level_any(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) { const double xi_105 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 0, 1 }]; const double xi_106 = v2eStencilMap[hhg::edgedof::EdgeDoFOrientation::XYZ][{ 0, 1, 0 }]; @@ -774,7 +774,7 @@ static void apply_3D_macrocell_vertexdof_to_edgedof_replace_level_any(double * _ } -void apply_3D_macrocell_vertexdof_to_edgedof_replace(double * _data_edgeCellDst_X, double * _data_edgeCellDst_XY, double * _data_edgeCellDst_XYZ, double * _data_edgeCellDst_XZ, double * _data_edgeCellDst_Y, double * _data_edgeCellDst_YZ, double * _data_edgeCellDst_Z, double * _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) +void apply_3D_macrocell_vertexdof_to_edgedof_replace(double * RESTRICT _data_edgeCellDst_X, double * RESTRICT _data_edgeCellDst_XY, double * RESTRICT _data_edgeCellDst_XYZ, double * RESTRICT _data_edgeCellDst_XZ, double * RESTRICT _data_edgeCellDst_Y, double * RESTRICT _data_edgeCellDst_YZ, double * RESTRICT _data_edgeCellDst_Z, double const * RESTRICT const _data_vertexCellSrc, int64_t level, std::map< hhg::edgedof::EdgeDoFOrientation, std::map< hhg::indexing::IndexIncrement, double > > v2eStencilMap) { switch( level ) { diff --git a/src/tinyhhg_core/p1functionspace/generatedKernels/GeneratedKernelsVertexToVertexMacroCell3D.hpp b/src/tinyhhg_core/p1functionspace/generatedKernels/GeneratedKernelsVertexToVertexMacroCell3D.hpp index f1972ea43..3b93cfec3 100644 --- a/src/tinyhhg_core/p1functionspace/generatedKernels/GeneratedKernelsVertexToVertexMacroCell3D.hpp +++ b/src/tinyhhg_core/p1functionspace/generatedKernels/GeneratedKernelsVertexToVertexMacroCell3D.hpp @@ -7,18 +7,22 @@ #include "core/DataTypes.h" +#include "core/Macros.h" + #include "tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp" #include +#define RESTRICT WALBERLA_RESTRICT + namespace hhg { namespace vertexdof { namespace macrocell { namespace generated { -void apply_3D_macrocell_vertexdof_to_vertexdof_replace(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil, int64_t level); +void apply_3D_macrocell_vertexdof_to_vertexdof_replace(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil, int64_t level); -void apply_3D_macrocell_vertexdof_to_vertexdof_add(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil, int64_t level); +void apply_3D_macrocell_vertexdof_to_vertexdof_add(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil, int64_t level); } // namespace generated } // namespace macrocell diff --git a/src/tinyhhg_core/p1functionspace/generatedKernels/GeneratedKernelsVertexToVertexMacroFace2D.hpp b/src/tinyhhg_core/p1functionspace/generatedKernels/GeneratedKernelsVertexToVertexMacroFace2D.hpp index 1345a7eea..aa0800678 100644 --- a/src/tinyhhg_core/p1functionspace/generatedKernels/GeneratedKernelsVertexToVertexMacroFace2D.hpp +++ b/src/tinyhhg_core/p1functionspace/generatedKernels/GeneratedKernelsVertexToVertexMacroFace2D.hpp @@ -7,26 +7,30 @@ #include "core/DataTypes.h" +#include "core/Macros.h" + #include "tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp" #include +#define RESTRICT WALBERLA_RESTRICT + namespace hhg { namespace vertexdof { namespace macroface { namespace generated { -void apply_2D_macroface_vertexdof_to_vertexdof_replace(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil, int64_t level); +void apply_2D_macroface_vertexdof_to_vertexdof_replace(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil, int64_t level); -void apply_2D_macroface_vertexdof_to_vertexdof_add(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil, int64_t level); +void apply_2D_macroface_vertexdof_to_vertexdof_add(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil, int64_t level); -void gaussseidel_2D_macroface_vertexdof_to_vertexdof(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil, int64_t level); +void gaussseidel_2D_macroface_vertexdof_to_vertexdof(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil, int64_t level); -void assign_2D_macroface_vertexdof_1_rhs_function(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c, int64_t level); +void assign_2D_macroface_vertexdof_1_rhs_function(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c, int64_t level); -void assign_2D_macroface_vertexdof_2_rhs_functions(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1, int64_t level); +void assign_2D_macroface_vertexdof_2_rhs_functions(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1, int64_t level); -void assign_2D_macroface_vertexdof_3_rhs_functions(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2, int64_t level); +void assign_2D_macroface_vertexdof_3_rhs_functions(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2, int64_t level); } // namespace generated } // namespace macroface diff --git a/src/tinyhhg_core/p1functionspace/generatedKernels/apply_2D_macroface_vertexdof_to_vertexdof_add.cpp b/src/tinyhhg_core/p1functionspace/generatedKernels/apply_2D_macroface_vertexdof_to_vertexdof_add.cpp index 46a5b288b..0bcc5a433 100644 --- a/src/tinyhhg_core/p1functionspace/generatedKernels/apply_2D_macroface_vertexdof_to_vertexdof_add.cpp +++ b/src/tinyhhg_core/p1functionspace/generatedKernels/apply_2D_macroface_vertexdof_to_vertexdof_add.cpp @@ -10,7 +10,7 @@ namespace vertexdof { namespace macroface { namespace generated { -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_2(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_2(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -37,7 +37,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_2(double * _data } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_3(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_3(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -64,7 +64,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_3(double * _data } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_4(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_4(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -91,7 +91,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_4(double * _data } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_5(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_5(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -118,7 +118,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_5(double * _data } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_6(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_6(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -145,7 +145,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_6(double * _data } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_7(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_7(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -172,7 +172,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_7(double * _data } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_8(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_8(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -199,7 +199,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_8(double * _data } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_9(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_9(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -226,7 +226,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_9(double * _data } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_10(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_10(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -253,7 +253,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_10(double * _dat } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_11(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_11(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -280,7 +280,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_11(double * _dat } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_12(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_12(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -307,7 +307,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_12(double * _dat } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_13(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_13(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -334,7 +334,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_13(double * _dat } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_14(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_14(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -361,7 +361,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_14(double * _dat } } -static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_any(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil, int64_t level) +static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_any(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil, int64_t level) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -389,7 +389,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_add_level_any(double * _da } -void apply_2D_macroface_vertexdof_to_vertexdof_add(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil, int64_t level) +void apply_2D_macroface_vertexdof_to_vertexdof_add(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/p1functionspace/generatedKernels/apply_2D_macroface_vertexdof_to_vertexdof_replace.cpp b/src/tinyhhg_core/p1functionspace/generatedKernels/apply_2D_macroface_vertexdof_to_vertexdof_replace.cpp index 9766f6b03..42e7604e6 100644 --- a/src/tinyhhg_core/p1functionspace/generatedKernels/apply_2D_macroface_vertexdof_to_vertexdof_replace.cpp +++ b/src/tinyhhg_core/p1functionspace/generatedKernels/apply_2D_macroface_vertexdof_to_vertexdof_replace.cpp @@ -10,7 +10,7 @@ namespace vertexdof { namespace macroface { namespace generated { -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_2(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_2(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -36,7 +36,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_2(double * _ } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_3(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_3(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -62,7 +62,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_3(double * _ } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_4(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_4(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -88,7 +88,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_4(double * _ } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_5(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_5(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -114,7 +114,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_5(double * _ } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_6(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_6(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -140,7 +140,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_6(double * _ } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_7(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_7(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -166,7 +166,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_7(double * _ } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_8(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_8(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -192,7 +192,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_8(double * _ } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_9(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_9(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -218,7 +218,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_9(double * _ } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_10(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_10(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -244,7 +244,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_10(double * } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_11(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_11(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -270,7 +270,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_11(double * } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_12(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_12(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -296,7 +296,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_12(double * } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_13(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_13(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -322,7 +322,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_13(double * } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_14(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_14(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -348,7 +348,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_14(double * } } -static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_any(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil, int64_t level) +static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_any(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil, int64_t level) { const double xi_0 = _data_p1FaceStencil[2]; const double xi_1 = _data_p1FaceStencil[5]; @@ -375,7 +375,7 @@ static void apply_2D_macroface_vertexdof_to_vertexdof_replace_level_any(double * } -void apply_2D_macroface_vertexdof_to_vertexdof_replace(double * _data_p1FaceDst, double * _data_p1FaceSrc, double * const _data_p1FaceStencil, int64_t level) +void apply_2D_macroface_vertexdof_to_vertexdof_replace(double * RESTRICT _data_p1FaceDst, double const * RESTRICT const _data_p1FaceSrc, double const * const _data_p1FaceStencil, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/p1functionspace/generatedKernels/apply_3D_macrocell_vertexdof_to_vertexdof_add.cpp b/src/tinyhhg_core/p1functionspace/generatedKernels/apply_3D_macrocell_vertexdof_to_vertexdof_add.cpp index b56be758a..c9634fc1c 100644 --- a/src/tinyhhg_core/p1functionspace/generatedKernels/apply_3D_macrocell_vertexdof_to_vertexdof_add.cpp +++ b/src/tinyhhg_core/p1functionspace/generatedKernels/apply_3D_macrocell_vertexdof_to_vertexdof_add.cpp @@ -10,7 +10,7 @@ namespace vertexdof { namespace macrocell { namespace generated { -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_2(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_2(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -56,7 +56,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_2(double * _data } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_3(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_3(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -102,7 +102,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_3(double * _data } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_4(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_4(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -148,7 +148,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_4(double * _data } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_5(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_5(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -194,7 +194,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_5(double * _data } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_6(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_6(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -240,7 +240,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_6(double * _data } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_7(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_7(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -286,7 +286,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_7(double * _data } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_8(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_8(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -332,7 +332,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_8(double * _data } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_9(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_9(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -378,7 +378,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_9(double * _data } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_10(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_10(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -424,7 +424,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_10(double * _dat } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_11(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_11(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -470,7 +470,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_11(double * _dat } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_12(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_12(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -516,7 +516,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_12(double * _dat } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_13(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_13(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -562,7 +562,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_13(double * _dat } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_14(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_14(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -608,7 +608,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_14(double * _dat } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_any(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil, int64_t level) +static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_any(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil, int64_t level) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -655,7 +655,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_add_level_any(double * _da } -void apply_3D_macrocell_vertexdof_to_vertexdof_add(double * _data_p1CellDstAdd, double * _data_p1CellSrcAdd, double * const _data_p1CellStencil, int64_t level) +void apply_3D_macrocell_vertexdof_to_vertexdof_add(double * RESTRICT _data_p1CellDstAdd, double const * RESTRICT const _data_p1CellSrcAdd, double const * const _data_p1CellStencil, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/p1functionspace/generatedKernels/apply_3D_macrocell_vertexdof_to_vertexdof_replace.cpp b/src/tinyhhg_core/p1functionspace/generatedKernels/apply_3D_macrocell_vertexdof_to_vertexdof_replace.cpp index e0533b316..e7c2237ef 100644 --- a/src/tinyhhg_core/p1functionspace/generatedKernels/apply_3D_macrocell_vertexdof_to_vertexdof_replace.cpp +++ b/src/tinyhhg_core/p1functionspace/generatedKernels/apply_3D_macrocell_vertexdof_to_vertexdof_replace.cpp @@ -10,7 +10,7 @@ namespace vertexdof { namespace macrocell { namespace generated { -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_2(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_2(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -55,7 +55,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_2(double * _ } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_3(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_3(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -100,7 +100,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_3(double * _ } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_4(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_4(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -145,7 +145,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_4(double * _ } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_5(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_5(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -190,7 +190,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_5(double * _ } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_6(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_6(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -235,7 +235,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_6(double * _ } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_7(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_7(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -280,7 +280,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_7(double * _ } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_8(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_8(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -325,7 +325,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_8(double * _ } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_9(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_9(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -370,7 +370,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_9(double * _ } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_10(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_10(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -415,7 +415,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_10(double * } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_11(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_11(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -460,7 +460,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_11(double * } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_12(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_12(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -505,7 +505,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_12(double * } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_13(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_13(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -550,7 +550,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_13(double * } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_14(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_14(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -595,7 +595,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_14(double * } } -static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_any(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil, int64_t level) +static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_any(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil, int64_t level) { const double xi_0 = _data_p1CellStencil[2]; const double xi_1 = _data_p1CellStencil[11]; @@ -641,7 +641,7 @@ static void apply_3D_macrocell_vertexdof_to_vertexdof_replace_level_any(double * } -void apply_3D_macrocell_vertexdof_to_vertexdof_replace(double * _data_p1CellDst, double * _data_p1CellSrc, double * const _data_p1CellStencil, int64_t level) +void apply_3D_macrocell_vertexdof_to_vertexdof_replace(double * RESTRICT _data_p1CellDst, double const * RESTRICT const _data_p1CellSrc, double const * const _data_p1CellStencil, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_1_rhsfunction.cpp b/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_1_rhsfunction.cpp index a79eb5ee7..043af32f8 100644 --- a/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_1_rhsfunction.cpp +++ b/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_1_rhsfunction.cpp @@ -10,7 +10,7 @@ namespace vertexdof { namespace macroface { namespace generated { -static void assign_2D_macroface_vertexdof_1_rhs_function_level_2(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_2(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 4; ctr_2 += 1) { @@ -22,7 +22,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_2(double * _data_ } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_3(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_3(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 8; ctr_2 += 1) { @@ -34,7 +34,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_3(double * _data_ } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_4(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_4(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 16; ctr_2 += 1) { @@ -46,7 +46,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_4(double * _data_ } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_5(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_5(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 32; ctr_2 += 1) { @@ -58,7 +58,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_5(double * _data_ } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_6(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_6(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 64; ctr_2 += 1) { @@ -70,7 +70,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_6(double * _data_ } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_7(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_7(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 128; ctr_2 += 1) { @@ -82,7 +82,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_7(double * _data_ } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_8(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_8(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 256; ctr_2 += 1) { @@ -94,7 +94,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_8(double * _data_ } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_9(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_9(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 512; ctr_2 += 1) { @@ -106,7 +106,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_9(double * _data_ } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_10(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_10(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 1024; ctr_2 += 1) { @@ -118,7 +118,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_10(double * _data } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_11(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_11(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 2048; ctr_2 += 1) { @@ -130,7 +130,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_11(double * _data } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_12(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_12(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 4096; ctr_2 += 1) { @@ -142,7 +142,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_12(double * _data } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_13(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_13(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 8192; ctr_2 += 1) { @@ -154,7 +154,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_13(double * _data } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_14(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_14(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c) { for (int ctr_2 = 1; ctr_2 < 16384; ctr_2 += 1) { @@ -166,7 +166,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_14(double * _data } } -static void assign_2D_macroface_vertexdof_1_rhs_function_level_any(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c, int64_t level) +static void assign_2D_macroface_vertexdof_1_rhs_function_level_any(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c, int64_t level) { for (int ctr_2 = 1; ctr_2 < (1 << (level)); ctr_2 += 1) { @@ -179,7 +179,7 @@ static void assign_2D_macroface_vertexdof_1_rhs_function_level_any(double * _dat } -void assign_2D_macroface_vertexdof_1_rhs_function(double * _data_p1FaceDst, double * _data_p1FaceSrc, double c, int64_t level) +void assign_2D_macroface_vertexdof_1_rhs_function(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc, double c, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_2_rhsfunctions.cpp b/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_2_rhsfunctions.cpp index e1bf54412..66c4903a1 100644 --- a/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_2_rhsfunctions.cpp +++ b/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_2_rhsfunctions.cpp @@ -10,7 +10,7 @@ namespace vertexdof { namespace macroface { namespace generated { -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_2(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_2(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 4; ctr_2 += 1) { @@ -24,7 +24,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_2(double * _data } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_3(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_3(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 8; ctr_2 += 1) { @@ -38,7 +38,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_3(double * _data } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_4(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_4(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 16; ctr_2 += 1) { @@ -52,7 +52,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_4(double * _data } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_5(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_5(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 32; ctr_2 += 1) { @@ -66,7 +66,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_5(double * _data } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_6(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_6(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 64; ctr_2 += 1) { @@ -80,7 +80,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_6(double * _data } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_7(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_7(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 128; ctr_2 += 1) { @@ -94,7 +94,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_7(double * _data } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_8(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_8(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 256; ctr_2 += 1) { @@ -108,7 +108,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_8(double * _data } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_9(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_9(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 512; ctr_2 += 1) { @@ -122,7 +122,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_9(double * _data } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_10(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_10(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 1024; ctr_2 += 1) { @@ -136,7 +136,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_10(double * _dat } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_11(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_11(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 2048; ctr_2 += 1) { @@ -150,7 +150,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_11(double * _dat } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_12(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_12(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 4096; ctr_2 += 1) { @@ -164,7 +164,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_12(double * _dat } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_13(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_13(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 8192; ctr_2 += 1) { @@ -178,7 +178,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_13(double * _dat } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_14(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_14(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1) { for (int ctr_2 = 1; ctr_2 < 16384; ctr_2 += 1) { @@ -192,7 +192,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_14(double * _dat } } -static void assign_2D_macroface_vertexdof_2_rhs_functions_level_any(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1, int64_t level) +static void assign_2D_macroface_vertexdof_2_rhs_functions_level_any(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1, int64_t level) { for (int ctr_2 = 1; ctr_2 < (1 << (level)); ctr_2 += 1) { @@ -207,7 +207,7 @@ static void assign_2D_macroface_vertexdof_2_rhs_functions_level_any(double * _da } -void assign_2D_macroface_vertexdof_2_rhs_functions(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double c0, double c1, int64_t level) +void assign_2D_macroface_vertexdof_2_rhs_functions(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double c0, double c1, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_3_rhsfunctions.cpp b/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_3_rhsfunctions.cpp index daf20b994..4f993f4b6 100644 --- a/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_3_rhsfunctions.cpp +++ b/src/tinyhhg_core/p1functionspace/generatedKernels/assign_2D_macroface_vertexdof_3_rhsfunctions.cpp @@ -10,7 +10,7 @@ namespace vertexdof { namespace macroface { namespace generated { -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_2(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_2(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 4; ctr_2 += 1) { @@ -25,7 +25,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_2(double * _data } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_3(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_3(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 8; ctr_2 += 1) { @@ -40,7 +40,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_3(double * _data } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_4(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_4(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 16; ctr_2 += 1) { @@ -55,7 +55,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_4(double * _data } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_5(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_5(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 32; ctr_2 += 1) { @@ -70,7 +70,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_5(double * _data } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_6(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_6(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 64; ctr_2 += 1) { @@ -85,7 +85,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_6(double * _data } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_7(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_7(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 128; ctr_2 += 1) { @@ -100,7 +100,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_7(double * _data } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_8(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_8(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 256; ctr_2 += 1) { @@ -115,7 +115,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_8(double * _data } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_9(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_9(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 512; ctr_2 += 1) { @@ -130,7 +130,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_9(double * _data } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_10(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_10(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 1024; ctr_2 += 1) { @@ -145,7 +145,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_10(double * _dat } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_11(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_11(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 2048; ctr_2 += 1) { @@ -160,7 +160,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_11(double * _dat } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_12(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_12(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 4096; ctr_2 += 1) { @@ -175,7 +175,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_12(double * _dat } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_13(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_13(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 8192; ctr_2 += 1) { @@ -190,7 +190,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_13(double * _dat } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_14(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_14(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2) { for (int ctr_2 = 1; ctr_2 < 16384; ctr_2 += 1) { @@ -205,7 +205,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_14(double * _dat } } -static void assign_2D_macroface_vertexdof_3_rhs_functions_level_any(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2, int64_t level) +static void assign_2D_macroface_vertexdof_3_rhs_functions_level_any(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2, int64_t level) { for (int ctr_2 = 1; ctr_2 < (1 << (level)); ctr_2 += 1) { @@ -221,7 +221,7 @@ static void assign_2D_macroface_vertexdof_3_rhs_functions_level_any(double * _da } -void assign_2D_macroface_vertexdof_3_rhs_functions(double * _data_p1FaceDst, double * _data_p1FaceSrc0, double * _data_p1FaceSrc1, double * _data_p1FaceSrc3, double c0, double c1, double c2, int64_t level) +void assign_2D_macroface_vertexdof_3_rhs_functions(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceSrc0, double * RESTRICT _data_p1FaceSrc1, double * RESTRICT _data_p1FaceSrc3, double c0, double c1, double c2, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/p1functionspace/generatedKernels/gaussseidel_2D_macroface_vertexdof_to_vertexdof.cpp b/src/tinyhhg_core/p1functionspace/generatedKernels/gaussseidel_2D_macroface_vertexdof_to_vertexdof.cpp index 46beabd8c..abaf5f9d4 100644 --- a/src/tinyhhg_core/p1functionspace/generatedKernels/gaussseidel_2D_macroface_vertexdof_to_vertexdof.cpp +++ b/src/tinyhhg_core/p1functionspace/generatedKernels/gaussseidel_2D_macroface_vertexdof_to_vertexdof.cpp @@ -10,7 +10,7 @@ namespace vertexdof { namespace macroface { namespace generated { -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_2(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_2(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -37,7 +37,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_2(double * _da } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_3(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_3(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -64,7 +64,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_3(double * _da } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_4(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_4(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -91,7 +91,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_4(double * _da } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_5(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_5(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -118,7 +118,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_5(double * _da } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_6(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_6(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -145,7 +145,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_6(double * _da } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_7(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_7(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -172,7 +172,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_7(double * _da } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_8(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_8(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -199,7 +199,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_8(double * _da } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_9(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_9(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -226,7 +226,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_9(double * _da } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_10(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_10(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -253,7 +253,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_10(double * _d } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_11(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_11(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -280,7 +280,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_11(double * _d } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_12(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_12(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -307,7 +307,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_12(double * _d } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_13(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_13(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -334,7 +334,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_13(double * _d } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_14(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_14(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -361,7 +361,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_14(double * _d } } -static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_any(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil, int64_t level) +static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_any(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil, int64_t level) { const double xi_0 = _data_p1FaceStencil[3]; const double xi_9 = 1 / (xi_0); @@ -389,7 +389,7 @@ static void gaussseidel_2D_macroface_vertexdof_to_vertexdof_level_any(double * _ } -void gaussseidel_2D_macroface_vertexdof_to_vertexdof(double * _data_p1FaceDst, double * _data_p1FaceRhs, double * const _data_p1FaceStencil, int64_t level) +void gaussseidel_2D_macroface_vertexdof_to_vertexdof(double * RESTRICT _data_p1FaceDst, double * RESTRICT _data_p1FaceRhs, double const * const _data_p1FaceStencil, int64_t level) { switch( level ) { diff --git a/src/tinyhhg_core/p2functionspace/generatedKernels/GeneratedKernelsP2MacroFace2D.hpp b/src/tinyhhg_core/p2functionspace/generatedKernels/GeneratedKernelsP2MacroFace2D.hpp index 6087760e0..80caa9115 100644 --- a/src/tinyhhg_core/p2functionspace/generatedKernels/GeneratedKernelsP2MacroFace2D.hpp +++ b/src/tinyhhg_core/p2functionspace/generatedKernels/GeneratedKernelsP2MacroFace2D.hpp @@ -7,18 +7,22 @@ #include "core/DataTypes.h" +#include "core/Macros.h" + #include "tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp" #include +#define RESTRICT WALBERLA_RESTRICT + namespace hhg { namespace P2 { namespace macroface { namespace generated { -void sor_2D_macroface_P2_update_vertexdofs(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, int64_t level, double relax); +void sor_2D_macroface_P2_update_vertexdofs(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, int64_t level, double relax); -void sor_2D_macroface_P2_update_edgedofs(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, int64_t level, double relax); +void sor_2D_macroface_P2_update_edgedofs(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, int64_t level, double relax); } // namespace generated } // namespace macroface diff --git a/src/tinyhhg_core/p2functionspace/generatedKernels/sor_2D_macroface_P2_update_edgedofs.cpp b/src/tinyhhg_core/p2functionspace/generatedKernels/sor_2D_macroface_P2_update_edgedofs.cpp index c1dcf67c2..fe964884b 100644 --- a/src/tinyhhg_core/p2functionspace/generatedKernels/sor_2D_macroface_P2_update_edgedofs.cpp +++ b/src/tinyhhg_core/p2functionspace/generatedKernels/sor_2D_macroface_P2_update_edgedofs.cpp @@ -10,7 +10,7 @@ namespace P2 { namespace macroface { namespace generated { -static void sor_2D_macroface_P2_update_edgedofs_level_2(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_2(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -206,7 +206,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_2(double * _data_edgeFaceD } } -static void sor_2D_macroface_P2_update_edgedofs_level_3(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_3(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -402,7 +402,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_3(double * _data_edgeFaceD } } -static void sor_2D_macroface_P2_update_edgedofs_level_4(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_4(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -598,7 +598,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_4(double * _data_edgeFaceD } } -static void sor_2D_macroface_P2_update_edgedofs_level_5(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_5(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -794,7 +794,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_5(double * _data_edgeFaceD } } -static void sor_2D_macroface_P2_update_edgedofs_level_6(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_6(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -990,7 +990,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_6(double * _data_edgeFaceD } } -static void sor_2D_macroface_P2_update_edgedofs_level_7(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_7(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -1186,7 +1186,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_7(double * _data_edgeFaceD } } -static void sor_2D_macroface_P2_update_edgedofs_level_8(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_8(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -1382,7 +1382,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_8(double * _data_edgeFaceD } } -static void sor_2D_macroface_P2_update_edgedofs_level_9(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_9(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -1578,7 +1578,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_9(double * _data_edgeFaceD } } -static void sor_2D_macroface_P2_update_edgedofs_level_10(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_10(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -1774,7 +1774,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_10(double * _data_edgeFace } } -static void sor_2D_macroface_P2_update_edgedofs_level_11(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_11(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -1970,7 +1970,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_11(double * _data_edgeFace } } -static void sor_2D_macroface_P2_update_edgedofs_level_12(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_12(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -2166,7 +2166,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_12(double * _data_edgeFace } } -static void sor_2D_macroface_P2_update_edgedofs_level_13(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_13(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -2362,7 +2362,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_13(double * _data_edgeFace } } -static void sor_2D_macroface_P2_update_edgedofs_level_14(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_14(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -2558,7 +2558,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_14(double * _data_edgeFace } } -static void sor_2D_macroface_P2_update_edgedofs_level_any(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, int64_t level, double relax) +static void sor_2D_macroface_P2_update_edgedofs_level_any(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, int64_t level, double relax) { const double xi_80 = 1.0; const double xi_81 = -relax; @@ -2755,7 +2755,7 @@ static void sor_2D_macroface_P2_update_edgedofs_level_any(double * _data_edgeFac } -void sor_2D_macroface_P2_update_edgedofs(double * _data_edgeFaceDst, double * _data_edgeFaceRhs, double * const _data_edge_stencil_at_edge_x, double * const _data_edge_stencil_at_edge_xy, double * const _data_edge_stencil_at_edge_y, double * _data_vertexFaceDst, double * const _data_vertex_stencil_at_edge_x, double * const _data_vertex_stencil_at_edge_xy, double * const _data_vertex_stencil_at_edge_y, int64_t level, double relax) +void sor_2D_macroface_P2_update_edgedofs(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceRhs, double const * const _data_edge_stencil_at_edge_x, double const * const _data_edge_stencil_at_edge_xy, double const * const _data_edge_stencil_at_edge_y, double * RESTRICT _data_vertexFaceDst, double const * const _data_vertex_stencil_at_edge_x, double const * const _data_vertex_stencil_at_edge_xy, double const * const _data_vertex_stencil_at_edge_y, int64_t level, double relax) { switch( level ) { diff --git a/src/tinyhhg_core/p2functionspace/generatedKernels/sor_2D_macroface_P2_update_vertexdofs.cpp b/src/tinyhhg_core/p2functionspace/generatedKernels/sor_2D_macroface_P2_update_vertexdofs.cpp index ce4a897ab..b5ae042e3 100644 --- a/src/tinyhhg_core/p2functionspace/generatedKernels/sor_2D_macroface_P2_update_vertexdofs.cpp +++ b/src/tinyhhg_core/p2functionspace/generatedKernels/sor_2D_macroface_P2_update_vertexdofs.cpp @@ -10,7 +10,7 @@ namespace P2 { namespace macroface { namespace generated { -static void sor_2D_macroface_P2_update_vertexdofs_level_2(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_2(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -63,7 +63,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_2(double * _data_edgeFac } } -static void sor_2D_macroface_P2_update_vertexdofs_level_3(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_3(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -116,7 +116,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_3(double * _data_edgeFac } } -static void sor_2D_macroface_P2_update_vertexdofs_level_4(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_4(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -169,7 +169,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_4(double * _data_edgeFac } } -static void sor_2D_macroface_P2_update_vertexdofs_level_5(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_5(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -222,7 +222,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_5(double * _data_edgeFac } } -static void sor_2D_macroface_P2_update_vertexdofs_level_6(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_6(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -275,7 +275,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_6(double * _data_edgeFac } } -static void sor_2D_macroface_P2_update_vertexdofs_level_7(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_7(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -328,7 +328,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_7(double * _data_edgeFac } } -static void sor_2D_macroface_P2_update_vertexdofs_level_8(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_8(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -381,7 +381,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_8(double * _data_edgeFac } } -static void sor_2D_macroface_P2_update_vertexdofs_level_9(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_9(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -434,7 +434,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_9(double * _data_edgeFac } } -static void sor_2D_macroface_P2_update_vertexdofs_level_10(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_10(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -487,7 +487,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_10(double * _data_edgeFa } } -static void sor_2D_macroface_P2_update_vertexdofs_level_11(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_11(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -540,7 +540,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_11(double * _data_edgeFa } } -static void sor_2D_macroface_P2_update_vertexdofs_level_12(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_12(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -593,7 +593,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_12(double * _data_edgeFa } } -static void sor_2D_macroface_P2_update_vertexdofs_level_13(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_13(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -646,7 +646,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_13(double * _data_edgeFa } } -static void sor_2D_macroface_P2_update_vertexdofs_level_14(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_14(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -699,7 +699,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_14(double * _data_edgeFa } } -static void sor_2D_macroface_P2_update_vertexdofs_level_any(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, int64_t level, double relax) +static void sor_2D_macroface_P2_update_vertexdofs_level_any(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, int64_t level, double relax) { const double xi_23 = 1.0; const double xi_24 = -relax; @@ -753,7 +753,7 @@ static void sor_2D_macroface_P2_update_vertexdofs_level_any(double * _data_edgeF } -void sor_2D_macroface_P2_update_vertexdofs(double * _data_edgeFaceDst, double * const _data_edge_stencil_at_vertex, double * _data_vertexFaceDst, double * _data_vertexFaceRhs, double * const _data_vertex_stencil_at_vertex, int64_t level, double relax) +void sor_2D_macroface_P2_update_vertexdofs(double * RESTRICT _data_edgeFaceDst, double const * const _data_edge_stencil_at_vertex, double * RESTRICT _data_vertexFaceDst, double * RESTRICT _data_vertexFaceRhs, double const * const _data_vertex_stencil_at_vertex, int64_t level, double relax) { switch( level ) { -- GitLab From 9a58c84342028a4668b57a9c579366fba0374454 Mon Sep 17 00:00:00 2001 From: Nils Kohl Date: Tue, 9 Apr 2019 14:02:19 +0200 Subject: [PATCH 4/4] Regenerated kernels: - split all edge fields into distinct pointers --- .../ApplyPerformanceAnalysis-2D-P2.cpp | 75 +- .../edgedofspace/EdgeDoFFunction.cpp | 44 +- .../edgedofspace/EdgeDoFOperator.cpp | 73 +- .../GeneratedKernelsEdgeToEdgeMacroFace2D.hpp | 10 +- ...ly_2D_macroface_edgedof_to_edgedof_add.cpp | 2662 ++++----- ...D_macroface_edgedof_to_edgedof_replace.cpp | 2326 ++++---- ...ign_2D_macroface_edgedof_1_rhsfunction.cpp | 394 +- ...gn_2D_macroface_edgedof_2_rhsfunctions.cpp | 1066 ++-- ...gn_2D_macroface_edgedof_3_rhsfunctions.cpp | 1402 ++--- .../P2toP2QuadraticProlongation.cpp | 21 +- .../P2toP2QuadraticRestriction.cpp | 21 +- .../GeneratedKernelsP2MacroFace2D.hpp | 8 +- ...ate_2D_macroface_P2_push_from_edgedofs.cpp | 4594 ++++++++-------- ...e_2D_macroface_P2_push_from_vertexdofs.cpp | 4762 ++++++++--------- ...strict_2D_macroface_P2_update_edgedofs.cpp | 4006 +++++++------- ...rict_2D_macroface_P2_update_vertexdofs.cpp | 2410 ++++----- .../EdgeDoFToVertexDoFOperator.cpp | 25 +- ...eneratedKernelsEdgeToVertexMacroFace2D.hpp | 4 +- ..._2D_macroface_edgedof_to_vertexdof_add.cpp | 646 +-- ...macroface_edgedof_to_vertexdof_replace.cpp | 646 +-- .../VertexDoFToEdgeDoFOperator.cpp | 49 +- ...eneratedKernelsVertexToEdgeMacroFace2D.hpp | 4 +- ..._2D_macroface_vertexdof_to_edgedof_add.cpp | 730 +-- ...macroface_vertexdof_to_edgedof_replace.cpp | 394 +- .../p2functionspace/P2ConstantOperator.cpp | 24 +- .../GeneratedKernelsP2MacroFace2D.hpp | 4 +- .../sor_2D_macroface_P2_update_edgedofs.cpp | 2214 ++++---- .../sor_2D_macroface_P2_update_vertexdofs.cpp | 646 +-- 28 files changed, 14719 insertions(+), 14541 deletions(-) diff --git a/apps/benchmarks/ApplyPerformanceAnalysis-2D-P2/ApplyPerformanceAnalysis-2D-P2.cpp b/apps/benchmarks/ApplyPerformanceAnalysis-2D-P2/ApplyPerformanceAnalysis-2D-P2.cpp index a7ffbbfcd..5781055f9 100644 --- a/apps/benchmarks/ApplyPerformanceAnalysis-2D-P2/ApplyPerformanceAnalysis-2D-P2.cpp +++ b/apps/benchmarks/ApplyPerformanceAnalysis-2D-P2/ApplyPerformanceAnalysis-2D-P2.cpp @@ -34,23 +34,30 @@ static void performBenchmark( hhg::P2Function< double >& src, walberla::WcTimingTree& timingTree ) { const std::string benchInfoString = "level" + ( level < 10 ? "0" + std::to_string( level ) : std::to_string( level ) ) + "-" + - "sampleSize" + std::to_string( sampleSize ) + - "numProcs" + std::to_string(walberla::mpi::MPIManager::instance()->numProcesses()); + "sampleSize" + std::to_string( sampleSize ) + "numProcs" + + std::to_string( walberla::mpi::MPIManager::instance()->numProcesses() ); + + typedef edgedof::EdgeDoFOrientation eo; + std::map< eo, uint_t > firstIdx; + for ( auto e : edgedof::faceLocalEdgeDoFOrientations ) + firstIdx[e] = edgedof::macroface::index( level, 0, 0, e ); std::string name; /// Vertex to Vertex - for( uint_t i = 0; i < sampleSize; i++ ) + for ( uint_t i = 0; i < sampleSize; i++ ) { name = "Vertex-to-Vertex-Apply-" + benchInfoString; timingTree.start( name ); LIKWID_MARKER_START( name.c_str() ); - if( USE_GENERATED_KERNELS ) + if ( USE_GENERATED_KERNELS ) { auto dstPtr = face.getData( dst.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); auto srcPtr = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); auto stencilPtr = face.getData( laplace.getVertexToVertexOpr().getFaceStencilID() )->getPointer( level ); - hhg::vertexdof::macroface::generated::apply_2D_macroface_vertexdof_to_vertexdof_replace( dstPtr, srcPtr, stencilPtr, static_cast< int64_t >( level ) ); - } else + hhg::vertexdof::macroface::generated::apply_2D_macroface_vertexdof_to_vertexdof_replace( + dstPtr, srcPtr, stencilPtr, static_cast< int64_t >( level ) ); + } + else { hhg::vertexdof::macroface::apply( level, face, @@ -64,18 +71,24 @@ static void performBenchmark( hhg::P2Function< double >& src, } /// Edge to Vertex - for( uint_t i = 0; i < sampleSize; i++ ) + for ( uint_t i = 0; i < sampleSize; i++ ) { name = "Edge-to-Vertex-Apply-" + benchInfoString; timingTree.start( name ); LIKWID_MARKER_START( name.c_str() ); - if( USE_GENERATED_KERNELS ) + if ( USE_GENERATED_KERNELS ) { auto dstPtr = face.getData( dst.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); auto srcPtr = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); auto stencilPtr = face.getData( laplace.getEdgeToVertexOpr().getFaceStencilID() )->getPointer( level ); - hhg::EdgeDoFToVertexDoF::generated::apply_2D_macroface_edgedof_to_vertexdof_replace( srcPtr, stencilPtr, dstPtr, static_cast< int64_t >( level ) ); - } else + hhg::EdgeDoFToVertexDoF::generated::apply_2D_macroface_edgedof_to_vertexdof_replace( &srcPtr[firstIdx[eo::X]], + &srcPtr[firstIdx[eo::XY]], + &srcPtr[firstIdx[eo::Y]], + stencilPtr, + dstPtr, + static_cast< int64_t >( level ) ); + } + else { hhg::EdgeDoFToVertexDoF::applyFace( level, face, @@ -89,18 +102,28 @@ static void performBenchmark( hhg::P2Function< double >& src, } /// Edge to Edge - for( uint_t i = 0; i < sampleSize; i++ ) + for ( uint_t i = 0; i < sampleSize; i++ ) { name = "Edge-to-Edge-Apply-" + benchInfoString; timingTree.start( name ); LIKWID_MARKER_START( name.c_str() ); - if( USE_GENERATED_KERNELS ) + if ( USE_GENERATED_KERNELS ) { auto dstPtr = face.getData( dst.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); auto srcPtr = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); auto stencilPtr = face.getData( laplace.getEdgeToEdgeOpr().getFaceStencilID() )->getPointer( level ); - hhg::edgedof::macroface::generated::apply_2D_macroface_edgedof_to_edgedof_replace( dstPtr, srcPtr, &stencilPtr[5], &stencilPtr[0], &stencilPtr[10], static_cast< int64_t >( level ) ); - } else + hhg::edgedof::macroface::generated::apply_2D_macroface_edgedof_to_edgedof_replace( &dstPtr[firstIdx[eo::X]], + &dstPtr[firstIdx[eo::XY]], + &dstPtr[firstIdx[eo::Y]], + &srcPtr[firstIdx[eo::X]], + &srcPtr[firstIdx[eo::XY]], + &srcPtr[firstIdx[eo::Y]], + &stencilPtr[5], + &stencilPtr[0], + &stencilPtr[10], + static_cast< int64_t >( level ) ); + } + else { hhg::edgedof::macroface::apply( level, face, @@ -114,21 +137,29 @@ static void performBenchmark( hhg::P2Function< double >& src, } /// Vertex to Edge - for( uint_t i = 0; i < sampleSize; i++ ) + for ( uint_t i = 0; i < sampleSize; i++ ) { name = "Vertex-to-Edge-Apply-" + benchInfoString; timingTree.start( name ); LIKWID_MARKER_START( name.c_str() ); - if( USE_GENERATED_KERNELS ) + if ( USE_GENERATED_KERNELS ) { - auto dstPtr = face.getData( dst.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); - auto srcPtr = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); - auto stencilPtr = face.getData( laplace.getVertexToEdgeOpr().getFaceStencilID() )->getPointer( level ); - auto vertexToDiagonalEdgeStencil = &stencilPtr[4]; + auto dstPtr = face.getData( dst.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + auto srcPtr = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + auto stencilPtr = face.getData( laplace.getVertexToEdgeOpr().getFaceStencilID() )->getPointer( level ); + auto vertexToDiagonalEdgeStencil = &stencilPtr[4]; auto vertexToHorizontalEdgeStencil = &stencilPtr[0]; auto vertexToVerticalEdgeStencil = &stencilPtr[8]; - hhg::VertexDoFToEdgeDoF::generated::apply_2D_macroface_vertexdof_to_edgedof_replace( dstPtr, srcPtr, vertexToDiagonalEdgeStencil, vertexToHorizontalEdgeStencil, vertexToVerticalEdgeStencil, static_cast< int64_t >( level ) ); - } else + hhg::VertexDoFToEdgeDoF::generated::apply_2D_macroface_vertexdof_to_edgedof_replace( &dstPtr[firstIdx[eo::X]], + &dstPtr[firstIdx[eo::XY]], + &dstPtr[firstIdx[eo::Y]], + srcPtr, + vertexToDiagonalEdgeStencil, + vertexToHorizontalEdgeStencil, + vertexToVerticalEdgeStencil, + static_cast< int64_t >( level ) ); + } + else { hhg::VertexDoFToEdgeDoF::applyFace( level, face, diff --git a/src/tinyhhg_core/edgedofspace/EdgeDoFFunction.cpp b/src/tinyhhg_core/edgedofspace/EdgeDoFFunction.cpp index ac7501d07..c8366f4d6 100644 --- a/src/tinyhhg_core/edgedofspace/EdgeDoFFunction.cpp +++ b/src/tinyhhg_core/edgedofspace/EdgeDoFFunction.cpp @@ -291,12 +291,24 @@ void macroFaceAssign< double >( const uint_t & level, Face & face, const std::ve const std::vector< PrimitiveDataID< FunctionMemory< double >, Face > > & srcFaceIDs, const PrimitiveDataID< FunctionMemory< double >, Face > & dstFaceID ) { + typedef edgedof::EdgeDoFOrientation eo; + std::map< eo, uint_t > firstIdx; + for ( auto e : edgedof::faceLocalEdgeDoFOrientations ) + firstIdx[e] = edgedof::macroface::index( level, 0, 0, e ); + if ( globalDefines::useGeneratedKernels && scalars.size() == 1 ) { auto dstData = face.getData( dstFaceID )->getPointer( level ); auto srcData = face.getData( srcFaceIDs.at( 0 ) )->getPointer( level ); auto scalar = scalars.at( 0 ); - edgedof::macroface::generated::assign_2D_macroface_edgedof_1_rhs_function( dstData, srcData, scalar, static_cast< int64_t >( level ) ); + edgedof::macroface::generated::assign_2D_macroface_edgedof_1_rhs_function( &dstData[firstIdx[eo::X]], + &dstData[firstIdx[eo::XY]], + &dstData[firstIdx[eo::Y]], + &srcData[firstIdx[eo::X]], + &srcData[firstIdx[eo::XY]], + &srcData[firstIdx[eo::Y]], + scalar, + static_cast< int64_t >( level ) ); } else if ( globalDefines::useGeneratedKernels && scalars.size() == 2 ) { @@ -305,7 +317,18 @@ void macroFaceAssign< double >( const uint_t & level, Face & face, const std::ve auto srcData1 = face.getData( srcFaceIDs.at( 1 ) )->getPointer( level ); auto scalar0 = scalars.at( 0 ); auto scalar1 = scalars.at( 1 ); - edgedof::macroface::generated::assign_2D_macroface_edgedof_2_rhs_functions( dstData, srcData0, srcData1, scalar0, scalar1, static_cast< int64_t >( level ) ); + edgedof::macroface::generated::assign_2D_macroface_edgedof_2_rhs_functions( &dstData[firstIdx[eo::X]], + &dstData[firstIdx[eo::XY]], + &dstData[firstIdx[eo::Y]], + &srcData0[firstIdx[eo::X]], + &srcData0[firstIdx[eo::XY]], + &srcData0[firstIdx[eo::Y]], + &srcData1[firstIdx[eo::X]], + &srcData1[firstIdx[eo::XY]], + &srcData1[firstIdx[eo::Y]], + scalar0, + scalar1, + static_cast< int64_t >( level ) ); } else if ( globalDefines::useGeneratedKernels && scalars.size() == 3 ) { @@ -316,7 +339,22 @@ void macroFaceAssign< double >( const uint_t & level, Face & face, const std::ve auto scalar0 = scalars.at( 0 ); auto scalar1 = scalars.at( 1 ); auto scalar2 = scalars.at( 2 ); - edgedof::macroface::generated::assign_2D_macroface_edgedof_3_rhs_functions( dstData, srcData0, srcData1, srcData2, scalar0, scalar1, scalar2, static_cast< int64_t >( level ) ); + edgedof::macroface::generated::assign_2D_macroface_edgedof_3_rhs_functions( &dstData[firstIdx[eo::X]], + &dstData[firstIdx[eo::XY]], + &dstData[firstIdx[eo::Y]], + &srcData0[firstIdx[eo::X]], + &srcData0[firstIdx[eo::XY]], + &srcData0[firstIdx[eo::Y]], + &srcData1[firstIdx[eo::X]], + &srcData1[firstIdx[eo::XY]], + &srcData1[firstIdx[eo::Y]], + &srcData2[firstIdx[eo::X]], + &srcData2[firstIdx[eo::XY]], + &srcData2[firstIdx[eo::Y]], + scalar0, + scalar1, + scalar2, + static_cast< int64_t >( level ) ); } else { diff --git a/src/tinyhhg_core/edgedofspace/EdgeDoFOperator.cpp b/src/tinyhhg_core/edgedofspace/EdgeDoFOperator.cpp index 060bf4b73..1a0f35f4b 100644 --- a/src/tinyhhg_core/edgedofspace/EdgeDoFOperator.cpp +++ b/src/tinyhhg_core/edgedofspace/EdgeDoFOperator.cpp @@ -95,35 +95,60 @@ void EdgeDoFOperator::apply(const EdgeDoFFunction &src,const EdgeDoFFunc this->timingTree_->start( "Macro-Face" ); - for (auto& it : storage_->getFaces()) + for ( auto& it : storage_->getFaces() ) { - Face& face = *it.second; + Face& face = *it.second; - const DoFType faceBC = dst.getBoundaryCondition().getBoundaryType( face.getMeshBoundaryFlag() ); - if ( testFlag( faceBC, flag ) ) - { - if ( storage_->hasGlobalCells() ) - { - edgedof::macroface::apply3D( level, face, *storage_, faceStencil3DID_, src.getFaceDataID(), dst.getFaceDataID(), updateType ); - } - else if( hhg::globalDefines::useGeneratedKernels ) - { - real_t* opr_data = face.getData( faceStencilID_ )->getPointer( level ); - real_t* src_data = face.getData( src.getFaceDataID() )->getPointer( level ); - real_t* dst_data = face.getData( dst.getFaceDataID() )->getPointer( level ); - if( updateType == hhg::Replace ) + const DoFType faceBC = dst.getBoundaryCondition().getBoundaryType( face.getMeshBoundaryFlag() ); + if ( testFlag( faceBC, flag ) ) + { + if ( storage_->hasGlobalCells() ) { - edgedof::macroface::generated::apply_2D_macroface_edgedof_to_edgedof_replace( dst_data, src_data, &opr_data[5], &opr_data[0], &opr_data[10], static_cast< int64_t >( level ) ); - } else if( updateType == hhg::Add ) + edgedof::macroface::apply3D( + level, face, *storage_, faceStencil3DID_, src.getFaceDataID(), dst.getFaceDataID(), updateType ); + } + else if ( hhg::globalDefines::useGeneratedKernels ) { - edgedof::macroface::generated::apply_2D_macroface_edgedof_to_edgedof_add( dst_data, src_data, &opr_data[5], &opr_data[0], &opr_data[10], static_cast< int64_t >( level ) ); + typedef edgedof::EdgeDoFOrientation eo; + real_t* opr_data = face.getData( faceStencilID_ )->getPointer( level ); + real_t* src_data = face.getData( src.getFaceDataID() )->getPointer( level ); + real_t* dst_data = face.getData( dst.getFaceDataID() )->getPointer( level ); + std::map< eo, uint_t > firstIdx; + for ( auto e : edgedof::faceLocalEdgeDoFOrientations ) + firstIdx[e] = edgedof::macroface::index( level, 0, 0, e ); + + if ( updateType == hhg::Replace ) + { + edgedof::macroface::generated::apply_2D_macroface_edgedof_to_edgedof_replace( &dst_data[firstIdx[eo::X]], + &dst_data[firstIdx[eo::XY]], + &dst_data[firstIdx[eo::Y]], + &src_data[firstIdx[eo::X]], + &src_data[firstIdx[eo::XY]], + &src_data[firstIdx[eo::Y]], + &opr_data[5], + &opr_data[0], + &opr_data[10], + static_cast< int64_t >( level ) ); + } + else if ( updateType == hhg::Add ) + { + edgedof::macroface::generated::apply_2D_macroface_edgedof_to_edgedof_add( &dst_data[firstIdx[eo::X]], + &dst_data[firstIdx[eo::XY]], + &dst_data[firstIdx[eo::Y]], + &src_data[firstIdx[eo::X]], + &src_data[firstIdx[eo::XY]], + &src_data[firstIdx[eo::Y]], + &opr_data[5], + &opr_data[0], + &opr_data[10], + static_cast< int64_t >( level ) ); + } } - } - else - { - edgedof::macroface::apply( level, face, faceStencilID_, src.getFaceDataID(), dst.getFaceDataID(), updateType ); - } - } + else + { + edgedof::macroface::apply( level, face, faceStencilID_, src.getFaceDataID(), dst.getFaceDataID(), updateType ); + } + } } this->timingTree_->stop( "Macro-Face" ); diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroFace2D.hpp b/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroFace2D.hpp index 00faed93b..8c97cea0f 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroFace2D.hpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroFace2D.hpp @@ -20,15 +20,15 @@ namespace edgedof { namespace macroface { namespace generated { -void apply_2D_macroface_edgedof_to_edgedof_replace(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level); +void apply_2D_macroface_edgedof_to_edgedof_replace(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level); -void apply_2D_macroface_edgedof_to_edgedof_add(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level); +void apply_2D_macroface_edgedof_to_edgedof_add(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level); -void assign_2D_macroface_edgedof_1_rhs_function(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc, double c, int64_t level); +void assign_2D_macroface_edgedof_1_rhs_function(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double * RESTRICT _data_edgeFaceSrc_X, double * RESTRICT _data_edgeFaceSrc_XY, double * RESTRICT _data_edgeFaceSrc_Y, double c, int64_t level); -void assign_2D_macroface_edgedof_2_rhs_functions(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double c0, double c1, int64_t level); +void assign_2D_macroface_edgedof_2_rhs_functions(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double * RESTRICT _data_edgeFaceSrc0_X, double * RESTRICT _data_edgeFaceSrc0_XY, double * RESTRICT _data_edgeFaceSrc0_Y, double * RESTRICT _data_edgeFaceSrc1_X, double * RESTRICT _data_edgeFaceSrc1_XY, double * RESTRICT _data_edgeFaceSrc1_Y, double c0, double c1, int64_t level); -void assign_2D_macroface_edgedof_3_rhs_functions(double * RESTRICT _data_edgeFaceDst, double * RESTRICT _data_edgeFaceSrc0, double * RESTRICT _data_edgeFaceSrc1, double * RESTRICT _data_edgeFaceSrc2, double c0, double c1, double c2, int64_t level); +void assign_2D_macroface_edgedof_3_rhs_functions(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double * RESTRICT _data_edgeFaceSrc0_X, double * RESTRICT _data_edgeFaceSrc0_XY, double * RESTRICT _data_edgeFaceSrc0_Y, double * RESTRICT _data_edgeFaceSrc1_X, double * RESTRICT _data_edgeFaceSrc1_XY, double * RESTRICT _data_edgeFaceSrc1_Y, double * RESTRICT _data_edgeFaceSrc2_X, double * RESTRICT _data_edgeFaceSrc2_XY, double * RESTRICT _data_edgeFaceSrc2_Y, double c0, double c1, double c2, int64_t level); } // namespace generated } // namespace macroface diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_add.cpp b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_add.cpp index 13b675039..87e6b7d65 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_add.cpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_add.cpp @@ -10,21 +10,21 @@ namespace edgedof { namespace macroface { namespace generated { -static void apply_2D_macroface_edgedof_to_edgedof_add_level_2(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_2(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -32,42 +32,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_2(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 3; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 3; ctr_1 < 4; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 3; ctr_2 += 1) @@ -75,63 +75,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_2(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 3; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 3; ctr_1 < -ctr_2 + 4; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 3; ctr_2 < 4; ctr_2 += 1) @@ -139,13 +139,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_2(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -153,21 +153,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_2(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_3(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_3(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -175,42 +175,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_3(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 7; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 7; ctr_1 < 8; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 7; ctr_2 += 1) @@ -218,63 +218,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_3(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 7; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 7; ctr_1 < -ctr_2 + 8; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 7; ctr_2 < 8; ctr_2 += 1) @@ -282,13 +282,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_3(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; + _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -296,21 +296,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_3(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_4(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_4(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -318,42 +318,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_4(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 15; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 15; ctr_1 < 16; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 15; ctr_2 += 1) @@ -361,63 +361,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_4(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 15; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 15; ctr_1 < -ctr_2 + 16; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 15; ctr_2 < 16; ctr_2 += 1) @@ -425,13 +425,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_4(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; + _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -439,21 +439,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_4(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_5(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_5(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -461,42 +461,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_5(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 31; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 31; ctr_1 < 32; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 31; ctr_2 += 1) @@ -504,63 +504,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_5(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 31; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 31; ctr_1 < -ctr_2 + 32; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 31; ctr_2 < 32; ctr_2 += 1) @@ -568,13 +568,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_5(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; + _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -582,21 +582,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_5(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_6(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_6(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -604,42 +604,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_6(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 63; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 63; ctr_1 < 64; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 63; ctr_2 += 1) @@ -647,63 +647,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_6(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 63; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 63; ctr_1 < -ctr_2 + 64; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 63; ctr_2 < 64; ctr_2 += 1) @@ -711,13 +711,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_6(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; + _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -725,21 +725,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_6(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_7(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_7(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -747,42 +747,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_7(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 127; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 127; ctr_1 < 128; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 127; ctr_2 += 1) @@ -790,63 +790,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_7(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 127; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 127; ctr_1 < -ctr_2 + 128; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 127; ctr_2 < 128; ctr_2 += 1) @@ -854,13 +854,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_7(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; + _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -868,21 +868,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_7(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_8(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_8(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -890,42 +890,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_8(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 255; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 255; ctr_1 < 256; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 255; ctr_2 += 1) @@ -933,63 +933,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_8(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 255; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 255; ctr_1 < -ctr_2 + 256; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 255; ctr_2 < 256; ctr_2 += 1) @@ -997,13 +997,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_8(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; + _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -1011,21 +1011,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_8(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_9(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_9(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -1033,42 +1033,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_9(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 511; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 511; ctr_1 < 512; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 511; ctr_2 += 1) @@ -1076,63 +1076,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_9(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 511; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 511; ctr_1 < -ctr_2 + 512; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 511; ctr_2 < 512; ctr_2 += 1) @@ -1140,13 +1140,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_9(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; + _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -1154,21 +1154,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_9(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_10(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_10(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -1176,42 +1176,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_10(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 1023; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 1023; ctr_1 < 1024; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 1023; ctr_2 += 1) @@ -1219,63 +1219,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_10(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 1023; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 1023; ctr_1 < -ctr_2 + 1024; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 1023; ctr_2 < 1024; ctr_2 += 1) @@ -1283,13 +1283,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_10(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; + _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -1297,21 +1297,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_10(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_11(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_11(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -1319,42 +1319,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_11(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 2047; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 2047; ctr_1 < 2048; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 2047; ctr_2 += 1) @@ -1362,63 +1362,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_11(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 2047; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 2047; ctr_1 < -ctr_2 + 2048; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 2047; ctr_2 < 2048; ctr_2 += 1) @@ -1426,13 +1426,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_11(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; + _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -1440,21 +1440,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_11(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_12(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_12(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -1462,42 +1462,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_12(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 4095; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 4095; ctr_1 < 4096; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 4095; ctr_2 += 1) @@ -1505,63 +1505,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_12(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 4095; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 4095; ctr_1 < -ctr_2 + 4096; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 4095; ctr_2 < 4096; ctr_2 += 1) @@ -1569,13 +1569,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_12(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; + _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -1583,21 +1583,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_12(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_13(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_13(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -1605,42 +1605,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_13(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 8191; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 8191; ctr_1 < 8192; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 8191; ctr_2 += 1) @@ -1648,63 +1648,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_13(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 8191; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 8191; ctr_1 < -ctr_2 + 8192; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 8191; ctr_2 < 8192; ctr_2 += 1) @@ -1712,13 +1712,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_13(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; + _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -1726,21 +1726,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_13(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_14(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_14(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -1748,42 +1748,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_14(double * RESTRICT // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < 16383; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = 16383; ctr_1 < 16384; ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < 16383; ctr_2 += 1) @@ -1791,63 +1791,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_14(double * RESTRICT // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 16383; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + 16383; ctr_1 < -ctr_2 + 16384; ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = 16383; ctr_2 < 16384; ctr_2 += 1) @@ -1855,13 +1855,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_14(double * RESTRICT // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; + _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -1869,21 +1869,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_14(double * RESTRICT } } -static void apply_2D_macroface_edgedof_to_edgedof_add_level_any(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) +static void apply_2D_macroface_edgedof_to_edgedof_add_level_any(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) { - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_39 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_40 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_41 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_91 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_92 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_93 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_94 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_95 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_138 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_139 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_140 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_141 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_142 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -1891,42 +1891,42 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_any(double * RESTRIC // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_50 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_47 = xi_39*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_48 = xi_40*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; - const double xi_49 = xi_41*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; + const double xi_50 = _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_47 = xi_39*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; + const double xi_48 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_49 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46 + xi_47 + xi_48 + xi_49 + xi_50; } // bottom edge for (int ctr_1 = 1; ctr_1 < (1 << (level)) - 1; ctr_1 += 1) { - const double xi_104 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_110 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_99 = xi_37*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_100 = xi_38*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_101 = xi_39*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_102 = xi_40*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; - const double xi_103 = xi_41*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2)) + 1]; - const double xi_105 = xi_91*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2)) - 1]; - const double xi_106 = xi_92*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; - const double xi_107 = xi_93*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_108 = xi_94*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_109 = xi_95*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; + const double xi_104 = _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_110 = _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_99 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_38*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_101 = xi_39*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; + const double xi_102 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_103 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_105 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_106 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_107 = xi_93*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; + const double xi_108 = xi_94*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_109 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_103 + xi_104 + xi_99; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_105 + xi_106 + xi_107 + xi_108 + xi_109 + xi_110; } // bottom right vertex for (int ctr_1 = (1 << (level)) - 1; ctr_1 < (1 << (level)); ctr_1 += 1) { - const double xi_65 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_60 = xi_91*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2)) - 1]; - const double xi_61 = xi_92*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; - const double xi_62 = xi_93*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = xi_94*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_64 = xi_95*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; + const double xi_65 = _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_61 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = xi_93*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; + const double xi_63 = xi_94*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_60 + xi_61 + xi_62 + xi_63 + xi_64 + xi_65; } } for (int ctr_2 = 1; ctr_2 < (1 << (level)) - 1; ctr_2 += 1) @@ -1934,63 +1934,63 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_any(double * RESTRIC // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_156 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_162 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_151 = xi_138*_data_edgeFaceSrc[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_152 = xi_139*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_153 = xi_140*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_154 = xi_141*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_155 = xi_142*_data_edgeFaceSrc[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2)) + 1]; - const double xi_157 = xi_37*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_158 = xi_38*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_159 = xi_39*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_160 = xi_40*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; - const double xi_161 = xi_41*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; + const double xi_156 = _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_162 = _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_151 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2))]; + const double xi_152 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_153 = xi_140*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_154 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_155 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 1]; + const double xi_157 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_158 = xi_38*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_159 = xi_39*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; + const double xi_160 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_161 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_151 + xi_152 + xi_153 + xi_154 + xi_155 + xi_156; + _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_157 + xi_158 + xi_159 + xi_160 + xi_161 + xi_162; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + (1 << (level)) - 1; ctr_1 += 1) { - const double xi_23 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_29 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_35 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_18 = xi_138*_data_edgeFaceSrc[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_19 = xi_139*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_140*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_21 = xi_141*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_22 = xi_142*_data_edgeFaceSrc[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2)) + 1]; - const double xi_24 = xi_37*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_38*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_26 = xi_39*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_27 = xi_40*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; - const double xi_28 = xi_41*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2)) + 1]; - const double xi_30 = xi_91*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2)) - 1]; - const double xi_31 = xi_92*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; - const double xi_32 = xi_93*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_33 = xi_94*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_34 = xi_95*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; + const double xi_23 = _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_29 = _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_35 = _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2))]; + const double xi_19 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_140*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 1]; + const double xi_24 = xi_37*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_38*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = xi_39*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; + const double xi_27 = xi_40*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_28 = xi_41*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_30 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_31 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_93*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; + const double xi_33 = xi_94*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_34 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22 + xi_23; + _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_24 + xi_25 + xi_26 + xi_27 + xi_28 + xi_29; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32 + xi_33 + xi_34 + xi_35; } // diagonal edge for (int ctr_1 = -ctr_2 + (1 << (level)) - 1; ctr_1 < -ctr_2 + (1 << (level)); ctr_1 += 1) { - const double xi_130 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_136 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_125 = xi_138*_data_edgeFaceSrc[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_126 = xi_139*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_127 = xi_140*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_128 = xi_141*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_129 = xi_142*_data_edgeFaceSrc[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2)) + 1]; - const double xi_131 = xi_91*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2)) - 1]; - const double xi_132 = xi_92*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; - const double xi_133 = xi_93*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_134 = xi_94*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_135 = xi_95*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; + const double xi_130 = _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_136 = _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_125 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2))]; + const double xi_126 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_127 = xi_140*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_128 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_129 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 1]; + const double xi_131 = xi_91*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_132 = xi_92*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_133 = xi_93*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; + const double xi_134 = xi_94*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_135 = xi_95*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_125 + xi_126 + xi_127 + xi_128 + xi_129 + xi_130; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_131 + xi_132 + xi_133 + xi_134 + xi_135 + xi_136; } } for (int ctr_2 = (1 << (level)) - 1; ctr_2 < (1 << (level)); ctr_2 += 1) @@ -1998,13 +1998,13 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_any(double * RESTRIC // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_80 = _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_75 = xi_138*_data_edgeFaceSrc[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_76 = xi_139*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_77 = xi_140*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_78 = xi_141*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_79 = xi_142*_data_edgeFaceSrc[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; + const double xi_80 = _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_75 = xi_138*_data_edgeFaceSrc_XY[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2))]; + const double xi_76 = xi_139*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_77 = xi_140*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_78 = xi_141*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_79 = xi_142*_data_edgeFaceSrc_Y[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_75 + xi_76 + xi_77 + xi_78 + xi_79 + xi_80; } } { @@ -2013,51 +2013,51 @@ static void apply_2D_macroface_edgedof_to_edgedof_add_level_any(double * RESTRIC } -void apply_2D_macroface_edgedof_to_edgedof_add(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) +void apply_2D_macroface_edgedof_to_edgedof_add(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil, int64_t level) { switch( level ) { case 2: - apply_2D_macroface_edgedof_to_edgedof_add_level_2(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_2(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 3: - apply_2D_macroface_edgedof_to_edgedof_add_level_3(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_3(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 4: - apply_2D_macroface_edgedof_to_edgedof_add_level_4(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_4(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 5: - apply_2D_macroface_edgedof_to_edgedof_add_level_5(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_5(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 6: - apply_2D_macroface_edgedof_to_edgedof_add_level_6(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_6(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 7: - apply_2D_macroface_edgedof_to_edgedof_add_level_7(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_7(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 8: - apply_2D_macroface_edgedof_to_edgedof_add_level_8(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_8(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 9: - apply_2D_macroface_edgedof_to_edgedof_add_level_9(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_9(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 10: - apply_2D_macroface_edgedof_to_edgedof_add_level_10(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_10(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 11: - apply_2D_macroface_edgedof_to_edgedof_add_level_11(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_11(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 12: - apply_2D_macroface_edgedof_to_edgedof_add_level_12(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_12(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 13: - apply_2D_macroface_edgedof_to_edgedof_add_level_13(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_13(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; case 14: - apply_2D_macroface_edgedof_to_edgedof_add_level_14(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_add_level_14(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); break; default: - apply_2D_macroface_edgedof_to_edgedof_add_level_any(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil, level); + apply_2D_macroface_edgedof_to_edgedof_add_level_any(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil, level); break; } } diff --git a/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_replace.cpp b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_replace.cpp index 541860864..c7dcef6f1 100644 --- a/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_replace.cpp +++ b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_2D_macroface_edgedof_to_edgedof_replace.cpp @@ -10,21 +10,21 @@ namespace edgedof { namespace macroface { namespace generated { -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_2(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_2(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_36 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_36 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_85 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_86 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_87 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_88 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_86 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_87 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_88 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_89 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_128 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_129 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_130 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_129 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_130 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_131 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_132 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -32,38 +32,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_2(double * RESTR // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 3; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_98 + xi_99; + const double xi_93 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_98 + xi_99; } // bottom right vertex for (int ctr_1 = 3; ctr_1 < 4; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 3; ctr_2 += 1) @@ -71,56 +71,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_2(double * RESTR // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; - const double xi_150 = xi_38*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_146 + xi_147 + xi_148 + xi_149 + xi_150; + const double xi_141 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_146 + xi_147 + xi_148 + xi_149 + xi_150; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 3; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_28 + xi_29 + xi_30 + xi_31 + xi_32; + const double xi_18 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 5]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_28 + xi_29 + xi_30 + xi_31 + xi_32; } // diagonal edge for (int ctr_1 = -ctr_2 + 3; ctr_1 < -ctr_2 + 4; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; + const double xi_117 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 3; ctr_2 < 4; ctr_2 += 1) @@ -128,12 +128,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_2(double * RESTR // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 5]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -141,21 +141,21 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_2(double * RESTR } } -static void apply_2D_macroface_edgedof_to_edgedof_replace_level_3(double * RESTRICT _data_edgeFaceDst, double const * RESTRICT const _data_edgeFaceSrc, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) +static void apply_2D_macroface_edgedof_to_edgedof_replace_level_3(double * RESTRICT _data_edgeFaceDst_X, double * RESTRICT _data_edgeFaceDst_XY, double * RESTRICT _data_edgeFaceDst_Y, double const * RESTRICT const _data_edgeFaceSrc_X, double const * RESTRICT const _data_edgeFaceSrc_XY, double const * RESTRICT const _data_edgeFaceSrc_Y, double const * const _data_edgeToDiagonalEdgeFaceStencil, double const * const _data_edgeToHorizontalEdgeFaceStencil, double const * const _data_edgeToVerticalEdgeFaceStencil) { - const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[1]; - const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[0]; - const double xi_36 = _data_edgeToDiagonalEdgeFaceStencil[4]; - const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_34 = _data_edgeToDiagonalEdgeFaceStencil[0]; + const double xi_35 = _data_edgeToDiagonalEdgeFaceStencil[1]; + const double xi_36 = _data_edgeToDiagonalEdgeFaceStencil[3]; + const double xi_37 = _data_edgeToDiagonalEdgeFaceStencil[4]; const double xi_38 = _data_edgeToDiagonalEdgeFaceStencil[2]; const double xi_85 = _data_edgeToVerticalEdgeFaceStencil[4]; - const double xi_86 = _data_edgeToVerticalEdgeFaceStencil[3]; - const double xi_87 = _data_edgeToVerticalEdgeFaceStencil[1]; - const double xi_88 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_86 = _data_edgeToVerticalEdgeFaceStencil[2]; + const double xi_87 = _data_edgeToVerticalEdgeFaceStencil[3]; + const double xi_88 = _data_edgeToVerticalEdgeFaceStencil[1]; const double xi_89 = _data_edgeToVerticalEdgeFaceStencil[0]; const double xi_128 = _data_edgeToHorizontalEdgeFaceStencil[1]; - const double xi_129 = _data_edgeToHorizontalEdgeFaceStencil[0]; - const double xi_130 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_129 = _data_edgeToHorizontalEdgeFaceStencil[3]; + const double xi_130 = _data_edgeToHorizontalEdgeFaceStencil[0]; const double xi_131 = _data_edgeToHorizontalEdgeFaceStencil[4]; const double xi_132 = _data_edgeToHorizontalEdgeFaceStencil[2]; for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) @@ -163,38 +163,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_3(double * RESTR // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; - const double xi_46 = xi_38*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 7; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_98 + xi_99; + const double xi_93 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_98 + xi_99; } // bottom right vertex for (int ctr_1 = 7; ctr_1 < 8; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 7; ctr_2 += 1) @@ -202,56 +202,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_3(double * RESTR // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; - const double xi_150 = xi_38*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_146 + xi_147 + xi_148 + xi_149 + xi_150; + const double xi_141 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X