diff --git a/source/Applications/DLR-F16-Solid/f16-solid-coarse.cfg b/source/Applications/DLR-F16-Solid/f16-solid-coarse.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c2408171de9f669a083d168e38d8cb5d29d61c65 --- /dev/null +++ b/source/Applications/DLR-F16-Solid/f16-solid-coarse.cfg @@ -0,0 +1,61 @@ +pathOut = d:/temp/DLR-F16-Solid +pathGeo = d:/Projects/SFB880/DLR-F16/Geometry + +fngFileWhole1 = F16_broad_Quad_noTape_full.stl +fngFileWhole2 = F16_broad_Quad_full.stl + +accuracy = 0 + +reinit = false +pathReInit = /work/koskuche/DLR-F16_L7 +stepReInit = 10000 + +numOfThreads = 4 +availMem = 10e9 + +logToFile = false + +#x1min x1max x2min x2max x3min x3max [m] +#boundingBox = -0.90 2.1 0.0 0.03 -0.66 0.66 +#boundingBox = -0.90 1.5 0.0 0.03 -0.66 0.66 +boundingBox = -0.125 0.45 0.0 0.03 -1.05 0.1 + +blockNx = 10 10 10 + +refineLevel = 5 + +#deltaXfine = 5e-4 +#deltaXfine = 0.003 +#deltaXfine = 0.0015 +#deltaXfine = 0.00075 #level 0 +#deltaXfine = 0.000375 #level 1 +#deltaXfine = 0.0001875 #level 2 +#deltaXfine = 0.00009375 #level 3 +#deltaXfine = 0.000046875 #level 4 +deltaXfine = 0.0000234375 #level 5 + +startDistance = -1.0e-3 +refineDistance = 0.6e-3 + +writeBlocks = true + +newStart = true +restartStep = 2000 + +cpStep = 1000 +cpStart = 3000 + +outTimeStep = 100 +outTimeStart = 100 + +endTime = 10000 + + +#Cp +pcpStart = 1000000 +pcpStop = 1000000 + +timeAvStart = 100 +timeAvStop = 40000 + +nupsStep = 1000 1000 10000000 diff --git a/source/Applications/DLR-F16-Solid/f16-solid.cfg b/source/Applications/DLR-F16-Solid/f16-solid.cfg index 304613a23faf1df6ddfd2e964ce7c4199607634a..afdbcea262ef818b2cf0239dd7cca6dcd9723865 100644 --- a/source/Applications/DLR-F16-Solid/f16-solid.cfg +++ b/source/Applications/DLR-F16-Solid/f16-solid.cfg @@ -1,4 +1,4 @@ -pathOut = d:/temp/DLR-F16-Solid-comp +pathOut = N:/DLR-F16-Solid pathGeo = d:/Projects/SFB880/DLR-F16/Geometry fngFileWhole1 = F16_broad_Quad_noTape_full.stl @@ -37,8 +37,8 @@ refineDistance = 0.6e-3 writeBlocks = false -newStart = true -restartStep = 2000 +newStart = false +restartStep = 238000 cpStep = 1000 cpStart = 3000 @@ -46,7 +46,7 @@ cpStart = 3000 outTimeStep = 100 outTimeStart = 100 -endTime = 10000 +endTime = 238000 #Cp diff --git a/source/Applications/DLR-F16-Solid/f16.cpp b/source/Applications/DLR-F16-Solid/f16.cpp index 177fa424682675f6967a063cad1981cb0c98bbeb..1924ae35277580005677b1f39854b304a0e29f51 100644 --- a/source/Applications/DLR-F16-Solid/f16.cpp +++ b/source/Applications/DLR-F16-Solid/f16.cpp @@ -185,6 +185,7 @@ void run(string configname) restartCoProcessor->setBCProcessor(bcProc); SPtr<UbScheduler> mSch(new UbScheduler(cpStep, cpStart)); + //SPtr<MPIIOMigrationCoProcessor> migCoProcessor(new MPIIOMigrationCoProcessor(grid, mSch, pathOut+"/mig", comm)); SPtr<MPIIOMigrationCoProcessor> migCoProcessor(new MPIIOMigrationCoProcessor(grid, mSch, pathOut+"/mig", comm)); migCoProcessor->setLBMKernel(kernel); migCoProcessor->setBCProcessor(bcProc); @@ -649,7 +650,8 @@ void run(string configname) //return; - restartCoProcessor->restart((int)restartStep); + //restartCoProcessor->restart((int)restartStep); + migCoProcessor->restart((int)restartStep); grid->setTimeStep(restartStep); //////////////////////////////////////////////////////////////////////////// InterpolationProcessorPtr iProcessor(new CompressibleOffsetInterpolationProcessor()); @@ -657,16 +659,16 @@ void run(string configname) grid->accept(setConnsVisitor); /////////////////////////////////////////////////////////////////////////////////////////////// - SPtr<GbTriFaceMesh3D> fngMeshWhole2; - if (myid==0) UBLOG(logINFO, "Read fngFileWhole2:start"); - fngMeshWhole2 = SPtr<GbTriFaceMesh3D>(GbTriFaceMesh3DCreator::getInstance()->readMeshFromSTLFile2(pathGeo+"/"+fngFileWhole2, "fngMeshWhole2", GbTriFaceMesh3D::KDTREE_SAHPLIT, false)); - if (myid==0) UBLOG(logINFO, "Read fngFileWhole2:end"); - fngMeshWhole2->rotate(0.0, 0.5, 0.0); - if (myid==0) GbSystem3D::writeGeoObject(fngMeshWhole2.get(), pathOut+"/geo/fngMeshWhole3", WbWriterVtkXmlBinary::getInstance()); - SPtr<Interactor3D> fngIntrWhole2 = SPtr<D3Q27TriFaceMeshInteractor>(new D3Q27TriFaceMeshInteractor(fngMeshWhole2, grid, noSlipBCAdapter, Interactor3D::SOLID, (Interactor3D::Accuracy)accuracy)); - SetBcBlocksBlockVisitor v(fngIntrWhole2); - grid->accept(v); - fngIntrWhole2->initInteractor(); + //SPtr<GbTriFaceMesh3D> fngMeshWhole2; + //if (myid==0) UBLOG(logINFO, "Read fngFileWhole2:start"); + //fngMeshWhole2 = SPtr<GbTriFaceMesh3D>(GbTriFaceMesh3DCreator::getInstance()->readMeshFromSTLFile2(pathGeo+"/"+fngFileWhole2, "fngMeshWhole2", GbTriFaceMesh3D::KDTREE_SAHPLIT, false)); + //if (myid==0) UBLOG(logINFO, "Read fngFileWhole2:end"); + //fngMeshWhole2->rotate(0.0, 0.5, 0.0); + //if (myid==0) GbSystem3D::writeGeoObject(fngMeshWhole2.get(), pathOut+"/geo/fngMeshWhole3", WbWriterVtkXmlBinary::getInstance()); + //SPtr<Interactor3D> fngIntrWhole2 = SPtr<D3Q27TriFaceMeshInteractor>(new D3Q27TriFaceMeshInteractor(fngMeshWhole2, grid, noSlipBCAdapter, Interactor3D::SOLID, (Interactor3D::Accuracy)accuracy)); + //SetBcBlocksBlockVisitor v(fngIntrWhole2); + //grid->accept(v); + //fngIntrWhole2->initInteractor(); /////////////////////////////////////////////////////////////////////////////////////////////// grid->accept(bcVisitor); diff --git a/source/CMake/cmake_config_files/PHOENIX.config.cmake b/source/CMake/cmake_config_files/PHOENIX.config.cmake index ce204f104eb27aba236a2c9b5f1d563cb9978d95..dec6c89211880d379a8566174292d10623e9e8ca 100644 --- a/source/CMake/cmake_config_files/PHOENIX.config.cmake +++ b/source/CMake/cmake_config_files/PHOENIX.config.cmake @@ -7,9 +7,9 @@ SET(BOOST_VERSION "1.63.0" CACHE STRING "std: 1.63.0") # METIS ################################################################################# IF(${USE_METIS}) - SET(METIS_INCLUDEDIR "/cluster/lib/metis/5.1.0/intel/include") - SET(METIS_DEBUG_LIBRARY "/cluster/lib/metis/5.1.0/intel/lib/libmetis.a") - SET(METIS_RELEASE_LIBRARY "/cluster/lib/metis/5.1.0/intel/lib/libmetis.a") + SET(METIS_INCLUDEDIR "/cluster/lib/metis/5.1.0/gcc/include") + SET(METIS_DEBUG_LIBRARY "/cluster/lib/metis/5.1.0/gcc/lib/libmetis.a") + SET(METIS_RELEASE_LIBRARY "/cluster/lib/metis/5.1.0/gcc/lib/libmetis.a") ENDIF() ################################################################################# diff --git a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp index fba8b6b49523276aa832bcde53d8c18ff5f50642..a32cc411d8006c64439a981f10cb92db51e8c38b 100644 --- a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp @@ -1536,7 +1536,12 @@ void MPIIOMigrationCoProcessor::readBlocks(int step) // read parameters of the grid MPI_File_read_at(file_handler, read_offset, gridParameters, 1, gridParamType, MPI_STATUS_IGNORE); // read all the blocks - MPI_File_read_at(file_handler, (MPI_Offset)(read_offset + sizeof(GridParam)), &block3dArray[0], blocksCount, block3dType, MPI_STATUS_IGNORE); + if (comm->isRoot()) + { + MPI_File_read_at(file_handler, (MPI_Offset)(read_offset + sizeof(GridParam)), &block3dArray[0], blocksCount, block3dType, MPI_STATUS_IGNORE); + } + + MPI_Bcast(block3dArray, blocksCount, block3dType, comm->getRoot(), MPI_COMM_WORLD); MPI_File_close(&file_handler);