diff --git a/apps/benchmarks/ApplyPerformanceAnalysis-2D-P2/ApplyPerformanceAnalysis-2D-P2.cpp b/apps/benchmarks/ApplyPerformanceAnalysis-2D-P2/ApplyPerformanceAnalysis-2D-P2.cpp index a7ffbbfcd081d258e23fe5641b026ea97bf64c7d..5781055f91065db50de0cbc42b0b1f655c108e94 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 ac7501d07fd294c1ed5843740dceb5aade2ee57e..c8366f4d6ad0aec1aac69745d8188404bf3a558b 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/EdgeDoFIndexing.hpp b/src/tinyhhg_core/edgedofspace/EdgeDoFIndexing.hpp index cfb0af9db15f8be5bb3e6b51dc6d9eb17e8121ac..d79becb01e280a6b3decf0bb250c02163106f848 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." ); diff --git a/src/tinyhhg_core/edgedofspace/EdgeDoFOperator.cpp b/src/tinyhhg_core/edgedofspace/EdgeDoFOperator.cpp index 060bf4b738b84a091bc766ef9eab78d12e14f077..1a0f35f4b4db31fa1ade5884b216d0e36551d7ac 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/GeneratedKernelsEdgeToEdgeMacroCell3D.hpp b/src/tinyhhg_core/edgedofspace/generatedKernels/GeneratedKernelsEdgeToEdgeMacroCell3D.hpp index e23de2396e8a56abb3514c91b70981fdf7dd0c16..638ecfaf2a057c633a17760f64f4c5da6157d762 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 89c67c4f25f8a2102db188e00a738d2543944d06..8c97cea0f6f49cc8adf69b08489651207a34b35e 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_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 * _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_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 * _data_edgeFaceDst, double * _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 * _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_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 * _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_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 4d5e5fe07bcacd2f6bc74f119a4464cbe1c0aa28..87e6b7d65e7804f90668e2bb142625bb9eba4767 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 * _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_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 * _data_edg // 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 * _data_edg // 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 * _data_edg // 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 * _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_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 * _data_edg // 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 * _data_edg // 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 * _data_edg // 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 * _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_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 * _data_edg // 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 * _data_edg // 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 * _data_edg // 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 * _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_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 * _data_edg // 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 * _data_edg // 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 * _data_edg // 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 * _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_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 * _data_edg // 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 * _data_edg // 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 * _data_edg // 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 * _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_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 * _data_edg // 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 * _data_edg // 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 * _data_edg // 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 * _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_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 * _data_edg // 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 * _data_edg // 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 * _data_edg // 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 * _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_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 * _data_edg // 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 * _data_edg // 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 * _data_edg // 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 * _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_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 * _data_ed // 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 * _data_ed // 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 * _data_ed // 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 * _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_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 * _data_ed // 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 * _data_ed // 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 * _data_ed // 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 * _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_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 * _data_ed // 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 * _data_ed // 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 * _data_ed // 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 * _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_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 * _data_ed // 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 * _data_ed // 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 * _data_ed // 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 * _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_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 * _data_ed // 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 * _data_ed // 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 * _data_ed // 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 * _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_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 * _data_e // 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 * _data_e // 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 * _data_e // 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 * _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_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 a0729fefb6a58732ed86f55d8433afed7aa1602c..c7dcef6f14dca4cb2b968fc3ff2e5e35e7bdbed6 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 * _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_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 * _data // 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 * _data // 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 * _data // 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 * _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_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 * _data // 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 * _data // 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[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 9*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 + 7; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = 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 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_18 + xi_19 + xi_20 + xi_21 + xi_22; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (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 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 9]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 9*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 + 7; ctr_1 < -ctr_2 + 8; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = 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 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (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 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 7; ctr_2 < 8; ctr_2 += 1) @@ -259,12 +259,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_3(double * _data // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 9]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -272,21 +272,21 @@ 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_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) @@ -294,38 +294,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_4(double * _data // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 15; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (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 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 17*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 = 15; ctr_1 < 16; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 15; ctr_2 += 1) @@ -333,56 +333,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_4(double * _data // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (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 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 17*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 + 15; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (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 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 17]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 17*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 + 15; ctr_1 < -ctr_2 + 16; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (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 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 15; ctr_2 < 16; ctr_2 += 1) @@ -390,12 +390,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_4(double * _data // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 17]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -403,21 +403,21 @@ 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_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) @@ -425,38 +425,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_5(double * _data // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 31; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (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 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 33*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 = 31; ctr_1 < 32; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 31; ctr_2 += 1) @@ -464,56 +464,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_5(double * _data // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (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 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 33*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 + 31; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (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 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 33]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 33*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 + 31; ctr_1 < -ctr_2 + 32; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (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 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 32]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 32]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 31; ctr_2 < 32; ctr_2 += 1) @@ -521,12 +521,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_5(double * _data // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 33]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -534,21 +534,21 @@ 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_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) @@ -556,38 +556,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_6(double * _data // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 63; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (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 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 65*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 = 63; ctr_1 < 64; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 63; ctr_2 += 1) @@ -595,56 +595,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_6(double * _data // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (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 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 65*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 + 63; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (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 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 65]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 65*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 + 63; ctr_1 < -ctr_2 + 64; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (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 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 64]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 64]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 63; ctr_2 < 64; ctr_2 += 1) @@ -652,12 +652,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_6(double * _data // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 65]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -665,21 +665,21 @@ 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_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) @@ -687,38 +687,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_7(double * _data // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 127; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (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 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 129*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 = 127; ctr_1 < 128; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 127; ctr_2 += 1) @@ -726,56 +726,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_7(double * _data // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (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 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 129*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 + 127; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (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 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 129]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 129*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 + 127; ctr_1 < -ctr_2 + 128; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (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 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 128]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 128]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 127; ctr_2 < 128; ctr_2 += 1) @@ -783,12 +783,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_7(double * _data // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 129]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -796,21 +796,21 @@ 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_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) @@ -818,38 +818,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_8(double * _data // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 255; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (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 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 257*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 = 255; ctr_1 < 256; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 255; ctr_2 += 1) @@ -857,56 +857,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_8(double * _data // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (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 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 257*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 + 255; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (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 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 257]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 257*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 + 255; ctr_1 < -ctr_2 + 256; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (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 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 256]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 256]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 255; ctr_2 < 256; ctr_2 += 1) @@ -914,12 +914,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_8(double * _data // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 257]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -927,21 +927,21 @@ 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_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) @@ -949,38 +949,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_9(double * _data // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 511; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (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 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 513*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 = 511; ctr_1 < 512; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 511; ctr_2 += 1) @@ -988,56 +988,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_9(double * _data // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (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 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 513*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 + 511; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (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 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 513]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 513*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 + 511; ctr_1 < -ctr_2 + 512; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (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 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 512]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 512]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 511; ctr_2 < 512; ctr_2 += 1) @@ -1045,12 +1045,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_9(double * _data // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 513]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -1058,21 +1058,21 @@ 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_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) @@ -1080,38 +1080,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_10(double * _dat // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 1023; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (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 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 1025*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 = 1023; ctr_1 < 1024; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 1023; ctr_2 += 1) @@ -1119,56 +1119,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_10(double * _dat // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (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 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 1025*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 + 1023; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (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 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1025]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 1025*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 + 1023; ctr_1 < -ctr_2 + 1024; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (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 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1024]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 1024]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 1023; ctr_2 < 1024; ctr_2 += 1) @@ -1176,12 +1176,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_10(double * _dat // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 1025]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -1189,21 +1189,21 @@ 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_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) @@ -1211,38 +1211,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_11(double * _dat // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 2047; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (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 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 2049*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 = 2047; ctr_1 < 2048; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 2047; ctr_2 += 1) @@ -1250,56 +1250,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_11(double * _dat // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (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 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 2049*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 + 2047; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (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 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2049]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 2049*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 + 2047; ctr_1 < -ctr_2 + 2048; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (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 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2048]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 2048]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 2047; ctr_2 < 2048; ctr_2 += 1) @@ -1307,12 +1307,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_11(double * _dat // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 2049]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -1320,21 +1320,21 @@ 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_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) @@ -1342,38 +1342,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_12(double * _dat // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 4095; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (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 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 4097*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 = 4095; ctr_1 < 4096; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 4095; ctr_2 += 1) @@ -1381,56 +1381,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_12(double * _dat // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (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 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 4097*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 + 4095; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (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 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4097]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 4097*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 + 4095; ctr_1 < -ctr_2 + 4096; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (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 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4096]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 4096]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 4095; ctr_2 < 4096; ctr_2 += 1) @@ -1438,12 +1438,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_12(double * _dat // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 4097]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -1451,21 +1451,21 @@ 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_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) @@ -1473,38 +1473,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_13(double * _dat // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 8191; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (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 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 8193*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 = 8191; ctr_1 < 8192; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 8191; ctr_2 += 1) @@ -1512,56 +1512,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_13(double * _dat // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (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 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 8193*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 + 8191; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (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 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8193]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 8193*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 + 8191; ctr_1 < -ctr_2 + 8192; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (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 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8192]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 8192]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 8191; ctr_2 < 8192; ctr_2 += 1) @@ -1569,12 +1569,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_13(double * _dat // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 8193]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -1582,21 +1582,21 @@ 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_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) @@ -1604,38 +1604,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_14(double * _dat // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = xi_36*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = xi_37*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < 16383; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_95 = xi_36*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_96 = xi_37*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; - const double xi_97 = xi_38*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_98 = xi_85*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_99 = xi_86*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (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 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + 16385*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 = 16383; ctr_1 < 16384; ctr_1 += 1) { - const double xi_56 = xi_85*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_57 = xi_86*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < 16383; ctr_2 += 1) @@ -1643,56 +1643,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_14(double * _dat // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; - const double xi_142 = xi_129*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_144 = xi_131*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_145 = xi_132*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; - const double xi_146 = xi_34*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_148 = xi_36*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_149 = xi_37*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (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 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + 16385*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 + 16383; ctr_1 += 1) { - const double xi_18 = xi_128*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; - const double xi_19 = xi_129*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_21 = xi_131*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_22 = xi_132*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; - const double xi_23 = xi_34*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = xi_36*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = xi_37*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; - const double xi_27 = xi_38*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; - const double xi_28 = xi_85*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_29 = xi_86*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (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 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16385]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + 16385*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 + 16383; ctr_1 < -ctr_2 + 16384; ctr_1 += 1) { - const double xi_117 = xi_128*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; - const double xi_118 = xi_129*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_120 = xi_131*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_121 = xi_132*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; - const double xi_122 = xi_85*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; - const double xi_123 = xi_86*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (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 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16384]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) + 16384]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = 16383; ctr_2 < 16384; ctr_2 += 1) @@ -1700,12 +1700,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_14(double * _dat // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; - const double xi_71 = xi_129*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_73 = xi_131*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 - 1)) / (2)) - 16385]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -1713,21 +1713,21 @@ 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_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_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) @@ -1735,38 +1735,38 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_any(double * _da // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_42 = xi_34*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = xi_35*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_44 = xi_36*_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_45 = xi_37*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; - const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; + const double xi_42 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = xi_35*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = xi_36*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; + const double xi_45 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = xi_38*_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_42 + xi_43 + xi_44 + xi_45 + xi_46; } // bottom edge for (int ctr_1 = 1; ctr_1 < (1 << (level)) - 1; ctr_1 += 1) { - const double xi_93 = xi_34*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_94 = xi_35*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_95 = xi_36*_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_96 = xi_37*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; - const double xi_97 = xi_38*_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_98 = xi_85*_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_99 = xi_86*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; - const double xi_100 = xi_87*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_101 = xi_88*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_100 + xi_101 + xi_102 + xi_98 + xi_99; + const double xi_93 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_94 = xi_35*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_95 = xi_36*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; + const double xi_96 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_97 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_98 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_99 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_100 = xi_87*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; + const double xi_101 = xi_88*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_102 = xi_89*_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_93 + xi_94 + xi_95 + xi_96 + xi_97; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_100 + xi_101 + xi_102 + xi_98 + xi_99; } // bottom right vertex for (int ctr_1 = (1 << (level)) - 1; ctr_1 < (1 << (level)); ctr_1 += 1) { - const double xi_56 = xi_85*_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_57 = xi_86*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; - const double xi_58 = xi_87*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_59 = xi_88*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; + const double xi_56 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_57 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_58 = xi_87*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; + const double xi_59 = xi_88*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_60 = xi_89*_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_56 + xi_57 + xi_58 + xi_59 + xi_60; } } for (int ctr_2 = 1; ctr_2 < (1 << (level)) - 1; ctr_2 += 1) @@ -1774,56 +1774,56 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_any(double * _da // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_141 = xi_128*_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_142 = xi_129*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_143 = xi_130*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_144 = xi_131*_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_145 = xi_132*_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_146 = xi_34*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_147 = xi_35*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_148 = xi_36*_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_149 = xi_37*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; - const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_146 + xi_147 + xi_148 + xi_149 + xi_150; + const double xi_141 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2))]; + const double xi_142 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_143 = xi_130*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_144 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_145 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 1]; + const double xi_146 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_147 = xi_35*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_148 = xi_36*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; + const double xi_149 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_150 = xi_38*_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_141 + xi_142 + xi_143 + xi_144 + xi_145; + _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((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 + (1 << (level)) - 1; ctr_1 += 1) { - const double xi_18 = xi_128*_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_129*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = xi_130*_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_131*_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_132*_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_23 = xi_34*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = xi_35*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_25 = xi_36*_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_26 = xi_37*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; - const double xi_27 = xi_38*_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_28 = xi_85*_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_29 = xi_86*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; - const double xi_30 = xi_87*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = xi_88*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_32 = xi_89*_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; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_28 + xi_29 + xi_30 + xi_31 + xi_32; + const double xi_18 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2))]; + const double xi_19 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = xi_130*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_21 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_22 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 1]; + const double xi_23 = xi_34*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = xi_35*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = xi_36*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2))]; + const double xi_26 = xi_37*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_27 = xi_38*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 1]; + const double xi_28 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_29 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_30 = xi_87*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; + const double xi_31 = xi_88*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = xi_89*_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; + _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_23 + xi_24 + xi_25 + xi_26 + xi_27; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_28 + xi_29 + xi_30 + xi_31 + xi_32; } // diagonal edge for (int ctr_1 = -ctr_2 + (1 << (level)) - 1; ctr_1 < -ctr_2 + (1 << (level)); ctr_1 += 1) { - const double xi_117 = xi_128*_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_118 = xi_129*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_119 = xi_130*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_120 = xi_131*_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_121 = xi_132*_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_122 = xi_85*_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_123 = xi_86*_data_edgeFaceSrc[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; - const double xi_124 = xi_87*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_125 = xi_88*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; + const double xi_117 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2))]; + const double xi_118 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_119 = xi_130*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_120 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_121 = xi_132*_data_edgeFaceSrc_Y[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2)) + 1]; + const double xi_122 = xi_85*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) - 1]; + const double xi_123 = xi_86*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_124 = xi_87*_data_edgeFaceSrc_X[ctr_1 + (ctr_2 + 1)*((1 << (level)) + 1) - (((ctr_2 + 1)*(ctr_2 + 2)) / (2)) - 1]; + const double xi_125 = xi_88*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_126 = xi_89*_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_117 + xi_118 + xi_119 + xi_120 + xi_121; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_122 + xi_123 + xi_124 + xi_125 + xi_126; } } for (int ctr_2 = (1 << (level)) - 1; ctr_2 < (1 << (level)); ctr_2 += 1) @@ -1831,12 +1831,12 @@ static void apply_2D_macroface_edgedof_to_edgedof_replace_level_any(double * _da // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_70 = xi_128*_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_71 = xi_129*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_72 = xi_130*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_73 = xi_131*_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_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; + const double xi_70 = xi_128*_data_edgeFaceSrc_XY[ctr_1 + (ctr_2 - 1)*((1 << (level)) + 1) - ((ctr_2*(ctr_2 - 1)) / (2))]; + const double xi_71 = xi_129*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_72 = xi_130*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_73 = xi_131*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_74 = xi_132*_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_70 + xi_71 + xi_72 + xi_73 + xi_74; } } { @@ -1845,51 +1845,51 @@ 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_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_replace_level_2(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_3(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_4(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_5(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_6(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_7(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_8(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_9(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_10(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_11(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_12(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_13(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_14(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil); + apply_2D_macroface_edgedof_to_edgedof_replace_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_replace_level_any(_data_edgeFaceDst, _data_edgeFaceSrc, _data_edgeToDiagonalEdgeFaceStencil, _data_edgeToHorizontalEdgeFaceStencil, _data_edgeToVerticalEdgeFaceStencil, level); + apply_2D_macroface_edgedof_to_edgedof_replace_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_3D_macrocell_edgedof_to_edgedof_replace.cpp b/src/tinyhhg_core/edgedofspace/generatedKernels/apply_3D_macrocell_edgedof_to_edgedof_replace.cpp index 22be915139f0d61839283f9be4ff2c6449205c17..3aa090c393fb8e3b315c334e4f5dac809bb80bf3 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 680524d4fca7d0a04ec6fc51d3fabd937fb514e2..f677c854cc3e9dc0db3daf717cfeb67080f79174 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,25 +10,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 3; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 3; ctr_1 < 4; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 3; ctr_2 += 1) @@ -36,21 +36,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_2(double * _data_ed // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 3; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 3; ctr_1 < -ctr_2 + 4; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 3; ctr_2 < 4; ctr_2 += 1) @@ -58,7 +58,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_2(double * _data_ed // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -66,25 +66,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 7; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 7; ctr_1 < 8; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 7; ctr_2 += 1) @@ -92,21 +92,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_3(double * _data_ed // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 7; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 7; ctr_1 < -ctr_2 + 8; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 7; ctr_2 < 8; ctr_2 += 1) @@ -114,7 +114,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_3(double * _data_ed // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -122,25 +122,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 15; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 15; ctr_1 < 16; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 15; ctr_2 += 1) @@ -148,21 +148,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_4(double * _data_ed // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 15; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 15; ctr_1 < -ctr_2 + 16; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 15; ctr_2 < 16; ctr_2 += 1) @@ -170,7 +170,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_4(double * _data_ed // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -178,25 +178,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 31; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 31; ctr_1 < 32; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 31; ctr_2 += 1) @@ -204,21 +204,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_5(double * _data_ed // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 31; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 31; ctr_1 < -ctr_2 + 32; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 31; ctr_2 < 32; ctr_2 += 1) @@ -226,7 +226,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_5(double * _data_ed // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -234,25 +234,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 63; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 63; ctr_1 < 64; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 63; ctr_2 += 1) @@ -260,21 +260,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_6(double * _data_ed // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 63; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 63; ctr_1 < -ctr_2 + 64; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 63; ctr_2 < 64; ctr_2 += 1) @@ -282,7 +282,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_6(double * _data_ed // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -290,25 +290,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 127; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 127; ctr_1 < 128; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 127; ctr_2 += 1) @@ -316,21 +316,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_7(double * _data_ed // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 127; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 127; ctr_1 < -ctr_2 + 128; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 127; ctr_2 < 128; ctr_2 += 1) @@ -338,7 +338,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_7(double * _data_ed // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -346,25 +346,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 255; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 255; ctr_1 < 256; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 255; ctr_2 += 1) @@ -372,21 +372,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_8(double * _data_ed // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 255; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 255; ctr_1 < -ctr_2 + 256; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 255; ctr_2 < 256; ctr_2 += 1) @@ -394,7 +394,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_8(double * _data_ed // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -402,25 +402,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 511; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 511; ctr_1 < 512; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 511; ctr_2 += 1) @@ -428,21 +428,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_9(double * _data_ed // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 511; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 511; ctr_1 < -ctr_2 + 512; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 511; ctr_2 < 512; ctr_2 += 1) @@ -450,7 +450,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_9(double * _data_ed // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -458,25 +458,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 1023; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 1023; ctr_1 < 1024; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 1023; ctr_2 += 1) @@ -484,21 +484,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_10(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 1023; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 1023; ctr_1 < -ctr_2 + 1024; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1023; ctr_2 < 1024; ctr_2 += 1) @@ -506,7 +506,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_10(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -514,25 +514,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 2047; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 2047; ctr_1 < 2048; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 2047; ctr_2 += 1) @@ -540,21 +540,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_11(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 2047; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 2047; ctr_1 < -ctr_2 + 2048; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 2047; ctr_2 < 2048; ctr_2 += 1) @@ -562,7 +562,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_11(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -570,25 +570,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 4095; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 4095; ctr_1 < 4096; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 4095; ctr_2 += 1) @@ -596,21 +596,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_12(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 4095; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 4095; ctr_1 < -ctr_2 + 4096; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 4095; ctr_2 < 4096; ctr_2 += 1) @@ -618,7 +618,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_12(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -626,25 +626,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 8191; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 8191; ctr_1 < 8192; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 8191; ctr_2 += 1) @@ -652,21 +652,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_13(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 8191; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 8191; ctr_1 < -ctr_2 + 8192; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 8191; ctr_2 < 8192; ctr_2 += 1) @@ -674,7 +674,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_13(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -682,25 +682,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < 16383; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = 16383; ctr_1 < 16384; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < 16383; ctr_2 += 1) @@ -708,21 +708,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_14(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 16383; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_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))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + 16383; ctr_1 < -ctr_2 + 16384; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; + _data_edgeFaceDst_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 16383; ctr_2 < 16384; ctr_2 += 1) @@ -730,7 +730,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_14(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -738,25 +738,25 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom edge for (int ctr_1 = 1; ctr_1 < (1 << (level)) - 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (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))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; + _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; } // bottom right vertex for (int ctr_1 = (1 << (level)) - 1; ctr_1 < (1 << (level)); ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = 1; ctr_2 < (1 << (level)) - 1; ctr_2 += 1) @@ -764,21 +764,21 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_any(double * _data_ // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; + _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + (1 << (level)) - 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (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))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; + _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_XY[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; } // diagonal edge for (int ctr_1 = -ctr_2 + (1 << (level)) - 1; ctr_1 < -ctr_2 + (1 << (level)); ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = c*_data_edgeFaceSrc[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; + _data_edgeFaceDst_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc_X[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))] = c*_data_edgeFaceSrc_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; } } for (int ctr_2 = (1 << (level)) - 1; ctr_2 < (1 << (level)); ctr_2 += 1) @@ -786,7 +786,7 @@ static void assign_2D_macroface_edgedof_1_rhs_function_level_any(double * _data_ // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = c*_data_edgeFaceSrc[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))] = c*_data_edgeFaceSrc_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; } } { @@ -795,51 +795,51 @@ 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_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) { switch( level ) { case 2: - assign_2D_macroface_edgedof_1_rhs_function_level_2(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_2(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 3: - assign_2D_macroface_edgedof_1_rhs_function_level_3(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_3(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 4: - assign_2D_macroface_edgedof_1_rhs_function_level_4(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_4(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 5: - assign_2D_macroface_edgedof_1_rhs_function_level_5(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_5(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 6: - assign_2D_macroface_edgedof_1_rhs_function_level_6(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_6(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 7: - assign_2D_macroface_edgedof_1_rhs_function_level_7(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_7(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 8: - assign_2D_macroface_edgedof_1_rhs_function_level_8(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_8(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 9: - assign_2D_macroface_edgedof_1_rhs_function_level_9(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_9(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 10: - assign_2D_macroface_edgedof_1_rhs_function_level_10(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_10(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 11: - assign_2D_macroface_edgedof_1_rhs_function_level_11(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_11(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 12: - assign_2D_macroface_edgedof_1_rhs_function_level_12(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_12(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 13: - assign_2D_macroface_edgedof_1_rhs_function_level_13(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_13(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; case 14: - assign_2D_macroface_edgedof_1_rhs_function_level_14(_data_edgeFaceDst, _data_edgeFaceSrc, c); + assign_2D_macroface_edgedof_1_rhs_function_level_14(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c); break; default: - assign_2D_macroface_edgedof_1_rhs_function_level_any(_data_edgeFaceDst, _data_edgeFaceSrc, c, level); + assign_2D_macroface_edgedof_1_rhs_function_level_any(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc_X, _data_edgeFaceSrc_XY, _data_edgeFaceSrc_Y, c, level); break; } } 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 4c1a7e0d686844ebd8cb1314b8f3da9d4869f296..0d733ec463ae11b90cc57199eb184508cdcb7447 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,33 +10,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 3; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 3; ctr_1 < 4; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 3; ctr_2 += 1) @@ -44,35 +44,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_2(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 3; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 3; ctr_1 < -ctr_2 + 4; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 3; ctr_2 < 4; ctr_2 += 1) @@ -80,9 +80,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_2(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -90,33 +90,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 7; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 7; ctr_1 < 8; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 7; ctr_2 += 1) @@ -124,35 +124,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_3(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 7; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 7; ctr_1 < -ctr_2 + 8; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 7; ctr_2 < 8; ctr_2 += 1) @@ -160,9 +160,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_3(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -170,33 +170,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 15; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 15; ctr_1 < 16; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 15; ctr_2 += 1) @@ -204,35 +204,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_4(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 15; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 15; ctr_1 < -ctr_2 + 16; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 15; ctr_2 < 16; ctr_2 += 1) @@ -240,9 +240,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_4(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -250,33 +250,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 31; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 31; ctr_1 < 32; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 31; ctr_2 += 1) @@ -284,35 +284,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_5(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 31; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 31; ctr_1 < -ctr_2 + 32; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 31; ctr_2 < 32; ctr_2 += 1) @@ -320,9 +320,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_5(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -330,33 +330,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 63; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 63; ctr_1 < 64; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 63; ctr_2 += 1) @@ -364,35 +364,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_6(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 63; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 63; ctr_1 < -ctr_2 + 64; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 63; ctr_2 < 64; ctr_2 += 1) @@ -400,9 +400,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_6(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -410,33 +410,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 127; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 127; ctr_1 < 128; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 127; ctr_2 += 1) @@ -444,35 +444,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_7(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 127; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 127; ctr_1 < -ctr_2 + 128; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 127; ctr_2 < 128; ctr_2 += 1) @@ -480,9 +480,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_7(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -490,33 +490,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 255; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 255; ctr_1 < 256; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 255; ctr_2 += 1) @@ -524,35 +524,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_8(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 255; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 255; ctr_1 < -ctr_2 + 256; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 255; ctr_2 < 256; ctr_2 += 1) @@ -560,9 +560,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_8(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -570,33 +570,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 511; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 511; ctr_1 < 512; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 511; ctr_2 += 1) @@ -604,35 +604,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_9(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 511; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 511; ctr_1 < -ctr_2 + 512; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 511; ctr_2 < 512; ctr_2 += 1) @@ -640,9 +640,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_9(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -650,33 +650,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 1023; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 1023; ctr_1 < 1024; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 1023; ctr_2 += 1) @@ -684,35 +684,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_10(double * _data_ // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 1023; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 1023; ctr_1 < -ctr_2 + 1024; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 1023; ctr_2 < 1024; ctr_2 += 1) @@ -720,9 +720,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_10(double * _data_ // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -730,33 +730,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 2047; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 2047; ctr_1 < 2048; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 2047; ctr_2 += 1) @@ -764,35 +764,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_11(double * _data_ // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 2047; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 2047; ctr_1 < -ctr_2 + 2048; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 2047; ctr_2 < 2048; ctr_2 += 1) @@ -800,9 +800,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_11(double * _data_ // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -810,33 +810,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 4095; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 4095; ctr_1 < 4096; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 4095; ctr_2 += 1) @@ -844,35 +844,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_12(double * _data_ // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 4095; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 4095; ctr_1 < -ctr_2 + 4096; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 4095; ctr_2 < 4096; ctr_2 += 1) @@ -880,9 +880,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_12(double * _data_ // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -890,33 +890,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 8193*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 8191; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 8191; ctr_1 < 8192; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 8191; ctr_2 += 1) @@ -924,35 +924,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_13(double * _data_ // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 8191; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + ((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 8191; ctr_1 < -ctr_2 + 8192; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 + 2*((67117056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 8191; ctr_2 < 8192; ctr_2 += 1) @@ -960,9 +960,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_13(double * _data_ // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 8193*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -970,33 +970,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + 16385*ctr_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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < 16383; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = 16383; ctr_1 < 16384; ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < 16383; ctr_2 += 1) @@ -1004,35 +1004,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_14(double * _data_ // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 16383; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + ((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + 16383; ctr_1 < -ctr_2 + 16384; ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 + 2*((268451840) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = 16383; ctr_2 < 16384; ctr_2 += 1) @@ -1040,9 +1040,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_14(double * _data_ // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + 16385*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -1050,33 +1050,33 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_13 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_14 = c1*_data_edgeFaceSrc1[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (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_13 + xi_14; + const double xi_13 = c0*_data_edgeFaceSrc0_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_14 = c1*_data_edgeFaceSrc1_XY[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_13 + xi_14; } // bottom edge for (int ctr_1 = 1; ctr_1 < (1 << (level)) - 1; ctr_1 += 1) { - const double xi_35 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_36 = c1*_data_edgeFaceSrc1[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_37 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_38 = c1*_data_edgeFaceSrc1[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_35 + xi_36; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_37 + xi_38; + const double xi_35 = c0*_data_edgeFaceSrc0_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_36 = c1*_data_edgeFaceSrc1_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_37 = c0*_data_edgeFaceSrc0_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_38 = c1*_data_edgeFaceSrc1_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_35 + xi_36; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_37 + xi_38; } // bottom right vertex for (int ctr_1 = (1 << (level)) - 1; ctr_1 < (1 << (level)); ctr_1 += 1) { - const double xi_19 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_20 = c1*_data_edgeFaceSrc1[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_19 + xi_20; + const double xi_19 = c0*_data_edgeFaceSrc0_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_20 = c1*_data_edgeFaceSrc1_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_19 + xi_20; } } for (int ctr_2 = 1; ctr_2 < (1 << (level)) - 1; ctr_2 += 1) @@ -1084,35 +1084,35 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_any(double * _data // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_54 = c1*_data_edgeFaceSrc1[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_51 + xi_52; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_53 + xi_54; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c0*_data_edgeFaceSrc0_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c1*_data_edgeFaceSrc1_XY[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_51 + xi_52; + _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_53 + xi_54; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + (1 << (level)) - 1; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_6 = c1*_data_edgeFaceSrc1[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_7 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_8 = c1*_data_edgeFaceSrc1[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_3 + xi_4; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + ((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_5 + xi_6; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_7 + xi_8; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c0*_data_edgeFaceSrc0_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c1*_data_edgeFaceSrc1_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c0*_data_edgeFaceSrc0_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c1*_data_edgeFaceSrc1_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_3 + xi_4; + _data_edgeFaceDst_XY[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_5 + xi_6; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_7 + xi_8; } // diagonal edge for (int ctr_1 = -ctr_2 + (1 << (level)) - 1; ctr_1 < -ctr_2 + (1 << (level)); ctr_1 += 1) { - const double xi_43 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c1*_data_edgeFaceSrc1[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))]; - const double xi_46 = c1*_data_edgeFaceSrc1[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_43 + xi_44; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2)) + 2*((((1 << (level)) + 1)*(1 << (level))) / (2))] = xi_45 + xi_46; + const double xi_43 = c0*_data_edgeFaceSrc0_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c1*_data_edgeFaceSrc1_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c0*_data_edgeFaceSrc0_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c1*_data_edgeFaceSrc1_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_43 + xi_44; + _data_edgeFaceDst_Y[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_45 + xi_46; } } for (int ctr_2 = (1 << (level)) - 1; ctr_2 < (1 << (level)); ctr_2 += 1) @@ -1120,9 +1120,9 @@ static void assign_2D_macroface_edgedof_2_rhs_functions_level_any(double * _data // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_25 = c0*_data_edgeFaceSrc0[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_26 = c1*_data_edgeFaceSrc1[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_25 + xi_26; + const double xi_25 = c0*_data_edgeFaceSrc0_X[ctr_1 + ctr_2*((1 << (level)) + 1) - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_26 = c1*_data_edgeFaceSrc1_X[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_25 + xi_26; } } { @@ -1131,51 +1131,51 @@ 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_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) { switch( level ) { case 2: - assign_2D_macroface_edgedof_2_rhs_functions_level_2(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_2(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 3: - assign_2D_macroface_edgedof_2_rhs_functions_level_3(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_3(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 4: - assign_2D_macroface_edgedof_2_rhs_functions_level_4(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_4(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 5: - assign_2D_macroface_edgedof_2_rhs_functions_level_5(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_5(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 6: - assign_2D_macroface_edgedof_2_rhs_functions_level_6(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_6(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 7: - assign_2D_macroface_edgedof_2_rhs_functions_level_7(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_7(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 8: - assign_2D_macroface_edgedof_2_rhs_functions_level_8(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_8(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 9: - assign_2D_macroface_edgedof_2_rhs_functions_level_9(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_9(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 10: - assign_2D_macroface_edgedof_2_rhs_functions_level_10(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_10(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 11: - assign_2D_macroface_edgedof_2_rhs_functions_level_11(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_11(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 12: - assign_2D_macroface_edgedof_2_rhs_functions_level_12(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_12(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 13: - assign_2D_macroface_edgedof_2_rhs_functions_level_13(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_13(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; case 14: - assign_2D_macroface_edgedof_2_rhs_functions_level_14(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1); + assign_2D_macroface_edgedof_2_rhs_functions_level_14(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1); break; default: - assign_2D_macroface_edgedof_2_rhs_functions_level_any(_data_edgeFaceDst, _data_edgeFaceSrc0, _data_edgeFaceSrc1, c0, c1, level); + assign_2D_macroface_edgedof_2_rhs_functions_level_any(_data_edgeFaceDst_X, _data_edgeFaceDst_XY, _data_edgeFaceDst_Y, _data_edgeFaceSrc0_X, _data_edgeFaceSrc0_XY, _data_edgeFaceSrc0_Y, _data_edgeFaceSrc1_X, _data_edgeFaceSrc1_XY, _data_edgeFaceSrc1_Y, c0, c1, level); break; } } 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 3bb1d5283a6d606350964408baf48ed10a39cfee..d99be768e5265995962f4c9419e3b80a503eefb1 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,37 +10,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 5*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 3; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 3; ctr_1 < 4; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 3; ctr_2 += 1) @@ -48,42 +48,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_2(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 3; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + ((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 3; ctr_1 < -ctr_2 + 4; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 + 2*((20) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 3; ctr_2 < 4; ctr_2 += 1) @@ -91,10 +91,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_2(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 5*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -102,37 +102,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 9*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 7; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 7; ctr_1 < 8; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 7; ctr_2 += 1) @@ -140,42 +140,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_3(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 7; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + ((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 7; ctr_1 < -ctr_2 + 8; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 + 2*((72) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 7; ctr_2 < 8; ctr_2 += 1) @@ -183,10 +183,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_3(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 9*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -194,37 +194,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 17*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 15; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 15; ctr_1 < 16; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 15; ctr_2 += 1) @@ -232,42 +232,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_4(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 15; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + ((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 15; ctr_1 < -ctr_2 + 16; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 + 2*((272) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 15; ctr_2 < 16; ctr_2 += 1) @@ -275,10 +275,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_4(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 17*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -286,37 +286,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 33*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 31; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 31; ctr_1 < 32; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 31; ctr_2 += 1) @@ -324,42 +324,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_5(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 31; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + ((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 31; ctr_1 < -ctr_2 + 32; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 + 2*((1056) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 31; ctr_2 < 32; ctr_2 += 1) @@ -367,10 +367,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_5(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 33*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -378,37 +378,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 65*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 63; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 63; ctr_1 < 64; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 63; ctr_2 += 1) @@ -416,42 +416,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_6(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 63; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + ((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 63; ctr_1 < -ctr_2 + 64; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 + 2*((4160) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 63; ctr_2 < 64; ctr_2 += 1) @@ -459,10 +459,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_6(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 65*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -470,37 +470,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 129*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 127; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 127; ctr_1 < 128; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 127; ctr_2 += 1) @@ -508,42 +508,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_7(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 127; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + ((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 127; ctr_1 < -ctr_2 + 128; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 + 2*((16512) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 127; ctr_2 < 128; ctr_2 += 1) @@ -551,10 +551,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_7(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 129*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -562,37 +562,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 257*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 255; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 255; ctr_1 < 256; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 255; ctr_2 += 1) @@ -600,42 +600,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_8(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 255; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + ((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 255; ctr_1 < -ctr_2 + 256; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 + 2*((65792) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 255; ctr_2 < 256; ctr_2 += 1) @@ -643,10 +643,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_8(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 257*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -654,37 +654,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 513*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 511; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 511; ctr_1 < 512; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 511; ctr_2 += 1) @@ -692,42 +692,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_9(double * _data_e // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 511; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + ((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 511; ctr_1 < -ctr_2 + 512; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 + 2*((262656) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 511; ctr_2 < 512; ctr_2 += 1) @@ -735,10 +735,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_9(double * _data_e // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 513*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -746,37 +746,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 1025*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 1023; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 1023; ctr_1 < 1024; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 1023; ctr_2 += 1) @@ -784,42 +784,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_10(double * _data_ // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 1023; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + ((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 1023; ctr_1 < -ctr_2 + 1024; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 + 2*((1049600) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 1023; ctr_2 < 1024; ctr_2 += 1) @@ -827,10 +827,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_10(double * _data_ // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 1025*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -838,37 +838,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 2049*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 2047; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 2047; ctr_1 < 2048; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 2047; ctr_2 += 1) @@ -876,42 +876,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_11(double * _data_ // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 2047; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + ((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 2047; ctr_1 < -ctr_2 + 2048; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 + 2*((4196352) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 2047; ctr_2 < 2048; ctr_2 += 1) @@ -919,10 +919,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_11(double * _data_ // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 2049*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -930,37 +930,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_16 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_17 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_18 = c2*_data_edgeFaceSrc2[ctr_1 + 4097*ctr_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_16 + xi_17 + xi_18; + const double xi_16 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_17 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_18 = c2*_data_edgeFaceSrc2_XY[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_16 + xi_17 + xi_18; } // bottom edge for (int ctr_1 = 1; ctr_1 < 4095; ctr_1 += 1) { - const double xi_41 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_42 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_43 = c2*_data_edgeFaceSrc2[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_44 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_45 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_46 = c2*_data_edgeFaceSrc2[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_41 + xi_42 + xi_43; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; + const double xi_41 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_42 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_43 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_44 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_45 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_46 = c2*_data_edgeFaceSrc2_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_41 + xi_42 + xi_43; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_44 + xi_45 + xi_46; } // bottom right vertex for (int ctr_1 = 4095; ctr_1 < 4096; ctr_1 += 1) { - const double xi_23 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_24 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_25 = c2*_data_edgeFaceSrc2[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_23 + xi_24 + xi_25; + const double xi_23 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_24 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_25 = c2*_data_edgeFaceSrc2_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_23 + xi_24 + xi_25; } } for (int ctr_2 = 1; ctr_2 < 4095; ctr_2 += 1) @@ -968,42 +968,42 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_12(double * _data_ // left edge for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_61 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_62 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_63 = c2*_data_edgeFaceSrc2[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_64 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_65 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_66 = c2*_data_edgeFaceSrc2[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_61 + xi_62 + xi_63; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; + const double xi_61 = c0*_data_edgeFaceSrc0_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_62 = c1*_data_edgeFaceSrc1_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_63 = c2*_data_edgeFaceSrc2_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_64 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_65 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_66 = c2*_data_edgeFaceSrc2_XY[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_61 + xi_62 + xi_63; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_64 + xi_65 + xi_66; } // inner triangle for (int ctr_1 = 1; ctr_1 < -ctr_2 + 4095; ctr_1 += 1) { - const double xi_3 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_4 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_5 = c2*_data_edgeFaceSrc2[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_6 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_7 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_8 = c2*_data_edgeFaceSrc2[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_9 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_10 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_11 = c2*_data_edgeFaceSrc2[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_3 + xi_4 + xi_5; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + ((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; + const double xi_3 = c0*_data_edgeFaceSrc0_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_4 = c1*_data_edgeFaceSrc1_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_5 = c2*_data_edgeFaceSrc2_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_6 = c0*_data_edgeFaceSrc0_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_7 = c1*_data_edgeFaceSrc1_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_8 = c2*_data_edgeFaceSrc2_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_9 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_10 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_11 = c2*_data_edgeFaceSrc2_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_3 + xi_4 + xi_5; + _data_edgeFaceDst_XY[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_6 + xi_7 + xi_8; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_10 + xi_11 + xi_9; } // diagonal edge for (int ctr_1 = -ctr_2 + 4095; ctr_1 < -ctr_2 + 4096; ctr_1 += 1) { - const double xi_51 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_52 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_53 = c2*_data_edgeFaceSrc2[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_54 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_55 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_56 = c2*_data_edgeFaceSrc2[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_51 + xi_52 + xi_53; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 + 2*((16781312) / (2)) - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; + const double xi_51 = c0*_data_edgeFaceSrc0_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_52 = c1*_data_edgeFaceSrc1_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_53 = c2*_data_edgeFaceSrc2_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_54 = c0*_data_edgeFaceSrc0_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_55 = c1*_data_edgeFaceSrc1_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_56 = c2*_data_edgeFaceSrc2_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_51 + xi_52 + xi_53; + _data_edgeFaceDst_Y[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_54 + xi_55 + xi_56; } } for (int ctr_2 = 4095; ctr_2 < 4096; ctr_2 += 1) @@ -1011,10 +1011,10 @@ static void assign_2D_macroface_edgedof_3_rhs_functions_level_12(double * _data_ // top vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { - const double xi_30 = c0*_data_edgeFaceSrc0[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_31 = c1*_data_edgeFaceSrc1[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - const double xi_32 = c2*_data_edgeFaceSrc2[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; - _data_edgeFaceDst[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))] = xi_30 + xi_31 + xi_32; + const double xi_30 = c0*_data_edgeFaceSrc0_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_31 = c1*_data_edgeFaceSrc1_X[ctr_1 + 4097*ctr_2 - ((ctr_2*(ctr_2 + 1)) / (2))]; + const double xi_32 = c2*_data_edgeFaceSrc2_X[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_30 + xi_31 + xi_32; } } { @@ -1022,37 +1022,37 @@ 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_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) { for (int ctr_2 = 0; ctr_2 < 1; ctr_2 += 1) { // bottom left vertex for (int ctr_1 = 0; ctr_1 < 1; ctr_1 += 1) { -