diff --git a/CMake/compilerflags/MSVC.cmake b/CMake/compilerflags/MSVC.cmake index 256cb3341b273581df373edb258ca96b335ed5bf..937d9f4d5d1fead78f35e2442845b27f13bc9a54 100644 --- a/CMake/compilerflags/MSVC.cmake +++ b/CMake/compilerflags/MSVC.cmake @@ -8,7 +8,22 @@ list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-MP") # enable multi- ############################################################################################################# # warnings ############################################################################################################# +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/W4") # highest warning level + +# With W4 the following warnings appear many times. As long they are not eliminated they are suppressed: +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4458") # C4458: declaration of 'XXX' hides class member +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4100") # C4100: 'XXX': unreferenced formal parameter +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4505") # C4505: 'XXX': unreferenced local function has been removed +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4244") # C4244: '=': conversion from 'int' to 'char', possible loss of data, triggered by algorithm(2216,24) +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4310") # C4310: cast truncates constant value, triggerd by muParserbase.h +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4127") # C4127: conditional expression is constant: e.g. sizeof(int) + +# Urgent FIXME: This warning should be activated and fixed: +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4701") # C4701: potentially uninitialized local variable 'lMaxX3' used + + list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4251") # disable needs to have dll interface +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4005") # disable macro redefinition (triggered by metis.h) ############################################################################################################# # preprocessor definitions diff --git a/apps/cpu/LaminarTubeFlow/ltf.cpp b/apps/cpu/LaminarTubeFlow/ltf.cpp index 7ab9d3c425cca2e6abb63cbed73c5e6b06d4d140..63cabd4f8acc33ccce7bd85f305762e5c35d6d66 100644 --- a/apps/cpu/LaminarTubeFlow/ltf.cpp +++ b/apps/cpu/LaminarTubeFlow/ltf.cpp @@ -301,7 +301,7 @@ void run(string configname) //omp_set_num_threads(numOfThreads); numOfThreads = 1; SPtr<UbScheduler> stepGhostLayer(visSch); - SPtr<Calculator> calculator(new BasicCalculator(grid, stepGhostLayer, endTime)); + SPtr<Calculator> calculator(new BasicCalculator(grid, stepGhostLayer, int(endTime))); calculator->addCoProcessor(npr); calculator->addCoProcessor(pp); calculator->addCoProcessor(migCoProcessor); diff --git a/src/basics/geometry3d/GbSphere3D.cpp b/src/basics/geometry3d/GbSphere3D.cpp index a9d8886df60429c4a5f34c129ed8e44ff4dbc3f7..c6614534e8b0531b5feecbf1defdd41e4818d6ec 100644 --- a/src/basics/geometry3d/GbSphere3D.cpp +++ b/src/basics/geometry3d/GbSphere3D.cpp @@ -415,7 +415,7 @@ void GbSphere3D::addSurfaceTriangleSet(vector<UbTupleFloat3>& nodes, vector<UbTu float deltaPhi = (float)UbMath::PI/(float)segments; float phiX1a,phiX1b,phiX3a,phiX3b; float x1a,x2a,x3a,x1b,x2b,x3b,x1c,x2c,x3c,x1d,x2d,x3d; - int nodeNr = nodes.size(); + int nodeNr = int(nodes.size()); for(phiX3a=(float)(0.5*UbMath::PI); phiX3a > (float)(-1.5*UbMath::PI); phiX3a-=deltaPhi) { for(phiX1a=0.0; phiX1a<UbMath::PI; phiX1a+=deltaPhi) diff --git a/src/basics/geometry3d/GbTriFaceMesh3D.cpp b/src/basics/geometry3d/GbTriFaceMesh3D.cpp index 82aa12f4f2ab237f0bc007c270645a46f26a6188..cfeeffc8e1d87f4afd573e0d31e433e3a1e2feeb 100644 --- a/src/basics/geometry3d/GbTriFaceMesh3D.cpp +++ b/src/basics/geometry3d/GbTriFaceMesh3D.cpp @@ -585,7 +585,7 @@ vector<GbTriangle3D*> GbTriFaceMesh3D::getSurfaceTriangleSet() /*=======================================================*/ void GbTriFaceMesh3D::addSurfaceTriangleSet(vector<UbTupleFloat3>& pts, vector<UbTupleInt3>& tris) { - int nodeNr = pts.size(); + int nodeNr = int(pts.size()); for(int i=0; i<(int)this->triangles->size(); i++) { Vertex& v1 = (*nodes)[(*triangles)[i].v1]; @@ -751,7 +751,7 @@ bool GbTriFaceMesh3D::isPointInGbObject3D(const double& x1, const double& x2, co { //UBLOG(logINFO, "GbTriFaceMesh3D.isPointInGbObject3D.INTERSECT_EDGE"); - if (counter>20) {return(iSec1&1); UBLOG(logINFO, "NACH 100 Iterationen Eps umsetzen aufgegeben!");} + if (counter>20) {return(iSec1&1); /*UBLOG(logINFO, "NACH 100 Iterationen Eps umsetzen aufgegeben!");*/} return this->isPointInGbObject3D(x1, x2, x3,(counter+1)); } else if( iSec1 == Kd::Intersection::INTERSECT_EDGE) @@ -768,7 +768,7 @@ bool GbTriFaceMesh3D::isPointInGbObject3D(const double& x1, const double& x2, co { //UBLOG(logINFO, "GbTriFaceMesh3D.isPointInGbObject3D.iSec1&1 != iSec2&1"); - if (counter>20) {return(iSec1&1); UBLOG(logINFO, "NACH 100 Iterationen Eps umsetzen aufgegeben!");} + if (counter>20) {return(iSec1&1); /* UBLOG(logINFO, "NACH 100 Iterationen Eps umsetzen aufgegeben!");*/} return this->isPointInGbObject3D(x1, x2, x3,(counter+1)); } return iSec1&1; diff --git a/src/basics/geometry3d/GbTriangularMesh3D.cpp b/src/basics/geometry3d/GbTriangularMesh3D.cpp index 1970956e3759a7489eab71e5bb14c352a9e5d9ab..8c1cd4905880d37a4f89d3b79baef22bc1e1a384 100644 --- a/src/basics/geometry3d/GbTriangularMesh3D.cpp +++ b/src/basics/geometry3d/GbTriangularMesh3D.cpp @@ -1283,9 +1283,10 @@ double GbTriangularMesh3D::AreaSign( GbVector3D& a, GbVector3D& b, GbVector3D& c return area2; /* The area should be an integer. */ - if ( area2 > 0.5 ) return 1; - else if ( area2 < -0.5 ) return -1; - else return 0; + // FIXME: unrechable code + //if ( area2 > 0.5 ) return 1; + //else if ( area2 < -0.5 ) return -1; + //else return 0; } char GbTriangularMesh3D::SegTriInt( GbTriangle3D* T, GbVector3D& q, GbVector3D& r, GbVector3D& p ) @@ -1402,9 +1403,10 @@ double GbTriangularMesh3D::VolumeSign( GbVector3D& a, GbVector3D& b, GbVector3D& /* The volume should be an integer. */ - if ( vol > 0.5 ) return 1; - else if ( vol < -0.5 ) return -1; - else return 0; + // FIXME: unreachable code + //if ( vol > 0.5 ) return 1; + //else if ( vol < -0.5 ) return -1; + //else return 0; } bool GbTriangularMesh3D::BoxTest(GbTriangle3D* triangle, GbVector3D& PointQ, GbVector3D& PointR) diff --git a/src/basics/geometry3d/GbVoxelMatrix3D.cpp b/src/basics/geometry3d/GbVoxelMatrix3D.cpp index 74878b64cb78f6293fd1988d410de31c7bd49bd9..5d4bdf2d540d538c4c200e94cd5a13a161ae68f2 100644 --- a/src/basics/geometry3d/GbVoxelMatrix3D.cpp +++ b/src/basics/geometry3d/GbVoxelMatrix3D.cpp @@ -273,35 +273,36 @@ bool GbVoxelMatrix3D::isPointInGbObject3D(const double& x1p, const double& x2p, bool GbVoxelMatrix3D::isCellInsideGbObject3D(const double& x1p1, const double& x2p1, const double& x3p1, const double& x1p2, const double& x2p2, const double& x3p2) { return false; - //dass h�ngt von der Konfigration ab, aber meist ist der Block gr�sser wie etliche Poren ... - - //indizes ermitteln - int startix1 = (int)std::floor((x1p1-minX1)/deltaX1+1E-13); - int startix2 = (int)std::floor((x2p1-minX2)/deltaX2+1E-13); - int startix3 = (int)std::floor((x3p1-minX3)/deltaX3+1E-13); - - if (startix1<0) return false; - if (startix2<0) return false; - if (startix3<0) return false; - - int maxiX1 = (int)voxelMatrix.getNX1()-1; - int maxiX2 = (int)voxelMatrix.getNX2()-1; - int maxiX3 = (int)voxelMatrix.getNX3()-1; - - int endix1 = (int)std::ceil((x1p2-minX1)/deltaX1-1E-13); - int endix2 = (int)std::ceil((x2p2-minX2)/deltaX2-1E-13); - int endix3 = (int)std::ceil((x3p2-minX3)/deltaX3-1E-13); - - if (endix1>maxiX1) return false; - if (endix2>maxiX2) return false; - if (endix3>maxiX3) return false; - - for (int ix3 = startix3; ix3<=endix3; ix3++) - for (int ix2 = startix2; ix2<=endix2; ix2++) - for (int ix1 = startix1; ix1<=endix1; ix1++) - if (UbMath::equal(voxelMatrix(ix1, ix2, ix3), FLUID)) - return false; - return true; + //FIXME: unreachable cide + ////dass haengt von der Konfigration ab, aber meist ist der Block groesser wie etliche Poren ... + + // //indizes ermitteln + //int startix1 = (int)std::floor((x1p1-minX1)/deltaX1+1E-13); + //int startix2 = (int)std::floor((x2p1-minX2)/deltaX2+1E-13); + //int startix3 = (int)std::floor((x3p1-minX3)/deltaX3+1E-13); + + //if (startix1<0) return false; + //if (startix2<0) return false; + //if (startix3<0) return false; + + //int maxiX1 = (int)voxelMatrix.getNX1()-1; + //int maxiX2 = (int)voxelMatrix.getNX2()-1; + //int maxiX3 = (int)voxelMatrix.getNX3()-1; + + //int endix1 = (int)std::ceil((x1p2-minX1)/deltaX1-1E-13); + //int endix2 = (int)std::ceil((x2p2-minX2)/deltaX2-1E-13); + //int endix3 = (int)std::ceil((x3p2-minX3)/deltaX3-1E-13); + + //if (endix1>maxiX1) return false; + //if (endix2>maxiX2) return false; + //if (endix3>maxiX3) return false; + + //for (int ix3 = startix3; ix3<=endix3; ix3++) + // for (int ix2 = startix2; ix2<=endix2; ix2++) + // for (int ix1 = startix1; ix1<=endix1; ix1++) + // if (UbMath::equal(voxelMatrix(ix1, ix2, ix3), FLUID)) + // return false; + //return true; } /*=======================================================*/ bool GbVoxelMatrix3D::isCellCuttingGbObject3D(const double& x1a, const double& x2a, const double& x3a, const double& x1b, const double& x2b, const double& x3b) diff --git a/src/basics/geometry3d/KdTree/KdSplitCandidateManager.h b/src/basics/geometry3d/KdTree/KdSplitCandidateManager.h index d9747848f4f5a50498c22c1d9565ece0dc10ff07..0139434ebde3bf91fee160a9c7b53ecbcf4bd3bc 100644 --- a/src/basics/geometry3d/KdTree/KdSplitCandidateManager.h +++ b/src/basics/geometry3d/KdTree/KdSplitCandidateManager.h @@ -21,7 +21,7 @@ namespace Kd } /* ======================================================================================= */ - SplitCandidate<T>& operator[] (const int& i) + SplitCandidate<T>& operator[] (const std::size_t& i) { #ifdef DEBUG return splitCandidatesVec.at(i); diff --git a/src/basics/geometry3d/KdTree/splitalgorithms/KdSAHSplit.h b/src/basics/geometry3d/KdTree/splitalgorithms/KdSAHSplit.h index 31f3b6e848f52711f5cdf5c4a7b6c90d38dbb7bb..686ff1c9aeccee959178599671ac1c913a20c908 100644 --- a/src/basics/geometry3d/KdTree/splitalgorithms/KdSAHSplit.h +++ b/src/basics/geometry3d/KdTree/splitalgorithms/KdSAHSplit.h @@ -45,7 +45,7 @@ namespace Kd if (i == 0) { sc[i].nl = sc.objects_starting_outside_left + sc.objects_fully_outside_node; - sc[i].nr = node.getTriFaces()->size() - sc[0].np - sc[0].ending; + sc[i].nr = int(node.getTriFaces()->size()) - sc[0].np - sc[0].ending; } else { diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/ThinWallNoSlipBCAlgorithm.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/ThinWallNoSlipBCAlgorithm.cpp index 9143af429dbe0e00aaada3bc13023fdca9f49cb2..ba8b1323bb6c661f81acc2dd0fa85f22deefcb11 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/ThinWallNoSlipBCAlgorithm.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/ThinWallNoSlipBCAlgorithm.cpp @@ -40,7 +40,7 @@ void ThinWallNoSlipBCAlgorithm::applyBC() if (pass == 1) { LBMReal q = bcPtr->getQ(invDir); - LBMReal fReturn = ((1.0 - q) / (1.0 + q))*0.5*(f[invDir] - f[fdir] + (f[invDir] + f[fdir] - collFactor*(feq[fdir] + feq[invDir])) / (1.0 - collFactor)); + fReturn = ((1.0 - q) / (1.0 + q))*0.5*(f[invDir] - f[fdir] + (f[invDir] + f[fdir] - collFactor*(feq[fdir] + feq[invDir])) / (1.0 - collFactor)); //distributionsTemp->setDistributionForDirection(fReturn, x1 + D3Q27System::DX1[invDir], x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir], fdir); fTemp[fdir] = fReturn; } diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/AdjustForcingCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/AdjustForcingCoProcessor.cpp index 50498d93e910a821467e48c053ee0eb1e1095bae..eda63069e6103c1360e16288fd7ea86e5b89d926 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/AdjustForcingCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/AdjustForcingCoProcessor.cpp @@ -52,8 +52,8 @@ AdjustForcingCoProcessor::AdjustForcingCoProcessor(SPtr<Grid3D> grid, SPtr<UbSch if (!ostr) { ostr.clear(); - std::string path = UbSystem::getPathFromString(fname); - if (path.size() > 0) { UbSystem::makeDirectory(path); ostr.open(fname.c_str(), std::ios_base::out | std::ios_base::app); } + std::string file_path = UbSystem::getPathFromString(fname); + if (file_path.size() > 0) { UbSystem::makeDirectory(file_path); ostr.open(fname.c_str(), std::ios_base::out | std::ios_base::app); } if (!ostr) throw UbException(UB_EXARGS, "couldn't open file " + fname); } ostr << "step;volume;vx1average;forcing\n"; diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/CalculateForcesCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/CalculateForcesCoProcessor.cpp index 7ed5957b805a7e4cf60d5f0888034b06d5822302..97a74583056ef3548e9550e0f1d76df93b7596a0 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/CalculateForcesCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/CalculateForcesCoProcessor.cpp @@ -30,8 +30,8 @@ CalculateForcesCoProcessor::CalculateForcesCoProcessor( SPtr<Grid3D> grid, SPtr< if(!ostr) { ostr.clear(); - std::string path = UbSystem::getPathFromString(fname); - if(path.size()>0){ UbSystem::makeDirectory(path); ostr.open(fname.c_str(), std::ios_base::out | std::ios_base::app);} + std::string file_path = UbSystem::getPathFromString(fname); + if(file_path.size()>0){ UbSystem::makeDirectory(file_path); ostr.open(fname.c_str(), std::ios_base::out | std::ios_base::app);} if(!ostr) throw UbException(UB_EXARGS,"couldn't open file "+fname); } ostr.width(12); diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/IntegrateValuesHelper.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/IntegrateValuesHelper.cpp index 793013dc327e63e7aaf1f4bc117bde6801fbe598..84e5b810f5bfff3c80a15cf0c3f606ed2a170e99 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/IntegrateValuesHelper.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/IntegrateValuesHelper.cpp @@ -66,10 +66,10 @@ void IntegrateValuesHelper::init(int level) double numSolids = 0.0; double numFluids = 0.0; - for (int level = minInitLevel; level <= maxInitLevel; level++) + for (int level_it = minInitLevel; level_it <= maxInitLevel; level_it++) { std::vector<SPtr<Block3D>> blockVector; - grid->getBlocks(level, gridRank, blockVector); + grid->getBlocks(level_it, gridRank, blockVector); for(SPtr<Block3D> block : blockVector) { CalcNodes cn; diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp index df63e8a5b94f2a7811c619472b41352aa1be7b55..3f29498a12d85ea460b71fe4ad85fe84ad9512ea 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp @@ -580,20 +580,20 @@ void MPIIOMigrationBECoProcessor::writeBoundaryConds(int step) bouCond->velocityBoundaryFlags = bcArr->bcvector[bc]->getVelocityBoundary(); bouCond->densityBoundaryFlags = bcArr->bcvector[bc]->getDensityBoundary(); bouCond->wallModelBoundaryFlags = bcArr->bcvector[bc]->getWallModelBoundary(); - bouCond->bcVelocityX1 = bcArr->bcvector[bc]->getBoundaryVelocityX1(); - bouCond->bcVelocityX2 = bcArr->bcvector[bc]->getBoundaryVelocityX2(); - bouCond->bcVelocityX3 = bcArr->bcvector[bc]->getBoundaryVelocityX3(); - bouCond->bcDensity = bcArr->bcvector[bc]->getBoundaryDensity(); - bouCond->bcLodiDensity = bcArr->bcvector[bc]->getDensityLodiDensity(); - bouCond->bcLodiVelocityX1 = bcArr->bcvector[bc]->getDensityLodiVelocityX1(); - bouCond->bcLodiVelocityX2 = bcArr->bcvector[bc]->getDensityLodiVelocityX2(); - bouCond->bcLodiVelocityX3 = bcArr->bcvector[bc]->getDensityLodiVelocityX3(); - bouCond->bcLodiLentgh = bcArr->bcvector[bc]->getDensityLodiLength(); - bouCond->nx1 = bcArr->bcvector[bc]->nx1; - bouCond->nx2 = bcArr->bcvector[bc]->nx2; - bouCond->nx3 = bcArr->bcvector[bc]->nx3; + bouCond->bcVelocityX1 = (float) bcArr->bcvector[bc]->getBoundaryVelocityX1(); + bouCond->bcVelocityX2 = (float) bcArr->bcvector[bc]->getBoundaryVelocityX2(); + bouCond->bcVelocityX3 = (float) bcArr->bcvector[bc]->getBoundaryVelocityX3(); + bouCond->bcDensity = (float) bcArr->bcvector[bc]->getBoundaryDensity(); + bouCond->bcLodiDensity = (float) bcArr->bcvector[bc]->getDensityLodiDensity(); + bouCond->bcLodiVelocityX1 = (float) bcArr->bcvector[bc]->getDensityLodiVelocityX1(); + bouCond->bcLodiVelocityX2 = (float) bcArr->bcvector[bc]->getDensityLodiVelocityX2(); + bouCond->bcLodiVelocityX3 = (float) bcArr->bcvector[bc]->getDensityLodiVelocityX3(); + bouCond->bcLodiLentgh = (float) bcArr->bcvector[bc]->getDensityLodiLength(); + bouCond->nx1 = (float) bcArr->bcvector[bc]->nx1; + bouCond->nx2 = (float) bcArr->bcvector[bc]->nx2; + bouCond->nx3 = (float) bcArr->bcvector[bc]->nx3; for (int iq = 0; iq<26; iq++) - bouCond->q[iq] = bcArr->bcvector[bc]->getQ(iq); + bouCond->q[iq] = (float) bcArr->bcvector[bc]->getQ(iq); bouCond->algorithmType = bcArr->bcvector[bc]->getBcAlgorithmType(); } @@ -765,7 +765,7 @@ void MPIIOMigrationBECoProcessor::blocksExchange(int tagN, int ind1, int ind2, i for(size_t ind = indexB - indexB; ind < indexE - indexB; ind++) { - tempBlock = grid->getBlock(indexB + ind); + tempBlock = grid->getBlock(indexB + int(ind)); if(!tempBlock) throw UbException(UB_EXARGS,"MPIIOMigrationBECoProcessor::blocksExchange -- null block pointer!!!" ); tempRank = tempBlock->getRank(); @@ -901,7 +901,7 @@ void MPIIOMigrationBECoProcessor::readDataSet(int step) myBlocksCount = blocksPerProcess + (blocksCountAll - blocksPerProcess * size); int indexB = rank * blocksPerProcess; // the first "my" block - int indexE = indexB + myBlocksCount; // the latest "my" block + int indexE = indexB + int(myBlocksCount); // the latest "my" block double start, finish; if (comm->isRoot()) start = MPI_Wtime(); @@ -920,11 +920,11 @@ void MPIIOMigrationBECoProcessor::readDataSet(int step) dataSetParamStr3.nx[0] * dataSetParamStr3.nx[1] * dataSetParamStr3.nx[2] * dataSetParamStr3.nx[3]; std::vector<double> doubleValuesArray(myBlocksCount * doubleCountInBlock); // double-values in all blocks - MPI_Type_contiguous(doubleCountInBlock, MPI_DOUBLE, &dataSetDoubleType); + MPI_Type_contiguous(int(doubleCountInBlock), MPI_DOUBLE, &dataSetDoubleType); MPI_Type_commit(&dataSetDoubleType); MPI_Offset read_offset = (MPI_Offset)(3 * sizeof(dataSetParam)) + (MPI_Offset)(indexB * doubleCountInBlock * sizeof(double)); - MPI_File_read_at(file_handler, read_offset, &doubleValuesArray[0], myBlocksCount, dataSetDoubleType, MPI_STATUS_IGNORE); + MPI_File_read_at(file_handler, read_offset, &doubleValuesArray[0], int(myBlocksCount), dataSetDoubleType, MPI_STATUS_IGNORE); MPI_File_close(&file_handler); MPI_Type_free(&dataSetDoubleType); @@ -941,7 +941,7 @@ void MPIIOMigrationBECoProcessor::readDataSet(int step) for (int r = 0; r < size; r++) rawDataReceive[r].resize(0); - blocksExchange(MESSAGE_TAG, indexB, indexE, doubleCountInBlock, doubleValuesArray, rawDataReceive); + blocksExchange(MESSAGE_TAG, indexB, indexE, int(doubleCountInBlock), doubleValuesArray, rawDataReceive); if (comm->isRoot()) { @@ -1071,7 +1071,7 @@ void MPIIOMigrationBECoProcessor::readArray(int step, Arrays arrType, std::strin myBlocksCount = blocksPerProcess + (blocksCountAll - blocksPerProcess * size); int indexB = rank * blocksPerProcess; // the first "my" block - int indexE = indexB + myBlocksCount; // the latest "my" block + int indexE = indexB + int(myBlocksCount); // the latest "my" block MPI_File file_handler; std::string filename = path + "/mpi_io_cp/mpi_io_cp_" + UbSystem::toString(step) + fname; @@ -1083,11 +1083,11 @@ void MPIIOMigrationBECoProcessor::readArray(int step, Arrays arrType, std::strin size_t doubleCountInBlock = dataSetParamStr.nx[0] * dataSetParamStr.nx[1] * dataSetParamStr.nx[2] * dataSetParamStr.nx[3]; std::vector<double> doubleValuesArray(myBlocksCount * doubleCountInBlock); // double-values in all blocks - MPI_Type_contiguous(doubleCountInBlock, MPI_DOUBLE, &dataSetDoubleType); + MPI_Type_contiguous(int(doubleCountInBlock), MPI_DOUBLE, &dataSetDoubleType); MPI_Type_commit(&dataSetDoubleType); MPI_Offset read_offset = (MPI_Offset)(sizeof(dataSetParam)) + (MPI_Offset)(indexB) * (MPI_Offset)(doubleCountInBlock) * (MPI_Offset)(sizeof(double)); - MPI_File_read_at(file_handler, read_offset, &doubleValuesArray[0], myBlocksCount, dataSetDoubleType, MPI_STATUS_IGNORE); + MPI_File_read_at(file_handler, read_offset, &doubleValuesArray[0], int(myBlocksCount), dataSetDoubleType, MPI_STATUS_IGNORE); MPI_File_close(&file_handler); MPI_Type_free(&dataSetDoubleType); @@ -1104,7 +1104,7 @@ void MPIIOMigrationBECoProcessor::readArray(int step, Arrays arrType, std::strin for (int r = 0; r < size; r++) rawDataReceive[r].resize(0); - blocksExchange(MESSAGE_TAG + int(arrType), indexB, indexE, doubleCountInBlock, doubleValuesArray, rawDataReceive); + blocksExchange(MESSAGE_TAG + int(arrType), indexB, indexE, int(doubleCountInBlock), doubleValuesArray, rawDataReceive); if (comm->isRoot()) { @@ -1203,7 +1203,7 @@ void MPIIOMigrationBECoProcessor::readBoundaryConds(int step) myBlocksCount = blocksPerProcess + (blocksCountAll - blocksPerProcess * size); int indexB = rank * blocksPerProcess; // the first "my" block - int indexE = indexB + myBlocksCount; // the latest "my" block + int indexE = indexB + int(myBlocksCount); // the latest "my" block std::vector<int> bcindexmatrixVAll; @@ -1220,7 +1220,7 @@ void MPIIOMigrationBECoProcessor::readBoundaryConds(int step) MPI_Type_commit(&bcindexmatrixType); MPI_Offset read_offset = (MPI_Offset)(sizeof(int)) + (MPI_Offset)(indexB) * (MPI_Offset)(sizeOfBIM) * (MPI_Offset)(sizeof(int)); - MPI_File_read_at(file_handler, read_offset, &bcindexmatrixVAll[0], myBlocksCount, bcindexmatrixType, MPI_STATUS_IGNORE); + MPI_File_read_at(file_handler, read_offset, &bcindexmatrixVAll[0], int(myBlocksCount), bcindexmatrixType, MPI_STATUS_IGNORE); MPI_File_close(&file_handler); MPI_Type_free(&bcindexmatrixType); @@ -1277,7 +1277,7 @@ void MPIIOMigrationBECoProcessor::readBoundaryConds(int step) { if (r != rank) { - rds = rawDataSend[r].size(); + rds = int(rawDataSend[r].size()); intBlockCount = (int)(rds / SEND_BLOCK_SIZE); if (intBlockCount * SEND_BLOCK_SIZE < rds) intBlockCount += 1; @@ -1416,7 +1416,8 @@ void MPIIOMigrationBECoProcessor::readBoundaryConds(int step) MPI_File_close(&file_handler); delete nullBouCond; - delete bcArray; + if(bcArray) + delete bcArray; delete [] rawDataReceive; delete [] rawDataSend; delete [] requests; diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp index 40e6541a00427571c61da1bd2cde4073ab52f8bc..e989bbf62cf01f5136613e3f218b12e90cd9cc75 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp @@ -81,7 +81,7 @@ void MPIIOMigrationCoProcessor::process(double step) writeDataSet((int)step); writeBoundaryConds((int)step); - writeCpTimeStep(step); + writeCpTimeStep((int)step); if (comm->isRoot()) UBLOG(logINFO, "Save check point - end"); } @@ -247,7 +247,7 @@ void MPIIOMigrationCoProcessor::writeDataSet(int step) } // register new MPI-type depending on the block-specific information - MPI_Type_contiguous(doubleCountInBlock, MPI_DOUBLE, &dataSetDoubleType); + MPI_Type_contiguous(int(doubleCountInBlock), MPI_DOUBLE, &dataSetDoubleType); MPI_Type_commit(&dataSetDoubleType); if (comm->isRoot()) @@ -409,7 +409,7 @@ void MPIIOMigrationCoProcessor::write4DArray(int step, Arrays arrayType, std::st } // register new MPI-types depending on the block-specific information - MPI_Type_contiguous(doubleCountInBlock, MPI_DOUBLE, &dataSetDoubleType); + MPI_Type_contiguous(int(doubleCountInBlock), MPI_DOUBLE, &dataSetDoubleType); MPI_Type_commit(&dataSetDoubleType); if (comm->isRoot()) @@ -521,7 +521,7 @@ void MPIIOMigrationCoProcessor::write3DArray(int step, Arrays arrayType, std::st } // register new MPI-types depending on the block-specific information - MPI_Type_contiguous(doubleCountInBlock, MPI_DOUBLE, &dataSetDoubleType); + MPI_Type_contiguous(int(doubleCountInBlock), MPI_DOUBLE, &dataSetDoubleType); MPI_Type_commit(&dataSetDoubleType); if (comm->isRoot()) @@ -1308,20 +1308,20 @@ void MPIIOMigrationCoProcessor::writeBoundaryConds(int step) bouCond->velocityBoundaryFlags = bcArr->bcvector[bc]->getVelocityBoundary(); bouCond->densityBoundaryFlags = bcArr->bcvector[bc]->getDensityBoundary(); bouCond->wallModelBoundaryFlags = bcArr->bcvector[bc]->getWallModelBoundary(); - bouCond->bcVelocityX1 = bcArr->bcvector[bc]->getBoundaryVelocityX1(); - bouCond->bcVelocityX2 = bcArr->bcvector[bc]->getBoundaryVelocityX2(); - bouCond->bcVelocityX3 = bcArr->bcvector[bc]->getBoundaryVelocityX3(); - bouCond->bcDensity = bcArr->bcvector[bc]->getBoundaryDensity(); - bouCond->bcLodiDensity = bcArr->bcvector[bc]->getDensityLodiDensity(); - bouCond->bcLodiVelocityX1 = bcArr->bcvector[bc]->getDensityLodiVelocityX1(); - bouCond->bcLodiVelocityX2 = bcArr->bcvector[bc]->getDensityLodiVelocityX2(); - bouCond->bcLodiVelocityX3 = bcArr->bcvector[bc]->getDensityLodiVelocityX3(); - bouCond->bcLodiLentgh = bcArr->bcvector[bc]->getDensityLodiLength(); - bouCond->nx1 = bcArr->bcvector[bc]->nx1; - bouCond->nx2 = bcArr->bcvector[bc]->nx2; - bouCond->nx3 = bcArr->bcvector[bc]->nx3; + bouCond->bcVelocityX1 = (float) bcArr->bcvector[bc]->getBoundaryVelocityX1(); + bouCond->bcVelocityX2 = (float) bcArr->bcvector[bc]->getBoundaryVelocityX2(); + bouCond->bcVelocityX3 = (float) bcArr->bcvector[bc]->getBoundaryVelocityX3(); + bouCond->bcDensity = (float) bcArr->bcvector[bc]->getBoundaryDensity(); + bouCond->bcLodiDensity = (float) bcArr->bcvector[bc]->getDensityLodiDensity(); + bouCond->bcLodiVelocityX1 = (float) bcArr->bcvector[bc]->getDensityLodiVelocityX1(); + bouCond->bcLodiVelocityX2 = (float) bcArr->bcvector[bc]->getDensityLodiVelocityX2(); + bouCond->bcLodiVelocityX3 = (float) bcArr->bcvector[bc]->getDensityLodiVelocityX3(); + bouCond->bcLodiLentgh = (float) bcArr->bcvector[bc]->getDensityLodiLength(); + bouCond->nx1 = (float) bcArr->bcvector[bc]->nx1; + bouCond->nx2 = (float) bcArr->bcvector[bc]->nx2; + bouCond->nx3 = (float) bcArr->bcvector[bc]->nx3; for (int iq = 0; iq<26; iq++) - bouCond->q[iq] = bcArr->bcvector[bc]->getQ(iq); + bouCond->q[iq] = (float) bcArr->bcvector[bc]->getQ(iq); bouCond->algorithmType = bcArr->bcvector[bc]->getBcAlgorithmType(); } @@ -1503,7 +1503,7 @@ void MPIIOMigrationCoProcessor::readDataSet(int step) std::vector<double> doubleValuesArray(blocksCount * doubleCountInBlock); // double-values in all blocks // define MPI_types depending on the block-specific information - MPI_Type_contiguous(doubleCountInBlock, MPI_DOUBLE, &dataSetDoubleType); + MPI_Type_contiguous(int(doubleCountInBlock), MPI_DOUBLE, &dataSetDoubleType); MPI_Type_commit(&dataSetDoubleType); size_t ic = 0; @@ -1658,7 +1658,7 @@ void MPIIOMigrationCoProcessor::readArray(int step, Arrays arrType, std::string std::vector<double> doubleValuesArray(blocksCount * doubleCountInBlock); // double-values in all blocks // define MPI_types depending on the block-specific information - MPI_Type_contiguous(doubleCountInBlock, MPI_DOUBLE, &dataSetDoubleType); + MPI_Type_contiguous(int(doubleCountInBlock), MPI_DOUBLE, &dataSetDoubleType); MPI_Type_commit(&dataSetDoubleType); size_t ic = 0; diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp index 6e93228099f7add8a00e861cdba75adf8d3ef889..b7bcb046449a1e3bc3963c5cbb7973cb68dbcfa2 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp @@ -1212,24 +1212,24 @@ void MPIIORestartCoProcessor::writeBoundaryConds(int step) else { bouCond->noslipBoundaryFlags = bcArr->bcvector[bc]->getNoSlipBoundary(); - bouCond->slipBoundaryFlags = bcArr->bcvector[bc]->getSlipBoundary(); + bouCond->slipBoundaryFlags = bcArr->bcvector[bc]->getSlipBoundary(); bouCond->velocityBoundaryFlags = bcArr->bcvector[bc]->getVelocityBoundary(); bouCond->densityBoundaryFlags = bcArr->bcvector[bc]->getDensityBoundary(); bouCond->wallModelBoundaryFlags = bcArr->bcvector[bc]->getWallModelBoundary(); - bouCond->bcVelocityX1 = bcArr->bcvector[bc]->getBoundaryVelocityX1(); - bouCond->bcVelocityX2 = bcArr->bcvector[bc]->getBoundaryVelocityX2(); - bouCond->bcVelocityX3 = bcArr->bcvector[bc]->getBoundaryVelocityX3(); - bouCond->bcDensity = bcArr->bcvector[bc]->getBoundaryDensity(); - bouCond->bcLodiDensity = bcArr->bcvector[bc]->getDensityLodiDensity(); - bouCond->bcLodiVelocityX1 = bcArr->bcvector[bc]->getDensityLodiVelocityX1(); - bouCond->bcLodiVelocityX2 = bcArr->bcvector[bc]->getDensityLodiVelocityX2(); - bouCond->bcLodiVelocityX3 = bcArr->bcvector[bc]->getDensityLodiVelocityX3(); - bouCond->bcLodiLentgh = bcArr->bcvector[bc]->getDensityLodiLength(); - bouCond->nx1 = bcArr->bcvector[bc]->nx1; - bouCond->nx2 = bcArr->bcvector[bc]->nx2; - bouCond->nx3 = bcArr->bcvector[bc]->nx3; + bouCond->bcVelocityX1 = (float) bcArr->bcvector[bc]->getBoundaryVelocityX1(); + bouCond->bcVelocityX2 = (float) bcArr->bcvector[bc]->getBoundaryVelocityX2(); + bouCond->bcVelocityX3 = (float) bcArr->bcvector[bc]->getBoundaryVelocityX3(); + bouCond->bcDensity = (float) bcArr->bcvector[bc]->getBoundaryDensity(); + bouCond->bcLodiDensity = (float) bcArr->bcvector[bc]->getDensityLodiDensity(); + bouCond->bcLodiVelocityX1 = (float) bcArr->bcvector[bc]->getDensityLodiVelocityX1(); + bouCond->bcLodiVelocityX2 = (float) bcArr->bcvector[bc]->getDensityLodiVelocityX2(); + bouCond->bcLodiVelocityX3 = (float) bcArr->bcvector[bc]->getDensityLodiVelocityX3(); + bouCond->bcLodiLentgh = (float) bcArr->bcvector[bc]->getDensityLodiLength(); + bouCond->nx1 = (float) bcArr->bcvector[bc]->nx1; + bouCond->nx2 = (float) bcArr->bcvector[bc]->nx2; + bouCond->nx3 = (float) bcArr->bcvector[bc]->nx3; for (int iq = 0; iq<26; iq++) - bouCond->q[iq] = bcArr->bcvector[bc]->getQ(iq); + bouCond->q[iq] = (float) bcArr->bcvector[bc]->getQ(iq); bouCond->algorithmType = bcArr->bcvector[bc]->getBcAlgorithmType(); } @@ -1410,23 +1410,23 @@ void MPIIORestartCoProcessor::readDataSet(int step) double doubleCountInBlock = dataSetParamStr1.nx[0] * dataSetParamStr1.nx[1] * dataSetParamStr1.nx[2] * dataSetParamStr1.nx[3] + dataSetParamStr2.nx[0] * dataSetParamStr2.nx[1] * dataSetParamStr2.nx[2] * dataSetParamStr2.nx[3] + dataSetParamStr3.nx[0] * dataSetParamStr3.nx[1] * dataSetParamStr3.nx[2] * dataSetParamStr3.nx[3]; - std::vector<double> doubleValuesArray(blocksCount * doubleCountInBlock); // double-values in all blocks + std::vector<double> doubleValuesArray(size_t(blocksCount * doubleCountInBlock)); // double-values in all blocks // define MPI_types depending on the block-specific information - MPI_Type_contiguous(doubleCountInBlock, MPI_DOUBLE, &dataSetDoubleType); + MPI_Type_contiguous(int(doubleCountInBlock), MPI_DOUBLE, &dataSetDoubleType); MPI_Type_commit(&dataSetDoubleType); if (size > 1) { if (rank == 0) { - next_read_offset = read_offset + 3 * sizeof(dataSetParam) + blocksCount * (sizeof(DataSetRestart) + doubleCountInBlock * sizeof(double)); + next_read_offset = read_offset + 3 * sizeof(dataSetParam) + blocksCount * (sizeof(DataSetRestart) + size_t(doubleCountInBlock) * sizeof(double)); MPI_Send(&next_read_offset, 1, MPI_LONG_LONG_INT, 1, 5, MPI_COMM_WORLD); } else { MPI_Recv(&read_offset, 1, MPI_LONG_LONG_INT, rank - 1, 5, MPI_COMM_WORLD, MPI_STATUS_IGNORE); - next_read_offset = read_offset + 3 * sizeof(dataSetParam) + blocksCount * (sizeof(DataSetRestart) + doubleCountInBlock * sizeof(double)); + next_read_offset = read_offset + 3 * sizeof(dataSetParam) + blocksCount * (sizeof(DataSetRestart) + size_t(doubleCountInBlock) * sizeof(double)); if (rank < size - 1) MPI_Send(&next_read_offset, 1, MPI_LONG_LONG_INT, rank + 1, 5, MPI_COMM_WORLD); } diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/PressureDifferenceCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/PressureDifferenceCoProcessor.cpp index 3d2b918655818d90a7ff09e4275d49c6b172559d..6de9989b6ae2d3f86d3dcbe956824f7ccd042ad0 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/PressureDifferenceCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/PressureDifferenceCoProcessor.cpp @@ -35,8 +35,8 @@ PressureDifferenceCoProcessor::PressureDifferenceCoProcessor(SPtr<Grid3D> grid, if(!ostr) { ostr.clear(); - std::string path = UbSystem::getPathFromString(fname); - if(path.size()>0){ UbSystem::makeDirectory(path); ostr.open(fname.c_str(), std::ios_base::out);} + std::string file_path = UbSystem::getPathFromString(fname); + if(file_path.size()>0){ UbSystem::makeDirectory(file_path); ostr.open(fname.c_str(), std::ios_base::out);} if(!ostr) throw UbException(UB_EXARGS,"couldn't open file "+fname); } ostr << "step" << "\t" << "nodes1" << "\t" << "nodes2" << "\t"; diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/TimeseriesCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/TimeseriesCoProcessor.cpp index 62ca723e8e4fb83aa5ae1ef1c6c86840492efce4..c3297d04e01071c0aade09938135d1b71e418adc 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/TimeseriesCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/TimeseriesCoProcessor.cpp @@ -34,8 +34,8 @@ TimeseriesCoProcessor::TimeseriesCoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler if(!ostr) { ostr.clear(); - std::string path = UbSystem::getPathFromString(fname); - if (path.size()>0) { UbSystem::makeDirectory(path); ostr.open(fname.c_str(), std::ios_base::out | std::ios_base::app); } + std::string file_path = UbSystem::getPathFromString(fname); + if (file_path.size()>0) { UbSystem::makeDirectory(file_path); ostr.open(fname.c_str(), std::ios_base::out | std::ios_base::app); } if(!ostr) throw UbException(UB_EXARGS,"couldn't open file "+fname); } ostr << "step;rho;vx;vy;vz;volume\n"; diff --git a/src/cpu/VirtualFluidsCore/Connectors/D3Q27ETFCOffVectorConnector.h b/src/cpu/VirtualFluidsCore/Connectors/D3Q27ETFCOffVectorConnector.h index a82f13c046c99b0712d53b5440efcf856c1bc905..397a9c27c2aaab3bdfc017b057440ab15b2e0921 100644 --- a/src/cpu/VirtualFluidsCore/Connectors/D3Q27ETFCOffVectorConnector.h +++ b/src/cpu/VirtualFluidsCore/Connectors/D3Q27ETFCOffVectorConnector.h @@ -245,10 +245,10 @@ void D3Q27ETFCOffVectorConnector< VectorTransmitter>::fillSendVectors() /////////////////////////////////////// ///DEBUG #ifdef _DEBUG - if (block.lock()->getGlobalID() == 2558) - { - int test = 0; - } + //if (block.lock()->getGlobalID() == 2558) + //{ + // int test = 0; + //} #endif ////////////// @@ -265,10 +265,10 @@ void D3Q27ETFCOffVectorConnector< VectorTransmitter>::fillSendVectors() /////////////////////////////////////// ///DEBUG #ifdef _DEBUG - if (block.lock()->getGlobalID() == 2516) - { - int test = 0; - } + //if (block.lock()->getGlobalID() == 2516) + //{ + // int test = 0; + //} #endif ////////////// //getLocalMinMax(lMinX1, lMinX2, lMinX3, lMaxX1, lMaxX2, lMaxX3, none); diff --git a/src/cpu/VirtualFluidsCore/Grid/Calculator.cpp b/src/cpu/VirtualFluidsCore/Grid/Calculator.cpp index 45de9261c5d882a9f96a006974f53e9084ea02a4..9a314f0668da70149023c56ed4e458aee969244e 100644 --- a/src/cpu/VirtualFluidsCore/Grid/Calculator.cpp +++ b/src/cpu/VirtualFluidsCore/Grid/Calculator.cpp @@ -140,11 +140,11 @@ void Calculator::initRemoteConnectors() grid->getBlocks(l, blockVector); for(SPtr<Block3D> block : blockVector) { - int l = block->getLevel(); - block->pushBackRemoteSameLevelConnectors(remoteConns[l]); + int block_level = block->getLevel(); + block->pushBackRemoteSameLevelConnectors(remoteConns[block_level]); - block->pushBackRemoteInterpolationConnectorsCF(remoteInterConnsCF[l]); - block->pushBackRemoteInterpolationConnectorsFC(remoteInterConnsFC[l]); + block->pushBackRemoteInterpolationConnectorsCF(remoteInterConnsCF[block_level]); + block->pushBackRemoteInterpolationConnectorsFC(remoteInterConnsFC[block_level]); } } diff --git a/src/cpu/VirtualFluidsCore/Interactors/D3Q27TriFaceMeshInteractor.cpp b/src/cpu/VirtualFluidsCore/Interactors/D3Q27TriFaceMeshInteractor.cpp index 90c644674884d1f242a8453a94dc837879097029..77f91b95c9410e739140b97fe58d25692a22f728 100644 --- a/src/cpu/VirtualFluidsCore/Interactors/D3Q27TriFaceMeshInteractor.cpp +++ b/src/cpu/VirtualFluidsCore/Interactors/D3Q27TriFaceMeshInteractor.cpp @@ -1399,13 +1399,13 @@ void D3Q27TriFaceMeshInteractor::refineBlockGridToLevel(int level, double startD halfBoxSize[1] = (float)(0.5*(blockMaxX[1]-blockMinX[1])); halfBoxSize[2] = (float)(0.5*(blockMaxX[2]-blockMinX[2])); - GbTriFaceMesh3D::Vertex& v1 = nodes[triangle.v1]; - GbTriFaceMesh3D::Vertex& v2 = nodes[triangle.v2]; - GbTriFaceMesh3D::Vertex& v3 = nodes[triangle.v3]; + GbTriFaceMesh3D::Vertex& v1_ = nodes[triangle.v1]; + GbTriFaceMesh3D::Vertex& v2_ = nodes[triangle.v2]; + GbTriFaceMesh3D::Vertex& v3_ = nodes[triangle.v3]; - triPoints[0][0] = v1.x; triPoints[0][1] = v1.y; triPoints[0][2] = v1.z; - triPoints[1][0] = v2.x; triPoints[1][1] = v2.y; triPoints[1][2] = v2.z; - triPoints[2][0] = v3.x; triPoints[2][1] = v3.y; triPoints[2][2] = v3.z; + triPoints[0][0] = v1_.x; triPoints[0][1] = v1_.y; triPoints[0][2] = v1_.z; + triPoints[1][0] = v2_.x; triPoints[1][1] = v2_.y; triPoints[1][2] = v2_.z; + triPoints[2][0] = v3_.x; triPoints[2][1] = v3_.y; triPoints[2][2] = v3_.z; //wenn block dreick schneidet, dann muss er verfeinert werden if( GbMeshTools3D::triBoxOverlap(boxCenter,halfBoxSize,triPoints) ) diff --git a/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp index 3d59e63292638e7dc87d389c636d80268bfbc935..055b0f770219d4df04f14d21d0df43f10441a8c6 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp @@ -120,6 +120,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //LBMReal B = (four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega); LBMReal A = (4.0*omega*omega+2.0*omega*OxxPyyPzz*(omega-6.0)+OxxPyyPzz*OxxPyyPzz*(omega*(10.0-3.0*omega)-4.0))/((omega-OxxPyyPzz)*(OxxPyyPzz*(2.0+3.0*omega)-8.0*omega)); + //FIXME: warning C4459: declaration of 'B' hides global declaration (message : see declaration of 'D3Q27System::B' ) LBMReal B = (4.0*omega*OxxPyyPzz*(9.0*omega-16.0)-4.0*omega*omega-2.0*OxxPyyPzz*OxxPyyPzz*(2.0+9.0*omega*(omega-2.0)))/(3.0*(omega-OxxPyyPzz)*(OxxPyyPzz*(2.0+3.0*omega)-8.0*omega)); for (int x3 = minX3; x3 < maxX3; x3++) diff --git a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp index 072d8cd90fa892bf72bebb13aa4fd28c5a4aa53c..92387c298e6f45186c813ff0f321a1898da01837 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp @@ -332,6 +332,7 @@ void CumulantK17LBMKernel::calculate(int step) //! with simplifications assuming \f$\omega_2 = 1.0\f$ (modify for different bulk viscosity). //! LBMReal A = (c4 + c2*omega - c3*omega*omega) / (c2 - c7*omega + c5*omega*omega); + //FIXME: warning C4459: declaration of 'B' hides global declaration (message : see declaration of 'D3Q27System::B' ) LBMReal B = (c4 + c28*omega - c14*omega*omega) / (c6 - c21*omega + c15*omega*omega); //////////////////////////////////////////////////////////////////////////////////// diff --git a/src/cpu/VirtualFluidsCore/Parallel/MPICommunicator.h b/src/cpu/VirtualFluidsCore/Parallel/MPICommunicator.h index c0fcf1cfc55607e4f9575ea0f5d91a1ed4da9b1d..e88eb42b3b5d87fca4401d49bd1c925a6686fa80 100644 --- a/src/cpu/VirtualFluidsCore/Parallel/MPICommunicator.h +++ b/src/cpu/VirtualFluidsCore/Parallel/MPICommunicator.h @@ -134,12 +134,12 @@ void MPICommunicator::allGather(std::vector<T>& svalues, std::vector<T>& rvalues if (rvalues.size() == 0) { rvalues.resize(1); - rvalues[0] = -999; + rvalues[0] = -999; //FIXME warning C4245: As svalues and rvalues are of type vector<T> there could be a potenial signed/unsigned mismatch storring a negative number } if (scount == 0) { svalues.resize(1); - svalues[0] = -999; + svalues[0] = -999; //FIXME warning C4245: As svalues and rvalues are of type vector<T> there could be a potenial signed/unsigned mismatch storring a negative number } MPI_Allgatherv(&svalues[0], scount, mpiDataType, &rvalues[0], &rcounts[0], &displs[0], mpiDataType, comm); diff --git a/src/cpu/VirtualFluidsCore/Utilities/ChangeRandomQs.hpp b/src/cpu/VirtualFluidsCore/Utilities/ChangeRandomQs.hpp index 029143dca924e0919f6b3616d468fd6b40b7f022..db7c73c93b680161aa8819905d1237725a2f8f60 100644 --- a/src/cpu/VirtualFluidsCore/Utilities/ChangeRandomQs.hpp +++ b/src/cpu/VirtualFluidsCore/Utilities/ChangeRandomQs.hpp @@ -27,7 +27,7 @@ namespace Utilities if (bc->hasNoSlipBoundaryFlag(fdir)) { const int invDir = D3Q27System::INVDIR[fdir]; - float q = bc->getQ(invDir); + float q = (float) bc->getQ(invDir); //double r = (double)UbRandom::rand(-50, 50); float r = (float)UbRandom::rand(-10, 10); float q_temp = q + q/r; diff --git a/src/cpu/VirtualFluidsCore/Utilities/CheckpointConverter.cpp b/src/cpu/VirtualFluidsCore/Utilities/CheckpointConverter.cpp index f107904531f036f2160776f3258a2f247f52ce4b..9bf7278bcc6720541a13f082171524ed7125f581 100644 --- a/src/cpu/VirtualFluidsCore/Utilities/CheckpointConverter.cpp +++ b/src/cpu/VirtualFluidsCore/Utilities/CheckpointConverter.cpp @@ -323,7 +323,7 @@ void CheckpointConverter::convertDataSet(int step, int procCount) // read data MPI_File_read_at(file_handlerR, (MPI_Offset)(read_offset + 3 * sizeof(dataSetParam)), dataSetReadArray, blocksCount, dataSetTypeRead, MPI_STATUS_IGNORE); MPI_File_read_at(file_handlerR, (MPI_Offset)(read_offset + 3 * sizeof(dataSetParam) + blocksCount * sizeof(DataSetRestart)), - &doubleValuesArray[0], blocksCount * doubleCountInBlock, MPI_DOUBLE, MPI_STATUS_IGNORE); + &doubleValuesArray[0], int(blocksCount * doubleCountInBlock), MPI_DOUBLE, MPI_STATUS_IGNORE); // offset to read the data of the next process read_offset = read_offset + (MPI_Offset)(3 * sizeof(dataSetParam) + blocksCount * (sizeof(DataSetRestart) + doubleCountInBlock * sizeof(double))); @@ -349,7 +349,7 @@ void CheckpointConverter::convertDataSet(int step, int procCount) write_offset = (MPI_Offset)(3 * sizeof(dataSetParam) + dataSetWriteArray[nb].globalID * sizeofOneDataSet); MPI_File_write_at(file_handlerW, write_offset, &dataSetWriteArray[nb], 1, dataSetTypeWrite, MPI_STATUS_IGNORE); MPI_File_write_at(file_handlerW, (MPI_Offset)(write_offset + sizeof(DataSetMigration)), &doubleValuesArray[nb * doubleCountInBlock], - doubleCountInBlock, MPI_DOUBLE, MPI_STATUS_IGNORE); + int(doubleCountInBlock), MPI_DOUBLE, MPI_STATUS_IGNORE); } delete[] dataSetReadArray; diff --git a/src/cpu/VirtualFluidsCore/Visitors/ChangeBoundaryDensityBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/ChangeBoundaryDensityBlockVisitor.cpp index d8facc637bfecdf8d1eb1ebd3b6a5b25e96008ea..077dadeabafdfe53548735412401aa59231f470c 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/ChangeBoundaryDensityBlockVisitor.cpp +++ b/src/cpu/VirtualFluidsCore/Visitors/ChangeBoundaryDensityBlockVisitor.cpp @@ -47,7 +47,7 @@ void ChangeBoundaryDensityBlockVisitor::visit(SPtr<Grid3D> grid, SPtr<Block3D> b { if (bcPtr->hasDensityBoundary()) { - float bcDensity = bcPtr->getBoundaryDensity(); + float bcDensity = (float) bcPtr->getBoundaryDensity(); if (bcDensity == oldBoundaryDensity) { bcPtr->setBoundaryDensity(newBoundaryDensity); diff --git a/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsWithInterpolationGridVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsWithInterpolationGridVisitor.cpp index 8043b81405888fd49c43a883c6f7140737c4c256..bc6963c18563948ba36499bb9b15b199560a80ff 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsWithInterpolationGridVisitor.cpp +++ b/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsWithInterpolationGridVisitor.cpp @@ -66,7 +66,7 @@ void InitDistributionsWithInterpolationGridVisitor::visit(SPtr<Grid3D> grid) Vector3D coords = newGrid->getNodeCoordinates(newBlock, 1, 1, 1); UbTupleInt3 oldGridBlockIndexes = oldGrid->getBlockIndexes(coords[0], coords[1], coords[2], newlevel-1); - SPtr<Block3D> oldBlock = oldGrid->getBlock(val<1>(oldGridBlockIndexes), val<2>(oldGridBlockIndexes), val<3>(oldGridBlockIndexes), newlevel-1); + oldBlock = oldGrid->getBlock(val<1>(oldGridBlockIndexes), val<2>(oldGridBlockIndexes), val<3>(oldGridBlockIndexes), newlevel-1); if (oldBlock) { @@ -84,8 +84,8 @@ void InitDistributionsWithInterpolationGridVisitor::visit(SPtr<Grid3D> grid) } else { - UbTupleInt3 oldGridBlockIndexes = oldGrid->getBlockIndexes(coords[0], coords[1], coords[2], newlevel+1); - SPtr<Block3D> oldBlock = oldGrid->getBlock(val<1>(oldGridBlockIndexes), val<2>(oldGridBlockIndexes), val<3>(oldGridBlockIndexes), newlevel+1); + oldGridBlockIndexes = oldGrid->getBlockIndexes(coords[0], coords[1], coords[2], newlevel+1); + oldBlock = oldGrid->getBlock(val<1>(oldGridBlockIndexes), val<2>(oldGridBlockIndexes), val<3>(oldGridBlockIndexes), newlevel+1); if (oldBlock) { int oldBlockRank = oldBlock->getRank();