diff --git a/apps/cpu/PoiseuilleFlow/pf1.cpp b/apps/cpu/PoiseuilleFlow/pf1.cpp index 25f86a206466023439abafefbed503a9b4a9f23d..99600ceb994e505798fa777a49c39e01a1fecb2a 100644 --- a/apps/cpu/PoiseuilleFlow/pf1.cpp +++ b/apps/cpu/PoiseuilleFlow/pf1.cpp @@ -11,7 +11,7 @@ void pf1() int myid = comm->getProcessID(); //parameters - string pathOut = "/gfs1/work/niikonst/pflow_pipe_forcing"; + string pathOut = "d:/temp/test_dir_naming"; //"/gfs1/work/niikonst/pflow_pipe_forcing"; int numOfThreads = 1; int blocknx[3] ={ 10,10,10 }; double endTime = 10; @@ -27,12 +27,12 @@ void pf1() //simulation bounding box double g_minX1 = 0.0; - double g_minX2 = -50.0; - double g_minX3 = -50.0; + double g_minX2 = -10.0; + double g_minX3 = -10.0; - double g_maxX1 = 2000; - double g_maxX2 = 50; - double g_maxX3 = 50; + double g_maxX1 = 50; + double g_maxX2 = 10; + double g_maxX3 = 10; //Sleep(15000); @@ -169,11 +169,11 @@ void pf1() //grid=SPtr<Grid3D>(new Grid3D(comm)); //restartCoProcessor->restart(200); - SPtr<MPIIOMigrationBECoProcessor> migCoProcessor(new MPIIOMigrationBECoProcessor(grid, mSch, metisVisitor, pathOut + "/mig", comm)); - migCoProcessor->setLBMKernel(kernel); - migCoProcessor->setBCProcessor(bcProc); - migCoProcessor->setNu(nuLB); - migCoProcessor->restart(10); + //SPtr<MPIIOMigrationBECoProcessor> migCoProcessor(new MPIIOMigrationBECoProcessor(grid, mSch, metisVisitor, pathOut + "/mig", comm)); + //migCoProcessor->setLBMKernel(kernel); + //migCoProcessor->setBCProcessor(bcProc); + //migCoProcessor->setNu(nuLB); + //migCoProcessor->restart(10); ppblocks->process(1); @@ -192,7 +192,7 @@ void pf1() SPtr<Calculator> calculator(new BasicCalculator(grid, stepGhostLayer, endTime)); calculator->addCoProcessor(npr); calculator->addCoProcessor(writeMQCoProcessor); - calculator->addCoProcessor(migCoProcessor); + //calculator->addCoProcessor(migCoProcessor); //calculator->addCoProcessor(restartCoProcessor); if (myid == 0) UBLOG(logINFO, "Simulation-start"); diff --git a/src/cpu/VirtualFluidsCore/LBM/D3Q27System.cpp b/src/cpu/VirtualFluidsCore/LBM/D3Q27System.cpp index 105603b35d043799672a58fda83ba503af70b703..b82616cbcd06de1dbdfb8d991a18266ee354e483 100644 --- a/src/cpu/VirtualFluidsCore/LBM/D3Q27System.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/D3Q27System.cpp @@ -6,11 +6,17 @@ namespace D3Q27System { using namespace UbMath; -// index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 24 25 26 +// index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // f: E, W, N, S, T, B, NE, SW, SE, NW, TE, BW, BE, TW, TN, BS, BN, TS, TNE TNW TSE TSW BNE BNW BSE BSW -const int DX1[] = { 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1 }; -const int DX2[] = { 0, 0, 1, -1, 0, 0, 1, -1, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1 }; -const int DX3[] = { 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1 }; +//const int DX1[] = { 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1 }; +//const int DX2[] = { 0, 0, 1, -1, 0, 0, 1, -1, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1 }; +//const int DX3[] = { 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1 }; + +// index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 +// f: REST, E, W, N, S, T, B, NE, SW, SE, NW, TE, BW, BE, TW, TN, BS, BN, TS, TNE TNW TSE TSW BNE BNW BSE BSW +const int DX1[] = { 0, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1, 0, 0, 0, 0, 1, -1, 1, -1, 1, -1, 1, -1 }; +const int DX2[] = { 0, 0, 0, 1, -1, 0, 0, 1, -1, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1 }; +const int DX3[] = { 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1 }; const double WEIGTH[] = { c2o27, c2o27, c2o27, c2o27, c2o27, c2o27, c1o54, c1o54, c1o54, c1o54, c1o54, c1o54, c1o54, c1o54, c1o54, c1o54, c1o54, c1o54, diff --git a/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h b/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h index 04fe8a819b143db8cc935fc893faa514805060a6..edfb903c1a5748b13d086bdd72c16b75368d3beb 100644 --- a/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h +++ b/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h @@ -48,14 +48,14 @@ namespace D3Q27System { ////////////////////////////////////////////////////////////////////////// // DIRECTION STUFF -static const int FSTARTDIR = 0; -static const int FENDDIR = 25; // D3Q27 +static const int FSTARTDIR = 1; +static const int FENDDIR = 26; // D3Q27 static const int STARTF = 0; static const int ENDF = 26; // D3Q27 -static const int STARTDIR = 0; -static const int ENDDIR = 26; // all geometric directions +static const int STARTDIR = 1; //0 +static const int ENDDIR = 27;//26 // all geometric directions extern const int DX1[ENDDIR + 1]; extern const int DX2[ENDDIR + 1]; @@ -64,33 +64,61 @@ extern const double WEIGTH[ENDDIR + 1]; extern const double cNorm[3][ENDDIR]; -static const int E = 0; -static const int W = 1; -static const int N = 2; -static const int S = 3; -static const int T = 4; -static const int B = 5; -static const int NE = 6; -static const int SW = 7; -static const int SE = 8; -static const int NW = 9; -static const int TE = 10; -static const int BW = 11; -static const int BE = 12; -static const int TW = 13; -static const int TN = 14; -static const int BS = 15; -static const int BN = 16; -static const int TS = 17; -static const int TNE = 18; -static const int TNW = 19; -static const int TSE = 20; -static const int TSW = 21; -static const int BNE = 22; -static const int BNW = 23; -static const int BSE = 24; -static const int BSW = 25; -static const int REST = 26; +//static const int E = 0; +//static const int W = 1; +//static const int N = 2; +//static const int S = 3; +//static const int T = 4; +//static const int B = 5; +//static const int NE = 6; +//static const int SW = 7; +//static const int SE = 8; +//static const int NW = 9; +//static const int TE = 10; +//static const int BW = 11; +//static const int BE = 12; +//static const int TW = 13; +//static const int TN = 14; +//static const int BS = 15; +//static const int BN = 16; +//static const int TS = 17; +//static const int TNE = 18; +//static const int TNW = 19; +//static const int TSE = 20; +//static const int TSW = 21; +//static const int BNE = 22; +//static const int BNW = 23; +//static const int BSE = 24; +//static const int BSW = 25; +//static const int REST = 26; + +static constexpr int REST = 0; +static constexpr int E = 1; +static constexpr int W = 2; +static constexpr int N = 3; +static constexpr int S = 4; +static constexpr int T = 5; +static constexpr int B = 6; +static constexpr int NE = 7; +static constexpr int SW = 8; +static constexpr int SE = 9; +static constexpr int NW = 10; +static constexpr int TE = 11; +static constexpr int BW = 12; +static constexpr int BE = 13; +static constexpr int TW = 14; +static constexpr int TN = 15; +static constexpr int BS = 16; +static constexpr int BN = 17; +static constexpr int TS = 18; +static constexpr int TNE = 19; +static constexpr int TNW = 20; +static constexpr int TSE = 21; +static constexpr int TSW = 22; +static constexpr int BNE = 23; +static constexpr int BNW = 24; +static constexpr int BSE = 25; +static constexpr int BSW = 26; static const int INV_E = W; static const int INV_W = E; diff --git a/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h index f39a95afc23e5351e0331f789a0e22ae5ff5ccf2..91f18e7292e8ef28cac159fb45aae485529e3f79 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h +++ b/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h @@ -114,7 +114,7 @@ void SetConnectorsBlockVisitor<T1, T2>::setSameLevelConnectors(SPtr<Grid3D> grid int ix3 = block->getX3(); int level = block->getLevel(); - for (int dir = 0; dir < D3Q27System::ENDDIR; dir++) { + for (int dir = D3Q27System::STARTDIR; dir < D3Q27System::ENDDIR; dir++) { SPtr<Block3D> neighBlock = grid->getNeighborBlock(dir, ix1, ix2, ix3, level); if (neighBlock) { diff --git a/src/lbm/constants/D3Q27.h b/src/lbm/constants/D3Q27.h index 0b2cbfdd44e84af590fa2c2be4bf319cbfd4c815..418038c35e9e5f0ae423f87a4d4a468888a2f274 100644 --- a/src/lbm/constants/D3Q27.h +++ b/src/lbm/constants/D3Q27.h @@ -64,6 +64,88 @@ static constexpr int PMM = 24; static constexpr int MMM = 25; static constexpr int ZZZ = 26; +static constexpr int DIR_000 = 0; +static constexpr int DIR_P00 = 1; +static constexpr int DIR_M00 = 2; +static constexpr int DIR_0P0 = 3; +static constexpr int DIR_0M0 = 4; +static constexpr int DIR_00P = 5; +static constexpr int DIR_00M = 6; +static constexpr int DIR_PP0 = 7; +static constexpr int DIR_MM0 = 8; +static constexpr int DIR_PM0 = 9; +static constexpr int DIR_MP0 = 10; +static constexpr int DIR_P0P = 11; +static constexpr int DIR_M0M = 12; +static constexpr int DIR_P0M = 13; +static constexpr int DIR_M0P = 14; +static constexpr int DIR_0PP = 15; +static constexpr int DIR_0MM = 16; +static constexpr int DIR_0PM = 17; +static constexpr int DIR_0MP = 18; +static constexpr int DIR_PPP = 19; +static constexpr int DIR_MPP = 20; +static constexpr int DIR_PMP = 21; +static constexpr int DIR_MMP = 22; +static constexpr int DIR_PPM = 23; +static constexpr int DIR_MPM = 24; +static constexpr int DIR_PMM = 25; +static constexpr int DIR_MMM = 26; + +static constexpr int INV_P00 = DIR_M00; +static constexpr int INV_M00 = DIR_P00; +static constexpr int INV_0P0 = DIR_0M0; +static constexpr int INV_0M0 = DIR_0P0; +static constexpr int INV_00P = DIR_00M; +static constexpr int INV_00M = DIR_00P; +static constexpr int INV_PP0 = DIR_MM0; +static constexpr int INV_MM0 = DIR_PP0; +static constexpr int INV_PM0 = DIR_MP0; +static constexpr int INV_MP0 = DIR_PM0; +static constexpr int INV_P0P = DIR_M0M; +static constexpr int INV_M0M = DIR_P0P; +static constexpr int INV_P0M = DIR_M0P; +static constexpr int INV_M0P = DIR_P0M; +static constexpr int INV_0PP = DIR_0MM; +static constexpr int INV_0MM = DIR_0PP; +static constexpr int INV_0PM = DIR_0MP; +static constexpr int INV_0MP = DIR_0PM; +static constexpr int INV_PPP = DIR_MMM; +static constexpr int INV_MPP = DIR_PMM; +static constexpr int INV_PMP = DIR_MPM; +static constexpr int INV_MMP = DIR_PPM; +static constexpr int INV_PPM = DIR_MMP; +static constexpr int INV_MPM = DIR_PMP; +static constexpr int INV_PMM = DIR_MPP; +static constexpr int INV_MMM = DIR_PPP; + +static constexpr int SGD_P00 = 0; +static constexpr int SGD_M00 = 1; +static constexpr int SGD_0P0 = 2; +static constexpr int SGD_0M0 = 3; +static constexpr int SGD_00P = 4; +static constexpr int SGD_00M = 5; +static constexpr int SGD_PP0 = 6; +static constexpr int SGD_MM0 = 7; +static constexpr int SGD_PM0 = 8; +static constexpr int SGD_MP0 = 9; +static constexpr int SGD_P0P = 10; +static constexpr int SGD_M0M = 11; +static constexpr int SGD_P0M = 12; +static constexpr int SGD_M0P = 13; +static constexpr int SGD_0PP = 14; +static constexpr int SGD_0MM = 15; +static constexpr int SGD_0PM = 16; +static constexpr int SGD_0MP = 17; +static constexpr int SGD_PPP = 18; +static constexpr int SGD_MPP = 19; +static constexpr int SGD_PMP = 20; +static constexpr int SGD_MMP = 21; +static constexpr int SGD_PPM = 22; +static constexpr int SGD_MPM = 23; +static constexpr int SGD_PMM = 24; +static constexpr int SGD_MMM = 25; + } } }