diff --git a/src/VirtualFluids_GPU/DataStructureInitializer/GridProvider.cpp b/src/VirtualFluids_GPU/DataStructureInitializer/GridProvider.cpp index 8f078287d2fa826575f8769cbc767fb99092880b..0e23e6957994594e82c0362ea82c43a716e47f28 100644 --- a/src/VirtualFluids_GPU/DataStructureInitializer/GridProvider.cpp +++ b/src/VirtualFluids_GPU/DataStructureInitializer/GridProvider.cpp @@ -29,101 +29,101 @@ void GridProvider::setInitalNodeValues(const int numberOfNodes, const int level) //////////////////////////////////////////////////////////////////////////////// //Taylor Green Vortex uniform //like MG - // //real uAdvect = real (1. / 250.); //32 nodes -> 250; 40 nodes -> 200; 64 nodes -> 500; 128 nodes -> 1000; 256 nodes -> 2000; 512 nodes -> 4000 - // const real uAdvect = -0.0016; //32 nodes -> 0.032; 64 nodes -> 0.016; 128 nodes -> 0.008; 256 nodes -> 0.004; 512 nodes -> 0.002 - - // for (int j = 1; j <= numberOfNodes; j++) - // { - // const real coordX = para->getParH(level)->coordX_SP[j]; - // const real coordZ = para->getParH(level)->coordZ_SP[j]; - // const real velocity = para->getVelocity(); - - // para->getParH(level)->rho_SP[j] = real((velocity * velocity) * 3.0 / 4.0 * (cos(coordX * 4.0*PI / gridX) + cos(coordZ * 4.0*PI / gridZ))) * gridZ / gridX; - - // para->getParH(level)->vy_SP[j] = real(0.0); - // para->getParH(level)->vx_SP[j] = real( velocity * sin(coordX * 2.0*PI / gridX) * cos(coordZ * 2.0*PI / gridZ)) + uAdvect * (1.0 + para->getParH(level)->rho_SP[j]); - // para->getParH(level)->vz_SP[j] = real(-velocity * cos(coordX * 2.0*PI / gridX) * sin(coordZ * 2.0*PI / gridZ)); // *(real)(gridZ) / (real)(gridX); - - // //para->getParH(level)->vx_SP[j] = 0.001; - // //para->getParH(level)->vy_SP[j] = 0.0; - // //para->getParH(level)->vz_SP[j] = 0.001; - // //para->getParH(level)->rho_SP[j] = 0.0; - // //para->getParH(level)->press_SP[j] = 0.0; - - // if (para->getCalcMedian()) { - // para->getParH(level)->vx_SP_Med[j] = 0.0f; - // para->getParH(level)->vy_SP_Med[j] = 0.0f; - // para->getParH(level)->vz_SP_Med[j] = 0.0f; - // para->getParH(level)->rho_SP_Med[j] = 0.0f; - // para->getParH(level)->press_SP_Med[j] = 0.0f; - // } - // if (para->getUseWale()) { - // para->getParH(level)->turbViscosity[j] = 0.0f; - // //Debug - // para->getParH(level)->gSij[j] = 0.0f; - // para->getParH(level)->gSDij[j] = 0.0f; - // para->getParH(level)->gDxvx[j] = 0.0f; - // para->getParH(level)->gDyvx[j] = 0.0f; - // para->getParH(level)->gDzvx[j] = 0.0f; - // para->getParH(level)->gDxvy[j] = 0.0f; - // para->getParH(level)->gDyvy[j] = 0.0f; - // para->getParH(level)->gDzvy[j] = 0.0f; - // para->getParH(level)->gDxvz[j] = 0.0f; - // para->getParH(level)->gDyvz[j] = 0.0f; - // para->getParH(level)->gDzvz[j] = 0.0f; - // } - // } + //real uAdvect = real (1. / 250.); //32 nodes -> 250; 40 nodes -> 200; 64 nodes -> 500; 128 nodes -> 1000; 256 nodes -> 2000; 512 nodes -> 4000 + const real uAdvect = -0.0016; //32 nodes -> 0.032; 64 nodes -> 0.016; 128 nodes -> 0.008; 256 nodes -> 0.004; 512 nodes -> 0.002 + + for (int j = 1; j <= numberOfNodes; j++) + { + const real coordX = para->getParH(level)->coordX_SP[j]; + const real coordZ = para->getParH(level)->coordZ_SP[j]; + const real velocity = para->getVelocity(); + + para->getParH(level)->rho_SP[j] = real((velocity * velocity) * 3.0 / 4.0 * (cos(coordX * 4.0*PI / gridX) + cos(coordZ * 4.0*PI / gridZ))) * gridZ / gridX; + + para->getParH(level)->vy_SP[j] = real(0.0); + para->getParH(level)->vx_SP[j] = real( velocity * sin(coordX * 2.0*PI / gridX) * cos(coordZ * 2.0*PI / gridZ)) + uAdvect * (1.0 + para->getParH(level)->rho_SP[j]); + para->getParH(level)->vz_SP[j] = real(-velocity * cos(coordX * 2.0*PI / gridX) * sin(coordZ * 2.0*PI / gridZ)); // *(real)(gridZ) / (real)(gridX); + + //para->getParH(level)->vx_SP[j] = 0.001; + //para->getParH(level)->vy_SP[j] = 0.0; + //para->getParH(level)->vz_SP[j] = 0.001; + //para->getParH(level)->rho_SP[j] = 0.0; + //para->getParH(level)->press_SP[j] = 0.0; + + if (para->getCalcMedian()) { + para->getParH(level)->vx_SP_Med[j] = 0.0f; + para->getParH(level)->vy_SP_Med[j] = 0.0f; + para->getParH(level)->vz_SP_Med[j] = 0.0f; + para->getParH(level)->rho_SP_Med[j] = 0.0f; + para->getParH(level)->press_SP_Med[j] = 0.0f; + } + if (para->getUseWale()) { + para->getParH(level)->turbViscosity[j] = 0.0f; + //Debug + para->getParH(level)->gSij[j] = 0.0f; + para->getParH(level)->gSDij[j] = 0.0f; + para->getParH(level)->gDxvx[j] = 0.0f; + para->getParH(level)->gDyvx[j] = 0.0f; + para->getParH(level)->gDzvx[j] = 0.0f; + para->getParH(level)->gDxvy[j] = 0.0f; + para->getParH(level)->gDyvy[j] = 0.0f; + para->getParH(level)->gDzvy[j] = 0.0f; + para->getParH(level)->gDxvz[j] = 0.0f; + para->getParH(level)->gDyvz[j] = 0.0f; + para->getParH(level)->gDzvz[j] = 0.0f; + } + } //////////////////////////////////////////////////////////////////////////////// //2D parabolic test for turbulent channel flow - const real uBar = para->getVelocity(); // Bulk velocity computed from DNS results of Kim - const real h = 0.5 * gridY; // half channel width - - for (int j = 0; j <= numberOfNodes; j++) - { - //para->getParH(level)->rho_SP[j] = - // (doubflo)((para->getVelocity()*para->getVelocity())*3.0 / 4.0*(cos(para->getParH(level)->coordX_SP[j]*4.0*PI / (doubflo)gridX) + - // cos(para->getParH(i)->coordZ_SP[j] *4.0*PI /(real)gridZ)))*(real)(gridZ) / (real)(gridX); - para->getParH(level)->rho_SP[j] = - ((real)((para->getVelocity()*para->getVelocity()) * 27.0 * - (cos(para->getParH(level)->coordX_SP[j] * 4.0*PI / (real)gridX) + cos(para->getParH(level)->coordY_SP[j] * 4.0*PI / (real)gridY))) * - (real)(gridY) / (real)(gridX)) + - ((real)((para->getVelocity()*para->getVelocity()) * 27.0 * - (cos(para->getParH(level)->coordX_SP[j] * 4.0*PI / (real)gridX) + cos(para->getParH(level)->coordZ_SP[j] * 4.0*PI / (real)gridZ))) * - (real)(gridZ) / (real)(gridX)); - - //para->getParH(level)->vx_SP[j] = 3.0 * uBar*((para->getParH(level)->coordY_SP[j] / h) - 0.5*((pow(para->getParH(level)->coordY_SP[j], 2.0) / h))); - para->getParH(level)->vx_SP[j] = - 3.0 * uBar * (((para->getParH(level)->coordY_SP[j]) / h) - 0.5 / h * ((pow((para->getParH(level)->coordY_SP[j]), 2.0) / h))); - - //para->getParH(level)->vy_SP[j] = (real)0.0; - para->getParH(level)->vy_SP[j] = - (real)(-para->getVelocity()*cos((para->getParH(level)->coordX_SP[j] * 2.0*PI / (real)gridX))*sin(para->getParH(level)->coordY_SP[j] * 2.0*PI / (real)gridY)); - - para->getParH(level)->vz_SP[j] = (real)0.0; - ////////////////////////////////////////////////////////////////////////// - if (para->getCalcMedian()) { - para->getParH(level)->vx_SP_Med[j] = 0.0f; - para->getParH(level)->vy_SP_Med[j] = 0.0f; - para->getParH(level)->vz_SP_Med[j] = 0.0f; - para->getParH(level)->rho_SP_Med[j] = 0.0f; - para->getParH(level)->press_SP_Med[j] = 0.0f; - } - if (para->getUseWale()) { - para->getParH(level)->turbViscosity[j] = 0.0f; - //Debug - para->getParH(level)->gSij[j] = 0.0f; - para->getParH(level)->gSDij[j] = 0.0f; - para->getParH(level)->gDxvx[j] = 0.0f; - para->getParH(level)->gDyvx[j] = 0.0f; - para->getParH(level)->gDzvx[j] = 0.0f; - para->getParH(level)->gDxvy[j] = 0.0f; - para->getParH(level)->gDyvy[j] = 0.0f; - para->getParH(level)->gDzvy[j] = 0.0f; - para->getParH(level)->gDxvz[j] = 0.0f; - para->getParH(level)->gDyvz[j] = 0.0f; - para->getParH(level)->gDzvz[j] = 0.0f; - } - } + //const real uBar = para->getVelocity(); // Bulk velocity computed from DNS results of Kim + //const real h = 0.5 * gridY; // half channel width + + //for (int j = 0; j <= numberOfNodes; j++) + //{ + // //para->getParH(level)->rho_SP[j] = + // // (doubflo)((para->getVelocity()*para->getVelocity())*3.0 / 4.0*(cos(para->getParH(level)->coordX_SP[j]*4.0*PI / (doubflo)gridX) + + // // cos(para->getParH(i)->coordZ_SP[j] *4.0*PI /(real)gridZ)))*(real)(gridZ) / (real)(gridX); + // para->getParH(level)->rho_SP[j] = + // ((real)((para->getVelocity()*para->getVelocity()) * 27.0 * + // (cos(para->getParH(level)->coordX_SP[j] * 4.0*PI / (real)gridX) + cos(para->getParH(level)->coordY_SP[j] * 4.0*PI / (real)gridY))) * + // (real)(gridY) / (real)(gridX)) + + // ((real)((para->getVelocity()*para->getVelocity()) * 27.0 * + // (cos(para->getParH(level)->coordX_SP[j] * 4.0*PI / (real)gridX) + cos(para->getParH(level)->coordZ_SP[j] * 4.0*PI / (real)gridZ))) * + // (real)(gridZ) / (real)(gridX)); + + // //para->getParH(level)->vx_SP[j] = 3.0 * uBar*((para->getParH(level)->coordY_SP[j] / h) - 0.5*((pow(para->getParH(level)->coordY_SP[j], 2.0) / h))); + // para->getParH(level)->vx_SP[j] = + // 3.0 * uBar * (((para->getParH(level)->coordY_SP[j]) / h) - 0.5 / h * ((pow((para->getParH(level)->coordY_SP[j]), 2.0) / h))); + + // //para->getParH(level)->vy_SP[j] = (real)0.0; + // para->getParH(level)->vy_SP[j] = + // (real)(-para->getVelocity()*cos((para->getParH(level)->coordX_SP[j] * 2.0*PI / (real)gridX))*sin(para->getParH(level)->coordY_SP[j] * 2.0*PI / (real)gridY)); + + // para->getParH(level)->vz_SP[j] = (real)0.0; + // ////////////////////////////////////////////////////////////////////////// + // if (para->getCalcMedian()) { + // para->getParH(level)->vx_SP_Med[j] = 0.0f; + // para->getParH(level)->vy_SP_Med[j] = 0.0f; + // para->getParH(level)->vz_SP_Med[j] = 0.0f; + // para->getParH(level)->rho_SP_Med[j] = 0.0f; + // para->getParH(level)->press_SP_Med[j] = 0.0f; + // } + // if (para->getUseWale()) { + // para->getParH(level)->turbViscosity[j] = 0.0f; + // //Debug + // para->getParH(level)->gSij[j] = 0.0f; + // para->getParH(level)->gSDij[j] = 0.0f; + // para->getParH(level)->gDxvx[j] = 0.0f; + // para->getParH(level)->gDyvx[j] = 0.0f; + // para->getParH(level)->gDzvx[j] = 0.0f; + // para->getParH(level)->gDxvy[j] = 0.0f; + // para->getParH(level)->gDyvy[j] = 0.0f; + // para->getParH(level)->gDzvy[j] = 0.0f; + // para->getParH(level)->gDxvz[j] = 0.0f; + // para->getParH(level)->gDyvz[j] = 0.0f; + // para->getParH(level)->gDzvz[j] = 0.0f; + // } + //} //////////////////////////////////////////////////////////////////////////////// } diff --git a/src/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp b/src/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp index dd99e1fb6d7554cb0e4e4fa8e4d4d0a3e7be24bb..b80699bb19648e190437e3c5e5540b7dbf3f6557 100644 --- a/src/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp +++ b/src/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp @@ -124,65 +124,65 @@ void GridGenerator::allocArrays_CoordNeighborGeo() void GridGenerator::allocArrays_BoundaryValues() { std::cout << "------read BoundaryValues------" << std::endl; - - for (int i = 0; i < builder->getNumberOfGridLevels(); i++) { - const int numberOfVelocityValues = int(builder->getVelocitySize(i)); + + for (uint level = 0; level < builder->getNumberOfGridLevels(); level++) { + const auto numberOfVelocityValues = int(builder->getVelocitySize(level)); if (numberOfVelocityValues > 1) { - cout << "size velocity level " << i << " : " << numberOfVelocityValues << endl; + cout << "size velocity level " << level << " : " << numberOfVelocityValues << endl; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - int blocks = (numberOfVelocityValues / para->getParH(i)->numberofthreads) + 1; - para->getParH(i)->Qinflow.kArray = blocks * para->getParH(i)->numberofthreads; - para->getParD(i)->Qinflow.kArray = para->getParH(i)->Qinflow.kArray; + int blocks = (numberOfVelocityValues / para->getParH(level)->numberofthreads) + 1; + para->getParH(level)->Qinflow.kArray = blocks * para->getParH(level)->numberofthreads; + para->getParD(level)->Qinflow.kArray = para->getParH(level)->Qinflow.kArray; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - para->getParH(i)->Qinflow.kQ = numberOfVelocityValues; - para->getParD(i)->Qinflow.kQ = numberOfVelocityValues; - para->getParH(i)->kInflowQ = numberOfVelocityValues; - para->getParD(i)->kInflowQ = numberOfVelocityValues; - para->getParH(i)->kInflowQread = numberOfVelocityValues * para->getD3Qxx(); - para->getParD(i)->kInflowQread = numberOfVelocityValues * para->getD3Qxx(); + para->getParH(level)->Qinflow.kQ = numberOfVelocityValues; + para->getParD(level)->Qinflow.kQ = numberOfVelocityValues; + para->getParH(level)->kInflowQ = numberOfVelocityValues; + para->getParD(level)->kInflowQ = numberOfVelocityValues; + para->getParH(level)->kInflowQread = numberOfVelocityValues * para->getD3Qxx(); + para->getParD(level)->kInflowQread = numberOfVelocityValues * para->getD3Qxx(); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - para->cudaAllocVeloBC(i); + para->cudaAllocVeloBC(level); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - builder->getVelocityValues(para->getParH(i)->Qinflow.Vx, para->getParH(i)->Qinflow.Vy, para->getParH(i)->Qinflow.Vz, para->getParH(i)->Qinflow.k, i); + builder->getVelocityValues(para->getParH(level)->Qinflow.Vx, para->getParH(level)->Qinflow.Vy, para->getParH(level)->Qinflow.Vz, para->getParH(level)->Qinflow.k, level); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + para->cudaCopyVeloBC(level); + - //para->cudaCopyVeloBC(i); - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //// advection - diffusion stuff - //if (para->getDiffOn()==true){ - // ////////////////////////////////////////////////////////////////////////// - // para->getParH(i)->TempVel.kTemp = temp2; - // //cout << "Groesse kTemp = " << para->getParH(i)->TempPress.kTemp << endl; - // cout << "getTemperatureInit = " << para->getTemperatureInit() << endl; - // cout << "getTemperatureBC = " << para->getTemperatureBC() << endl; - // ////////////////////////////////////////////////////////////////////////// - // para->cudaAllocTempVeloBC(i); - // //cout << "nach alloc " << endl; - // ////////////////////////////////////////////////////////////////////////// - // for (int m = 0; m < temp2; m++) - // { - // para->getParH(i)->TempVel.temp[m] = para->getTemperatureInit(); - // para->getParH(i)->TempVel.tempPulse[m] = para->getTemperatureBC(); - // para->getParH(i)->TempVel.velo[m] = para->getVelocity(); - // para->getParH(i)->TempVel.k[m] = para->getParH(i)->Qinflow.k[m]; - // } - // ////////////////////////////////////////////////////////////////////////// - // //cout << "vor copy " << endl; - // para->cudaCopyTempVeloBCHD(i); - // //cout << "nach copy " << endl; - // ////////////////////////////////////////////////////////////////////////// - //} //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // advection - diffusion stuff + if (para->getDiffOn()==true){ + ////////////////////////////////////////////////////////////////////////// + para->getParH(level)->TempVel.kTemp = numberOfVelocityValues; + //cout << "Groesse kTemp = " << para->getParH(i)->TempPress.kTemp << endl; + cout << "getTemperatureInit = " << para->getTemperatureInit() << endl; + cout << "getTemperatureBC = " << para->getTemperatureBC() << endl; + ////////////////////////////////////////////////////////////////////////// + para->cudaAllocTempVeloBC(level); + //cout << "nach alloc " << endl; + ////////////////////////////////////////////////////////////////////////// + for (int m = 0; m < numberOfVelocityValues; m++) + { + para->getParH(level)->TempVel.temp[m] = para->getTemperatureInit(); + para->getParH(level)->TempVel.tempPulse[m] = para->getTemperatureBC(); + para->getParH(level)->TempVel.velo[m] = para->getVelocity(); + para->getParH(level)->TempVel.k[m] = para->getParH(level)->Qinflow.k[m]; + } + ////////////////////////////////////////////////////////////////////////// + //cout << "vor copy " << endl; + para->cudaCopyTempVeloBCHD(level); + //cout << "nach copy " << endl; + ////////////////////////////////////////////////////////////////////////// + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } } + + } void GridGenerator::setPressureValues(int channelSide) const @@ -239,8 +239,6 @@ void GridGenerator::setVelocityValues(int channelSide) const void GridGenerator::setVelocity(int level, int sizePerLevel, int channelSide) const { - builder->setVelocityValues(para->getParH(level)->Qinflow.Vx, para->getParH(level)->Qinflow.Vy, para->getParH(level)->Qinflow.Vz, channelSide, level); - for (int index = 0; index < sizePerLevel; index++) { //para->getParH(i)->Qinflow.Vx[m] = para->getParH(i)->Qinflow.Vx[m] / para->getVelocityRatio(); @@ -287,8 +285,8 @@ void GridGenerator::allocArrays_BoundaryQs() { std::cout << "------read BoundaryQs-------" << std::endl; - for (int i = 0; i < builder->getNumberOfGridLevels(); i++) { - const int numberOfVelocityNodes = int(builder->getVelocitySize(i)); + for (uint i = 0; i < builder->getNumberOfGridLevels(); i++) { + const auto numberOfVelocityNodes = int(builder->getVelocitySize(i)); if (numberOfVelocityNodes > 0) { cout << "size velocity level " << i << " : " << numberOfVelocityNodes << endl; diff --git a/src/VirtualFluids_GPU/LBM/Simulation.cpp b/src/VirtualFluids_GPU/LBM/Simulation.cpp index d9c4693f852b991bd63e696a4047792e59090bea..a57d31274ee4cecc2415d364c43e91e8c80dca92 100644 --- a/src/VirtualFluids_GPU/LBM/Simulation.cpp +++ b/src/VirtualFluids_GPU/LBM/Simulation.cpp @@ -1506,8 +1506,8 @@ void Simulation::run() //calculate the new forcing if (((t%10) == 0) && (t >= 10)/*((t%para->getTStartOut()) == 0) && (t >= para->getTStartOut())*/) { - forceCalculator->calcPIDControllerForForce(para.get()); - forceCalculator->printForcing(para.get()); + //forceCalculator->calcPIDControllerForForce(para.get()); + //forceCalculator->printForcing(para.get()); } //////////////////////////////////////////////////////////////////////////////// diff --git a/targets/apps/HULC/main.cpp b/targets/apps/HULC/main.cpp index ba182b1ca25aca5e25573d3919526686ad0ab9b7..992e80d6af87543471a00f3e860c0cee0dd52db1 100644 --- a/targets/apps/HULC/main.cpp +++ b/targets/apps/HULC/main.cpp @@ -277,19 +277,19 @@ void multipleLevel(const std::string& configPath) gridBuilder->addGeometry(triangularMesh); - SPtr<VelocityBoundaryCondition> bcVelocity1 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); - SPtr<VelocityBoundaryCondition> bcVelocity2 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); - SPtr<VelocityBoundaryCondition> bcVelocity3 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); - SPtr<VelocityBoundaryCondition> bcVelocity4 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); - SPtr<VelocityBoundaryCondition> bcVelocity5 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); - SPtr<VelocityBoundaryCondition> bcVelocity6 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); - - gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new MX()), bcVelocity1); - gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new PX()), bcVelocity2); - gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new MY()), bcVelocity3); - gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new PY()), bcVelocity4); - gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new MZ()), bcVelocity5); - gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new PZ()), bcVelocity6); + //SPtr<VelocityBoundaryCondition> bcVelocity1 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); + //SPtr<VelocityBoundaryCondition> bcVelocity2 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); + //SPtr<VelocityBoundaryCondition> bcVelocity3 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); + //SPtr<VelocityBoundaryCondition> bcVelocity4 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); + //SPtr<VelocityBoundaryCondition> bcVelocity5 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); + //SPtr<VelocityBoundaryCondition> bcVelocity6 = VelocityBoundaryCondition::make(0.01, 0.0, 0.0); + + //gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new MX()), bcVelocity1); + //gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new PX()), bcVelocity2); + //gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new MY()), bcVelocity3); + //gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new PY()), bcVelocity4); + //gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new MZ()), bcVelocity5); + //gridBuilder->setVelocityBoundaryCondition(SPtr<Side>(new PZ()), bcVelocity6); //gridBuilder->setBoundaryCondition("geometry", BoundaryCondition::VELOCITY);