From 384bb51b0f04436206eed8162f40d1402ae64297 Mon Sep 17 00:00:00 2001 From: Anna Wellmann <a.wellmann@tu-bs.de> Date: Wed, 6 Jul 2022 13:07:03 +0000 Subject: [PATCH] Adapt Distribution to new order of directions --- .../grid/distributions/Distribution.cpp | 249 +++++++++--------- 1 file changed, 121 insertions(+), 128 deletions(-) diff --git a/src/gpu/GridGenerator/grid/distributions/Distribution.cpp b/src/gpu/GridGenerator/grid/distributions/Distribution.cpp index b02008126..25e80d605 100644 --- a/src/gpu/GridGenerator/grid/distributions/Distribution.cpp +++ b/src/gpu/GridGenerator/grid/distributions/Distribution.cpp @@ -48,155 +48,148 @@ Distribution DistributionHelper::getDistribution27() d27.dirs = new int[(DIR_27_END + 1) * DIMENSION]; d27.directions = new Direction[DIR_27_END + 1]; - d27.directions[0] = Direction(DIR_27_E_X, DIR_27_E_Y, DIR_27_E_Z); - d27.directions[1] = Direction(DIR_27_W_X, DIR_27_W_Y, DIR_27_W_Z); - d27.directions[2] = Direction(DIR_27_N_X, DIR_27_N_Y, DIR_27_N_Z); - d27.directions[3] = Direction(DIR_27_S_X, DIR_27_S_Y, DIR_27_S_Z); - - d27.directions[4] = Direction(DIR_27_T_X, DIR_27_T_Y, DIR_27_T_Z); - d27.directions[5] = Direction(DIR_27_B_X, DIR_27_B_Y, DIR_27_B_Z); - - d27.directions[6] = Direction(DIR_27_NE_X, DIR_27_NE_Y, DIR_27_NE_Z); - d27.directions[7] = Direction(DIR_27_SW_X, DIR_27_SW_Y, DIR_27_SW_Z); - d27.directions[8] = Direction(DIR_27_SE_X, DIR_27_SE_Y, DIR_27_SE_Z); - d27.directions[9] = Direction(DIR_27_NW_X, DIR_27_NW_Y, DIR_27_NW_Z); - - d27.directions[10] = Direction(DIR_27_TE_X, DIR_27_TE_Y, DIR_27_TE_Z); - d27.directions[11] = Direction(DIR_27_BW_X, DIR_27_BW_Y, DIR_27_BW_Z); - d27.directions[12] = Direction(DIR_27_BE_X, DIR_27_BE_Y, DIR_27_BE_Z); - d27.directions[13] = Direction(DIR_27_TW_X, DIR_27_TW_Y, DIR_27_TW_Z); - - d27.directions[14] = Direction(DIR_27_TN_X, DIR_27_TN_Y, DIR_27_TN_Z); - d27.directions[15] = Direction(DIR_27_BS_X, DIR_27_BS_Y, DIR_27_BS_Z); - d27.directions[16] = Direction(DIR_27_BN_X, DIR_27_BN_Y, DIR_27_BN_Z); - d27.directions[17] = Direction(DIR_27_TS_X, DIR_27_TS_Y, DIR_27_TS_Z); - - d27.directions[18] = Direction(0, 0, 0); - - d27.directions[19] = Direction(DIR_27_TNE_X, DIR_27_TNE_Y, DIR_27_TNE_Z); - d27.directions[20] = Direction(DIR_27_BNE_X, DIR_27_BNE_Y, DIR_27_BNE_Z); + d27.directions[DIR_27_E] = Direction(DIR_27_E_X, DIR_27_E_Y, DIR_27_E_Z); + d27.directions[DIR_27_W] = Direction(DIR_27_W_X, DIR_27_W_Y, DIR_27_W_Z); + d27.directions[DIR_27_N] = Direction(DIR_27_N_X, DIR_27_N_Y, DIR_27_N_Z); + d27.directions[DIR_27_S] = Direction(DIR_27_S_X, DIR_27_S_Y, DIR_27_S_Z); + d27.directions[DIR_27_T] = Direction(DIR_27_T_X, DIR_27_T_Y, DIR_27_T_Z); + d27.directions[DIR_27_B] = Direction(DIR_27_B_X, DIR_27_B_Y, DIR_27_B_Z); + + d27.directions[DIR_27_NE] = Direction(DIR_27_NE_X, DIR_27_NE_Y, DIR_27_NE_Z); + d27.directions[DIR_27_SW] = Direction(DIR_27_SW_X, DIR_27_SW_Y, DIR_27_SW_Z); + d27.directions[DIR_27_SE] = Direction(DIR_27_SE_X, DIR_27_SE_Y, DIR_27_SE_Z); + d27.directions[DIR_27_NW] = Direction(DIR_27_NW_X, DIR_27_NW_Y, DIR_27_NW_Z); + + d27.directions[DIR_27_TE] = Direction(DIR_27_TE_X, DIR_27_TE_Y, DIR_27_TE_Z); + d27.directions[DIR_27_BW] = Direction(DIR_27_BW_X, DIR_27_BW_Y, DIR_27_BW_Z); + d27.directions[DIR_27_BE] = Direction(DIR_27_BE_X, DIR_27_BE_Y, DIR_27_BE_Z); + d27.directions[DIR_27_TW] = Direction(DIR_27_TW_X, DIR_27_TW_Y, DIR_27_TW_Z); + + d27.directions[DIR_27_TN] = Direction(DIR_27_TN_X, DIR_27_TN_Y, DIR_27_TN_Z); + d27.directions[DIR_27_BS] = Direction(DIR_27_BS_X, DIR_27_BS_Y, DIR_27_BS_Z); + d27.directions[DIR_27_BN] = Direction(DIR_27_BN_X, DIR_27_BN_Y, DIR_27_BN_Z); + d27.directions[DIR_27_TS] = Direction(DIR_27_TS_X, DIR_27_TS_Y, DIR_27_TS_Z); + + d27.directions[DIR_27_ZERO] = Direction(DIR_27_ZERO_X, DIR_27_ZERO_Y, DIR_27_ZERO_Z); + + d27.directions[DIR_27_TNE] = Direction(DIR_27_TNE_X, DIR_27_TNE_Y, DIR_27_TNE_Z); + d27.directions[DIR_27_TNW] = Direction(DIR_27_TNW_X, DIR_27_TNW_Y, DIR_27_TNW_Z); + d27.directions[DIR_27_TSE] = Direction(DIR_27_TSE_X, DIR_27_TSE_Y, DIR_27_TSE_Z); + d27.directions[DIR_27_TSW] = Direction(DIR_27_TSW_X, DIR_27_TSW_Y, DIR_27_TSW_Z); + + d27.directions[DIR_27_BNE] = Direction(DIR_27_BNE_X, DIR_27_BNE_Y, DIR_27_BNE_Z); + d27.directions[DIR_27_BNW] = Direction(DIR_27_BNW_X, DIR_27_BNW_Y, DIR_27_BNW_Z); + d27.directions[DIR_27_BSE] = Direction(DIR_27_BSE_X, DIR_27_BSE_Y, DIR_27_BSE_Z); + d27.directions[DIR_27_BSW] = Direction(DIR_27_BSW_X, DIR_27_BSW_Y, DIR_27_BSW_Z); + + + d27.dirs[DIR_27_E * 3 ] = DIR_27_E_X; + d27.dirs[DIR_27_E * 3 + 1] = DIR_27_E_Y; + d27.dirs[DIR_27_E * 3 + 2] = DIR_27_E_Z; + + d27.dirs[DIR_27_W * 3 ] = DIR_27_W_X; + d27.dirs[DIR_27_W * 3 + 1] = DIR_27_W_Y; + d27.dirs[DIR_27_W * 3 + 2] = DIR_27_W_Z; + + d27.dirs[DIR_27_N * 3 ] = DIR_27_N_X; + d27.dirs[DIR_27_N * 3 + 1] = DIR_27_N_Y; + d27.dirs[DIR_27_N * 3 + 2] = DIR_27_N_Z; - d27.directions[21] = Direction(DIR_27_TSE_X, DIR_27_TSE_Y, DIR_27_TSE_Z); - d27.directions[22] = Direction(DIR_27_BSE_X, DIR_27_BSE_Y, DIR_27_BSE_Z); + d27.dirs[DIR_27_S * 3 ] = DIR_27_S_X; + d27.dirs[DIR_27_S * 3 + 1] = DIR_27_S_Y; + d27.dirs[DIR_27_S * 3 + 2] = DIR_27_S_Z; + + d27.dirs[DIR_27_T * 3 ] = DIR_27_T_X; + d27.dirs[DIR_27_T * 3 + 1] = DIR_27_T_Y; + d27.dirs[DIR_27_T * 3 + 2] = DIR_27_T_Z; + + d27.dirs[DIR_27_B * 3 ] = DIR_27_B_X; + d27.dirs[DIR_27_B * 3 + 1] = DIR_27_B_Y; + d27.dirs[DIR_27_B * 3 + 2] = DIR_27_B_Z; - d27.directions[23] = Direction(DIR_27_TNW_X, DIR_27_TNW_Y, DIR_27_TNW_Z); - d27.directions[24] = Direction(DIR_27_BNW_X, DIR_27_BNW_Y, DIR_27_BNW_Z); + d27.dirs[DIR_27_NE * 3 ] = DIR_27_NE_X; + d27.dirs[DIR_27_NE * 3 + 1] = DIR_27_NE_Y; + d27.dirs[DIR_27_NE * 3 + 2] = DIR_27_NE_Z; + + d27.dirs[DIR_27_SW * 3 ] = DIR_27_SW_X; + d27.dirs[DIR_27_SW * 3 + 1] = DIR_27_SW_Y; + d27.dirs[DIR_27_SW * 3 + 2] = DIR_27_SW_Z; - d27.directions[25] = Direction(DIR_27_TSW_X, DIR_27_TSW_Y, DIR_27_TSW_Z); - d27.directions[26] = Direction(DIR_27_BSW_X, DIR_27_BSW_Y, DIR_27_BSW_Z); + d27.dirs[DIR_27_SE * 3 ] = DIR_27_SE_X; + d27.dirs[DIR_27_SE * 3 + 1] = DIR_27_SE_Y; + d27.dirs[DIR_27_SE * 3 + 2] = DIR_27_SE_Z; + d27.dirs[DIR_27_NW * 3 ] = DIR_27_NW_X; + d27.dirs[DIR_27_NW * 3 + 1] = DIR_27_NW_Y; + d27.dirs[DIR_27_NW * 3 + 2] = DIR_27_NW_Z; - int dir_num = 0; - d27.dirs[dir_num++] = DIR_27_E_X; - d27.dirs[dir_num++] = DIR_27_E_Y; - d27.dirs[dir_num++] = DIR_27_E_Z; + d27.dirs[DIR_27_TE * 3 ] = DIR_27_TE_X; + d27.dirs[DIR_27_TE * 3 + 1] = DIR_27_TE_Y; + d27.dirs[DIR_27_TE * 3 + 2] = DIR_27_TE_Z; - d27.dirs[dir_num++] = DIR_27_W_X; - d27.dirs[dir_num++] = DIR_27_W_Y; - d27.dirs[dir_num++] = DIR_27_W_Z; - - d27.dirs[dir_num++] = DIR_27_N_X; - d27.dirs[dir_num++] = DIR_27_N_Y; - d27.dirs[dir_num++] = DIR_27_N_Z; - - d27.dirs[dir_num++] = DIR_27_S_X; - d27.dirs[dir_num++] = DIR_27_S_Y; - d27.dirs[dir_num++] = DIR_27_S_Z; - - d27.dirs[dir_num++] = DIR_27_T_X; - d27.dirs[dir_num++] = DIR_27_T_Y; - d27.dirs[dir_num++] = DIR_27_T_Z; - - d27.dirs[dir_num++] = DIR_27_B_X; - d27.dirs[dir_num++] = DIR_27_B_Y; - d27.dirs[dir_num++] = DIR_27_B_Z; - - d27.dirs[dir_num++] = DIR_27_NE_X; - d27.dirs[dir_num++] = DIR_27_NE_Y; - d27.dirs[dir_num++] = DIR_27_NE_Z; - - d27.dirs[dir_num++] = DIR_27_SW_X; - d27.dirs[dir_num++] = DIR_27_SW_Y; - d27.dirs[dir_num++] = DIR_27_SW_Z; - - d27.dirs[dir_num++] = DIR_27_SE_X; - d27.dirs[dir_num++] = DIR_27_SE_Y; - d27.dirs[dir_num++] = DIR_27_SE_Z; - - d27.dirs[dir_num++] = DIR_27_NW_X; - d27.dirs[dir_num++] = DIR_27_NW_Y; - d27.dirs[dir_num++] = DIR_27_NW_Z; + d27.dirs[DIR_27_BW * 3 ] = DIR_27_BW_X; + d27.dirs[DIR_27_BW * 3 + 1] = DIR_27_BW_Y; + d27.dirs[DIR_27_BW * 3 + 2] = DIR_27_BW_Z; - d27.dirs[dir_num++] = DIR_27_TE_X; - d27.dirs[dir_num++] = DIR_27_TE_Y; - d27.dirs[dir_num++] = DIR_27_TE_Z; + d27.dirs[DIR_27_BE * 3 ] = DIR_27_BE_X; + d27.dirs[DIR_27_BE * 3 + 1] = DIR_27_BE_Y; + d27.dirs[DIR_27_BE * 3 + 2] = DIR_27_BE_Z; - d27.dirs[dir_num++] = DIR_27_BW_X; - d27.dirs[dir_num++] = DIR_27_BW_Y; - d27.dirs[dir_num++] = DIR_27_BW_Z; + d27.dirs[DIR_27_TW * 3 ] = DIR_27_TW_X; + d27.dirs[DIR_27_TW * 3 + 1] = DIR_27_TW_Y; + d27.dirs[DIR_27_TW * 3 + 2] = DIR_27_TW_Z; - d27.dirs[dir_num++] = DIR_27_BE_X; - d27.dirs[dir_num++] = DIR_27_BE_Y; - d27.dirs[dir_num++] = DIR_27_BE_Z; + d27.dirs[DIR_27_TN * 3 ] = DIR_27_TN_X; + d27.dirs[DIR_27_TN * 3 + 1] = DIR_27_TN_Y; + d27.dirs[DIR_27_TN * 3 + 2] = DIR_27_TN_Z; - d27.dirs[dir_num++] = DIR_27_TW_X; - d27.dirs[dir_num++] = DIR_27_TW_Y; - d27.dirs[dir_num++] = DIR_27_TW_Z; + d27.dirs[DIR_27_BS * 3 ] = DIR_27_BS_X; + d27.dirs[DIR_27_BS * 3 + 1] = DIR_27_BS_Y; + d27.dirs[DIR_27_BS * 3 + 2] = DIR_27_BS_Z; - d27.dirs[dir_num++] = DIR_27_TN_X; - d27.dirs[dir_num++] = DIR_27_TN_Y; - d27.dirs[dir_num++] = DIR_27_TN_Z; - - d27.dirs[dir_num++] = DIR_27_BS_X; - d27.dirs[dir_num++] = DIR_27_BS_Y; - d27.dirs[dir_num++] = DIR_27_BS_Z; - - d27.dirs[dir_num++] = DIR_27_BN_X; - d27.dirs[dir_num++] = DIR_27_BN_Y; - d27.dirs[dir_num++] = DIR_27_BN_Z; - - d27.dirs[dir_num++] = DIR_27_TS_X; - d27.dirs[dir_num++] = DIR_27_TS_Y; - d27.dirs[dir_num++] = DIR_27_TS_Z; - - - d27.dirs[dir_num++] = 0; // - d27.dirs[dir_num++] = 0; // ZERO ELEMENT - d27.dirs[dir_num++] = 0; // + d27.dirs[DIR_27_BN * 3 ] = DIR_27_BN_X; + d27.dirs[DIR_27_BN * 3 + 1] = DIR_27_BN_Y; + d27.dirs[DIR_27_BN * 3 + 2] = DIR_27_BN_Z; + d27.dirs[DIR_27_TS * 3 ] = DIR_27_TS_X; + d27.dirs[DIR_27_TS * 3 + 1] = DIR_27_TS_Y; + d27.dirs[DIR_27_TS * 3 + 2] = DIR_27_TS_Z; - d27.dirs[dir_num++] = DIR_27_TNE_X; - d27.dirs[dir_num++] = DIR_27_TNE_Y; - d27.dirs[dir_num++] = DIR_27_TNE_Z; + d27.dirs[DIR_27_ZERO * 3 ] = DIR_27_ZERO_X; // + d27.dirs[DIR_27_ZERO * 3 + 1] = DIR_27_ZERO_Y; // ZERO ELEMENT + d27.dirs[DIR_27_ZERO * 3 + 2] = DIR_27_ZERO_Z; // - d27.dirs[dir_num++] = DIR_27_BNE_X; - d27.dirs[dir_num++] = DIR_27_BNE_Y; - d27.dirs[dir_num++] = DIR_27_BNE_Z; + d27.dirs[DIR_27_TNE * 3 ] = DIR_27_TNE_X; + d27.dirs[DIR_27_TNE * 3 + 1] = DIR_27_TNE_Y; + d27.dirs[DIR_27_TNE * 3 + 2] = DIR_27_TNE_Z; - d27.dirs[dir_num++] = DIR_27_TSE_X; - d27.dirs[dir_num++] = DIR_27_TSE_Y; - d27.dirs[dir_num++] = DIR_27_TSE_Z; + d27.dirs[DIR_27_BNE * 3 ] = DIR_27_BNE_X; + d27.dirs[DIR_27_BNE * 3 + 1] = DIR_27_BNE_Y; + d27.dirs[DIR_27_BNE * 3 + 2] = DIR_27_BNE_Z; - d27.dirs[dir_num++] = DIR_27_BSE_X; - d27.dirs[dir_num++] = DIR_27_BSE_Y; - d27.dirs[dir_num++] = DIR_27_BSE_Z; + d27.dirs[DIR_27_TSE * 3 ] = DIR_27_TSE_X; + d27.dirs[DIR_27_TSE * 3 + 1] = DIR_27_TSE_Y; + d27.dirs[DIR_27_TSE * 3 + 2] = DIR_27_TSE_Z; + d27.dirs[DIR_27_BSE * 3 ] = DIR_27_BSE_X; + d27.dirs[DIR_27_BSE * 3 + 1] = DIR_27_BSE_Y; + d27.dirs[DIR_27_BSE * 3 + 2] = DIR_27_BSE_Z; - d27.dirs[dir_num++] = DIR_27_TNW_X; - d27.dirs[dir_num++] = DIR_27_TNW_Y; - d27.dirs[dir_num++] = DIR_27_TNW_Z; + d27.dirs[DIR_27_TNW * 3 ] = DIR_27_TNW_X; + d27.dirs[DIR_27_TNW * 3 + 1] = DIR_27_TNW_Y; + d27.dirs[DIR_27_TNW * 3 + 2] = DIR_27_TNW_Z; - d27.dirs[dir_num++] = DIR_27_BNW_X; - d27.dirs[dir_num++] = DIR_27_BNW_Y; - d27.dirs[dir_num++] = DIR_27_BNW_Z; + d27.dirs[DIR_27_BNW * 3 ] = DIR_27_BNW_X; + d27.dirs[DIR_27_BNW * 3 + 1] = DIR_27_BNW_Y; + d27.dirs[DIR_27_BNW * 3 + 2] = DIR_27_BNW_Z; - d27.dirs[dir_num++] = DIR_27_TSW_X; - d27.dirs[dir_num++] = DIR_27_TSW_Y; - d27.dirs[dir_num++] = DIR_27_TSW_Z; + d27.dirs[DIR_27_TSW * 3 ] = DIR_27_TSW_X; + d27.dirs[DIR_27_TSW * 3 + 1] = DIR_27_TSW_Y; + d27.dirs[DIR_27_TSW * 3 + 2] = DIR_27_TSW_Z; - d27.dirs[dir_num++] = DIR_27_BSW_X; - d27.dirs[dir_num++] = DIR_27_BSW_Y; - d27.dirs[dir_num++] = DIR_27_BSW_Z; + d27.dirs[DIR_27_BSW * 3 ] = DIR_27_BSW_X; + d27.dirs[DIR_27_BSW * 3 + 1] = DIR_27_BSW_Y; + d27.dirs[DIR_27_BSW * 3 + 2] = DIR_27_BSW_Z; return d27; } -- GitLab