diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000000000000000000000000000000000000..2747454ca09d19d0af59207f587a0b3afe36b033 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,56 @@ +--- +Checks: ' +-*, + +bugprone-*, +-bugprone-branch-clone, +-bugprone-narrowing-conversions, +-bugprone-macro-parentheses, + +misc-*, +-misc-non-private-member-variables-in-classes, + +modernize-*, +-modernize-avoid-c-arrays, +-modernize-use-trailing-return-type, +-modernize-raw-string-literal, +-modernize-loop-convert, +-modernize-use-auto, +-modernize-use-nullptr, +-modernize-pass-by-value, + +mpi-*, + +openmp-* + +performance-*, + +portability-* + +readability-*, +-readability-braces-around-statements, +-readability-magic-numbers, +-readability-isolate-declaration, + + +cppcoreguidelines-avoid-goto, +cppcoreguidelines-avoid-non-const-global-variables, +cppcoreguidelines-init-variables, +cppcoreguidelines-interfaces-global-init, +cppcoreguidelines-no-malloc, +cppcoreguidelines-owning-memory, +cppcoreguidelines-pro-type-const-cast, +cppcoreguidelines-pro-type-member-init, +cppcoreguidelines-pro-type-static-cast-downcast, +cppcoreguidelines-slicing, +cppcoreguidelines-special-member-functions, + +-cppcoreguidelines-init-variables, +-cppcoreguidelines-pro-type-member-init, +-cppcoreguidelines-owning-memory, +-cppcoreguidelines-special-member-functions, +-cppcoreguidelines-interfaces-global-init + +' +HeaderFilterRegex: '\.h$' +... diff --git a/3rdParty/MuParser/CMakeLists.txt b/3rdParty/MuParser/CMakeLists.txt index 14a1e4e4528181800f03adfd3695310783042707..49aa3ac25552f6050de4eb5ae08928fddb8a6cf4 100644 --- a/3rdParty/MuParser/CMakeLists.txt +++ b/3rdParty/MuParser/CMakeLists.txt @@ -35,7 +35,7 @@ if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251 /wd4310 /wd4267") # disable all muparser warnings elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) # Update if necessary - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic -Wno-unknown-pragmas") endif() add_library(muparser diff --git a/3rdParty/MuParser/include/muParser.h b/3rdParty/MuParser/include/muParser.h index 321fba9c793179e29ce50438a332547fd1a3927f..ab1e21e5b2a7506593de90d4845b6c2e5e39904a 100644 --- a/3rdParty/MuParser/include/muParser.h +++ b/3rdParty/MuParser/include/muParser.h @@ -29,6 +29,8 @@ #ifndef MU_PARSER_H #define MU_PARSER_H +#pragma clang system_header + //--- Standard includes ------------------------------------------------------------------------ #include <vector> diff --git a/3rdParty/MuParser/include/muParserBase.h b/3rdParty/MuParser/include/muParserBase.h index 7793818a9c90a6f40c3df877099ed53d135f5f91..e42aca8b121c95b3d61e4ef2414f2f0bea76cab1 100644 --- a/3rdParty/MuParser/include/muParserBase.h +++ b/3rdParty/MuParser/include/muParserBase.h @@ -29,6 +29,8 @@ #ifndef MU_PARSER_BASE_H #define MU_PARSER_BASE_H +#pragma clang system_header + //--- Standard includes ------------------------------------------------------------------------ #include <cmath> #include <string> diff --git a/CMake/VirtualFluidsMacros.cmake b/CMake/VirtualFluidsMacros.cmake index cf0f24ec944883538749775ecbcdd4a43a370b3b..2e9abfeeeca983dd6035306358011a3cd071c63b 100644 --- a/CMake/VirtualFluidsMacros.cmake +++ b/CMake/VirtualFluidsMacros.cmake @@ -101,6 +101,12 @@ endfunction() ################################################################################# function(vf_add_library) + # enable clang tidy for this target + if(BUILD_VF_CLANG_TIDY) + find_program(CLANG_TIDY_COMMAND NAMES clang-tidy) + set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND}") + endif() + set( options ) set( oneValueArgs ) set( multiValueArgs NAME BUILDTYPE DEPENDS FILES FOLDER EXCLUDE) @@ -169,6 +175,7 @@ function(vf_add_library) status("... configuring target: ${library_name} (type=${ARG_BUILDTYPE}) done") + unset(CMAKE_CXX_CLANG_TIDY) endfunction() diff --git a/CMake/compilerflags/GNU.cmake b/CMake/compilerflags/GNU.cmake index f44cafc66eced55f1cf28f05ca0ddc9ad24b3e7d..8f932429c9c8f43d25b9dcd238efcbc3ed7a5fe0 100644 --- a/CMake/compilerflags/GNU.cmake +++ b/CMake/compilerflags/GNU.cmake @@ -21,7 +21,7 @@ list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wall") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-function") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-reorder") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-sign-compare") - +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unknown-pragmas") ############################################################################################################# # linker options diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c98c8aa639a81526606a7124bf97e1c150a6032..3ca84ca3f9045f45344943c24a4d83570c4beeb5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,9 @@ set (VF_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) ################################################################################# option(BUILD_VF_CPU "Build VirtualFluids cpu variant" OFF) option(BUILD_VF_GPU "Build VirtualFluids gpu variant" OFF) + option(BUILD_VF_UNIT_TESTS "Build VirtualFluids unit tests" OFF) +option(BUILD_VF_CLANG_TIDY "Add the clang tidy checks to the targets" OFF) option(BUILD_SHARED_LIBS "" ON) diff --git a/apps/cpu/LidDrivenCavity/LidDrivenCavity.cpp b/apps/cpu/LidDrivenCavity/LidDrivenCavity.cpp index bde6df56d697f197c2f0e486647a09f0c06ba20b..104d487b905c03901ffa3ecc24f2f34b44cffe5e 100644 --- a/apps/cpu/LidDrivenCavity/LidDrivenCavity.cpp +++ b/apps/cpu/LidDrivenCavity/LidDrivenCavity.cpp @@ -37,7 +37,7 @@ using namespace std; -int main(int argc, char* argv[]) +int main(int /*argc*/, char* /*argv*/[]) { try { @@ -110,30 +110,28 @@ int main(int argc, char* argv[]) grid->accept(genBlocks); // Write block grid to VTK-file - SPtr<CoProcessor> ppblocks(new WriteBlocksCoProcessor(grid, SPtr<UbScheduler>(new UbScheduler(1)), path, WbWriterVtkXmlBinary::getInstance(), comm)); + auto ppblocks = std::make_shared<WriteBlocksCoProcessor>(grid, SPtr<UbScheduler>(new UbScheduler(1)), path, WbWriterVtkXmlBinary::getInstance(), comm); ppblocks->process(0); ppblocks.reset(); // Create LBM kernel - - //SPtr<LBMKernel> kernel = SPtr<LBMKernel>(new CumulantK17LBMKernel()); - - SPtr<LBMKernel> kernel = SPtr<LBMKernel>(new LBMKernelETD3Q27BGK()); + auto kernel = std::make_shared<LBMKernelETD3Q27BGK>(); + // auto kernel = std::make_shared<CumulantK17LBMKernel>(); ////////////////////////////////////////////////////////////////////////// // Create boundary conditions (BC) ////////////////////////////////////////////////////////////////////////// // Create no-slip BC - SPtr<BCAdapter> noSlipBCAdapter(new NoSlipBCAdapter()); - noSlipBCAdapter->setBcAlgorithm(SPtr<BCAlgorithm>(new NoSlipBCAlgorithm())); + auto noSlipBCAdapter = std::make_shared<NoSlipBCAdapter>(); + noSlipBCAdapter->setBcAlgorithm(std::make_shared<NoSlipBCAlgorithm>()); // Velocity BC mu::Parser fct; fct.SetExpr("u"); fct.DefineConst("u", u); // Set the same velocity in x and y-direction - SPtr<BCAdapter> velBCAdapter(new VelocityBCAdapter(true, true, false, fct, 0, BCFunction::INFCONST)); - velBCAdapter->setBcAlgorithm(SPtr<BCAlgorithm>(new VelocityBCAlgorithm())); + auto velBCAdapter = std::make_shared<VelocityBCAdapter>(true, true, false, fct, 0, BCFunction::INFCONST); + velBCAdapter->setBcAlgorithm(std::make_shared<VelocityBCAlgorithm>()); // Add velocity boundary condition to visitor. No-slip boundary BoundaryConditionsBlockVisitor bcVisitor; @@ -141,7 +139,7 @@ int main(int argc, char* argv[]) // Create boundary conditions processor SPtr<BCProcessor> bcProc; - bcProc = SPtr<BCProcessor>(new BCProcessor()); + bcProc = std::make_shared<BCProcessor>(); kernel->setBCProcessor(bcProc); // Create boundary conditions geometry diff --git a/cpu.cmake b/cpu.cmake index fd33baa9173f9c7af7021e8c22e39069cfff82c2..35f7211295da3e0468433a1624490e2a78240dc8 100644 --- a/cpu.cmake +++ b/cpu.cmake @@ -80,6 +80,7 @@ if(${USE_METIS} AND NOT METIS_INCLUDEDIR) endif() + add_subdirectory(${VF_THIRD_DIR}/MuParser) add_subdirectory(src/cpu/VirtualFluidsCore) diff --git a/src/basics/Core/DataTypes.h b/src/basics/Core/DataTypes.h index 67a17fa765514c41247c480709864b4dae1b28ba..b4fa3a0d96e10bd4e04a809c075e49e0f9867f05 100644 --- a/src/basics/Core/DataTypes.h +++ b/src/basics/Core/DataTypes.h @@ -7,10 +7,10 @@ #ifdef VF_DOUBLE_ACCURACY typedef double real; #else -typedef float real; +using real = float; #endif -typedef unsigned int uint; +using uint = unsigned int; #define INVALID_INDEX 4294967295 //max uint #endif diff --git a/src/basics/Core/Input/ConfigData/ConfigData.h b/src/basics/Core/Input/ConfigData/ConfigData.h index acd5ee053b6f1972e7e36751c15387e16d976688..16f789ef9f0104ce12caa630bc00181d80f06fa6 100644 --- a/src/basics/Core/Input/ConfigData/ConfigData.h +++ b/src/basics/Core/Input/ConfigData/ConfigData.h @@ -9,6 +9,8 @@ class ConfigData { public: + virtual ~ConfigData() = default; + virtual real getViscosity() = 0; virtual uint getNumberOfDevices() = 0; virtual std::vector<uint> getDevices() = 0; diff --git a/src/basics/Core/Input/ConfigData/ConfigDataImp.cpp b/src/basics/Core/Input/ConfigData/ConfigDataImp.cpp index 48836eaa43ceb17748f7f105cdb24f509d665534..35652c2eb74a7d2c91123ab83c04753e648828d7 100644 --- a/src/basics/Core/Input/ConfigData/ConfigDataImp.cpp +++ b/src/basics/Core/Input/ConfigData/ConfigDataImp.cpp @@ -87,10 +87,6 @@ ConfigDataImp::ConfigDataImp() } -ConfigDataImp::~ConfigDataImp(void) -{ -} - real ConfigDataImp::getViscosity() { return this->viscosity; diff --git a/src/basics/Core/Input/ConfigData/ConfigDataImp.h b/src/basics/Core/Input/ConfigData/ConfigDataImp.h index bcd518056d282b89475ae8471207e5f86fc07bc4..94d503b78c25eb980b4f1972cfb99fc159fb3dd5 100644 --- a/src/basics/Core/Input/ConfigData/ConfigDataImp.h +++ b/src/basics/Core/Input/ConfigData/ConfigDataImp.h @@ -10,93 +10,92 @@ class ConfigDataImp : public ConfigData { public: static std::shared_ptr<ConfigDataImp> getNewInstance(); - virtual ~ConfigDataImp(void); - real getViscosity(); - uint getNumberOfDevices(); - std::vector<uint> getDevices(); - std::string getOutputPath(); - std::string getPrefix(); - std::string getGridPath(); - bool getPrintOutputFiles(); - bool getGeometryValues(); - bool getCalc2ndOrderMoments(); - bool getCalc3rdOrderMoments(); - bool getCalcHighOrderMoments(); - bool getReadGeo(); - bool getCalcMedian(); - bool getCalcDragLift(); - bool getCalcCp(); - bool getWriteVeloASCIIfiles(); - bool getCalcPlaneConc(); - bool getConcFile(); - bool getStreetVelocityFile(); - bool getUseMeasurePoints(); - bool getUseWale(); - bool getUseInitNeq(); - bool getSimulatePorousMedia(); - uint getD3Qxx(); - uint getTEnd(); - uint getTOut(); - uint getTStartOut(); - uint getTimeCalcMedStart(); - uint getTimeCalcMedEnd(); - uint getPressInID(); - uint getPressOutID(); - uint getPressInZ(); - uint getPressOutZ(); - bool getDiffOn(); - uint getDiffMod(); - real getDiffusivity(); - real getTemperatureInit(); - real getTemperatureBC(); - real getVelocity(); - real getViscosityRatio(); - real getVelocityRatio(); - real getDensityRatio(); - real getPressRatio(); - real getRealX(); - real getRealY(); - real getFactorPressBC(); - std::string getGeometryFileC(); - std::string getGeometryFileM(); - std::string getGeometryFileF(); - uint getClockCycleForMP(); - uint getTimestepForMP(); - real getForcingX(); - real getForcingY(); - real getForcingZ(); - real getQuadricLimiterP(); - real getQuadricLimiterM(); - real getQuadricLimiterD(); - bool getCalcParticles(); - int getParticleBasicLevel(); - int getParticleInitLevel(); - int getNumberOfParticles(); - real getStartXHotWall(); - real getEndXHotWall(); - std::vector<std::string> getPossNeighborFilesX(); - std::vector<std::string> getPossNeighborFilesY(); - std::vector<std::string> getPossNeighborFilesZ(); + real getViscosity() override; + uint getNumberOfDevices() override; + std::vector<uint> getDevices() override; + std::string getOutputPath() override; + std::string getPrefix() override; + std::string getGridPath() override; + bool getPrintOutputFiles() override; + bool getGeometryValues() override; + bool getCalc2ndOrderMoments() override; + bool getCalc3rdOrderMoments() override; + bool getCalcHighOrderMoments() override; + bool getReadGeo() override; + bool getCalcMedian() override; + bool getCalcDragLift() override; + bool getCalcCp() override; + bool getWriteVeloASCIIfiles() override; + bool getCalcPlaneConc() override; + bool getConcFile() override; + bool getStreetVelocityFile() override; + bool getUseMeasurePoints() override; + bool getUseWale() override; + bool getUseInitNeq() override; + bool getSimulatePorousMedia() override; + uint getD3Qxx() override; + uint getTEnd() override; + uint getTOut() override; + uint getTStartOut() override; + uint getTimeCalcMedStart() override; + uint getTimeCalcMedEnd() override; + uint getPressInID() override; + uint getPressOutID() override; + uint getPressInZ() override; + uint getPressOutZ() override; + bool getDiffOn() override; + uint getDiffMod() override; + real getDiffusivity() override; + real getTemperatureInit() override; + real getTemperatureBC() override; + real getVelocity() override; + real getViscosityRatio() override; + real getVelocityRatio() override; + real getDensityRatio() override; + real getPressRatio() override; + real getRealX() override; + real getRealY() override; + real getFactorPressBC() override; + std::string getGeometryFileC() override; + std::string getGeometryFileM() override; + std::string getGeometryFileF() override; + uint getClockCycleForMP() override; + uint getTimestepForMP() override; + real getForcingX() override; + real getForcingY() override; + real getForcingZ() override; + real getQuadricLimiterP() override; + real getQuadricLimiterM() override; + real getQuadricLimiterD() override; + bool getCalcParticles() override; + int getParticleBasicLevel() override; + int getParticleInitLevel() override; + int getNumberOfParticles() override; + real getStartXHotWall() override; + real getEndXHotWall() override; + std::vector<std::string> getPossNeighborFilesX() override; + std::vector<std::string> getPossNeighborFilesY() override; + std::vector<std::string> getPossNeighborFilesZ() override; //std::vector<std::string> getPossNeighborFilesX(); //std::vector<std::string> getPossNeighborFilesY(); //std::vector<std::string> getPossNeighborFilesZ(); - int getTimeDoCheckPoint(); - int getTimeDoRestart(); - bool getDoCheckPoint(); - bool getDoRestart(); - uint getMaxLevel(); - std::vector<int> getGridX(); - std::vector<int> getGridY(); - std::vector<int> getGridZ(); - std::vector<int> getDistX(); - std::vector<int> getDistY(); - std::vector<int> getDistZ(); - std::vector<bool> getNeedInterface(); - std::string getMainKernel(); - bool getMultiKernelOn(); - std::vector<int> getMultiKernelLevel(); - std::vector<std::string> getMultiKernelName(); + int getTimeDoCheckPoint() override; + int getTimeDoRestart() override; + bool getDoCheckPoint() override; + bool getDoRestart() override; + uint getMaxLevel() override; + std::vector<int> getGridX() override; + std::vector<int> getGridY() override; + std::vector<int> getGridZ() override; + std::vector<int> getDistX() override; + std::vector<int> getDistY() override; + std::vector<int> getDistZ() override; + std::vector<bool> getNeedInterface() override; + std::string getMainKernel() override; + bool getMultiKernelOn() override; + std::vector<int> getMultiKernelLevel() override; + std::vector<std::string> getMultiKernelName() override; void setViscosity(real viscosity); void setNumberOfDevices(uint numberOfDevices); @@ -185,90 +184,90 @@ public: void setMultiKernelLevel(std::vector<int> multiKernelLevel); void setMultiKernelName(std::vector<std::string> multiKernelName); - bool isViscosityInConfigFile(); - bool isNumberOfDevicesInConfigFile(); - bool isDevicesInConfigFile(); - bool isOutputPathInConfigFile(); - bool isPrefixInConfigFile(); - bool isGridPathInConfigFile(); - bool isPrintOutputFilesInConfigFile(); - bool isGeometryValuesInConfigFile(); - bool isCalc2ndOrderMomentsInConfigFile(); - bool isCalc3rdOrderMomentsInConfigFile(); - bool isCalcHighOrderMomentsInConfigFile(); - bool isReadGeoInConfigFile(); - bool isCalcMedianInConfigFile(); - bool isCalcDragLiftInConfigFile(); - bool isCalcCpInConfigFile(); - bool isWriteVeloASCIIfilesInConfigFile(); - bool isCalcPlaneConcInConfigFile(); - bool isConcFileInConfigFile(); - bool isStreetVelocityFileInConfigFile(); - bool isUseMeasurePointsInConfigFile(); - bool isUseWaleInConfigFile(); - bool isUseInitNeqInConfigFile(); - bool isSimulatePorousMediaInConfigFile(); - bool isD3QxxInConfigFile(); - bool isTEndInConfigFile(); - bool isTOutInConfigFile(); - bool isTStartOutInConfigFile(); - bool isTimeCalcMedStartInConfigFile(); - bool isTimeCalcMedEndInConfigFile(); - bool isPressInIDInConfigFile(); - bool isPressOutIDInConfigFile(); - bool isPressInZInConfigFile(); - bool isPressOutZInConfigFile(); - bool isDiffOnInConfigFile(); - bool isDiffModInConfigFile(); - bool isDiffusivityInConfigFile(); - bool isTemperatureInitInConfigFile(); - bool isTemperatureBCInConfigFile(); + bool isViscosityInConfigFile() override; + bool isNumberOfDevicesInConfigFile() override; + bool isDevicesInConfigFile() override; + bool isOutputPathInConfigFile() override; + bool isPrefixInConfigFile() override; + bool isGridPathInConfigFile() override; + bool isPrintOutputFilesInConfigFile() override; + bool isGeometryValuesInConfigFile() override; + bool isCalc2ndOrderMomentsInConfigFile() override; + bool isCalc3rdOrderMomentsInConfigFile() override; + bool isCalcHighOrderMomentsInConfigFile() override; + bool isReadGeoInConfigFile() override; + bool isCalcMedianInConfigFile() override; + bool isCalcDragLiftInConfigFile() override; + bool isCalcCpInConfigFile() override; + bool isWriteVeloASCIIfilesInConfigFile() override; + bool isCalcPlaneConcInConfigFile() override; + bool isConcFileInConfigFile() override; + bool isStreetVelocityFileInConfigFile() override; + bool isUseMeasurePointsInConfigFile() override; + bool isUseWaleInConfigFile() override; + bool isUseInitNeqInConfigFile() override; + bool isSimulatePorousMediaInConfigFile() override; + bool isD3QxxInConfigFile() override; + bool isTEndInConfigFile() override; + bool isTOutInConfigFile() override; + bool isTStartOutInConfigFile() override; + bool isTimeCalcMedStartInConfigFile() override; + bool isTimeCalcMedEndInConfigFile() override; + bool isPressInIDInConfigFile() override; + bool isPressOutIDInConfigFile() override; + bool isPressInZInConfigFile() override; + bool isPressOutZInConfigFile() override; + bool isDiffOnInConfigFile() override; + bool isDiffModInConfigFile() override; + bool isDiffusivityInConfigFile() override; + bool isTemperatureInitInConfigFile() override; + bool isTemperatureBCInConfigFile() override; //bool isViscosityInConfigFile(); - bool isVelocityInConfigFile(); - bool isViscosityRatioInConfigFile(); - bool isVelocityRatioInConfigFile(); - bool isDensityRatioInConfigFile(); - bool isPressRatioInConfigFile(); - bool isRealXInConfigFile(); - bool isRealYInConfigFile(); - bool isFactorPressBCInConfigFile(); - bool isGeometryFileCInConfigFile(); - bool isGeometryFileMInConfigFile(); - bool isGeometryFileFInConfigFile(); - bool isClockCycleForMPInConfigFile(); - bool isTimestepForMPInConfigFile(); - bool isForcingXInConfigFile(); - bool isForcingYInConfigFile(); - bool isForcingZInConfigFile(); - bool isQuadricLimiterPInConfigFile(); - bool isQuadricLimiterMInConfigFile(); - bool isQuadricLimiterDInConfigFile(); - bool isCalcParticlesInConfigFile(); - bool isParticleBasicLevelInConfigFile(); - bool isParticleInitLevelInConfigFile(); - bool isNumberOfParticlesInConfigFile(); - bool isNeighborWSBInConfigFile(); - bool isStartXHotWallInConfigFile(); - bool isEndXHotWallInConfigFile(); - bool isPossNeighborFilesXInConfigFile(); - bool isPossNeighborFilesYInConfigFile(); - bool isPossNeighborFilesZInConfigFile(); - bool isTimeDoCheckPointInConfigFile(); - bool isTimeDoRestartInConfigFile(); - bool isDoCheckPointInConfigFile(); - bool isDoRestartInConfigFile(); - bool isMaxLevelInConfigFile(); - bool isGridXInConfigFile(); - bool isGridYInConfigFile(); - bool isGridZInConfigFile(); - bool isDistXInConfigFile(); - bool isDistYInConfigFile(); - bool isDistZInConfigFile(); - bool isNeedInterfaceInConfigFile(); - bool isMainKernelInConfigFile(); - bool isMultiKernelOnInConfigFile(); - bool isMultiKernelLevelInConfigFile(); - bool isMultiKernelNameInConfigFile(); + bool isVelocityInConfigFile() override; + bool isViscosityRatioInConfigFile() override; + bool isVelocityRatioInConfigFile() override; + bool isDensityRatioInConfigFile() override; + bool isPressRatioInConfigFile() override; + bool isRealXInConfigFile() override; + bool isRealYInConfigFile() override; + bool isFactorPressBCInConfigFile() override; + bool isGeometryFileCInConfigFile() override; + bool isGeometryFileMInConfigFile() override; + bool isGeometryFileFInConfigFile() override; + bool isClockCycleForMPInConfigFile() override; + bool isTimestepForMPInConfigFile() override; + bool isForcingXInConfigFile() override; + bool isForcingYInConfigFile() override; + bool isForcingZInConfigFile() override; + bool isQuadricLimiterPInConfigFile() override; + bool isQuadricLimiterMInConfigFile() override; + bool isQuadricLimiterDInConfigFile() override; + bool isCalcParticlesInConfigFile() override; + bool isParticleBasicLevelInConfigFile() override; + bool isParticleInitLevelInConfigFile() override; + bool isNumberOfParticlesInConfigFile() override; + bool isNeighborWSBInConfigFile() override; + bool isStartXHotWallInConfigFile() override; + bool isEndXHotWallInConfigFile() override; + bool isPossNeighborFilesXInConfigFile() override; + bool isPossNeighborFilesYInConfigFile() override; + bool isPossNeighborFilesZInConfigFile() override; + bool isTimeDoCheckPointInConfigFile() override; + bool isTimeDoRestartInConfigFile() override; + bool isDoCheckPointInConfigFile() override; + bool isDoRestartInConfigFile() override; + bool isMaxLevelInConfigFile() override; + bool isGridXInConfigFile() override; + bool isGridYInConfigFile() override; + bool isGridZInConfigFile() override; + bool isDistXInConfigFile() override; + bool isDistYInConfigFile() override; + bool isDistZInConfigFile() override; + bool isNeedInterfaceInConfigFile() override; + bool isMainKernelInConfigFile() override; + bool isMultiKernelOnInConfigFile() override; + bool isMultiKernelLevelInConfigFile() override; + bool isMultiKernelNameInConfigFile() override; private: diff --git a/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.cpp b/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.cpp index 1053a7f5fcb2feb6280ebdbe563bd1a9c7196424..4bdf8669b1ed481e64d1059d1479f05cae7e164d 100644 --- a/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.cpp +++ b/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.cpp @@ -13,14 +13,10 @@ BASICS_EXPORT std::shared_ptr<ConfigFileReader> ConfigFileReader::getNewInstance } ConfigFileReader::ConfigFileReader() -{ - -} += default; BASICS_EXPORT ConfigFileReader::~ConfigFileReader() -{ - -} += default; BASICS_EXPORT std::shared_ptr<ConfigData> ConfigFileReader::readConfigFile(const std::string &filePath) const { diff --git a/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.h b/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.h index b33e0935ba1090ca8c243772a1d9a4fefd2e54d6..6dd241967652c9246640458e4fd1283766c32701 100644 --- a/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.h +++ b/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.h @@ -11,7 +11,7 @@ class ConfigFileReader { public: BASICS_EXPORT static std::shared_ptr<ConfigFileReader> getNewInstance(); - BASICS_EXPORT virtual ~ConfigFileReader(void); + BASICS_EXPORT virtual ~ConfigFileReader(); BASICS_EXPORT std::shared_ptr<ConfigData> readConfigFile(const std::string &filePath) const; diff --git a/src/basics/Core/Input/ConfigInput/ConfigInput.cpp b/src/basics/Core/Input/ConfigInput/ConfigInput.cpp index ce8ea0401d1baf6a44fa174022576eaa7df59149..d894bcc28bd179e0c63b0f2ddf26adc9c070de36 100644 --- a/src/basics/Core/Input/ConfigInput/ConfigInput.cpp +++ b/src/basics/Core/Input/ConfigInput/ConfigInput.cpp @@ -1,5 +1,5 @@ #include "ConfigInput.h" -#include <errno.h> +#include <cerrno> #include <algorithm> #include <sstream> #include <iostream> @@ -37,9 +37,7 @@ namespace input } ConfigInput::~ConfigInput() - { - - } + = default; bool ConfigInput::hasValue(const std::string &key) const { @@ -67,7 +65,7 @@ namespace input void ConfigInput::makeLower(std::string &value) const { - for (unsigned i = 0; i < value.size(); i++) + for (size_t i = 0; i < value.size(); i++) value[i] = tolower(value[i]); } diff --git a/src/basics/Core/Input/ConfigInput/ConfigInput.h b/src/basics/Core/Input/ConfigInput/ConfigInput.h index 2ec97c14abe91e49a8d4945b50157c7d6b2cf993..d01e1b8128366ad5bd4287937b8f7c5577237528 100644 --- a/src/basics/Core/Input/ConfigInput/ConfigInput.h +++ b/src/basics/Core/Input/ConfigInput/ConfigInput.h @@ -16,10 +16,10 @@ namespace input { public: BASICS_EXPORT ConfigInput(std::istream &stream); - BASICS_EXPORT virtual ~ConfigInput(void); + BASICS_EXPORT ~ConfigInput() override; - BASICS_EXPORT bool hasValue(const std::string &key) const; - BASICS_EXPORT std::string getValue(const std::string &key); + BASICS_EXPORT bool hasValue(const std::string &key) const override; + BASICS_EXPORT std::string getValue(const std::string &key) override; protected: virtual void setTokenValuePair(); @@ -41,7 +41,7 @@ namespace input protected: std::istream &stream; - typedef std::pair <std::string, std::string> String_Pair; + using String_Pair = std::pair <std::string, std::string>; std::map<std::string, std::string> configEntries; }; } diff --git a/src/basics/Core/Input/Input.cpp b/src/basics/Core/Input/Input.cpp index f5b3798e070cf60e024484efb2c1ef91978b26b1..4d2aee7de00d2e74727246f3720616a653aabc81 100644 --- a/src/basics/Core/Input/Input.cpp +++ b/src/basics/Core/Input/Input.cpp @@ -1,5 +1,7 @@ #include "Input.h" +#include <memory> + #ifdef BUILD_JSONCPP #include "JsonInput/JsonInput.h" #endif @@ -9,16 +11,14 @@ namespace input { - std::unique_ptr<input::Input> Input::makeInput(std::istream &stream, const std::string &inputType) + std::unique_ptr<input::Input> Input::makeInput(std::istream &stream, const std::string & /*inputType*/) { #ifdef BUILD_JSONCPP if(inputType == "json") return std::unique_ptr<Input>(new JsonInput(stream)); #endif - - // changed by St. Lenz: make_unique<...> is C++ 14 standard! - //return std::make_unique<ConfigInput>(stream); - return std::unique_ptr<ConfigInput>(new ConfigInput(stream)); + + return std::make_unique<ConfigInput>(stream); } } diff --git a/src/basics/Core/Logger/Logger.cpp b/src/basics/Core/Logger/Logger.cpp index 95c577bfd1f3d1a42fdeaa9650e4bbe51f8cf098..f7a9b2a1ec2ceb788840d918bbe08fff1e757795 100644 --- a/src/basics/Core/Logger/Logger.cpp +++ b/src/basics/Core/Logger/Logger.cpp @@ -23,9 +23,7 @@ namespace logging { } logging::Logger::~Logger() - { - - } + = default; void Logger::addStreamToList(std::ostream* stream) { diff --git a/src/basics/Core/Logger/implementations/LoggerImp.cpp b/src/basics/Core/Logger/implementations/LoggerImp.cpp index b06523afbcee1fc26b8008a7b08ebdf82d68b579..48ad23a3082539706fa70b5d4ae895b35b0a7782 100644 --- a/src/basics/Core/Logger/implementations/LoggerImp.cpp +++ b/src/basics/Core/Logger/implementations/LoggerImp.cpp @@ -17,9 +17,7 @@ logging::LoggerImp::LoggerImp(std::ostream* stream) : logging::Logger(stream) } logging::LoggerImp::~LoggerImp() -{ - -} += default; logging::Logger& logging::LoggerImp::operator<<(const Level &level) { diff --git a/src/basics/Core/Logger/implementations/LoggerImp.h b/src/basics/Core/Logger/implementations/LoggerImp.h index 397c9095fe22f3c018352a5c92b612949b77b36f..851f294640d887be8d4ac32d17130c6713d13eac 100644 --- a/src/basics/Core/Logger/implementations/LoggerImp.h +++ b/src/basics/Core/Logger/implementations/LoggerImp.h @@ -16,7 +16,7 @@ namespace logging { public: LoggerImp(std::ostream* stream); - virtual ~LoggerImp(); + ~LoggerImp() override; Logger& operator<<(const Level &level) override; Logger& operator<<(const std::string &message) override; diff --git a/src/basics/Core/StringUtilities/StringUtil.cpp b/src/basics/Core/StringUtilities/StringUtil.cpp index 42e8669c3e907c6f149b9bd4418a12fe73e7d211..8fd31c718b9426086ffa3866083f7f4949b1efdc 100644 --- a/src/basics/Core/StringUtilities/StringUtil.cpp +++ b/src/basics/Core/StringUtilities/StringUtil.cpp @@ -74,7 +74,7 @@ double StringUtil::toDouble(const std::string &input) bool StringUtil::toBool(const std::string &input) { - bool b = 0; + bool b {false}; std::string trimmedInput = trim(input); if (!toBool(b, trimmedInput, std::boolalpha)) throw "StringUtils::toBool() - Not a bool: " + trimmedInput; @@ -143,7 +143,7 @@ std::vector<bool> StringUtil::toBoolVector(const std::string & input) inputEntries = split(input, " \n\t"); for(std::string entry : inputEntries) { - bool b = 0; + bool b {false}; std::string trimmedInput = trim(input); if (toBool(b, trimmedInput, std::noboolalpha)) v.push_back(b); diff --git a/src/basics/Core/StringUtilities/StringUtil.h b/src/basics/Core/StringUtilities/StringUtil.h index e860418cb826b800701c1ede60a378fa07f8cf92..63ee9e965737e6fdfdb91d17bd6b158c76634453 100644 --- a/src/basics/Core/StringUtilities/StringUtil.h +++ b/src/basics/Core/StringUtilities/StringUtil.h @@ -37,9 +37,9 @@ public: static BASICS_EXPORT bool endsWith(const std::string &input, const std::string &end); private: - StringUtil() {}; - StringUtil(const StringUtil&) {}; - virtual ~StringUtil() {}; + StringUtil() = default;; + StringUtil(const StringUtil&) = default;; + virtual ~StringUtil() = default;; static bool toBool(bool &t, const std::string &input, std::ios_base &(*f)(std::ios_base&)); }; diff --git a/src/basics/Core/Timer/TimerImp.h b/src/basics/Core/Timer/TimerImp.h index 9cda82fb059e6a1dcb719aba8a4a972c4b363e9c..9759b9daac566fe23c04235105357ea9770457a7 100644 --- a/src/basics/Core/Timer/TimerImp.h +++ b/src/basics/Core/Timer/TimerImp.h @@ -12,7 +12,7 @@ class BASICS_EXPORT TimerImp : public Timer { public: - typedef std::chrono::high_resolution_clock::time_point timePoint; + using timePoint = std::chrono::high_resolution_clock::time_point; void start() override; void end() override; diff --git a/src/basics/Core/VectorTypes.cpp b/src/basics/Core/VectorTypes.cpp index 5abd02cfe84c5707a6ad6cc7fdfd71924dc4d0fc..59c3d80c8cbfae3f177484a8378edf50bfdbb86e 100644 --- a/src/basics/Core/VectorTypes.cpp +++ b/src/basics/Core/VectorTypes.cpp @@ -2,19 +2,19 @@ //Vec3 Vec3::operator+( Vec3& left, Vec3& right ){ Vec3 Vec3::operator+( Vec3& right ){ - return Vec3( this->x + right.x, + return { this->x + right.x, this->y + right.y, - this->z + right.z ); + this->z + right.z }; } Vec3 Vec3::operator-( Vec3& right ){ - return Vec3( this->x - right.x, + return { this->x - right.x, this->y - right.y, - this->z - right.z ); + this->z - right.z }; } Vec3 operator*( real scalar, Vec3& vec ){ - return Vec3( scalar * vec.x, + return { scalar * vec.x, scalar * vec.y, - scalar * vec.z ); + scalar * vec.z }; } diff --git a/src/basics/Core/VectorTypes.h b/src/basics/Core/VectorTypes.h index dd4b26779c594ca4bdb9a0f57268ce879026a3fb..d59771bf9934d59431ed3c3f408defc7950c02cd 100644 --- a/src/basics/Core/VectorTypes.h +++ b/src/basics/Core/VectorTypes.h @@ -16,10 +16,10 @@ #include "RealConstants.h" struct BASICS_EXPORT Vec3 { - real x, y, z; + real x{c0o1}, y{c0o1}, z{c0o1}; __host__ __device__ Vec3(real x, real y, real z) : x(x), y(y), z(z) {} - __host__ __device__ Vec3() : x(c0o1), y(c0o1), z(c0o1) {} + __host__ __device__ Vec3() = default; __host__ __device__ real length() { return std::sqrt( x*x + y*y + z*z ); diff --git a/src/basics/basics/container/CbArray2D.h b/src/basics/basics/container/CbArray2D.h index c4c115c29321073b4f56dccf27ebd53507c93b20..107bc386f964b2276ccb0ece2bf022d139b757c6 100644 --- a/src/basics/basics/container/CbArray2D.h +++ b/src/basics/basics/container/CbArray2D.h @@ -53,13 +53,13 @@ class IndexerX2X1 { public: - typedef int size_type; + using size_type = int; public: - inline std::size_t getIndex(const size_type& x1, const size_type& x2, const size_type& nx1, const size_type& nx2) const + inline std::size_t getIndex(const size_type& x1, const size_type& x2, const size_type& nx1, const size_type& /*nx2*/) const { return nx1* x2 + x1; } - inline std::size_t getStartIndexOfSortedArray(const size_type& x1, const size_type& x2, const size_type& nx1, const size_type& nx2) const + inline std::size_t getStartIndexOfSortedArray(const size_type& /*x1*/, const size_type& x2, const size_type& nx1, const size_type& /*nx2*/) const { return nx1* x2; } @@ -74,13 +74,13 @@ public: class IndexerX1X2 { public: - typedef int size_type; + using size_type = int; public: - inline std::size_t getIndex(const size_type& x1, const size_type& x2, const size_type& nx1,const size_type& nx2) const + inline std::size_t getIndex(const size_type& x1, const size_type& x2, const size_type& /*nx1*/,const size_type& nx2) const { return nx2* x1+ x2; } - inline std::size_t getStartIndexOfSortedArray(const size_type& x1, const size_type& x2, const size_type& nx1, const size_type& nx2) const + inline std::size_t getStartIndexOfSortedArray(const size_type& x1, const size_type& /*x2*/, const size_type& /*nx1*/, const size_type& nx2) const { return nx2* x1; } @@ -104,13 +104,13 @@ template<typename T, typename IndexClass = IndexerX2X1> class CbArray2D { public: - typedef T value_type; - typedef IndexClass indexer_type; - typedef typename IndexClass::size_type size_type; - typedef typename std::vector< value_type >::reference reference; - typedef typename std::vector< value_type >::const_reference const_reference; - typedef typename std::vector< value_type >::pointer pointer; - typedef typename std::vector< value_type >::const_pointer const_pointer; + using value_type = T; + using indexer_type = IndexClass; + using size_type = typename IndexClass::size_type; + using reference = typename std::vector<value_type>::reference; + using const_reference = typename std::vector<value_type>::const_reference; + using pointer = typename std::vector<value_type>::pointer; + using const_pointer = typename std::vector<value_type>::const_pointer; private: template< typename value_type2, typename IndexClass2 > friend class CbArray2D; @@ -163,10 +163,7 @@ public: this->data[i] = src.data[i]; } /*=======================================================================*/ - virtual ~CbArray2D() - { - //vector wird automatisch zerstoert - } + virtual ~CbArray2D() = default; /*=======================================================================*/ CbArray2D& operator= (const CbArray2D& rhs) { diff --git a/src/basics/basics/container/CbArray3D.h b/src/basics/basics/container/CbArray3D.h index f8ad3e8c9e114729bcaa1e6bfa67fa2c9cceba0d..103cc6110574328bfc673843d78c02563fdd5b66 100644 --- a/src/basics/basics/container/CbArray3D.h +++ b/src/basics/basics/container/CbArray3D.h @@ -56,15 +56,15 @@ class IndexerX3X2X1// FunctorX1SortedForX1X2Plane { public: - typedef size_t size_type; + using size_type = size_t; public: inline std::size_t getIndex( const size_type& x1 , const size_type& x2 , const size_type& x3 - , const size_type& nx1, const size_type& nx2, const size_type& nx3 ) const + , const size_type& nx1, const size_type& nx2, const size_type& /*nx3*/ ) const { return nx1 * ( nx2 * x3 + x2) + x1 ; } - inline std::size_t getStartIndexOfSortedArray( const size_type& x1 , const size_type& x2 , const size_type& x3 - , const size_type& nx1, const size_type& nx2, const size_type& nx3 ) const + inline std::size_t getStartIndexOfSortedArray( const size_type& /*x1*/ , const size_type& x2 , const size_type& x3 + , const size_type& nx1, const size_type& nx2, const size_type& /*nx3*/ ) const { return nx1 * ( nx2 * x3 + x2); } @@ -80,15 +80,15 @@ public: class IndexerX1X2X3 //FunctorX3SortedForX3X2Plane { public: - typedef size_t size_type; + using size_type = size_t; public: inline std::size_t getIndex( const size_type& x1 , const size_type& x2 , const size_type& x3 - , const size_type& nx1, const size_type& nx2, const size_type& nx3 ) const + , const size_type& /*nx1*/, const size_type& nx2, const size_type& nx3 ) const { return nx3 * ( nx2 * x1 + x2) + x3 ; } - inline std::size_t getStartIndexOfSortedArray( const size_type& x1 , const size_type& x2 , const size_type& x3 - , const size_type& nx1, const size_type& nx2, const size_type& nx3 ) const + inline std::size_t getStartIndexOfSortedArray( const size_type& x1 , const size_type& x2 , const size_type& /*x3*/ + , const size_type& /*nx1*/, const size_type& nx2, const size_type& nx3 ) const { return nx3 * ( nx2 * x1 + x2); } @@ -104,15 +104,15 @@ public: class IndexerX2X1X3 { public: - typedef size_t size_type; + using size_type = size_t; public: inline std::size_t getIndex( const size_type& x1 , const size_type& x2 , const size_type& x3 - , const size_type& nx1, const size_type& nx2, const size_type& nx3 ) const + , const size_type& nx1, const size_type& /*nx2*/, const size_type& nx3 ) const { return nx3* ( nx1 * x2 + x1) + x3 ; } - inline std::size_t getStartIndexOfSortedArray( const size_type& x1 , const size_type& x2 , const size_type& x3 - , const size_type& nx1, const size_type& nx2, const size_type& nx3 ) const + inline std::size_t getStartIndexOfSortedArray( const size_type& x1 , const size_type& x2 , const size_type& /*x3*/ + , const size_type& nx1, const size_type& /*nx2*/, const size_type& nx3 ) const { return nx3* ( nx1 * x2 + x1); } @@ -136,15 +136,15 @@ template<typename T, typename IndexClass = IndexerX3X2X1> class CbArray3D { public: - typedef SPtr< CbArray3D <T,IndexClass> > CbArray3DPtr; + using CbArray3DPtr = SPtr<CbArray3D<T, IndexClass> >; - typedef T value_type; - typedef IndexClass indexer_type; - typedef typename IndexClass::size_type size_type; - typedef typename std::vector< value_type >::reference reference; - typedef typename std::vector< value_type >::const_reference const_reference; - typedef typename std::vector< value_type >::pointer pointer; - typedef typename std::vector< value_type >::const_pointer const_pointer; + using value_type = T; + using indexer_type = IndexClass; + using size_type = typename IndexClass::size_type; + using reference = typename std::vector<value_type>::reference; + using const_reference = typename std::vector<value_type>::const_reference; + using pointer = typename std::vector<value_type>::pointer; + using const_pointer = typename std::vector<value_type>::const_pointer; private: template< typename value_type2, typename IndexClass2 > friend class CbArray3D; @@ -199,10 +199,7 @@ public: this->data[i] = src.data[i]; } /*=======================================================================*/ - virtual ~CbArray3D() - { - //vector wird automatisch zerstoert - } + virtual ~CbArray3D() = default; /*=======================================================================*/ CbArray3D& operator= (const CbArray3D& rhs) { diff --git a/src/basics/basics/container/CbArray4D.h b/src/basics/basics/container/CbArray4D.h index 21579b0da97abf5a7bb062d17f4cc03b3fefaaef..16c5542323de11ab72c3598e5b6fa03ed475e18e 100644 --- a/src/basics/basics/container/CbArray4D.h +++ b/src/basics/basics/container/CbArray4D.h @@ -56,15 +56,15 @@ class IndexerX1X2X3X4 { public: - typedef int size_type; + using size_type = int; public: inline std::size_t getIndex( const size_type& x1 , const size_type& x2 , const size_type& x3 , const size_type& x4 - , const size_type& nx1, const size_type& nx2, const size_type& nx3, const size_type& nx4 ) const + , const size_type& /*nx1*/, const size_type& nx2, const size_type& nx3, const size_type& nx4 ) const { return nx4*(nx3*(nx2*x1+ x2)+x3)+x4 ; } - inline std::size_t getStartIndexOfSortedArray( const size_type& x1 , const size_type& x2 , const size_type& x3 , const size_type& x4 - , const size_type& nx1, const size_type& nx2, const size_type& nx3, const size_type& nx4 ) const + inline std::size_t getStartIndexOfSortedArray( const size_type& x1 , const size_type& x2 , const size_type& x3 , const size_type& /*x4*/ + , const size_type& /*nx1*/, const size_type& nx2, const size_type& nx3, const size_type& nx4 ) const { return nx4*(nx3*(nx2*x1+ x2)+x3); } @@ -82,15 +82,15 @@ public: class IndexerX4X3X2X1 { public: - typedef size_t size_type; + using size_type = size_t; public: inline std::size_t getIndex( const size_type& x1 , const size_type& x2 , const size_type& x3 , const size_type& x4 - , const size_type& nx1, const size_type& nx2, const size_type& nx3, const size_type& nx4 ) const + , const size_type& nx1, const size_type& nx2, const size_type& nx3, const size_type& /*nx4*/ ) const { return nx1*(nx2*(nx3*x4+ x3)+x2)+x1; } - inline std::size_t getStartIndexOfSortedArray( const size_type& x1 , const size_type& x2 , const size_type& x3 , const size_type& x4 - , const size_type& nx1, const size_type& nx2, const size_type& nx3, const size_type& nx4 ) const + inline std::size_t getStartIndexOfSortedArray( const size_type& /*x1*/ , const size_type& x2 , const size_type& x3 , const size_type& x4 + , const size_type& nx1, const size_type& nx2, const size_type& nx3, const size_type& /*nx4*/ ) const { return nx1*(nx2*(nx3*x4+ x3)+x2); } @@ -110,15 +110,15 @@ template<typename T, typename IndexClass = IndexerX4X3X2X1> class CbArray4D { public: - typedef SPtr< CbArray4D <T,IndexClass> > CbArray4DPtr; + using CbArray4DPtr = SPtr<CbArray4D<T, IndexClass> >; - typedef T value_type; - typedef IndexClass indexer_type; - typedef typename IndexClass::size_type size_type; - typedef typename std::vector< value_type >::reference reference; - typedef typename std::vector< value_type >::const_reference const_reference; - typedef typename std::vector< value_type >::pointer pointer; - typedef typename std::vector< value_type >::const_pointer const_pointer; + using value_type = T; + using indexer_type = IndexClass; + using size_type = typename IndexClass::size_type; + using reference = typename std::vector<value_type>::reference; + using const_reference = typename std::vector<value_type>::const_reference; + using pointer = typename std::vector<value_type>::pointer; + using const_pointer = typename std::vector<value_type>::const_pointer; private: template< typename value_type2, typename IndexClass2 > friend class CbArray4D; @@ -175,10 +175,7 @@ public: this->data[i] = src.data[i]; } /*=======================================================================*/ - virtual ~CbArray4D() - { - //vector wird automatisch zerstoert - } + virtual ~CbArray4D()= default; /*=======================================================================*/ CbArray4D& operator= (const CbArray4D& rhs) { diff --git a/src/basics/basics/container/CbVector.h b/src/basics/basics/container/CbVector.h index d0fc6144d0762b58d823fa4abbecfbf7c61a7aa3..300b0212b4203bbd82a8505a7570bb519d8dfeed 100644 --- a/src/basics/basics/container/CbVector.h +++ b/src/basics/basics/container/CbVector.h @@ -63,26 +63,27 @@ template< typename T > class CbVector { public: - typedef T value_type; - typedef value_type* pointer; - typedef std::size_t size_type; + using value_type = T; + using pointer = value_type *; + using size_type = std::size_t; friend class CbVectorAllocator<value_type>; //um auf ptrData und dataSize zugreifen zu koennen! + CbVector<value_type>(const CbVector<value_type>& src) = delete; public: /*==========================================================*/ CbVector( CbVectorAllocator<value_type>* const& allocator = new CbVectorAllocatorStd<value_type> ) : ptrData(NULL) - , dataSize(0) - , allocator(allocator) + , + allocator(allocator) { this->allocator->alloc(*this,0,value_type()); } /*==========================================================*/ CbVector( const size_type size, CbVectorAllocator<value_type>* const& allocator = new CbVectorAllocatorStd<value_type>, const value_type& value=value_type() ) : ptrData(NULL) - , dataSize(0) - , allocator(allocator) + , + allocator(allocator) { this->allocator->alloc(*this,size,value); } @@ -99,7 +100,8 @@ public: /*=======================================================================*/ CbVector& operator= (const CbVector& src) { - if(this == &src) return *this; + if(this == &src) + return *this; //gespeicherte Datenelemente loeschen //Laenge anpassen @@ -205,9 +207,8 @@ public: private: value_type* ptrData; - size_type dataSize; + size_type dataSize{0}; CbVectorAllocator<value_type>* allocator; - CbVector<value_type>(const CbVector<value_type>& src); //CbVector<value_type>& operator=(const CbVector<value_type>& src); }; @@ -218,12 +219,12 @@ template< typename T > class CbVectorAllocator { public: - typedef typename CbVector<T>::value_type value_type; - typedef typename CbVector<value_type>::size_type size_type; + using value_type = typename CbVector<T>::value_type; + using size_type = typename CbVector<value_type>::size_type; public: - CbVectorAllocator() {} - virtual ~CbVectorAllocator() {} + CbVectorAllocator() = default; + virtual ~CbVectorAllocator() = default; virtual bool alloc(CbVector< value_type >& vec, const size_type& dataSize, const value_type& value=value_type()) = 0; virtual bool resize(CbVector< value_type >& vec, const size_type& dataSize, const value_type& value=value_type()) = 0; @@ -254,8 +255,8 @@ class CbVectorAllocatorStd : public CbVectorAllocator<T> { public: //typedefs wiederholen, da Basisklasse = template -> "Dependent-Base"-Problem - typedef typename CbVector<T>::value_type value_type; - typedef typename CbVector<value_type>::size_type size_type; + using value_type = typename CbVector<T>::value_type; + using size_type = typename CbVector<value_type>::size_type; public: CbVectorAllocatorStd() : CbVectorAllocator<value_type>() diff --git a/src/basics/basics/objects/ObObject.h b/src/basics/basics/objects/ObObject.h index 0675ae68ff99f7db380c3d99500268bf94698b2b..0b543dc18c2a260a7146a168155f33966d619638 100644 --- a/src/basics/basics/objects/ObObject.h +++ b/src/basics/basics/objects/ObObject.h @@ -43,14 +43,14 @@ public: ObObject() = default; ObObject(const std::string& name) : name(name) { } - virtual ~ObObject() = default; + ~ObObject() override = default; virtual ObObject* clone() = 0; virtual std::string getName() { return name; } void setName(std::string name) { this->name = name; } - virtual std::string toString() override = 0; + std::string toString() override = 0; private: diff --git a/src/basics/basics/utilities/UbComparators.h b/src/basics/basics/utilities/UbComparators.h index abde770000e220422f06bae6ba83640ef9c45f15..0e7d2cbeda4334e34630611f9bafa90d4e5ab7c0 100644 --- a/src/basics/basics/utilities/UbComparators.h +++ b/src/basics/basics/utilities/UbComparators.h @@ -45,8 +45,8 @@ namespace UbComparators template <typename T, typename C> struct MemberInfo<T C::*> { - typedef T type; - typedef C class_type; + using type = T; + using class_type = C; static T& apply( C& c, T C::* ptr ) { return c.*ptr; } static const T& apply( const C& c, T C::* ptr ) { return c.*ptr; } @@ -56,8 +56,8 @@ namespace UbComparators template <typename T, typename C> struct MemberInfo<T (C::*)()> { - typedef T type; - typedef C class_type; + using type = T; + using class_type = C; static T apply( C& c, T (C::*ptr)() ) { return (c.*ptr)(); } }; @@ -66,8 +66,8 @@ namespace UbComparators template <typename T, typename C> struct MemberInfo<T (C::*)() const> { - typedef T type; - typedef C class_type; + using type = T; + using class_type = C; static T apply( const C& c, T (C::*ptr)() const ) { return (c.*ptr)(); } }; @@ -77,7 +77,7 @@ namespace UbComparators class MemComp : private Comp // -> usage of Empty Base Class Optimization (EBCO) { - typedef typename MemberInfo<Ptr>::class_type C; + using C = typename MemberInfo<Ptr>::class_type; public: MemComp( Ptr ptr, Comp c = Comp() ) diff --git a/src/basics/basics/utilities/UbEqual.h b/src/basics/basics/utilities/UbEqual.h index e748bec34fd33b1f14fa694a43e4ffcd26fbfaed..c605c36efd8b793ba4585aad27fc9eb083185e26 100644 --- a/src/basics/basics/utilities/UbEqual.h +++ b/src/basics/basics/utilities/UbEqual.h @@ -56,54 +56,54 @@ template < typename T1, typename T2 > struct UbEqualTrait { - typedef T1 High; - typedef T1 Low; + using High = T1; + using Low = T1; }; //std-trait, fuer gleiche T template < typename T > struct UbEqualTrait< T, T > { - typedef T High; - typedef T Low; + using High = T; + using Low = T; }; //spezialisierung fuer diverse Typen-Tuples -template<> struct UbEqualTrait< short, int > { typedef int High; typedef short Low; }; -template<> struct UbEqualTrait< short, long > { typedef long High; typedef short Low; }; -template<> struct UbEqualTrait< short, float > { typedef float High; typedef short Low; }; -template<> struct UbEqualTrait< short, double > { typedef double High; typedef short Low; }; -template<> struct UbEqualTrait< short, long double > { typedef long double High; typedef short Low; }; - -template<> struct UbEqualTrait< int, short > { typedef int High; typedef short Low; }; -template<> struct UbEqualTrait< int, long > { typedef long High; typedef int Low; }; -template<> struct UbEqualTrait< int, float > { typedef float High; typedef int Low; }; -template<> struct UbEqualTrait< int, double > { typedef double High; typedef int Low; }; -template<> struct UbEqualTrait< int, long double > { typedef long double High; typedef int Low; }; - -template<> struct UbEqualTrait< long, short > { typedef long High; typedef short Low; }; -template<> struct UbEqualTrait< long, int > { typedef long High; typedef int Low; }; -template<> struct UbEqualTrait< long, float > { typedef float High; typedef long Low; }; -template<> struct UbEqualTrait< long, double > { typedef double High; typedef long Low; }; -template<> struct UbEqualTrait< long, long double > { typedef long double High; typedef long Low; }; - -template<> struct UbEqualTrait< float, short > { typedef float High; typedef short Low; }; -template<> struct UbEqualTrait< float, int > { typedef float High; typedef int Low; }; -template<> struct UbEqualTrait< float, long > { typedef float High; typedef long Low; }; -template<> struct UbEqualTrait< float, double > { typedef double High; typedef float Low; }; -template<> struct UbEqualTrait< float, long double > { typedef long double High; typedef float Low; }; - -template<> struct UbEqualTrait< double, short > { typedef double High; typedef short Low; }; -template<> struct UbEqualTrait< double, int > { typedef double High; typedef int Low; }; -template<> struct UbEqualTrait< double, long > { typedef double High; typedef long Low; }; -template<> struct UbEqualTrait< double, float > { typedef double High; typedef float Low; }; -template<> struct UbEqualTrait< double, long double > { typedef long double High; typedef double Low; }; - -template<> struct UbEqualTrait< long double, short > { typedef long double High; typedef short Low; }; -template<> struct UbEqualTrait< long double, int > { typedef long double High; typedef int Low; }; -template<> struct UbEqualTrait< long double, long > { typedef long double High; typedef long Low; }; -template<> struct UbEqualTrait< long double, float > { typedef long double High; typedef float Low; }; -template<> struct UbEqualTrait< long double, double > { typedef long double High; typedef double Low; }; +template<> struct UbEqualTrait< short, int > { using High = int; using Low = short; }; +template<> struct UbEqualTrait< short, long > { using High = long; using Low = short; }; +template<> struct UbEqualTrait< short, float > { using High = float; using Low = short; }; +template<> struct UbEqualTrait< short, double > { using High = double; using Low = short; }; +template<> struct UbEqualTrait< short, long double > { using High = long double; using Low = short; }; + +template<> struct UbEqualTrait< int, short > { using High = int; using Low = short; }; +template<> struct UbEqualTrait< int, long > { using High = long; using Low = int; }; +template<> struct UbEqualTrait< int, float > { using High = float; using Low = int; }; +template<> struct UbEqualTrait< int, double > { using High = double; using Low = int; }; +template<> struct UbEqualTrait< int, long double > { using High = long double; using Low = int; }; + +template<> struct UbEqualTrait< long, short > { using High = long; using Low = short; }; +template<> struct UbEqualTrait< long, int > { using High = long; using Low = int; }; +template<> struct UbEqualTrait< long, float > { using High = float; using Low = long; }; +template<> struct UbEqualTrait< long, double > { using High = double; using Low = long; }; +template<> struct UbEqualTrait< long, long double > { using High = long double; using Low = long; }; + +template<> struct UbEqualTrait< float, short > { using High = float; using Low = short; }; +template<> struct UbEqualTrait< float, int > { using High = float; using Low = int; }; +template<> struct UbEqualTrait< float, long > { using High = float; using Low = long; }; +template<> struct UbEqualTrait< float, double > { using High = double; using Low = float; }; +template<> struct UbEqualTrait< float, long double > { using High = long double; using Low = float; }; + +template<> struct UbEqualTrait< double, short > { using High = double; using Low = short; }; +template<> struct UbEqualTrait< double, int > { using High = double; using Low = int; }; +template<> struct UbEqualTrait< double, long > { using High = double; using Low = long; }; +template<> struct UbEqualTrait< double, float > { using High = double; using Low = float; }; +template<> struct UbEqualTrait< double, long double > { using High = long double; using Low = double; }; + +template<> struct UbEqualTrait< long double, short > { using High = long double; using Low = short; }; +template<> struct UbEqualTrait< long double, int > { using High = long double; using Low = int; }; +template<> struct UbEqualTrait< long double, long > { using High = long double; using Low = long; }; +template<> struct UbEqualTrait< long double, float > { using High = long double; using Low = float; }; +template<> struct UbEqualTrait< long double, double > { using High = long double; using Low = double; }; ////////////////////////////////////////////////////////////////////////// //fuer Allgmeine-Typen ( operator== ): @@ -127,7 +127,7 @@ inline bool specific_equal< long double, long double >(const long double& a, con template< typename T1, typename T2 > inline bool isUbEqual(const T1& a, const T2& b) { - typedef typename UbEqualTrait<T1,T2>::Low Low; + using Low = typename UbEqualTrait<T1, T2>::Low; return specific_equal< Low, Low >(static_cast< Low >( a ),static_cast< Low >( b )); }; diff --git a/src/basics/basics/utilities/UbException.h b/src/basics/basics/utilities/UbException.h index f999f8e13f4d37ac88ccfb72b2fcd2f581a0f3e1..7c625c33f73fb92ae4d3aa1a7a20c822276f16a0 100644 --- a/src/basics/basics/utilities/UbException.h +++ b/src/basics/basics/utilities/UbException.h @@ -80,7 +80,7 @@ class UbException : public std::runtime_error { public: - typedef UbTuple< std::string, int, std::string, std::string > ExceptionData; + using ExceptionData = UbTuple<std::string, int, std::string, std::string>; public: ////////////////////////////////////////////////////////////////////////// //constructors @@ -109,11 +109,11 @@ public: } ////////////////////////////////////////////////////////////////////////// //destructor - virtual ~UbException() throw() { } + ~UbException() noexcept override = default; ////////////////////////////////////////////////////////////////////////// //virtual public methods //returns exception-string - virtual const char* what() const throw() + const char* what() const noexcept override { exceptionString = this->toString(); return exceptionString.c_str(); //ansonsten ist das Verhalten anschliessend undefiniert! diff --git a/src/basics/basics/utilities/UbInfinity.h b/src/basics/basics/utilities/UbInfinity.h index 229a14b23c79fc3bc95650bb272209f3b7392d23..460c439ecd3141ab8bc1973934007acf58a42b50 100644 --- a/src/basics/basics/utilities/UbInfinity.h +++ b/src/basics/basics/utilities/UbInfinity.h @@ -69,7 +69,7 @@ class UbNegInfinity return UbLimits<T>::ninf() == rhs; } protected: - inline UbNegInfinity() {} + inline UbNegInfinity() = default; private: UbNegInfinity( const UbNegInfinity& ninf ); //copy constructor (private & undefined) diff --git a/src/basics/basics/utilities/UbLogger.h b/src/basics/basics/utilities/UbLogger.h index ccb3f1f87eb21e797f51ec1e8a6c9b48eecf942a..e30157cb56c8979f2b3fffb27129008626c66fba 100644 --- a/src/basics/basics/utilities/UbLogger.h +++ b/src/basics/basics/utilities/UbLogger.h @@ -110,7 +110,7 @@ template <typename OutputPolicy> class UbLogger { public: - typedef OutputPolicy output_policy; + using output_policy = OutputPolicy; public: UbLogger(); virtual ~UbLogger(); @@ -138,8 +138,7 @@ private: ////////////////////////////////////////////////////////////////////////// template <typename OutputPolicy> UbLogger<OutputPolicy>::UbLogger() -{ -} += default; /*==========================================================*/ template <typename OutputPolicy> std::ostringstream& UbLogger<OutputPolicy>::get(const LogLevel& level) diff --git a/src/basics/basics/utilities/UbMath.h b/src/basics/basics/utilities/UbMath.h index 659b66cc5d12dab588034e3f7997fe448f769a46..195dda3998120d85f506b8faf09409858a6a0a52 100644 --- a/src/basics/basics/utilities/UbMath.h +++ b/src/basics/basics/utilities/UbMath.h @@ -176,7 +176,7 @@ namespace UbMath template<typename T1, typename T2> inline bool equal(const T1& value, const T2& reference) { - typedef typename UbEqualTrait<T1,T2>::High High; + using High = typename UbEqualTrait<T1, T2>::High; return std::fabs(value-reference) < Epsilon<High>::val(); } /*=======================================================*/ @@ -189,28 +189,28 @@ namespace UbMath template<typename T1, typename T2> inline bool less(const T1& value, const T2& reference) { - typedef typename UbEqualTrait<T1,T2>::High High; + using High = typename UbEqualTrait<T1, T2>::High; return value < reference - Epsilon<High>::val(); } /*=======================================================*/ template<typename T1, typename T2> inline bool lessEqual(const T1& value, const T2& reference) { - typedef typename UbEqualTrait<T1,T2>::High High; + using High = typename UbEqualTrait<T1, T2>::High; return value <= reference + Epsilon<High>::val(); } /*=======================================================*/ template<typename T1, typename T2> inline bool greater(const T1& value, const T2& reference) { - typedef typename UbEqualTrait<T1,T2>::High High; + using High = typename UbEqualTrait<T1, T2>::High; return value > reference + Epsilon<High>::val(); } /*=======================================================*/ template<typename T1, typename T2> inline bool greaterEqual(const T1& value, const T2& reference) { - typedef typename UbEqualTrait<T1,T2>::High High; + using High = typename UbEqualTrait<T1, T2>::High; return value >= reference - Epsilon<High>::val(); } /*=======================================================*/ diff --git a/src/basics/basics/utilities/UbObservable.h b/src/basics/basics/utilities/UbObservable.h index 56967b904836debbec0f8e5fc785de030824749d..f877718f185615bd0645d8b54fd74b35eba4f476 100644 --- a/src/basics/basics/utilities/UbObservable.h +++ b/src/basics/basics/utilities/UbObservable.h @@ -77,17 +77,16 @@ protected: Usually this constructor is used in extended classes. */ UbObservable() - { - } + = default; - UbObservable(const UbObservable& src) + UbObservable(const UbObservable& /*src*/) { //no copy of observers !!! } //falls irgendein schlaumeier den =operator von UbObservable aufrufen sollte, //dann macht diesr auch keine kopie! (Allg: zuweisungsoperatoren werden nie vererbt - UbObservable& operator=(const UbObservable& src) + UbObservable& operator=(const UbObservable& /*src*/) { return *this; } diff --git a/src/basics/basics/utilities/UbObserver.h b/src/basics/basics/utilities/UbObserver.h index 0f2db5270aec44ba41a72f9ac8e6022308a12ecd..dab5d28c0cc83a4a73fdba8d9be7f979f9d96c2b 100644 --- a/src/basics/basics/utilities/UbObserver.h +++ b/src/basics/basics/utilities/UbObserver.h @@ -50,11 +50,11 @@ class UbObserver { protected: - UbObserver(){} + UbObserver()= default; public: - virtual ~UbObserver(){} + virtual ~UbObserver()= default; /*======================================================================*/ /* Methods */ diff --git a/src/basics/basics/utilities/UbScheduler.h b/src/basics/basics/utilities/UbScheduler.h index c927e45b4e4f3c3188b2d1b46a15abc6bd466319..fcb410b2270843ee8e6c8a274228be71446d2841 100644 --- a/src/basics/basics/utilities/UbScheduler.h +++ b/src/basics/basics/utilities/UbScheduler.h @@ -100,7 +100,7 @@ public: this->addSchedule(schedule); } /*==========================================================*/ - virtual ~UbScheduler() {} + virtual ~UbScheduler() = default; /*==========================================================*/ inline void addSchedule(const UbSchedule& schedule) { @@ -136,7 +136,7 @@ public: } //nu aber: - schedules.push_back(UbSchedule(step, begin, end)); + schedules.emplace_back(step, begin, end); if( end>maxT ) maxT = end; @@ -318,7 +318,7 @@ protected: std::vector<UbSchedule> schedules; }; -typedef UbScheduler::UbSchedule UbSchedule; +using UbSchedule = UbScheduler::UbSchedule; #endif //UBSCHEDULER_H diff --git a/src/basics/basics/utilities/UbSystem.h b/src/basics/basics/utilities/UbSystem.h index 8efe16cca5c988764bd1eb19f6ef62d41534355b..975e7027525c0c6f0b115279db08c006ddd8788b 100644 --- a/src/basics/basics/utilities/UbSystem.h +++ b/src/basics/basics/utilities/UbSystem.h @@ -57,7 +57,7 @@ #include "dirent.h" #include <sys/stat.h> #include <unistd.h> - #include <string.h> + #include <cstring> #elif defined(__AIX__) #define UBSYSTEM_AIX #include "dirent.h" @@ -243,7 +243,7 @@ namespace UbSystem return static_cast<std::string>( str ); } /*==========================================================*/ - inline bool isDirectory(const std::string& dir, const unsigned& attemptions = 3) + inline bool isDirectory(const std::string& dir, const unsigned& /*attemptions*/ = 3) { if( dir.empty() ) UB_THROW( UbException(UB_EXARGS,"dir is empty") ); @@ -493,14 +493,14 @@ namespace UbSystem template<typename Ta, typename Tb> class IfThenElse<true, Ta, Tb> { public: - typedef Ta ResultT; + using ResultT = Ta; }; // partial specialization: false yields third argument template<typename Ta, typename Tb> class IfThenElse<false, Ta, Tb> { public: - typedef Tb ResultT; + using ResultT = Tb; }; ////////////////////////////////////////////////////////////////////////// // generic IfThenElse - end @@ -512,7 +512,7 @@ namespace UbSystem template< typename T> struct type2type { - typedef T type; + using type = T; }; @@ -522,8 +522,8 @@ namespace UbSystem template <typename Pair> struct select1st { - typedef Pair argument_type ; - typedef typename Pair::first_type result_type ; + using argument_type = Pair ; + using result_type = typename Pair::first_type ; const result_type& operator()(const argument_type &p) const { @@ -534,8 +534,8 @@ namespace UbSystem template <typename Pair> struct select2nd { - typedef Pair argument_type ; - typedef typename Pair::second_type result_type ; + using argument_type = Pair ; + using result_type = typename Pair::second_type ; const result_type& operator()(const argument_type &p) const { diff --git a/src/basics/basics/utilities/UbTiming.h b/src/basics/basics/utilities/UbTiming.h index 9260892669a7010ef35c75acc81b460646c06243..35181c4198b818458145a4fa3879f355b24b6536 100644 --- a/src/basics/basics/utilities/UbTiming.h +++ b/src/basics/basics/utilities/UbTiming.h @@ -64,7 +64,7 @@ public: this->name = name; } /*==========================================================*/ - virtual ~UbTiming() {} + virtual ~UbTiming() = default; /*==========================================================*/ virtual void initTiming() { @@ -176,8 +176,8 @@ protected: #ifdef UBSYSTEM_APPLE //Apple hack #include <mach/mach_time.h> - #include <time.h> - #include <stdio.h> + #include <ctime> + #include <cstdio> inline void mach_absolute_difference(const uint64_t& end, const uint64_t& start, struct timespec *tp) { uint64_t difference = end - start; @@ -223,20 +223,19 @@ class UbTimer { public: UbTimer(const bool& storeLapTimes = false) - : name("unamed"), isMeasuring(false), storeLapTimes(storeLapTimes) - , startTime(0.0), totalTime(0.0), lapTime(0.0) + : name("unamed"), storeLapTimes(storeLapTimes) + { } /*==========================================================*/ UbTimer(const std::string& name, const bool& storeLapTimes = false) - : name(name), isMeasuring(false), storeLapTimes(storeLapTimes) - , startTime(0.0), totalTime(0.0), lapTime(0.0) + : name(name), storeLapTimes(storeLapTimes) { } /*==========================================================*/ - virtual ~UbTimer() {} + virtual ~UbTimer() = default; /*==========================================================*/ double getLapTime() const { return this->lapTime; } std::vector<double> getLapTimes() const { return this->lapTimes; } @@ -355,12 +354,12 @@ public: protected: std::string name; - bool isMeasuring; + bool isMeasuring{false}; bool storeLapTimes; - double startTime; - double totalTime; - double lapTime; + double startTime{0.0}; + double totalTime{0.0}; + double lapTime{0.0}; std::vector<double> lapTimes; }; @@ -380,16 +379,16 @@ protected: class UbProgressTimer : public UbTimer { -private: - UbProgressTimer(const UbProgressTimer& rhs); public: + UbProgressTimer(const UbProgressTimer& rhs) = delete; + explicit UbProgressTimer( std::ostream & os = std::cout ) : UbTimer(),os(os) { this->start(); } /*==========================================================*/ - ~UbProgressTimer() + ~UbProgressTimer() override { // A) Throwing an exception from a destructor is a Bad Thing. // B) The progress_timer destructor does output which may throw. diff --git a/src/basics/basics/utilities/UbTuple.h b/src/basics/basics/utilities/UbTuple.h index 6b9b8b52aef2cb498c127506125b644113456aad..f081f2e9e0a054e320a2dfb1fd6e6e49d0489216 100644 --- a/src/basics/basics/utilities/UbTuple.h +++ b/src/basics/basics/utilities/UbTuple.h @@ -78,12 +78,12 @@ template <typename T> class UbTypeOp // primary template { public: - typedef T ArgT; - typedef T BareT; - typedef T const ConstT; - typedef T & RefT; - typedef T & RefBareT; - typedef T const & RefConstT; + using ArgT = T; + using BareT = T; + using ConstT = const T; + using RefT = T &; + using RefBareT = T &; + using RefConstT = const T &; }; /**** end of typeop1.hpp ****/ @@ -95,12 +95,12 @@ template <typename T> class UbTypeOp <T const> // partial specialization for const types { public: - typedef T const ArgT; - typedef T BareT; - typedef T const ConstT; - typedef T const & RefT; - typedef T & RefBareT; - typedef T const & RefConstT; + using ArgT = const T; + using BareT = T; + using ConstT = const T; + using RefT = const T &; + using RefBareT = T &; + using RefConstT = const T &; }; /**** end of typeop2.hpp ****/ @@ -112,12 +112,12 @@ template <typename T> class UbTypeOp <T&> // partial specialization for references { public: - typedef T & ArgT; - typedef typename UbTypeOp<T>::BareT BareT; - typedef T const ConstT; - typedef T & RefT; - typedef typename UbTypeOp<T>::BareT & RefBareT; - typedef T const & RefConstT; + using ArgT = T &; + using BareT = typename UbTypeOp<T>::BareT; + using ConstT = const T; + using RefT = T &; + using RefBareT = typename UbTypeOp<T>::BareT &; + using RefConstT = const T &; }; /**** end of typeop3.hpp ****/ @@ -129,12 +129,12 @@ template<> class UbTypeOp <void> // full specialization for void { public: - typedef void ArgT; - typedef void BareT; - typedef void const ConstT; - typedef void RefT; - typedef void RefBareT; - typedef void RefConstT; + using ArgT = void; + using BareT = void; + using ConstT = const void; + using RefT = void; + using RefBareT = void; + using RefConstT = void; }; /**** end of typeop4.hpp ****/ @@ -149,8 +149,8 @@ template <typename T1, typename T2> class UbDuo { public: - typedef T1 Type1; // type of first field - typedef T2 Type2; // type of second field + using Type1 = T1; // type of first field + using Type2 = T2; // type of second field enum { N = 2 }; // number of fields public: @@ -224,8 +224,8 @@ template <typename A, typename B, typename C> class UbDuo<A, UbDuo<B,C> > { public: - typedef A T1; // type of first field - typedef UbDuo<B,C> T2; // type of second field + using T1 = A; // type of first field + using T2 = UbDuo<B, C>; // type of second field enum { N = UbDuo<B,C>::N + 1 }; // number of fields public: @@ -264,7 +264,7 @@ template <int N, typename T> class UbDuoT { public: - typedef void ResultT; // in general, the result type is void + using ResultT = void; // in general, the result type is void }; // specialization for 1st field of a plain duo @@ -272,7 +272,7 @@ template <typename A, typename B> class UbDuoT<1, UbDuo<A,B> > { public: - typedef A ResultT; + using ResultT = A; }; // specialization for 2nd field of a plain duo @@ -280,7 +280,7 @@ template <typename A, typename B> class UbDuoT<2, UbDuo<A,B> > { public: - typedef B ResultT; + using ResultT = B; }; // specialization for Nth field of a recursive duo @@ -288,7 +288,7 @@ template <int N, typename A, typename B, typename C> class UbDuoT<N, UbDuo<A, UbDuo<B,C> > > { public: - typedef typename UbDuoT<N-1, UbDuo<B,C> >::ResultT ResultT; + using ResultT = typename UbDuoT<N - 1, UbDuo<B, C> >::ResultT; }; // specialization for 1st field of a recursive duo @@ -296,7 +296,7 @@ template <typename A, typename B, typename C> class UbDuoT<1, UbDuo<A, UbDuo<B,C> > > { public: - typedef A ResultT; + using ResultT = A; }; // specialization for 2nd field of a recursive duo @@ -304,7 +304,7 @@ template <typename A, typename B, typename C> class UbDuoT<2, UbDuo<A, UbDuo<B,C> > > { public: - typedef B ResultT; + using ResultT = B; }; //duo4.hpp @@ -388,8 +388,8 @@ template <typename A> struct UbDuo<A,void> { public: - typedef A T1; // type of first field - typedef void T2; // type of second field + using T1 = A; // type of first field + using T2 = void; // type of second field enum { N = 1 }; // number of fields private: @@ -464,10 +464,10 @@ template <typename P1, class UbTuple : public UbDuo<P1, typename UbTuple<P2,P3,P4,P5,P6,P7,P8,UbNullT>::BaseT> { public: - typedef UbDuo<P1, typename UbTuple<P2,P3,P4,P5,P6,P7,P8,UbNullT>::BaseT> BaseT; + using BaseT = UbDuo<P1, typename UbTuple<P2, P3, P4, P5, P6, P7, P8, UbNullT>::BaseT>; // constructor: - UbTuple() {} + UbTuple() = default; UbTuple( typename UbTypeOp<P1>::RefConstT a1, typename UbTypeOp<P2>::RefConstT a2, typename UbTypeOp<P3>::RefConstT a3 = UbNullT(), @@ -494,10 +494,10 @@ public: template <typename P1, typename P2> class UbTuple<P1,P2,UbNullT,UbNullT,UbNullT,UbNullT,UbNullT,UbNullT> : public UbDuo<P1,P2> { public: - typedef UbDuo<P1,P2> BaseT; + using BaseT = UbDuo<P1, P2>; // constructor: - UbTuple() {} + UbTuple() = default; UbTuple( typename UbTypeOp<P1>::RefConstT a1, typename UbTypeOp<P2>::RefConstT a2, typename UbTypeOp<UbNullT>::RefConstT = UbNullT(), @@ -525,10 +525,10 @@ template <typename P1> class UbTuple<P1,UbNullT,UbNullT,UbNullT,UbNullT,UbNullT,UbNullT,UbNullT> : public UbDuo<P1,void> { public: - typedef UbDuo<P1,void> BaseT; + using BaseT = UbDuo<P1, void>; // constructor: - UbTuple() {} + UbTuple() = default; UbTuple( typename UbTypeOp<P1>::RefConstT a1, typename UbTypeOp<UbNullT>::RefConstT = UbNullT(), typename UbTypeOp<UbNullT>::RefConstT = UbNullT(), @@ -608,26 +608,26 @@ inline UbTuple<T1,T2,T3,T4,T5,T6,T7,T8> makeUbTuple(T1 const &a1, T2 const &a2,T } //some typedefs -typedef UbTuple<float,float> UbTupleFloat2; -typedef UbTuple<float,float,float> UbTupleFloat3; -typedef UbTuple<int,int> UbTupleInt2; -typedef UbTuple<int,int,int> UbTupleInt3; -typedef UbTuple<int,int,int,int> UbTupleInt4; -typedef UbTuple<int,int,int,int,int> UbTupleInt5; -typedef UbTuple<int,int,int,int,int,int> UbTupleInt6; -typedef UbTuple<int,int,int,int,int,int,int,int> UbTupleInt8; -typedef UbTuple<unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int,unsigned int> UbTupleUInt8; -typedef UbTuple<double,double> UbTupleDouble2; -typedef UbTuple<double,double,double> UbTupleDouble3; -typedef UbTuple<double,double,double,double> UbTupleDouble4; -typedef UbTuple<double,double,double,double,double,double> UbTupleDouble6; -typedef UbTuple<std::string,double,double> UbTupleStringDouble2; -typedef UbTuple<std::string,double,double,double> UbTupleStringDouble3; -typedef UbTuple<std::string,int,int,int> UbTupleStringInt3; -typedef UbTuple<short,short,short,short> UbTupleShort4; -typedef UbTuple<bool,bool,bool> UbTupleBool3; -typedef UbTuple<int,double,double> UbTupleIntDouble2; -typedef UbTuple<int, bool> UbTupleIntBool; +using UbTupleFloat2 = UbTuple<float, float>; +using UbTupleFloat3 = UbTuple<float, float, float>; +using UbTupleInt2 = UbTuple<int, int>; +using UbTupleInt3 = UbTuple<int, int, int>; +using UbTupleInt4 = UbTuple<int, int, int, int>; +using UbTupleInt5 = UbTuple<int, int, int, int, int>; +using UbTupleInt6 = UbTuple<int, int, int, int, int, int>; +using UbTupleInt8 = UbTuple<int, int, int, int, int, int, int, int>; +using UbTupleUInt8 = UbTuple<unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int>; +using UbTupleDouble2 = UbTuple<double, double>; +using UbTupleDouble3 = UbTuple<double, double, double>; +using UbTupleDouble4 = UbTuple<double, double, double, double>; +using UbTupleDouble6 = UbTuple<double, double, double, double, double, double>; +using UbTupleStringDouble2 = UbTuple<std::string, double, double>; +using UbTupleStringDouble3 = UbTuple<std::string, double, double, double>; +using UbTupleStringInt3 = UbTuple<std::string, int, int, int>; +using UbTupleShort4 = UbTuple<short, short, short, short>; +using UbTupleBool3 = UbTuple<bool, bool, bool>; +using UbTupleIntDouble2 = UbTuple<int, double, double>; +using UbTupleIntBool = UbTuple<int, bool>; #endif //UBTUPLE_H diff --git a/src/basics/basics/utilities/Vector3D.cpp b/src/basics/basics/utilities/Vector3D.cpp index bb8fb46a295205bc7d1cc085623b22ad84a40a90..75ab1b814c33f9f1d631dec6189d0117f6168b18 100644 --- a/src/basics/basics/utilities/Vector3D.cpp +++ b/src/basics/basics/utilities/Vector3D.cpp @@ -128,6 +128,9 @@ double& Vector3D::X3() /*=======================================================*/ Vector3D& Vector3D::operator=(const Vector3D& rkV) { + if(this == &rkV) + return *this; + m_afTuple[0] = rkV.m_afTuple[0]; m_afTuple[1] = rkV.m_afTuple[1]; m_afTuple[2] = rkV.m_afTuple[2]; diff --git a/src/basics/basics/writer/WbWriter.h b/src/basics/basics/writer/WbWriter.h index 9683c446e47257f6b340aa7c0fed5084a2179aa9..8e5524416350c4704fc8a27882e6c9c61dc51c9f 100644 --- a/src/basics/basics/writer/WbWriter.h +++ b/src/basics/basics/writer/WbWriter.h @@ -57,16 +57,16 @@ public: ////////////////////////////////////////////////////////////////////////// //nodes - virtual std::string writeNodes(const std::string& filename,std::vector< UbTupleFloat3 >& nodes) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual std::string writeNodesWithNodeData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector<std::string >& datanames, std::vector<std::vector<double > >& nodedata) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual std::string writeNodesWithNodeDataDouble(const std::string& filename,std::vector< UbTupleDouble3 >& nodes, std::vector<std::string >& datanames, std::vector<std::vector<double > >& nodedata) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeNodes(const std::string& /*filename*/,std::vector< UbTupleFloat3 >& /*nodes*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeNodesWithNodeData(const std::string& /*filename*/,std::vector< UbTupleFloat3 >& /*nodes*/, std::vector<std::string >& /*datanames*/, std::vector<std::vector<double > >& /*nodedata*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeNodesWithNodeDataDouble(const std::string& /*filename*/,std::vector< UbTupleDouble3 >& /*nodes*/, std::vector<std::string >& /*datanames*/, std::vector<std::vector<double > >& /*nodedata*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } ////////////////////////////////////////////////////////////////////////// //lines // 0 ---- 1 //nodenumbering must start with 0! - virtual std::string writeLines(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleInt2 >& lines) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual std::string writeLinesWithNodeData(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleInt2 >& lines) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeLines(const std::string& /*filename*/,std::vector<UbTupleFloat3 >& /*nodes*/, std::vector<UbTupleInt2 >& /*lines*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeLinesWithNodeData(const std::string& /*filename*/,std::vector<UbTupleFloat3 >& /*nodes*/, std::vector<UbTupleInt2 >& /*lines*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } ////////////////////////////////////////////////////////////////////////// //triangles @@ -75,8 +75,8 @@ public: // // 0 === 1 //nodenumbering must start with 0! - virtual std::string writeTriangles(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt3 >& cells){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual std::string writeTrianglesWithNodeData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt3 >& cells, std::vector<std::string >& datanames, std::vector<std::vector<double > >& nodedata){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeTriangles(const std::string& /*filename*/,std::vector< UbTupleFloat3 >& /*nodes*/, std::vector< UbTupleInt3 >& /*cells*/){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeTrianglesWithNodeData(const std::string& /*filename*/,std::vector< UbTupleFloat3 >& /*nodes*/, std::vector< UbTupleInt3 >& /*cells*/, std::vector<std::string >& /*datanames*/, std::vector<std::vector<double > >& /*nodedata*/){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } ////////////////////////////////////////////////////////////////////////// //quads @@ -85,11 +85,11 @@ public: // | | // 0---1 //nodenumbering must start with 0! - virtual std::string writeQuads(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual std::string writeQuadsWithNodeData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells, std::vector< std::string >& datanames, std::vector< std::vector< double > >& nodedata){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual std::string writeQuadsWithCellData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells, std::vector< std::string >& datanames, std::vector< std::vector< double > >& celldata){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual std::string writeQuadsWithNodeAndCellData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells, - std::vector< std::string >& nodedatanames, std::vector< std::vector< double > >& nodedata, std::vector< std::string >& celldatanames, std::vector< std::vector< double > >&celldata) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeQuads(const std::string& /*filename*/,std::vector< UbTupleFloat3 >& /*nodes*/, std::vector< UbTupleInt4 >& /*cells*/){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeQuadsWithNodeData(const std::string& /*filename*/,std::vector< UbTupleFloat3 >& /*nodes*/, std::vector< UbTupleInt4 >& /*cells*/, std::vector< std::string >& /*datanames*/, std::vector< std::vector< double > >& /*nodedata*/){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeQuadsWithCellData(const std::string& /*filename*/,std::vector< UbTupleFloat3 >& /*nodes*/, std::vector< UbTupleInt4 >& /*cells*/, std::vector< std::string >& /*datanames*/, std::vector< std::vector< double > >& /*celldata*/){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeQuadsWithNodeAndCellData(const std::string& /*filename*/,std::vector< UbTupleFloat3 >& /*nodes*/, std::vector< UbTupleInt4 >& /*cells*/, + std::vector< std::string >& /*nodedatanames*/, std::vector< std::vector< double > >& /*nodedata*/, std::vector< std::string >& /*celldatanames*/, std::vector< std::vector< double > >& /*celldata*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } ////////////////////////////////////////////////////////////////////////// //octs @@ -100,9 +100,9 @@ public: // | 3 ---+ 2 // |/ |/ // 0 ---- 1 - virtual std::string writeOcts(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt8 >& cells){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual std::string writeOctsWithCellData(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleInt8 >& cells, std::vector<std::string >& datanames, std::vector<std::vector<double > >& celldata){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual std::string writeOctsWithNodeData(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleUInt8 >& cells, std::vector<std::string >& datanames, std::vector<std::vector<double > >& nodedata){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeOcts(const std::string& /*filename*/,std::vector< UbTupleFloat3 >& /*nodes*/, std::vector< UbTupleInt8 >& /*cells*/){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeOctsWithCellData(const std::string& /*filename*/,std::vector<UbTupleFloat3 >& /*nodes*/, std::vector<UbTupleInt8 >& /*cells*/, std::vector<std::string >& /*datanames*/, std::vector<std::vector<double > >& /*celldata*/){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual std::string writeOctsWithNodeData(const std::string& /*filename*/,std::vector<UbTupleFloat3 >& /*nodes*/, std::vector<UbTupleUInt8 >& /*cells*/, std::vector<std::string >& /*datanames*/, std::vector<std::vector<double > >& /*nodedata*/){ throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } private: diff --git a/src/basics/basics/writer/WbWriterVtkXmlASCII.h b/src/basics/basics/writer/WbWriterVtkXmlASCII.h index e43d976494d46cb045df4c53ca2ff5f4bdc11f7d..11b557287ba6f880c889c3a4082dfc6446cfeb66 100644 --- a/src/basics/basics/writer/WbWriterVtkXmlASCII.h +++ b/src/basics/basics/writer/WbWriterVtkXmlASCII.h @@ -45,6 +45,10 @@ public: static WbWriterVtkXmlASCII instance; return &instance; } + + WbWriterVtkXmlASCII( const WbWriterVtkXmlASCII& ) = delete; + const WbWriterVtkXmlASCII& operator=( const WbWriterVtkXmlASCII& ) = delete; + private: WbWriterVtkXmlASCII() : WbWriter() { @@ -52,8 +56,6 @@ private: if(sizeof(int) !=4) throw UbException(UB_EXARGS,"error int type mismatch"); if(sizeof(float) !=4) throw UbException(UB_EXARGS,"error float type mismatch"); } - WbWriterVtkXmlASCII( const WbWriterVtkXmlASCII& ); //no copy allowed - const WbWriterVtkXmlASCII& operator=( const WbWriterVtkXmlASCII& ); //no copy allowed static std::string pvdEndTag; diff --git a/src/basics/basics/writer/WbWriterVtkXmlBinary.cpp b/src/basics/basics/writer/WbWriterVtkXmlBinary.cpp index 448aeb91f0c67aa0352f01e5df01c2469666d22c..d88459eb5ed8c0ec90348618a4834def954f965e 100644 --- a/src/basics/basics/writer/WbWriterVtkXmlBinary.cpp +++ b/src/basics/basics/writer/WbWriterVtkXmlBinary.cpp @@ -38,7 +38,7 @@ using namespace std; /*===============================================================================*/ -string WbWriterVtkXmlBinary::pvdEndTag =" </Collection>\n</VTKFile>"; +const std::string WbWriterVtkXmlBinary::pvdEndTag =" </Collection>\n</VTKFile>"; /*===============================================================================*/ string WbWriterVtkXmlBinary::writeCollection(const string& filename, const vector<string>& filenames, const double& timeStep, const bool& sepGroups) { diff --git a/src/basics/basics/writer/WbWriterVtkXmlBinary.h b/src/basics/basics/writer/WbWriterVtkXmlBinary.h index 6119fd2205c79c2f1db6cffff13f9e9a32985285..2beda26b7aa4830b30d47c8bc1c0cddc24c4c730 100644 --- a/src/basics/basics/writer/WbWriterVtkXmlBinary.h +++ b/src/basics/basics/writer/WbWriterVtkXmlBinary.h @@ -45,6 +45,10 @@ public: static WbWriterVtkXmlBinary instance; return &instance; } + + WbWriterVtkXmlBinary( const WbWriterVtkXmlBinary& ) = delete; + const WbWriterVtkXmlBinary& operator=( const WbWriterVtkXmlBinary& ) = delete; + private: WbWriterVtkXmlBinary() : WbWriter() { @@ -53,12 +57,9 @@ private: if(sizeof(float) !=4) throw UbException(UB_EXARGS,"machine error float type mismatch"); } - WbWriterVtkXmlBinary( const WbWriterVtkXmlBinary& ); //no copy allowed - const WbWriterVtkXmlBinary& operator=( const WbWriterVtkXmlBinary& ); //no copy allowed - - static std::string pvdEndTag; + static const std::string pvdEndTag; public: - std::string getFileExtension() { return ".bin.vtu"; } + std::string getFileExtension() override { return ".bin.vtu"; } //write a metafile std::string writeCollection(const std::string& filename, const std::vector<std::string>& filenames, const double& timestep, const bool& sepGroups); @@ -67,14 +68,14 @@ public: ////////////////////////////////////////////////////////////////////////// //nodes - std::string writeNodes(const std::string& filename,std::vector< UbTupleFloat3 >& nodes); - std::string writeNodesWithNodeData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector<std::string >& datanames, std::vector<std::vector<double > >& nodedata); + std::string writeNodes(const std::string& filename,std::vector< UbTupleFloat3 >& nodes) override; + std::string writeNodesWithNodeData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector<std::string >& datanames, std::vector<std::vector<double > >& nodedata) override; ////////////////////////////////////////////////////////////////////////// //lines // 0 ---- 1 //nodenumbering must start with 0! - std::string writeLines(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleInt2 >& lines); + std::string writeLines(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleInt2 >& lines) override; //std::string writeLinesWithNodeData(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleInt2 >& lines, std::vector< std::string >& datanames, std::vector< std::vector< double > >& nodedata); // FIXME: hides function in base class @@ -84,8 +85,8 @@ public: // // 0---1 //nodenumbering must start with 0! - std::string writeTriangles(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleInt3 >& triangles); - std::string writeTrianglesWithNodeData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt3 >& cells, std::vector<std::string >& datanames, std::vector<std::vector<double > >& nodedata); + std::string writeTriangles(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleInt3 >& triangles) override; + std::string writeTrianglesWithNodeData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt3 >& cells, std::vector<std::string >& datanames, std::vector<std::vector<double > >& nodedata) override; ////////////////////////////////////////////////////////////////////////// //2D @@ -95,12 +96,12 @@ public: // 0---1 //nodenumbering must start with 0! - std::string writeQuads(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells); - std::string writeQuadsWithNodeData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells, std::vector< std::string >& datanames, std::vector< std::vector< double > >& nodedata); - std::string writeQuadsWithCellData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells, std::vector< std::string >& datanames, std::vector< std::vector< double > >& celldata); + std::string writeQuads(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells) override; + std::string writeQuadsWithNodeData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells, std::vector< std::string >& datanames, std::vector< std::vector< double > >& nodedata) override; + std::string writeQuadsWithCellData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells, std::vector< std::string >& datanames, std::vector< std::vector< double > >& celldata) override; std::string writeQuadsWithNodeAndCellData(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt4 >& cells, std::vector< std::string >& nodedatanames, std::vector< std::vector< double > >& nodedata, std::vector< std::string >& celldatanames, - std::vector< std::vector< double > >& celldata ); + std::vector< std::vector< double > >& celldata ) override; ////////////////////////////////////////////////////////////////////////// //octs @@ -111,9 +112,9 @@ public: // | 3 ---+ 2 // |/ |/ // 0 ---- 1 - std::string writeOcts(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt8 >& cells); - std::string writeOctsWithCellData(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleInt8 >& cells, std::vector<std::string >& datanames, std::vector<std::vector<double > >& celldata); - std::string writeOctsWithNodeData(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleUInt8 >& cells, std::vector<std::string >& datanames, std::vector<std::vector<double > >& nodedata); + std::string writeOcts(const std::string& filename,std::vector< UbTupleFloat3 >& nodes, std::vector< UbTupleInt8 >& cells) override; + std::string writeOctsWithCellData(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleInt8 >& cells, std::vector<std::string >& datanames, std::vector<std::vector<double > >& celldata) override; + std::string writeOctsWithNodeData(const std::string& filename,std::vector<UbTupleFloat3 >& nodes, std::vector<UbTupleUInt8 >& cells, std::vector<std::string >& datanames, std::vector<std::vector<double > >& nodedata) override; private: diff --git a/src/basics/geometry3d/GbCuboid3D.cpp b/src/basics/geometry3d/GbCuboid3D.cpp index f95e114285d77694c6bd26f6550cd26263af4e3f..55bb6331bdc3dba88a6089d64c9b760c61a2fb6c 100644 --- a/src/basics/geometry3d/GbCuboid3D.cpp +++ b/src/basics/geometry3d/GbCuboid3D.cpp @@ -405,7 +405,7 @@ string GbCuboid3D::toString() return ss.str(); } /*=======================================================*/ -GbPoint3D* GbCuboid3D::calculateInterSectionPoint3D(GbPoint3D& point1, GbPoint3D& point2) +GbPoint3D* GbCuboid3D::calculateInterSectionPoint3D(GbPoint3D& /*point1*/, GbPoint3D& /*point2*/) { throw UbException(UB_EXARGS,"not correct implemented"); } diff --git a/src/basics/geometry3d/GbCuboid3D.h b/src/basics/geometry3d/GbCuboid3D.h index 992e423bca78e4eb0e1d8bc86d9387f26a13b2d0..9a099737bd2259a78fcf05e826b488214ef1cc64 100644 --- a/src/basics/geometry3d/GbCuboid3D.h +++ b/src/basics/geometry3d/GbCuboid3D.h @@ -45,7 +45,7 @@ class GbObject3DCreator; #include <PointerDefinitions.h> class GbCuboid3D; -typedef SPtr<GbCuboid3D> GbCuboid3DPtr; +using GbCuboid3DPtr = SPtr<GbCuboid3D>; //! \brief This Class provides basic 3D box objects. class GbCuboid3D : public GbObject3D, public UbObserver @@ -55,10 +55,10 @@ public: GbCuboid3D(const double& minX1,const double& minX2, const double& minX3, const double& maxX1,const double& maxX2, const double& maxX3); GbCuboid3D(GbPoint3D *p1, GbPoint3D *p2); GbCuboid3D(GbCuboid3D *cuboid); - ~GbCuboid3D(); + ~GbCuboid3D() override; - GbCuboid3D* clone() { return new GbCuboid3D(this); } - void finalize(); + GbCuboid3D* clone() override { return new GbCuboid3D(this); } + void finalize() override; GbPoint3D* getPoint1() { return this->p1; } GbPoint3D* getPoint2() { return this->p2; } @@ -67,42 +67,42 @@ public: void setPoint2(GbPoint3D* point2); void setPoints(GbPoint3D* point1, GbPoint3D* point2); - double getX1Centroid(); - double getX1Minimum(); - double getX1Maximum(); - double getX2Centroid(); - double getX2Minimum(); - double getX2Maximum(); - double getX3Centroid(); - double getX3Minimum(); - double getX3Maximum(); - void setCenterCoordinates(const double& x1, const double& x2, const double& x3); - - void translate(const double& x1, const double& x2, const double& x3); - void rotate(const double& rx1, const double& rx2, const double& rx3) {} - void scale(const double& sx1, const double& sx2, const double& sx3); + double getX1Centroid() override; + double getX1Minimum() override; + double getX1Maximum() override; + double getX2Centroid() override; + double getX2Minimum() override; + double getX2Maximum() override; + double getX3Centroid() override; + double getX3Minimum() override; + double getX3Maximum() override; + void setCenterCoordinates(const double& x1, const double& x2, const double& x3) override; + + void translate(const double& x1, const double& x2, const double& x3) override; + void rotate(const double& rx1, const double& rx2, const double& rx3) override {} + void scale(const double& sx1, const double& sx2, const double& sx3) override; double getLengthX1(); double getLengthX2(); double getLengthX3(); - bool isPointInGbObject3D(const double& x1p, const double& x2p, const double& x3p, bool& pointIsOnBoundary); - bool isPointInGbObject3D(const double& x1p, const double& x2p, const double& x3p); - bool isCellInsideGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b); - bool isCellCuttingGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b); - bool isCellInsideOrCuttingGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b); - double getCellVolumeInsideGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b); + bool isPointInGbObject3D(const double& x1p, const double& x2p, const double& x3p, bool& pointIsOnBoundary) override; + bool isPointInGbObject3D(const double& x1p, const double& x2p, const double& x3p) override; + bool isCellInsideGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b) override; + bool isCellCuttingGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b) override; + bool isCellInsideOrCuttingGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b) override; + double getCellVolumeInsideGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b) override; GbPoint3D* calculateInterSectionPoint3D(GbPoint3D& point1, GbPoint3D &point2); //GbCuboid3D* createClippedRectangle3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b); - GbLine3D* createClippedLine3D(GbPoint3D& point1, GbPoint3D& point2); + GbLine3D* createClippedLine3D(GbPoint3D& point1, GbPoint3D& point2) override; - std::vector<GbTriangle3D*> getSurfaceTriangleSet(); - void addSurfaceTriangleSet(std::vector<UbTupleFloat3>& nodes, std::vector<UbTupleInt3>& triangles); + std::vector<GbTriangle3D*> getSurfaceTriangleSet() override; + void addSurfaceTriangleSet(std::vector<UbTupleFloat3>& nodes, std::vector<UbTupleInt3>& triangles) override; - bool hasRaytracing() { return true; } + bool hasRaytracing() override { return true; } /*|r| must be 1! einheitsvector!!*/ - double getIntersectionRaytraceFactor(const double& x1, const double& x2, const double& x3, const double& rx1, const double& rx2, const double& rx3); + double getIntersectionRaytraceFactor(const double& x1, const double& x2, const double& x3, const double& rx1, const double& rx2, const double& rx3) override; double getDistance(GbPoint3D* p) @@ -128,11 +128,11 @@ public: } } - std::string toString(); + std::string toString() override; //virtuelle Methoden von UbObserver - void objectChanged(UbObservable* changedObject); - void objectWillBeDeleted(UbObservable* objectForDeletion); + void objectChanged(UbObservable* changedObject) override; + void objectWillBeDeleted(UbObservable* objectForDeletion) override; using GbObject3D::isPointInGbObject3D; //Grund: dadurch muss man hier isPointInGbObject3D(GbPoint3D*) nicht ausprogrammieren, welche sonst hier "ueberdeckt" waere diff --git a/src/basics/geometry3d/GbLine3D.cpp b/src/basics/geometry3d/GbLine3D.cpp index 9d4c5a6c4aaeb33535e276fc7a283bae35c1882e..752e3a421c982fd7606f5b4ed6f73218f0ca7014 100644 --- a/src/basics/geometry3d/GbLine3D.cpp +++ b/src/basics/geometry3d/GbLine3D.cpp @@ -139,7 +139,7 @@ string GbLine3D::toString() return(ss.str()); } /*=======================================================*/ -GbPoint3D* GbLine3D::calculateIntersectionPoint3D(GbLine3D* line) +GbPoint3D* GbLine3D::calculateIntersectionPoint3D(GbLine3D* /*line*/) { throw UbException(UB_EXARGS," not implemented"); //return(GbSystem::calculateIntersectionPoint3D(*this->p1, *this->p2, *line->p1, *line->p2)); diff --git a/src/basics/geometry3d/GbLine3D.h b/src/basics/geometry3d/GbLine3D.h index 2990282f9509645bf3f841e9fcc296acafc395ad..25697f59b3cb04d61c3f5bcdbc16218315b9ef9b 100644 --- a/src/basics/geometry3d/GbLine3D.h +++ b/src/basics/geometry3d/GbLine3D.h @@ -60,10 +60,10 @@ public: GbLine3D(); GbLine3D(GbPoint3D* point1, GbPoint3D* point2); GbLine3D(GbLine3D* line); - ~GbLine3D(); + ~GbLine3D() override; - GbLine3D* clone() { return new GbLine3D(this); } - void finalize(); + GbLine3D* clone() override { return new GbLine3D(this); } + void finalize() override; void setPoint1(GbPoint3D* point1); void setPoint2(GbPoint3D* point2); @@ -78,20 +78,20 @@ public: double getLength() { return(this->length); } - double getX1Centroid() { return((this->p1->x1+this->p2->x1)*0.5);} - double getX2Centroid() { return((this->p1->x2+this->p2->x2)*0.5); }; - double getX3Centroid() { return((this->p1->x3+this->p2->x3)*0.5); } + double getX1Centroid() override { return((this->p1->x1+this->p2->x1)*0.5);} + double getX2Centroid() override { return((this->p1->x2+this->p2->x2)*0.5); }; + double getX3Centroid() override { return((this->p1->x3+this->p2->x3)*0.5); } - double getX1Minimum() { return(this->p1->x1 < this->p2->x1 ? this->p1->x1 : this->p2->x1); } - double getX2Minimum() { return(this->p1->x2 < this->p2->x2 ? this->p1->x2 : this->p2->x2); } - double getX3Minimum() { return(this->p1->x3 < this->p2->x3 ? this->p1->x3 : this->p2->x3); } + double getX1Minimum() override { return(this->p1->x1 < this->p2->x1 ? this->p1->x1 : this->p2->x1); } + double getX2Minimum() override { return(this->p1->x2 < this->p2->x2 ? this->p1->x2 : this->p2->x2); } + double getX3Minimum() override { return(this->p1->x3 < this->p2->x3 ? this->p1->x3 : this->p2->x3); } - double getX1Maximum() { return(this->p1->x1 > this->p2->x1 ? this->p1->x1 : this->p2->x1); } - double getX2Maximum() { return(this->p1->x2 > this->p2->x2 ? this->p1->x2 : this->p2->x2); } - double getX3Maximum() { return(this->p1->x3 > this->p2->x3 ? this->p1->x3 : this->p2->x3); } + double getX1Maximum() override { return(this->p1->x1 > this->p2->x1 ? this->p1->x1 : this->p2->x1); } + double getX2Maximum() override { return(this->p1->x2 > this->p2->x2 ? this->p1->x2 : this->p2->x2); } + double getX3Maximum() override { return(this->p1->x3 > this->p2->x3 ? this->p1->x3 : this->p2->x3); } - void scale(const double& sx1, const double& sx2, const double& sx3); - void translate(const double& tx1, const double& tx2, const double& tx3); + void scale(const double& sx1, const double& sx2, const double& sx3) override; + void translate(const double& tx1, const double& tx2, const double& tx3) override; GbPoint3D* calculateIntersectionPoint3D(GbLine3D* line); GbLine3D* createClippedLine3D(GbCuboid3D* cuboid); @@ -100,27 +100,27 @@ public: double getDistance(const GbPoint3D& point); double getDistance(const double& x1,const double& x2,const double& x3); - std::vector<GbTriangle3D*> getSurfaceTriangleSet(); - bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3) + std::vector<GbTriangle3D*> getSurfaceTriangleSet() override; + bool isPointInGbObject3D(const double& /*x1*/, const double& /*x2*/, const double& /*x3*/) override { throw UbException(UB_EXARGS,"not implemented"); } - bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3, bool& pointIsOnBoundary) + bool isPointInGbObject3D(const double& /*x1*/, const double& /*x2*/, const double& /*x3*/, bool& /*pointIsOnBoundary*/) override { throw UbException(UB_EXARGS,"not implemented"); } - bool isCellInsideGbObject3D(const double& x11,const double& x21,const double& x31,const double& x12,const double& x22,const double& x32) { return false; } + bool isCellInsideGbObject3D(const double& /*x11*/,const double& /*x21*/,const double& /*x31*/,const double& /*x12*/,const double& /*x22*/,const double& /*x32*/) override { return false; } - GbLine3D* createClippedLine3D (GbPoint3D& point1, GbPoint3D& point2) + GbLine3D* createClippedLine3D (GbPoint3D& /*point1*/, GbPoint3D& /*point2*/) override { throw UbException(UB_EXARGS,"not implemented"); } //virtuelle Methoden von UbObserver - void objectChanged(UbObservable* changedObject); - void objectWillBeDeleted(UbObservable* objectForDeletion); + void objectChanged(UbObservable* changedObject) override; + void objectWillBeDeleted(UbObservable* objectForDeletion) override; - std::string toString(); + std::string toString() override; using GbObject3D::isPointInGbObject3D; //Grund: dadurch muss man hier isPointInGbObject3D(GbPoint3D*) nicht ausprogrammieren, welche sonst hier "ueberdeckt" waere protected: diff --git a/src/basics/geometry3d/GbObject3D.h b/src/basics/geometry3d/GbObject3D.h index b0cca70e42ce8f9967f36f22b4dc69bb2edfe6b2..be2191811bbf99c54998699073e90563d584db77 100644 --- a/src/basics/geometry3d/GbObject3D.h +++ b/src/basics/geometry3d/GbObject3D.h @@ -111,17 +111,17 @@ public: double getLengthX2() { return (getX2Maximum()-getX2Minimum()); } double getLengthX3() { return (getX3Maximum()-getX3Minimum()); } - virtual void setCenterX1Coordinate(const double& value) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual void setCenterX2Coordinate(const double& value) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual void setCenterX3Coordinate(const double& value) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual void setCenterCoordinates(const double& x1, const double& x2, const double& x3) { throw UbException(UB_EXARGS, "not implemented for " + (std::string)typeid(*this).name()); } - virtual void setCenterCoordinates(const UbTupleDouble3& position) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual void setCenterX1Coordinate(const double& /*value*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual void setCenterX2Coordinate(const double& /*value*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual void setCenterX3Coordinate(const double& /*value*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual void setCenterCoordinates(const double& /*x1*/, const double& /*x2*/, const double& /*x3*/) { throw UbException(UB_EXARGS, "not implemented for " + (std::string)typeid(*this).name()); } + virtual void setCenterCoordinates(const UbTupleDouble3& /*position*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } //Rotates the Point in relation to the origen. //Parameters must be radian measure. - virtual void rotate(const double& rx1, const double& rx2, const double& rx3) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual void translate(const double& x1, const double& x2, const double& x3) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } - virtual void scale(const double& sx1, const double& sx2, const double& sx3) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual void rotate(const double& /*rx1*/, const double& /*rx2*/, const double& /*rx3*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual void translate(const double& /*x1*/, const double& /*x2*/, const double& /*x3*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } + virtual void scale(const double& /*sx1*/, const double& /*sx2*/, const double& /*sx3*/) { throw UbException(UB_EXARGS,"not implemented for "+(std::string)typeid(*this).name() ); } virtual bool isPointInGbObject3D(GbPoint3D* p); virtual bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3, bool& pointIsOnBoundary)=0; @@ -130,20 +130,20 @@ public: virtual bool isCellInsideGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b); virtual bool isCellCuttingGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b); virtual bool isCellInsideOrCuttingGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b); - virtual double getCellVolumeInsideGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b){ return -1.0;}; + virtual double getCellVolumeInsideGbObject3D(const double& /*x1a*/,const double& /*x2a*/,const double& /*x3a*/,const double& /*x1b*/,const double& /*x2b*/,const double& /*x3b*/){ return -1.0;}; virtual bool isInsideCell(const double& minX1,const double& minX2,const double& minX3,const double& maxX1,const double& maxX2,const double& maxX3); virtual GbLine3D* createClippedLine3D (GbPoint3D &point1, GbPoint3D &point2) = 0; virtual std::vector<GbTriangle3D*> getSurfaceTriangleSet()=0; - virtual void addSurfaceTriangleSet(std::vector<UbTupleFloat3>& nodes, std::vector<UbTupleInt3>& triangles) { throw UbException("GbObject3D::addSurfaceTriangleSet - not implemented for "+(std::string)typeid(*this).name()); } + virtual void addSurfaceTriangleSet(std::vector<UbTupleFloat3>& /*nodes*/, std::vector<UbTupleInt3>& /*triangles*/) { throw UbException("GbObject3D::addSurfaceTriangleSet - not implemented for "+(std::string)typeid(*this).name()); } virtual bool hasRaytracing() { return false; } virtual bool raytracingSupportsPointsInside() { return false; } //|r| must be 1! einheitsvector!! //return negativ value oder zero if no intersection - virtual double getIntersectionRaytraceFactor(const double& x1, const double& x2, const double& x3, const double& rx1, const double& rx2, const double& rx3) { throw UbException("GbObject3D::getIntersectionRaytraceFactor - not implemented"); } + virtual double getIntersectionRaytraceFactor(const double& /*x1*/, const double& /*x2*/, const double& /*x3*/, const double& /*rx1*/, const double& /*rx2*/, const double& /*rx3*/) { throw UbException("GbObject3D::getIntersectionRaytraceFactor - not implemented"); } }; /*=========================================================================*/ diff --git a/src/basics/geometry3d/GbPoint3D.cpp b/src/basics/geometry3d/GbPoint3D.cpp index 6bbc180110c853fb4f70e4c5e4024b4e40f98a90..ff6852e78ee176fb02633aa684dd3b7626e05930 100644 --- a/src/basics/geometry3d/GbPoint3D.cpp +++ b/src/basics/geometry3d/GbPoint3D.cpp @@ -107,7 +107,7 @@ vector<GbTriangle3D*> GbPoint3D::getSurfaceTriangleSet() //triangles.push_back(new GbTriangle3D(new GbPoint3D(p1),new GbPoint3D(p1),new GbPoint3D(p1))); } /*=======================================================*/ -GbLine3D* GbPoint3D::createClippedLine3D (GbPoint3D& point1, GbPoint3D& point2) +GbLine3D* GbPoint3D::createClippedLine3D (GbPoint3D& /*point1*/, GbPoint3D& /*point2*/) { throw UbException(UB_EXARGS,"not implemented"); } diff --git a/src/basics/geometry3d/GbPoint3D.h b/src/basics/geometry3d/GbPoint3D.h index 74b8cafaa51b8b2ef2fe8094b6050ce8fafac792..68760d789b2271e999a94997f8557bab65c8adc5 100644 --- a/src/basics/geometry3d/GbPoint3D.h +++ b/src/basics/geometry3d/GbPoint3D.h @@ -50,10 +50,10 @@ public: GbPoint3D(); GbPoint3D(const double& x1, const double& x2, const double& x3); GbPoint3D(GbPoint3D *point); - ~GbPoint3D() {} + ~GbPoint3D() override = default; - GbPoint3D* clone() {return new GbPoint3D(this);} - void finalize() {} + GbPoint3D* clone() override {return new GbPoint3D(this);} + void finalize() override {} void setCoordinates(const double& x1, const double& x2, const double& x3) { @@ -72,29 +72,29 @@ public: void transform(const double matrix[4][4]); - double getX1Centroid() { return this->x1; } - double getX1Minimum() { return this->x1; } - double getX1Maximum() { return this->x1; } - double getX2Centroid() { return this->x2; } - double getX2Minimum() { return this->x2; } - double getX2Maximum() { return this->x2; } - double getX3Centroid() { return this->x3; } - double getX3Minimum() { return this->x3; } - double getX3Maximum() { return this->x3; } + double getX1Centroid() override { return this->x1; } + double getX1Minimum() override { return this->x1; } + double getX1Maximum() override { return this->x1; } + double getX2Centroid() override { return this->x2; } + double getX2Minimum() override { return this->x2; } + double getX2Maximum() override { return this->x2; } + double getX3Centroid() override { return this->x3; } + double getX3Minimum() override { return this->x3; } + double getX3Maximum() override { return this->x3; } - void translate(const double& x1, const double& x2, const double& x3); - void rotate(const double& rx1, const double& rx2, const double& rx3); - void scale(const double& sx1, const double& sx2, const double& sx3); + void translate(const double& x1, const double& x2, const double& x3) override; + void rotate(const double& rx1, const double& rx2, const double& rx3) override; + void scale(const double& sx1, const double& sx2, const double& sx3) override; double getDistance(GbPoint3D *p); bool equals(const GbPoint3D* point) const; - bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3, bool& pointIsOnBoundary); - bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3); - bool isCellInsideGbObject3D(const double& x11,const double& x21,const double& x31,const double& x12,const double& x22,const double& x23) { return false; } + bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3, bool& pointIsOnBoundary) override; + bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3) override; + bool isCellInsideGbObject3D(const double& /*x11*/,const double& /*x21*/,const double& /*x31*/,const double& /*x12*/,const double& /*x22*/,const double& /*x23*/) override { return false; } - std::vector<GbTriangle3D*> getSurfaceTriangleSet(); - GbLine3D* createClippedLine3D(GbPoint3D &point1, GbPoint3D &point2); - virtual std::string toString(); + std::vector<GbTriangle3D*> getSurfaceTriangleSet() override; + GbLine3D* createClippedLine3D(GbPoint3D &point1, GbPoint3D &point2) override; + std::string toString() override; using GbObject3D::isPointInGbObject3D; //Grund: dadurch muss man hier isPointInGbObject3D(GbPoint3D*) nicht ausprogrammieren //, welche sonst hier "ueberdeckt" waere,da es dieselbe methode mit anderen args gibt! diff --git a/src/basics/geometry3d/GbPolygon3D.h b/src/basics/geometry3d/GbPolygon3D.h index 96b96a3acf08f9296f4584834a1390cec6d823e9..279b8bdb81c9460b9c3f35291652e1fc4900ff89 100644 --- a/src/basics/geometry3d/GbPolygon3D.h +++ b/src/basics/geometry3d/GbPolygon3D.h @@ -102,7 +102,7 @@ public: */ GbPolygon3D(GbPolygon3D *polygon); - ~GbPolygon3D(); + ~GbPolygon3D() override; /*======================================================================*/ @@ -249,17 +249,17 @@ public: std::vector<GbTriangle3D*> tmp; return tmp; } - bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3) override + bool isPointInGbObject3D(const double& /*x1*/, const double& /*x2*/, const double& /*x3*/) override { throw UbException(__FILE__, __LINE__, "GbPolygon3D::isPointInObject3D- not implemented"); } - bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3, bool& pointIsOnBoundary) override + bool isPointInGbObject3D(const double& /*x1*/, const double& /*x2*/, const double& /*x3*/, bool& /*pointIsOnBoundary*/) override { throw UbException(__FILE__, __LINE__, "GbPolygon3D::isPointInObject3D- not implemented"); } - bool isCellInsideGbObject3D(const double& x1a,const double& x2a,const double& x3a,const double& x1b,const double& x2b,const double& x3b) override { return false; } + bool isCellInsideGbObject3D(const double& /*x1a*/,const double& /*x2a*/,const double& /*x3a*/,const double& /*x1b*/,const double& /*x2b*/,const double& /*x3b*/) override { return false; } - GbLine3D* createClippedLine3D (GbPoint3D& point1, GbPoint3D &point2) override + GbLine3D* createClippedLine3D (GbPoint3D& /*point1*/, GbPoint3D & /*point2*/) override { throw UbException(__FILE__, __LINE__, "GbPolygon3D::createClippedLine3D - not implemented"); } diff --git a/src/basics/geometry3d/GbSystem3D.h b/src/basics/geometry3d/GbSystem3D.h index bfe97c3d0b536c0c650934f8d532d57c5a3dad63..b448335caafc372bdca7ab103b213a631afa8442 100644 --- a/src/basics/geometry3d/GbSystem3D.h +++ b/src/basics/geometry3d/GbSystem3D.h @@ -112,7 +112,7 @@ namespace GbSystem3D public: PointSet3(int n); PointSet3(const std::vector<GbPoint3D>& points); - ~PointSet3(){} + ~PointSet3()= default; void add(const GbPoint3D& point); void addUnequal(const GbPoint3D& point); void add(const std::vector<GbPoint3D>& p); @@ -192,10 +192,7 @@ namespace GbSystem3D this->points.resize(0);//, NULL); this->add(points); }; - ~OldPointSet3() - { - // delete points; - }; + ~OldPointSet3() = default; void add(GbPoint3D point) { if(this->sizet>0 && point.equals(&(this->points)[this->sizet-1])) return; diff --git a/src/basics/geometry3d/GbTriangle3D.h b/src/basics/geometry3d/GbTriangle3D.h index 7b931c1cc63584c5fa2fa7a3852d908bbdb9aac1..ae20245f03bb09dcd5982efcb37d4874003533df 100644 --- a/src/basics/geometry3d/GbTriangle3D.h +++ b/src/basics/geometry3d/GbTriangle3D.h @@ -63,12 +63,12 @@ public: GbTriangle3D(); GbTriangle3D(GbPoint3D* point1, GbPoint3D* point2, GbPoint3D* point3); GbTriangle3D(GbTriangle3D* triangle); - ~GbTriangle3D(); + ~GbTriangle3D() override; /*======================================================================*/ /* Methoden */ /* */ - GbTriangle3D* clone(); - void finalize() + GbTriangle3D* clone() override; + void finalize() override { this->deletePoints(); } @@ -87,51 +87,51 @@ public: GbPoint3D* getPoint(const int& index); std::vector<GbPoint3D> getPoints(); double getArea(); - double getX1Centroid(); - double getX1Minimum(); - double getX1Maximum(); - double getX2Centroid(); - double getX2Minimum(); - double getX2Maximum(); - double getX3Centroid(); - double getX3Minimum(); - double getX3Maximum(); + double getX1Centroid() override; + double getX1Minimum() override; + double getX1Maximum() override; + double getX2Centroid() override; + double getX2Minimum() override; + double getX2Maximum() override; + double getX3Centroid() override; + double getX3Minimum() override; + double getX3Maximum() override; void setInconsistent() { this->consistent = false;} void setPoint(GbPoint3D *point, int index); //bool equals(GbObject3D *object) - std::vector<GbTriangle3D*> getSurfaceTriangleSet(); - bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3) + std::vector<GbTriangle3D*> getSurfaceTriangleSet() override; + bool isPointInGbObject3D(const double& /*x1*/, const double& /*x2*/, const double& /*x3*/) override { //der einfachheit halber ... return false; //throw UbException(__FILE__, __LINE__, "GbTriangle3D::isPointInObject3D- not implemented"); } - bool isPointInGbObject3D(const double& x1, const double& x2, const double& x3, bool& pointIsOnBoundary) + bool isPointInGbObject3D(const double& /*x1*/, const double& /*x2*/, const double& /*x3*/, bool& pointIsOnBoundary) override { //der einfachheit halber ... pointIsOnBoundary = false; return false; //throw UbException(__FILE__, __LINE__, "GbTriangle3D::isPointInObject3D- not implemented"); } - bool isCellInsideGbObject3D(const double& x11,const double& x21,const double& x31,const double& x12,const double& x22,const double& x23) { return false; } + bool isCellInsideGbObject3D(const double& /*x11*/,const double& /*x21*/,const double& /*x31*/,const double& /*x12*/,const double& /*x22*/,const double& /*x23*/) override { return false; } // get distance from a point to the triangle //todo CHANGE... double getDistanceFromPoint(GbVector3D punct); - std::string toString(); + std::string toString() override; /*======================================================================*/ /* Calculation */ /* */ // std::vector<GbPoint3D> calculateIntersectionPoints3D(GbLine3D *line); - bool hasRaytracing() { return true; } + bool hasRaytracing() override { return true; } /*|r| must be 1! einheitsvector!!*/ - double getIntersectionRaytraceFactor(const double& x1, const double& x2, const double& x3, const double& rx1, const double& rx2, const double& rx3); + double getIntersectionRaytraceFactor(const double& x1, const double& x2, const double& x3, const double& rx1, const double& rx2, const double& rx3) override; // bool isPointOnEdge(GbVector3D& q); GbPoint3D* calculateIntersectionPoints3D(GbLine3D* line); @@ -142,7 +142,7 @@ public: bool enclosesPoint2D(double x1, double x2); GbPolygon3D* createClippedPolygon3D(GbCuboid3D* cube); - GbLine3D* createClippedLine3D (GbPoint3D& point1, GbPoint3D& point2); + GbLine3D* createClippedLine3D (GbPoint3D& point1, GbPoint3D& point2) override; //public GbPolygon2D createClippedPolygon2D(GbPoint2D p1, GbPoint2D p2); GbPolygon3D* createClippedPolygon3D(const double& p1x1, const double& p1x2, const double& p1x3, const double& p2x1, const double& p2x2, const double& p2x3); //bool enclosesRectangle2D(GbRectangle2D *rectangle); @@ -163,7 +163,7 @@ public: //virtuelle Methoden von UbObserver //!! quick and dirty von sirann !! - void objectChanged(UbObservable* changedObject) + void objectChanged(UbObservable* changedObject) override { GbPoint3D* point = dynamic_cast<GbPoint3D*>(changedObject); if(!point || ( this->points[0]!=point && this->points[1]!=point && this->points[2]!=point) ) @@ -171,7 +171,7 @@ public: this->consistent = false; } - void objectWillBeDeleted(UbObservable* objectForDeletion) + void objectWillBeDeleted(UbObservable* objectForDeletion) override { if(this->points[0]) { diff --git a/src/basics/geometry3d/GbVector3D.cpp b/src/basics/geometry3d/GbVector3D.cpp index 94e6e7f670e1c9a8f0fafab6dfc387c8eb0885e5..e763e425a6677ceeed5b9e23355b311e2a71e8a3 100644 --- a/src/basics/geometry3d/GbVector3D.cpp +++ b/src/basics/geometry3d/GbVector3D.cpp @@ -147,7 +147,10 @@ double& GbVector3D::X3 () //---------------------------------------------------------------------------- GbVector3D& GbVector3D::operator= (const GbVector3D& rkV) { - m_afTuple[0] = rkV.m_afTuple[0]; + if(this == &rkV) + return *this; + + m_afTuple[0] = rkV.m_afTuple[0]; m_afTuple[1] = rkV.m_afTuple[1]; m_afTuple[2] = rkV.m_afTuple[2]; return *this; diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAdapter.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAdapter.h index a34f899ae53df3fe4f48cd9b252a9c63bc4ff9a7..b4f08b2002670e8076f6bd19fb1577404f5af0f5 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAdapter.h +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAdapter.h @@ -45,20 +45,14 @@ class D3Q27Interactor; class BCAdapter { public: - BCAdapter() - : secondaryBcOption(0) - , type(0) - , algorithmType(-1) - { - } + BCAdapter() = default; + //! \param secondaryBcOption additional option of boundary conditions BCAdapter(const short& secondaryBcOption) - : secondaryBcOption(secondaryBcOption) - , type(0) - , algorithmType(-1) + : secondaryBcOption(secondaryBcOption) { } - virtual ~BCAdapter() {} + virtual ~BCAdapter() = default; //methods bool isTimeDependent() { return((this->type & TIMEDEPENDENT) == TIMEDEPENDENT); } @@ -77,12 +71,12 @@ public: char getBcAlgorithmType() {return algorithmType;} protected: - short secondaryBcOption; + short secondaryBcOption{0}; - char type; + char type{0}; SPtr<BCAlgorithm> algorithm; - char algorithmType; + char algorithmType{-1}; static const char TIMEDEPENDENT = 1<<0;//'1'; static const char TIMEPERIODIC = 1<<1;//'2'; diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp index 7ec1efcc307e9cd288853faf72601306d9b89bd6..ffc8679ac08323fb4f1b0cde851dd04e352c4130 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp @@ -38,10 +38,6 @@ #include "BCArray3D.h" -BCAlgorithm::BCAlgorithm() : compressible(false) -{ - -} ////////////////////////////////////////////////////////////////////////// void BCAlgorithm::setNodeIndex(int x1, int x2, int x3) { diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h index 45a06b56b72786dee4506b74421008f91ec536be..0b4110fe9147f8e081096e2cded21a0c0953cd53 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h @@ -58,7 +58,7 @@ public: static const char NonReflectingOutflowBCAlgorithm = 8; public: - BCAlgorithm(); + BCAlgorithm() = default; virtual ~BCAlgorithm() = default; virtual void addDistributions(SPtr<DistributionArray3D> distributions) = 0; @@ -74,7 +74,7 @@ public: virtual void applyBC() = 0; protected: - bool compressible; + bool compressible{false}; char type; bool preCollision; @@ -87,9 +87,9 @@ protected: LBMReal compressibleFactor; - typedef void(*CalcMacrosFct)(const LBMReal* const& /*f[27]*/, LBMReal& /*rho*/, LBMReal& /*vx1*/, LBMReal& /*vx2*/, LBMReal& /*vx3*/); - typedef LBMReal(*CalcFeqForDirFct)(const int& /*direction*/, const LBMReal& /*(d)rho*/, const LBMReal& /*vx1*/, const LBMReal& /*vx2*/, const LBMReal& /*vx3*/); - typedef void(*CalcFeqFct)(LBMReal* const& /*feq[27]*/, const LBMReal& /*rho*/, const LBMReal& /*vx1*/, const LBMReal& /*vx2*/, const LBMReal& /*vx3*/); + using CalcMacrosFct = void (*)(const LBMReal *const &, LBMReal &, LBMReal &, LBMReal &, LBMReal &); + using CalcFeqForDirFct = LBMReal (*)(const int &, const LBMReal &, const LBMReal &, const LBMReal &, const LBMReal &); + using CalcFeqFct = void (*)(LBMReal *const &, const LBMReal &, const LBMReal &, const LBMReal &, const LBMReal &); CalcFeqForDirFct calcFeqsForDirFct ; CalcMacrosFct calcMacrosFct; diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCArray3D.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCArray3D.cpp index 76094ba5bbc4c1abc1c6d602eedd5acaf55ae88c..913967fabf3795223389498886732999de55adaf 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCArray3D.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCArray3D.cpp @@ -40,7 +40,7 @@ const int BCArray3D::INTERFACEFC = -4; const int BCArray3D::UNDEFINED = -5; ////////////////////////////////////////////////////////////////////////// -BCArray3D::BCArray3D() {} +BCArray3D::BCArray3D() = default; ////////////////////////////////////////////////////////////////////////// BCArray3D::BCArray3D(std::size_t nx1, std::size_t nx2, std::size_t nx3) { @@ -52,7 +52,7 @@ BCArray3D::BCArray3D(std::size_t nx1, std::size_t nx2, std::size_t nx3, int val) bcindexmatrix.resize(nx1, nx2, nx3, val); } ////////////////////////////////////////////////////////////////////////// -BCArray3D::~BCArray3D() {} +BCArray3D::~BCArray3D() = default; ////////////////////////////////////////////////////////////////////////// void BCArray3D::resize(std::size_t nx1, std::size_t nx2, std::size_t nx3) { @@ -173,11 +173,11 @@ std::string BCArray3D::toString() const std::size_t bcCounter = 0; std::size_t undefCounter = 0; - for (int x1 = 0; x1 < bcindexmatrix.getNX1(); x1++) + for (size_t x1 = 0; x1 < bcindexmatrix.getNX1(); x1++) { - for (int x2 = 0; x2 < bcindexmatrix.getNX2(); x2++) + for (size_t x2 = 0; x2 < bcindexmatrix.getNX2(); x2++) { - for (int x3 = 0; x3 < bcindexmatrix.getNX3(); x3++) + for (size_t x3 = 0; x3 < bcindexmatrix.getNX3(); x3++) { if (bcindexmatrix(x1, x2, x3) >= 0) bcCounter++; else if (bcindexmatrix(x1, x2, x3) == FLUID) fluidCounter++; diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCProcessor.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCProcessor.cpp index 9f4d9eab15320e28edbbf6dad2a47dcbfa2af118..020f4d60d091c4cb26beb7556b51f9edf94cc904 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BCProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BCProcessor.cpp @@ -39,20 +39,16 @@ #include "BCAlgorithm.h" BCProcessor::BCProcessor() -{ - -} += default; ////////////////////////////////////////////////////////////////////////// BCProcessor::BCProcessor(SPtr<ILBMKernel> kernel) { SPtr<DistributionArray3D> distributions = std::dynamic_pointer_cast<EsoTwist3D>(kernel->getDataSet()->getFdistributions()); - bcArray = SPtr<BCArray3D>(new BCArray3D( distributions->getNX1(), distributions->getNX2(), distributions->getNX3(), BCArray3D::FLUID)); + bcArray = std::make_shared<BCArray3D>(distributions->getNX1(), distributions->getNX2(), distributions->getNX3(), BCArray3D::FLUID); } ////////////////////////////////////////////////////////////////////////// BCProcessor::~BCProcessor() -{ - -} += default; ////////////////////////////////////////////////////////////////////////// SPtr<BCProcessor> BCProcessor::clone(SPtr<ILBMKernel> kernel) { diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h index 2c138e437aa8392ff851ce2852357090131b728f..1f740776ea4ef75d49e825c73f354357464145a7 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h @@ -48,24 +48,7 @@ class BoundaryConditions { public: BoundaryConditions() - : noslipBoundaryFlags(0) - , slipBoundaryFlags(0) - , velocityBoundaryFlags(0) - , densityBoundaryFlags(0) - , wallModelBoundaryFlags(0) - , bcVelocityX1(0.0f) - , bcVelocityX2(0.0f) - , bcVelocityX3(0.0f) - , bcDensity(0.0f) - , bcLodiDensity(0.0f) - , bcLodiVelocityX1(0.0f) - , bcLodiVelocityX2(0.0f) - , bcLodiVelocityX3(0.0f) - , bcLodiLentgh(0.0f) - , nx1(0.0f) - , nx2(0.0f) - , nx3(0.0f) - , algorithmType(-1) + { UB_STATIC_ASSERT( sizeof(long long) >= 8); UB_STATIC_ASSERT( (sizeof(long long)*8) >= (D3Q27System::FENDDIR+1)*BoundaryConditions::optionDigits ); @@ -73,7 +56,7 @@ public: for(int fdir=D3Q27System::FSTARTDIR; fdir<=D3Q27System::FENDDIR; fdir++) q[fdir] = -999.; } - virtual ~BoundaryConditions() {} + virtual ~BoundaryConditions() = default; virtual bool isEmpty() { return (noslipBoundaryFlags&slipBoundaryFlags&velocityBoundaryFlags&densityBoundaryFlags)==0;} virtual bool hasBoundaryCondition() @@ -227,10 +210,10 @@ public: virtual std::vector< std::string > getBCNames() { std::vector< std::string > tmp; - tmp.push_back( "NoSlipBC" ); - tmp.push_back( "SlipBC" ); - tmp.push_back( "VelocityBC" ); - tmp.push_back( "DensityBC" ); + tmp.emplace_back("NoSlipBC" ); + tmp.emplace_back("SlipBC" ); + tmp.emplace_back("VelocityBC" ); + tmp.emplace_back("DensityBC" ); return tmp; } virtual std::vector< long long > getBCFlags() @@ -258,26 +241,26 @@ public: protected: LBMReal q[D3Q27System::FENDDIR+1]; - long long noslipBoundaryFlags; - long long slipBoundaryFlags; - long long velocityBoundaryFlags; - long long densityBoundaryFlags; - long long wallModelBoundaryFlags; + long long noslipBoundaryFlags{0}; + long long slipBoundaryFlags{0}; + long long velocityBoundaryFlags{0}; + long long densityBoundaryFlags{0}; + long long wallModelBoundaryFlags{0}; - LBMReal bcVelocityX1; - LBMReal bcVelocityX2; - LBMReal bcVelocityX3; - LBMReal bcDensity; + LBMReal bcVelocityX1{0.0f}; + LBMReal bcVelocityX2{0.0f}; + LBMReal bcVelocityX3{0.0f}; + LBMReal bcDensity{0.0f}; - LBMReal bcLodiDensity; - LBMReal bcLodiVelocityX1; - LBMReal bcLodiVelocityX2; - LBMReal bcLodiVelocityX3; - LBMReal bcLodiLentgh; + LBMReal bcLodiDensity{0.0f}; + LBMReal bcLodiVelocityX1{0.0f}; + LBMReal bcLodiVelocityX2{0.0f}; + LBMReal bcLodiVelocityX3{0.0f}; + LBMReal bcLodiLentgh{0.0f}; - LBMReal nx1,nx2,nx3; + LBMReal nx1{0.0f},nx2{0.0f},nx3{0.0f}; - char algorithmType; + char algorithmType{-1}; private: friend class MPIIORestartCoProcessor; diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.h index 34ea8751f4bf60966527ec82f77a2e75fe945c01..53dfd8d5848accf50593be266901707943821b1d 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.h +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.h @@ -49,15 +49,15 @@ public: { } - void init(const D3Q27Interactor* const& interactor, const double& time=0) {} - void update(const D3Q27Interactor* const& interactor, const double& time=0) {} + void init(const D3Q27Interactor* const& interactor, const double& time=0) override {} + void update(const D3Q27Interactor* const& interactor, const double& time=0) override {} - void adaptBCForDirection( const D3Q27Interactor& interactor, SPtr<BoundaryConditions> bc, const double& worldX1, const double& worldX2, const double& worldX3, const double& q, const int& fdirection, const double& time=0 ) + void adaptBCForDirection( const D3Q27Interactor& /*interactor*/, SPtr<BoundaryConditions> bc, const double& /*worldX1*/, const double& /*worldX2*/, const double& /*worldX3*/, const double& q, const int& fdirection, const double& /*time*/=0 ) override { bc->setNoSlipBoundaryFlag(D3Q27System::INVDIR[fdirection],secondaryBcOption); bc->setQ((float)q,fdirection); } - void adaptBC( const D3Q27Interactor& interactor, SPtr<BoundaryConditions> bc, const double& worldX1, const double& worldX2, const double& worldX3, const double& time=0 ) + void adaptBC( const D3Q27Interactor& /*interactor*/, SPtr<BoundaryConditions> bc, const double& /*worldX1*/, const double& /*worldX2*/, const double& /*worldX3*/, const double& /*time*/=0 ) override { bc->setBcAlgorithmType(algorithmType); } diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp index 69759b7270f861acb9a2fd5483efc3e10119047d..f80cb1e2b32afd63b6fd722fcd98726d421a1d9a 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp @@ -49,25 +49,25 @@ VelocityBCAdapter::VelocityBCAdapter(const bool& vx1, const bool& vx2, const boo /*==========================================================*/ VelocityBCAdapter::VelocityBCAdapter(const bool& vx1, const bool& vx2, const bool& vx3, const mu::Parser& function, const double& startTime, const double& endTime ) { - if(vx1) this->vx1BCs.push_back(BCFunction(function,startTime,endTime)); - if(vx2) this->vx2BCs.push_back(BCFunction(function,startTime,endTime)); - if(vx3) this->vx3BCs.push_back(BCFunction(function,startTime,endTime)); + if(vx1) this->vx1BCs.emplace_back(function,startTime,endTime); + if(vx2) this->vx2BCs.emplace_back(function,startTime,endTime); + if(vx3) this->vx3BCs.emplace_back(function,startTime,endTime); this->init(); } /*==========================================================*/ VelocityBCAdapter::VelocityBCAdapter(const bool& vx1, const bool& vx2, const bool& vx3, const mu::Parser& function1, const mu::Parser& function2, const mu::Parser& function3, const double& startTime, const double& endTime ) { - if(vx1) this->vx1BCs.push_back(BCFunction(function1,startTime,endTime)); - if(vx2) this->vx2BCs.push_back(BCFunction(function2,startTime,endTime)); - if(vx3) this->vx3BCs.push_back(BCFunction(function3,startTime,endTime)); + if(vx1) this->vx1BCs.emplace_back(function1,startTime,endTime); + if(vx2) this->vx2BCs.emplace_back(function2,startTime,endTime); + if(vx3) this->vx3BCs.emplace_back(function3,startTime,endTime); this->init(); } /*==========================================================*/ VelocityBCAdapter::VelocityBCAdapter(const bool& vx1, const bool& vx2, const bool& vx3, const string& functionstring, const double& startTime, const double& endTime ) { - if(vx1) this->vx1BCs.push_back(BCFunction(functionstring,startTime,endTime)); - if(vx2) this->vx2BCs.push_back(BCFunction(functionstring,startTime,endTime)); - if(vx3) this->vx3BCs.push_back(BCFunction(functionstring,startTime,endTime)); + if(vx1) this->vx1BCs.emplace_back(functionstring,startTime,endTime); + if(vx2) this->vx2BCs.emplace_back(functionstring,startTime,endTime); + if(vx3) this->vx3BCs.emplace_back(functionstring,startTime,endTime); this->init(); } /*==========================================================*/ @@ -99,9 +99,9 @@ VelocityBCAdapter::VelocityBCAdapter(const double& vx1, const double& vx1StartTi const double& vx2, const double& vx2StartTime, const double& vx2EndTime, const double& vx3, const double& vx3StartTime, const double& vx3EndTime ) { - this->vx1BCs.push_back(BCFunction(vx1,vx1StartTime,vx1EndTime)); - this->vx2BCs.push_back(BCFunction(vx2,vx2StartTime,vx2EndTime)); - this->vx3BCs.push_back(BCFunction(vx3,vx3StartTime,vx3EndTime)); + this->vx1BCs.emplace_back(vx1,vx1StartTime,vx1EndTime); + this->vx2BCs.emplace_back(vx2,vx2StartTime,vx2EndTime); + this->vx3BCs.emplace_back(vx3,vx3StartTime,vx3EndTime); this->init(); } /*==========================================================*/ @@ -109,9 +109,9 @@ VelocityBCAdapter::VelocityBCAdapter(const string& vx1Function, const double& vx const string& vx2Function, const double& vx2StartTime, const double& vx2EndTime, const string& vx3Function, const double& vx3StartTime, const double& vx3EndTime ) { - if(vx1Function.size()) this->vx1BCs.push_back(BCFunction(vx1Function,vx1StartTime,vx1EndTime)); - if(vx2Function.size()) this->vx2BCs.push_back(BCFunction(vx2Function,vx2StartTime,vx2EndTime)); - if(vx3Function.size()) this->vx3BCs.push_back(BCFunction(vx3Function,vx3StartTime,vx3EndTime)); + if(vx1Function.size()) this->vx1BCs.emplace_back(vx1Function,vx1StartTime,vx1EndTime); + if(vx2Function.size()) this->vx2BCs.emplace_back(vx2Function,vx2StartTime,vx2EndTime); + if(vx3Function.size()) this->vx3BCs.emplace_back(vx3Function,vx3StartTime,vx3EndTime); this->init(); } /*==========================================================*/ @@ -120,9 +120,9 @@ void VelocityBCAdapter::setNewVelocities(const double& vx1, const double& vx1Sta const double& vx3, const double& vx3StartTime, const double& vx3EndTime ) { this->clear(); - this->vx1BCs.push_back(BCFunction(vx1,vx1StartTime,vx1EndTime)); - this->vx2BCs.push_back(BCFunction(vx2,vx2StartTime,vx2EndTime)); - this->vx3BCs.push_back(BCFunction(vx3,vx3StartTime,vx3EndTime)); + this->vx1BCs.emplace_back(vx1,vx1StartTime,vx1EndTime); + this->vx2BCs.emplace_back(vx2,vx2StartTime,vx2EndTime); + this->vx3BCs.emplace_back(vx3,vx3StartTime,vx3EndTime); this->init(); } /*==========================================================*/ @@ -266,7 +266,7 @@ void VelocityBCAdapter::update( const D3Q27Interactor* const& interactor, const this->init(interactor,time); } /*==========================================================*/ -void VelocityBCAdapter::adaptBCForDirection( const D3Q27Interactor& interactor, SPtr<BoundaryConditions> bc, const double& worldX1, const double& worldX2, const double& worldX3, const double& q, const int& fdirection, const double& time ) +void VelocityBCAdapter::adaptBCForDirection( const D3Q27Interactor& /*interactor*/, SPtr<BoundaryConditions> bc, const double& /*worldX1*/, const double& /*worldX2*/, const double& /*worldX3*/, const double& q, const int& fdirection, const double& /*time*/ ) { bc->setVelocityBoundaryFlag(D3Q27System::INVDIR[fdirection],secondaryBcOption); bc->setQ((float)q,fdirection); @@ -278,7 +278,7 @@ void VelocityBCAdapter::adaptBC( const D3Q27Interactor& interactor, SPtr<Boundar bc->setBcAlgorithmType(algorithmType); } /*==========================================================*/ -void VelocityBCAdapter::setNodeVelocity( const D3Q27Interactor& interactor, SPtr<BoundaryConditions> bc, const double& worldX1, const double& worldX2, const double& worldX3, const double& timestep) +void VelocityBCAdapter::setNodeVelocity( const D3Q27Interactor& /*interactor*/, SPtr<BoundaryConditions> bc, const double& worldX1, const double& worldX2, const double& worldX3, const double& timestep) { //Geschwindigkeiten setzen try @@ -312,7 +312,7 @@ UbTupleDouble3 VelocityBCAdapter::getVelocity(const double& x1, const double& x2 if(tmpVx2Function) vx2 = tmpVx2Function->Eval(); if(tmpVx3Function) vx3 = tmpVx3Function->Eval(); - return UbTupleDouble3(vx1,vx2,vx3); + return { vx1,vx2,vx3 }; } /*==========================================================*/ string VelocityBCAdapter::toString() diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.h index 723b9de387e4f9a6869fc64a0e2ce7e2d2df5435..4c2b666fcbe6589b0102942842661a9fb68ad009 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.h +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.h @@ -123,11 +123,11 @@ public: //------------- implements BCAdapter ----- start std::string toString(); - void init(const D3Q27Interactor* const& interactor, const double& time=0); - void update(const D3Q27Interactor* const& interactor, const double& time=0); + void init(const D3Q27Interactor* const& interactor, const double& time=0) override; + void update(const D3Q27Interactor* const& interactor, const double& time=0) override; - void adaptBCForDirection( const D3Q27Interactor& interactor, SPtr<BoundaryConditions> bc, const double& worldX1, const double& worldX2, const double& worldX3, const double& q, const int& fdirection, const double& time=0 ); - void adaptBC( const D3Q27Interactor& interactor, SPtr<BoundaryConditions> bc, const double& worldX1, const double& worldX2, const double& worldX3, const double& time=0 ); + void adaptBCForDirection( const D3Q27Interactor& interactor, SPtr<BoundaryConditions> bc, const double& worldX1, const double& worldX2, const double& worldX3, const double& q, const int& fdirection, const double& time=0 ) override; + void adaptBC( const D3Q27Interactor& interactor, SPtr<BoundaryConditions> bc, const double& worldX1, const double& worldX2, const double& worldX3, const double& time=0 ) override; //------------- implements BCAdapter ----- end diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/CoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/CoProcessor.cpp index cd74e23229799f23688a820efbe3c06a5ce3a272..081aac9825a92956c2c13298ea6efab2ff810ead 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/CoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/CoProcessor.cpp @@ -37,8 +37,7 @@ #include "UbScheduler.h" CoProcessor::CoProcessor() -{ -} += default; CoProcessor::CoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s): grid(grid), scheduler(s) { @@ -46,7 +45,5 @@ CoProcessor::CoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s): grid(grid), sc } CoProcessor::~CoProcessor() -{ - -} += default; diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp index e881706cacc53a98076131da2022fc417d9bf1e7..43652ec721991f00b5b5f6a47122ec807bb4e60c 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp @@ -66,8 +66,7 @@ NUPSCounterCoProcessor::NUPSCounterCoProcessor(SPtr<Grid3D> grid, SPtr<UbSchedul } ////////////////////////////////////////////////////////////////////////// NUPSCounterCoProcessor::~NUPSCounterCoProcessor() -{ -} += default; ////////////////////////////////////////////////////////////////////////// void NUPSCounterCoProcessor::process(double step) { diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h b/src/cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h index 6d929fc25404aa53564598ac31d1bc18ee5acc98..f111a4b8cc4389217cdcfb758908d294733d6ba0 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h +++ b/src/cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h @@ -55,7 +55,7 @@ public: //! \param numOfThreads is number of threads //! \param comm is Communicator object NUPSCounterCoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s, int numOfThreads, SPtr<Communicator> comm); - virtual ~NUPSCounterCoProcessor(); + ~NUPSCounterCoProcessor() override; void process(double step)override; diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp index f2843380f8bd0ccb386f9c5cdf745fdd8ab219dc..077c10e32a09b2902267ba4dd010dac27a5a15ff 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp @@ -52,8 +52,7 @@ WriteBlocksCoProcessor::WriteBlocksCoProcessor(SPtr<Grid3D> grid, SPtr<UbSchedul } ////////////////////////////////////////////////////////////////////////// WriteBlocksCoProcessor::~WriteBlocksCoProcessor() -{ -} += default; ////////////////////////////////////////////////////////////////////////// void WriteBlocksCoProcessor::process(double step) { @@ -71,12 +70,12 @@ void WriteBlocksCoProcessor::collectData(double step) std::vector< UbTupleInt8 > cells; std::vector<std::string> celldatanames; - celldatanames.push_back("isActive"); - celldatanames.push_back("rank"); - celldatanames.push_back("interface"); - celldatanames.push_back("ID"); - celldatanames.push_back("part"); - celldatanames.push_back("level"); + celldatanames.emplace_back("isActive"); + celldatanames.emplace_back("rank"); + celldatanames.emplace_back("interface"); + celldatanames.emplace_back("ID"); + celldatanames.emplace_back("part"); + celldatanames.emplace_back("level"); //celldatanames.push_back("connectorCF"); //celldatanames.push_back("connectorFC"); #if defined VF_FETOL diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h b/src/cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h index 8127c9a4653d00e81802bcaa8bb34f9d6fc09563..30beca56754f7bc74738664ee694e0b21acab146 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h +++ b/src/cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h @@ -57,7 +57,7 @@ public: //! \param writer is WbWriter object //! \param comm is Communicator object WriteBlocksCoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s, const std::string& path, WbWriter* const writer, SPtr<Communicator> comm); - virtual ~WriteBlocksCoProcessor(); + ~WriteBlocksCoProcessor() override; void process(double step) override; diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp index ec21df5aebfc4b92be4fce2a1ec69692b6a2a7c7..4902ea845c4bc76c281f49c9b0db303adcd19dc8 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp @@ -50,9 +50,7 @@ using namespace std; WriteBoundaryConditionsCoProcessor::WriteBoundaryConditionsCoProcessor() -{ - -} += default; ////////////////////////////////////////////////////////////////////////// WriteBoundaryConditionsCoProcessor::WriteBoundaryConditionsCoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s, const std::string& path, WbWriter* const writer, SPtr<Communicator> comm) @@ -151,10 +149,10 @@ void WriteBoundaryConditionsCoProcessor::addDataGeo(SPtr<Block3D> block) //Diese Daten werden geschrieben: datanames.resize(0); - datanames.push_back("Boundary Conditions"); - datanames.push_back("Geometry"); - datanames.push_back("Level"); - //datanames.push_back("Interface CF"); + datanames.emplace_back("Boundary Conditions"); + datanames.emplace_back("Geometry"); + datanames.emplace_back("Level"); + //datanames.emplace_back("Interface CF"); data.resize(datanames.size()); diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.h b/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.h index 73bd92ffe485fad78adf34aaa2aeaf07e28b400d..b89db187db42d4d13a0f3f9b986451e3665e499b 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.h +++ b/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.h @@ -61,7 +61,7 @@ public: //! \param writer is WbWriter object //! \param comm is Communicator object WriteBoundaryConditionsCoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s, const std::string& path, WbWriter* const writer, SPtr<Communicator> comm); - ~WriteBoundaryConditionsCoProcessor() {} + ~WriteBoundaryConditionsCoProcessor() override = default; void process(double step) override; diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.cpp index 5654d1dfe567245621c90e1231f12966fd0b0f3e..d621d551561991fa2edde46152a1ce96cc9db264 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.cpp @@ -47,9 +47,7 @@ #include "BCArray3D.h" WriteMacroscopicQuantitiesCoProcessor::WriteMacroscopicQuantitiesCoProcessor() -{ - -} += default; ////////////////////////////////////////////////////////////////////////// WriteMacroscopicQuantitiesCoProcessor::WriteMacroscopicQuantitiesCoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s, const std::string& path, WbWriter* const writer, @@ -153,13 +151,13 @@ void WriteMacroscopicQuantitiesCoProcessor::addDataMQ(SPtr<Block3D> block) //Diese Daten werden geschrieben: datanames.resize(0); - datanames.push_back("Rho"); - datanames.push_back("Vx"); - datanames.push_back("Vy"); - datanames.push_back("Vz"); - //datanames.push_back("Press"); - datanames.push_back("Level"); - //datanames.push_back("BlockID"); + datanames.emplace_back("Rho"); + datanames.emplace_back("Vx"); + datanames.emplace_back("Vy"); + datanames.emplace_back("Vz"); + //datanames.emplace_back("Press"); + datanames.emplace_back("Level"); + //datanames.emplace_back("BlockID"); @@ -219,9 +217,9 @@ void WriteMacroscopicQuantitiesCoProcessor::addDataMQ(SPtr<Block3D> block) int index = 0; nodeNumbers(ix1,ix2,ix3) = nr++; Vector3D worldCoordinates = grid->getNodeCoordinates(block, ix1, ix2, ix3); - nodes.push_back( UbTupleFloat3(float(worldCoordinates[0]), + nodes.emplace_back(float(worldCoordinates[0]), float(worldCoordinates[1]), - float(worldCoordinates[2]) )); + float(worldCoordinates[2]) ); distributions->getDistribution(f, ix1, ix2, ix3); calcMacros(f,rho,vx1,vx2,vx3); diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.h b/src/cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.h index 0386f938191630894e3facf04a2fa721e3fb6287..816999a71d92219f11d59fd2d9450e46531d427e 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.h +++ b/src/cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.h @@ -66,7 +66,7 @@ public: WriteMacroscopicQuantitiesCoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s, const std::string& path, WbWriter* const writer, SPtr<LBMUnitConverter> conv, SPtr<Communicator> comm); - ~WriteMacroscopicQuantitiesCoProcessor(){} + ~WriteMacroscopicQuantitiesCoProcessor() override= default; void process(double step) override; @@ -94,7 +94,7 @@ private: int gridRank; SPtr<Communicator> comm; - typedef void(*CalcMacrosFct)(const LBMReal* const& /*feq[27]*/, LBMReal& /*(d)rho*/, LBMReal& /*vx1*/, LBMReal& /*vx2*/, LBMReal& /*vx3*/); + using CalcMacrosFct = void (*)(const LBMReal *const &, LBMReal &, LBMReal &, LBMReal &, LBMReal &); CalcMacrosFct calcMacros; }; diff --git a/src/cpu/VirtualFluidsCore/Connectors/Block3DConnector.h b/src/cpu/VirtualFluidsCore/Connectors/Block3DConnector.h index 527c42d3e3f43d9e3d9b3cdef8bf666b0c3d5450..1bef6737422efa711f15bb1f78b87312ea0032e2 100644 --- a/src/cpu/VirtualFluidsCore/Connectors/Block3DConnector.h +++ b/src/cpu/VirtualFluidsCore/Connectors/Block3DConnector.h @@ -46,9 +46,9 @@ class Block3DConnector { public: - Block3DConnector() : sendDir(-1) {} + Block3DConnector() = default; Block3DConnector(const int& sendDir) : sendDir(sendDir) {} - virtual ~Block3DConnector() {} + virtual ~Block3DConnector() = default; //!Iniitializes connector virtual void init()=0; //!Synchronizes the send-buffer length @@ -94,7 +94,7 @@ public: virtual void receiveVectorsX3() = 0; protected: - int sendDir; + int sendDir{-1}; }; #endif //BLOCK3DCONNECTOR_H diff --git a/src/cpu/VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.h b/src/cpu/VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.h index b9f2d1c24e1df8651c7d5c8e1b6a3aad4d1ddbb1..ffce993cce0b56cdafde01b875e43be614bdeef3 100644 --- a/src/cpu/VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.h +++ b/src/cpu/VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.h @@ -47,8 +47,8 @@ class D3Q27ETFullDirectConnector : public LocalBlock3DConnector { public: D3Q27ETFullDirectConnector(SPtr<Block3D> from, SPtr<Block3D> to, int sendDir); - void init(); - void sendVectors(); + void init() override; + void sendVectors() override; protected: inline void exchangeData(int x1From, int x2From, int x3From, int x1To, int x2To, int x3To); diff --git a/src/cpu/VirtualFluidsCore/Connectors/LocalBlock3DConnector.h b/src/cpu/VirtualFluidsCore/Connectors/LocalBlock3DConnector.h index 93bb6536d26020a55ad93ad379820ca0266e816d..de6a011788cd84772a23fd97111ecd1e6755b2a9 100644 --- a/src/cpu/VirtualFluidsCore/Connectors/LocalBlock3DConnector.h +++ b/src/cpu/VirtualFluidsCore/Connectors/LocalBlock3DConnector.h @@ -49,22 +49,22 @@ public: { } - virtual ~LocalBlock3DConnector() {} - void sendTransmitterDataSize() {} - void receiveTransmitterDataSize() {} - virtual void init() = 0; - void prepareForReceive() {} - void prepareForSend() {} - void fillSendVectors() {} - virtual void sendVectors()=0; - void receiveVectors() {} + ~LocalBlock3DConnector() override = default; + void sendTransmitterDataSize() override {} + void receiveTransmitterDataSize() override {} + void init() override = 0; + void prepareForReceive() override {} + void prepareForSend() override {} + void fillSendVectors() override {} + void sendVectors() override =0; + void receiveVectors() override {} - void distributeReceiveVectors() {} + void distributeReceiveVectors() override {} - bool isLocalConnector() { return true; } - bool isRemoteConnector() { return false; } - bool isInterpolationConnectorCF() { return false; } - bool isInterpolationConnectorFC() { return false; } + bool isLocalConnector() override { return true; } + bool isRemoteConnector() override { return false; } + bool isInterpolationConnectorCF() override { return false; } + bool isInterpolationConnectorFC() override { return false; } double getSendRecieveTime(); diff --git a/src/cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.cpp b/src/cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.cpp index 533f23f6bb2ad24e68e156b53ff9974324c9b2c4..113fd04ce73e162db48eca9396038920bc348321 100644 --- a/src/cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.cpp +++ b/src/cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.cpp @@ -35,8 +35,7 @@ #include "EsoTwistD3Q27System.h" D3Q27EsoTwist3DSplittedVector::D3Q27EsoTwist3DSplittedVector() -{ -} += default; ////////////////////////////////////////////////////////////////////////// D3Q27EsoTwist3DSplittedVector::D3Q27EsoTwist3DSplittedVector( size_t nx1, size_t nx2, size_t nx3, LBMReal value ) { @@ -44,16 +43,14 @@ D3Q27EsoTwist3DSplittedVector::D3Q27EsoTwist3DSplittedVector( size_t nx1, size_t this->NX2 = nx2; this->NX3 = nx3; - this->localDistributions = CbArray4D<LBMReal,IndexerX4X3X2X1>::CbArray4DPtr(new CbArray4D<LBMReal,IndexerX4X3X2X1>(13, nx1+1, nx2+1, nx3+1, value)); - this->nonLocalDistributions = CbArray4D<LBMReal,IndexerX4X3X2X1>::CbArray4DPtr(new CbArray4D<LBMReal,IndexerX4X3X2X1>(13, nx1+1, nx2+1, nx3+1, value)); + this->localDistributions = std::make_shared<CbArray4D<LBMReal, IndexerX4X3X2X1> >(13, nx1+1, nx2+1, nx3+1, value); + this->nonLocalDistributions = std::make_shared<CbArray4D<LBMReal, IndexerX4X3X2X1> >(13, nx1+1, nx2+1, nx3+1, value); - this->zeroDistributions = CbArray3D<LBMReal,IndexerX3X2X1>::CbArray3DPtr(new CbArray3D<LBMReal,IndexerX3X2X1>(nx1, nx2, nx3, value)); + this->zeroDistributions = std::make_shared<CbArray3D<LBMReal, IndexerX3X2X1> >(nx1, nx2, nx3, value); } ////////////////////////////////////////////////////////////////////////// D3Q27EsoTwist3DSplittedVector::~D3Q27EsoTwist3DSplittedVector() -{ - -} += default; ////////////////////////////////////////////////////////////////////////// void D3Q27EsoTwist3DSplittedVector::swap() { diff --git a/src/cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.h b/src/cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.h index f555aabad86f5708c7e3bd35d824322a4245dff8..1e92809c0c429b0d72bc29e17806b17795fc4a67 100644 --- a/src/cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.h +++ b/src/cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.h @@ -51,35 +51,35 @@ public: //! \param value initialisation value D3Q27EsoTwist3DSplittedVector(size_t nx1, size_t nx2, size_t nx3, LBMReal value); ////////////////////////////////////////////////////////////////////////// - ~D3Q27EsoTwist3DSplittedVector(); + ~D3Q27EsoTwist3DSplittedVector() override; ////////////////////////////////////////////////////////////////////////// - void swap(); + void swap() override; ////////////////////////////////////////////////////////////////////////// - virtual void getDistribution( LBMReal* const f, size_t x1, size_t x2, size_t x3); + void getDistribution( LBMReal* const f, size_t x1, size_t x2, size_t x3) override; ////////////////////////////////////////////////////////////////////////// - virtual void setDistribution(const LBMReal* const f, size_t x1, size_t x2, size_t x3); + void setDistribution(const LBMReal* const f, size_t x1, size_t x2, size_t x3) override; //////////////////////////////////////////////////////////////////////// - virtual void getDistributionInv( LBMReal* const f, size_t x1, size_t x2, size_t x3); + void getDistributionInv( LBMReal* const f, size_t x1, size_t x2, size_t x3) override; ////////////////////////////////////////////////////////////////////////// - virtual void setDistributionInv(const LBMReal* const f, size_t x1, size_t x2, size_t x3); + void setDistributionInv(const LBMReal* const f, size_t x1, size_t x2, size_t x3) override; ////////////////////////////////////////////////////////////////////////// - virtual void setDistributionForDirection(const LBMReal* const f, size_t x1, size_t x2, size_t x3, unsigned long int direction); + void setDistributionForDirection(const LBMReal* const f, size_t x1, size_t x2, size_t x3, unsigned long int direction) override; ////////////////////////////////////////////////////////////////////////// - virtual void setDistributionForDirection(LBMReal f, size_t x1, size_t x2, size_t x3, int direction); + void setDistributionForDirection(LBMReal f, size_t x1, size_t x2, size_t x3, int direction) override; ////////////////////////////////////////////////////////////////////////// - virtual LBMReal getDistributionInvForDirection(size_t x1, size_t x2, size_t x3, int direction); + LBMReal getDistributionInvForDirection(size_t x1, size_t x2, size_t x3, int direction) override; ////////////////////////////////////////////////////////////////////////// - virtual void setDistributionInvForDirection(const LBMReal* const f, size_t x1, size_t x2, size_t x3, unsigned long int direction); + void setDistributionInvForDirection(const LBMReal* const f, size_t x1, size_t x2, size_t x3, unsigned long int direction) override; ////////////////////////////////////////////////////////////////////////// - virtual void setDistributionInvForDirection(LBMReal f, size_t x1, size_t x2, size_t x3, unsigned long int direction); + void setDistributionInvForDirection(LBMReal f, size_t x1, size_t x2, size_t x3, unsigned long int direction) override; ////////////////////////////////////////////////////////////////////////// - virtual LBMReal getDistributionForDirection(size_t x1, size_t x2, size_t x3, int direction); + LBMReal getDistributionForDirection(size_t x1, size_t x2, size_t x3, int direction) override; ////////////////////////////////////////////////////////////////////////// - size_t getNX1() const; + size_t getNX1() const override; ////////////////////////////////////////////////////////////////////////// - size_t getNX2() const; + size_t getNX2() const override; ////////////////////////////////////////////////////////////////////////// - size_t getNX3() const; + size_t getNX3() const override; ////////////////////////////////////////////////////////////////////////// CbArray4D<LBMReal,IndexerX4X3X2X1>::CbArray4DPtr getLocalDistributions(); ////////////////////////////////////////////////////////////////////////// diff --git a/src/cpu/VirtualFluidsCore/Data/DataSet3D.h b/src/cpu/VirtualFluidsCore/Data/DataSet3D.h index 095708b4aeddc3a411af077261e9c0872299343f..66fefb15ad256b9f0161dae938fe58795d5911f8 100644 --- a/src/cpu/VirtualFluidsCore/Data/DataSet3D.h +++ b/src/cpu/VirtualFluidsCore/Data/DataSet3D.h @@ -40,9 +40,9 @@ #include "basics/container/CbArray3D.h" #include "DistributionArray3D.h" -typedef CbArray4D<LBMReal,IndexerX4X3X2X1> AverageValuesArray3D; -typedef CbArray4D<LBMReal,IndexerX4X3X2X1> ShearStressValuesArray3D; -typedef CbArray3D<LBMReal, IndexerX3X2X1> RelaxationFactorArray3D; +using AverageValuesArray3D = CbArray4D<LBMReal, IndexerX4X3X2X1>; +using ShearStressValuesArray3D = CbArray4D<LBMReal, IndexerX4X3X2X1>; +using RelaxationFactorArray3D = CbArray3D<LBMReal, IndexerX3X2X1>; //! A class provides an interface for data structures in the kernel. class DataSet3D diff --git a/src/cpu/VirtualFluidsCore/Data/DistributionArray3D.h b/src/cpu/VirtualFluidsCore/Data/DistributionArray3D.h index c72f358cddf6fd36b92e4b7f681ef438f37b1f72..89da1577ffe6c57f9ef77c96dec4dd92a73c569a 100644 --- a/src/cpu/VirtualFluidsCore/Data/DistributionArray3D.h +++ b/src/cpu/VirtualFluidsCore/Data/DistributionArray3D.h @@ -6,8 +6,9 @@ class DistributionArray3D { public: - DistributionArray3D() {}; - virtual ~DistributionArray3D(){}; + DistributionArray3D() = default;; + virtual ~DistributionArray3D()= default;; + virtual size_t getNX1() const = 0; virtual size_t getNX2() const = 0; virtual size_t getNX3() const = 0; diff --git a/src/cpu/VirtualFluidsCore/Data/EsoTwist3D.h b/src/cpu/VirtualFluidsCore/Data/EsoTwist3D.h index 87c1639bf85a9b9e12f2787280f98375050bc6b4..2e0475f1d76faa992431d1e8ebbeb64760178e13 100644 --- a/src/cpu/VirtualFluidsCore/Data/EsoTwist3D.h +++ b/src/cpu/VirtualFluidsCore/Data/EsoTwist3D.h @@ -50,38 +50,38 @@ class EsoTwistPlusD3Q19UnrollArray{}; class EsoTwist3D : public DistributionArray3D { public: - EsoTwist3D(){}; - virtual ~EsoTwist3D(){}; + EsoTwist3D()= default;; + ~EsoTwist3D() override= default;; ////////////////////////////////////////////////////////////////////////// - virtual void swap() = 0; + void swap() override = 0; ////////////////////////////////////////////////////////////////////////// - virtual void getDistribution(LBMReal* const f, size_t x1, size_t x2, size_t x3) = 0; + void getDistribution(LBMReal* const f, size_t x1, size_t x2, size_t x3) override = 0; ////////////////////////////////////////////////////////////////////////// - virtual void setDistribution(const LBMReal* const f, size_t x1, size_t x2, size_t x3) = 0; + void setDistribution(const LBMReal* const f, size_t x1, size_t x2, size_t x3) override = 0; //////////////////////////////////////////////////////////////////////// - virtual void getDistributionInv( LBMReal* const f, size_t x1, size_t x2, size_t x3) = 0; + void getDistributionInv( LBMReal* const f, size_t x1, size_t x2, size_t x3) override = 0; ////////////////////////////////////////////////////////////////////////// - virtual void setDistributionInv(const LBMReal* const f, size_t x1, size_t x2, size_t x3) = 0; + void setDistributionInv(const LBMReal* const f, size_t x1, size_t x2, size_t x3) override = 0; ////////////////////////////////////////////////////////////////////////// - virtual void setDistributionForDirection(const LBMReal* const f, size_t x1, size_t x2, size_t x3, unsigned long int direction) = 0; + void setDistributionForDirection(const LBMReal* const f, size_t x1, size_t x2, size_t x3, unsigned long int direction) override = 0; ////////////////////////////////////////////////////////////////////////// - virtual void setDistributionForDirection(LBMReal f, size_t x1, size_t x2, size_t x3, int direction) = 0; + void setDistributionForDirection(LBMReal f, size_t x1, size_t x2, size_t x3, int direction) override = 0; ////////////////////////////////////////////////////////////////////////// //virtual void getDistributionInvForDirection(LBMReal* const& f, const size_t& x1, const size_t& x2, const size_t& x3, const unsigned long int& direction) = 0; ////////////////////////////////////////////////////////////////////////// - virtual LBMReal getDistributionInvForDirection(size_t x1, size_t x2, size_t x3, int direction) = 0; + LBMReal getDistributionInvForDirection(size_t x1, size_t x2, size_t x3, int direction) override = 0; ////////////////////////////////////////////////////////////////////////// - virtual void setDistributionInvForDirection(const LBMReal* const f, size_t x1, size_t x2, size_t x3, unsigned long int direction) = 0; + void setDistributionInvForDirection(const LBMReal* const f, size_t x1, size_t x2, size_t x3, unsigned long int direction) override = 0; ////////////////////////////////////////////////////////////////////////// - virtual void setDistributionInvForDirection(LBMReal f, size_t x1, size_t x2, size_t x3, unsigned long int direction) = 0; + void setDistributionInvForDirection(LBMReal f, size_t x1, size_t x2, size_t x3, unsigned long int direction) override = 0; ////////////////////////////////////////////////////////////////////////// - virtual LBMReal getDistributionForDirection(size_t x1, size_t x2, size_t x3, int direction) = 0; + LBMReal getDistributionForDirection(size_t x1, size_t x2, size_t x3, int direction) override = 0; ////////////////////////////////////////////////////////////////////////// - virtual size_t getNX1() const = 0; + size_t getNX1() const override = 0; ////////////////////////////////////////////////////////////////////////// - virtual size_t getNX2() const = 0; + size_t getNX2() const override = 0; ////////////////////////////////////////////////////////////////////////// - virtual size_t getNX3() const = 0; + size_t getNX3() const override = 0; ////////////////////////////////////////////////////////////////////////// }; diff --git a/src/cpu/VirtualFluidsCore/Grid/BasicCalculator.cpp b/src/cpu/VirtualFluidsCore/Grid/BasicCalculator.cpp index d0127b372cd2969f9aef6a5517b904ca6e01d4eb..55c35a9cd465799f7877d88a3f4c4a81524f518a 100644 --- a/src/cpu/VirtualFluidsCore/Grid/BasicCalculator.cpp +++ b/src/cpu/VirtualFluidsCore/Grid/BasicCalculator.cpp @@ -52,11 +52,6 @@ BasicCalculator::BasicCalculator(SPtr<Grid3D> grid, SPtr<UbScheduler> additional Calculator(grid, additionalGhostLayerUpdateScheduler, numberOfTimeSteps) { -} -////////////////////////////////////////////////////////////////////////// -BasicCalculator::~BasicCalculator() -{ - } ////////////////////////////////////////////////////////////////////////// void BasicCalculator::calculate() diff --git a/src/cpu/VirtualFluidsCore/Grid/BasicCalculator.h b/src/cpu/VirtualFluidsCore/Grid/BasicCalculator.h index 0e681746156f7cbbec5216f7eb0bb10fe8fa5c07..7585f53ce3651c8d80328c5cc3a0821e5e7cda43 100644 --- a/src/cpu/VirtualFluidsCore/Grid/BasicCalculator.h +++ b/src/cpu/VirtualFluidsCore/Grid/BasicCalculator.h @@ -46,8 +46,8 @@ class BasicCalculator : public Calculator { public: BasicCalculator(SPtr<Grid3D> grid, SPtr<UbScheduler> additionalGhostLayerUpdateScheduler, int numberOfTimeSteps); - virtual ~BasicCalculator(); - virtual void calculate(); + ~BasicCalculator() override = default; + void calculate() override; protected: void calculateBlocks(int startLevel, int maxInitLevel, int calcStep); diff --git a/src/cpu/VirtualFluidsCore/Grid/Block3D.cpp b/src/cpu/VirtualFluidsCore/Grid/Block3D.cpp index f11cfde0d0b69cc60862ab43d9afdf21d4dc5dae..23fc3903bfa7877211ff9e47d5993f0f7b39d742 100644 --- a/src/cpu/VirtualFluidsCore/Grid/Block3D.cpp +++ b/src/cpu/VirtualFluidsCore/Grid/Block3D.cpp @@ -39,38 +39,19 @@ int Block3D::counter = 0; -////////////////////////////////////////////////////////////////////////// -Block3D::Block3D() : x1(0),x2(0),x3(0) - ,active(true) - ,globalID(-1) - ,rank(-1),part(-1) - ,interpolationFlagCF(0) - ,interpolationFlagFC(0) - ,level(-1) - ,bundle(-1) - ,lrank(-1) - ,localID(-1) -{ -} + ////////////////////////////////////////////////////////////////////////// Block3D::Block3D(int x1, int x2, int x3, int level) - : x1(x1), x2(x2), x3(x3) - ,active(true) - ,globalID(-1) - ,rank(0),part(0) - ,interpolationFlagCF(0) - ,interpolationFlagFC(0) - ,level(level) - ,bundle(0) - ,lrank(-1) - ,localID(-1) + : x1(x1), x2(x2), x3(x3), + rank(0),part(0), + level(level), bundle(0) + { globalID = counter++; } ////////////////////////////////////////////////////////////////////////// Block3D::~Block3D() -{ -} += default; ////////////////////////////////////////////////////////////////////////// bool Block3D::operator==(const Block3D& src) const { @@ -521,7 +502,7 @@ void Block3D::addWeight( int rank, int weight ) ////////////////////////////////////////////////////////////////////////// void Block3D::addWeightForAll( int weight ) { - typedef std::map<int, int> wMap; + using wMap = std::map<int, int>; for (wMap::value_type &w : this->weight) { w.second += weight; diff --git a/src/cpu/VirtualFluidsCore/Grid/Block3D.h b/src/cpu/VirtualFluidsCore/Grid/Block3D.h index 674517f187e61bc29daa753464f8b6c97525aa27..0912f82ace8aed11bb04be55d08e0c579b1c63df 100644 --- a/src/cpu/VirtualFluidsCore/Grid/Block3D.h +++ b/src/cpu/VirtualFluidsCore/Grid/Block3D.h @@ -47,7 +47,7 @@ class ILBMKernel; class Block3D { public: - Block3D(); + Block3D() = default; Block3D(int x1, int x2, int x3, int level); virtual ~Block3D(); bool operator==(const Block3D& src) const; @@ -137,29 +137,29 @@ public: std::string toString() ; static int getMaxGlobalID() { return counter; } - static void setMaxGlobalID(int c) { counter = 0; } + static void setMaxGlobalID(int /*c*/) { counter = 0; } // FIXME ??? private: - int x1; - int x2; - int x3; + int x1{0}; + int x2{0}; + int x3{0}; - bool active; + bool active{true}; - int interpolationFlagCF; - int interpolationFlagFC; + int interpolationFlagCF{0}; + int interpolationFlagFC{0}; SPtr<LBMKernel> kernel; std::vector<SPtr<Block3DConnector> > connectors; std::map<int, int> weight; - int bundle; - int rank; - int lrank; - int globalID; - int localID; - int part; - int level; + int bundle{-1}; + int rank{-1}; + int lrank{-1}; + int globalID{-1}; + int localID{-1}; + int part{-1}; + int level{-1}; static int counter; }; diff --git a/src/cpu/VirtualFluidsCore/Grid/Calculator.cpp b/src/cpu/VirtualFluidsCore/Grid/Calculator.cpp index 9a314f0668da70149023c56ed4e458aee969244e..5fc3f8d42117876076e7c5e0185f3815346c6ab6 100644 --- a/src/cpu/VirtualFluidsCore/Grid/Calculator.cpp +++ b/src/cpu/VirtualFluidsCore/Grid/Calculator.cpp @@ -76,9 +76,7 @@ Calculator::Calculator(SPtr<Grid3D> grid, SPtr<UbScheduler> additionalGhostLayer } ////////////////////////////////////////////////////////////////////////// Calculator::~Calculator() -{ - -} += default; ////////////////////////////////////////////////////////////////////////// void Calculator::addCoProcessor(SPtr<CoProcessor> coProcessor) { @@ -154,9 +152,9 @@ void Calculator::initRemoteConnectors() initConnectors(remoteConns[l]); if (l != maxLevel) { - for(int i = 0; i < remoteInterConnsCF[l].size(); i++) + for(size_t i = 0; i < remoteInterConnsCF[l].size(); i++) remoteInterConns[l].push_back(remoteInterConnsCF[l][i]); - for(int i = 0; i < remoteInterConnsFC[l+1].size(); i++) + for(size_t i = 0; i < remoteInterConnsFC[l+1].size(); i++) remoteInterConns[l].push_back(remoteInterConnsFC[l+1][i]); } } diff --git a/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp b/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp index c80f0b7d87c09d9d5c3c20a3fd7c43e7e31337cf..3cb76a8b263be5fe02d3c1667b9c8b8368147b50 100644 --- a/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp +++ b/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp @@ -49,38 +49,14 @@ using namespace std; -Grid3D::Grid3D() : - rank(0), - bundle(0), - orgDeltaX(1.0), - periodicX1(false), - periodicX2(false), - periodicX3(false), - timeStep(0.0), - blockNx1(0), - blockNx2(0), - blockNx3(0), - nx1(0), - nx2(0), - nx3(0) +Grid3D::Grid3D() + { levelSet.resize(Grid3DSystem::MAXLEVEL + 1); } ////////////////////////////////////////////////////////////////////////// -Grid3D::Grid3D(SPtr<Communicator> comm) : - rank(0), - bundle(0), - orgDeltaX(1.0), - periodicX1(false), - periodicX2(false), - periodicX3(false), - timeStep(0.0), - blockNx1(0), - blockNx2(0), - blockNx3(0), - nx1(0), - nx2(0), - nx3(0) +Grid3D::Grid3D(SPtr<Communicator> comm) + { levelSet.resize(Grid3DSystem::MAXLEVEL + 1); bundle = comm->getBundleID(); @@ -88,13 +64,7 @@ Grid3D::Grid3D(SPtr<Communicator> comm) : } ////////////////////////////////////////////////////////////////////////// Grid3D::Grid3D(SPtr<Communicator> comm, int blockNx1, int blockNx2, int blockNx3, int gridNx1, int gridNx2, int gridNx3) : - rank(0), - bundle(0), - orgDeltaX(1.0), - periodicX1(false), - periodicX2(false), - periodicX3(false), - timeStep(0.0), + blockNx1(blockNx1), blockNx2(blockNx2), blockNx3(blockNx2), @@ -105,7 +75,7 @@ Grid3D::Grid3D(SPtr<Communicator> comm, int blockNx1, int blockNx2, int blockNx3 levelSet.resize(Grid3DSystem::MAXLEVEL + 1); bundle = comm->getBundleID(); rank = comm->getProcessID(); - trafo = SPtr<CoordinateTransformation3D>(new CoordinateTransformation3D(0.0, 0.0, 0.0, (double)blockNx1, (double)blockNx2, (double)blockNx3)); + trafo = std::make_shared<CoordinateTransformation3D>(0.0, 0.0, 0.0, (double)blockNx1, (double)blockNx2, (double)blockNx3); UbTupleInt3 minInd(0, 0, 0); UbTupleInt3 maxInd(gridNx1, gridNx2, gridNx3); this->fillExtentWithBlocks(minInd, maxInd); @@ -354,14 +324,14 @@ bool Grid3D::expandBlock(int ix1, int ix2, int ix3, int level) int bottom = ix3 << 1; int top = bottom + 1; - SPtr<Block3D> blockBSW = SPtr<Block3D>(new Block3D(west, south, bottom, l)); - SPtr<Block3D> blockBSE = SPtr<Block3D>(new Block3D(east, south, bottom, l)); - SPtr<Block3D> blockBNW = SPtr<Block3D>(new Block3D(west, north, bottom, l)); - SPtr<Block3D> blockBNE = SPtr<Block3D>(new Block3D(east, north, bottom, l)); - SPtr<Block3D> blockTSW = SPtr<Block3D>(new Block3D(west, south, top, l)); - SPtr<Block3D> blockTSE = SPtr<Block3D>(new Block3D(east, south, top, l)); - SPtr<Block3D> blockTNW = SPtr<Block3D>(new Block3D(west, north, top, l)); - SPtr<Block3D> blockTNE = SPtr<Block3D>(new Block3D(east, north, top, l)); + auto blockBSW = std::make_shared<Block3D>(west, south, bottom, l); + auto blockBSE = std::make_shared<Block3D>(east, south, bottom, l); + auto blockBNW = std::make_shared<Block3D>(west, north, bottom, l); + auto blockBNE = std::make_shared<Block3D>(east, north, bottom, l); + auto blockTSW = std::make_shared<Block3D>(west, south, top, l); + auto blockTSE = std::make_shared<Block3D>(east, south, top, l); + auto blockTNW = std::make_shared<Block3D>(west, north, top, l); + auto blockTNE = std::make_shared<Block3D>(east, north, top, l); if (!this->deleteBlock(ix1, ix2, ix3, level)) throw UbException(UB_EXARGS, "could not delete block"); @@ -429,7 +399,7 @@ SPtr<Block3D> Grid3D::collapseBlock(int fix1, int fix2, int fix3, int flevel, in /*TNE*/fineBlocks[6] = this->getBlock(fx1[1], fx2[1], fx3[1], flevel); /*TNW*/fineBlocks[7] = this->getBlock(fx1[0], fx2[1], fx3[1], flevel); - SPtr<Block3D> cblock = SPtr<Block3D>(new Block3D(cix1, cix2, cix3, clevel)); + auto cblock = std::make_shared<Block3D>(cix1, cix2, cix3, clevel); for (int i = 0; i < 2; i++) for (int k = 0; k < 2; k++) @@ -651,11 +621,12 @@ UbTupleDouble3 Grid3D::getBlockWorldCoordinates(int blockX1Index, int blockX2Ind double x2 = (double)blockX2Index * c1oShiftedLevel; double x3 = (double)blockX3Index * c1oShiftedLevel; - if (!trafo) return UbTupleDouble3(x1, x2, x3); + if (!trafo) + return { x1, x2, x3 }; - return UbTupleDouble3(trafo->transformBackwardToX1Coordinate(x1, x2, x3) + return {trafo->transformBackwardToX1Coordinate(x1, x2, x3) , trafo->transformBackwardToX2Coordinate(x1, x2, x3) - , trafo->transformBackwardToX3Coordinate(x1, x2, x3)); + , trafo->transformBackwardToX3Coordinate(x1, x2, x3) }; } ////////////////////////////////////////////////////////////////////////// //double Grid3D::getDeltaT(SPtr<Block3D> block) const diff --git a/src/cpu/VirtualFluidsCore/Grid/Grid3D.h b/src/cpu/VirtualFluidsCore/Grid/Grid3D.h index 77e250439bfe2a3207b49b9e2e7ad59ad7e33ba7..c91dca4a0410cf2cffaeebfd2ce8cf46173860de 100644 --- a/src/cpu/VirtualFluidsCore/Grid/Grid3D.h +++ b/src/cpu/VirtualFluidsCore/Grid/Grid3D.h @@ -59,17 +59,17 @@ class Interactor3D; class Grid3D : public enableSharedFromThis<Grid3D> { public: - typedef UbKeys::Key3<int> Block3DKey; - typedef std::map< Block3DKey, SPtr<Block3D> > Block3DMap; - typedef std::map< int, SPtr<Block3D> > BlockIDMap; - typedef std::vector<Block3DMap> LevelSet; - typedef std::vector<SPtr<Interactor3D> > Interactor3DSet; + using Block3DKey = UbKeys::Key3<int>; + using Block3DMap = std::map<Block3DKey, SPtr<Block3D> >; + using BlockIDMap = std::map<int, SPtr<Block3D> >; + using LevelSet = std::vector<Block3DMap>; + using Interactor3DSet = std::vector<SPtr<Interactor3D> >; public: Grid3D(); Grid3D(SPtr<Communicator> comm); Grid3D(SPtr<Communicator> comm, int blockNx1, int blockNx2, int blockNx3, int gridNx1, int gridNx2, int gridNx3); - virtual ~Grid3D(){} + virtual ~Grid3D() = default; ////////////////////////////////////////////////////////////////////////// //blocks control void addBlock(SPtr<Block3D> block); @@ -252,25 +252,25 @@ private: BlockIDMap blockIdMap; Interactor3DSet interactors; - int rank; - int bundle; + int rank{0}; + int bundle{0}; - bool periodicX1; - bool periodicX2; - bool periodicX3; + bool periodicX1{false}; + bool periodicX2{false}; + bool periodicX3{false}; - int blockNx1; - int blockNx2; - int blockNx3; + int blockNx1{0}; + int blockNx2{0}; + int blockNx3{0}; - int nx1; - int nx2; - int nx3; + int nx1{0}; + int nx2{0}; + int nx3{0}; SPtr<CoordinateTransformation3D> trafo; - double orgDeltaX; + double orgDeltaX{1.0}; - double timeStep; + double timeStep{0.0}; }; diff --git a/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp b/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp index 7e5b482297cbdff20fea571339e9f91682eef7f6..bc77cedde86a4aa83bb1328cad15a3e72f71af31 100644 --- a/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp +++ b/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp @@ -84,9 +84,7 @@ D3Q27Interactor::D3Q27Interactor(SPtr<GbObject3D> geoObject3D, SPtr<Grid3D> grid } ////////////////////////////////////////////////////////////////////////// D3Q27Interactor::~D3Q27Interactor() -{ - -} += default; ////////////////////////////////////////////////////////////////////////// void D3Q27Interactor::initRayVectors() { @@ -324,7 +322,7 @@ bool D3Q27Interactor::setDifferencesToGbObject3D(const SPtr<Block3D> block) bc = bcArray->getBC(ix1,ix2,ix3); if(!bc) { - bc = SPtr<BoundaryConditions>(new BoundaryConditions); + bc = std::make_shared<BoundaryConditions>(); bcArray->setBC(ix1,ix2,ix3,bc); } @@ -469,7 +467,7 @@ bool D3Q27Interactor::setDifferencesToGbObject3D(const SPtr<Block3D> block) bc = bcArray->getBC(ix1,ix2,ix3); if(!bc) { - bc = SPtr<BoundaryConditions>(new BoundaryConditions); + bc = std::make_shared<BoundaryConditions>(); bcArray->setBC(ix1,ix2,ix3,bc); } for(int index=(int)bcAdapters.size()-1; index>=0; --index) diff --git a/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.h b/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.h index 6ecb10f02c86af013d6102e5a698486084bb8e67..d0c16b2a5799dab42788b1ec3f11c2cd3549a8ed 100644 --- a/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.h +++ b/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.h @@ -53,8 +53,8 @@ class Block3D; class Grid3D; class GbObject3D; -typedef std::map<SPtr<Block3D>, std::set< std::vector<int> > > BcNodeIndicesMap; -typedef std::map<SPtr<Block3D>, std::set< UbTupleInt3 > > SolidNodeIndicesMap; +using BcNodeIndicesMap = std::map<SPtr<Block3D>, std::set< std::vector<int> > >; +using SolidNodeIndicesMap = std::map<SPtr<Block3D>, std::set<UbTupleInt3> >; //! \brief A specialized class for grid generation. //! \details Support standard geometric primitives. @@ -66,7 +66,7 @@ public: D3Q27Interactor(SPtr<GbObject3D> geoObject3D, SPtr<Grid3D> grid, SPtr<BCAdapter> bcAdapter, int type); D3Q27Interactor(SPtr<GbObject3D> geoObject3D, SPtr<Grid3D> grid, SPtr<BCAdapter> bcAdapter, int type, Interactor3D::Accuracy a); - virtual ~D3Q27Interactor(); + ~D3Q27Interactor() override; void setRelevantForForces(const bool& value) { this->relevantForForces = value; } bool isRelevantForForces() { return this->relevantForForces; } @@ -75,15 +75,15 @@ public: void deleteBCAdapter() { bcAdapters.clear(); } - virtual void initInteractor(const double& timeStep=0); - void updateInteractor(const double& timestep=0); + void initInteractor(const double& timeStep=0) override; + void updateInteractor(const double& timestep=0) override; void setReinitWithStoredQs(bool reinitWithStoredQsFlag) { this->reinitWithStoredQsFlag = reinitWithStoredQsFlag; } - void removeSolidBlocks() { Interactor3D::removeSolidBlocks(); solidNodeIndicesMap.clear(); } - void removeBcBlocks() { Interactor3D::removeBcBlocks(); bcNodeIndicesMap.clear(); } + void removeSolidBlocks() override { Interactor3D::removeSolidBlocks(); solidNodeIndicesMap.clear(); } + void removeBcBlocks() override { Interactor3D::removeBcBlocks(); bcNodeIndicesMap.clear(); } - bool setDifferencesToGbObject3D(const SPtr<Block3D> block); + bool setDifferencesToGbObject3D(const SPtr<Block3D> block) override; ObObject* clone() { throw UbException(UB_EXARGS,"not implemented"); } diff --git a/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.cpp b/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.cpp index c05fc12ef3af5e50ee562423efd1ee703bf57740..0899c8634a887c9e9af36c40830c1d3b1dcab347 100644 --- a/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.cpp +++ b/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.cpp @@ -86,8 +86,7 @@ Interactor3D::Interactor3D(SPtr<GbObject3D> geoObject3D, SPtr<Grid3D> grid, int } ////////////////////////////////////////////////////////////////////////// Interactor3D::~Interactor3D() -{ -} += default; ////////////////////////////////////////////////////////////////////////// bool Interactor3D::arePointsInsideGeoObject(double minX1, double minX2, double minX3, double maxX1, double maxX2, double maxX3, double delta) { @@ -327,7 +326,7 @@ bool Interactor3D::isActive() return active; } ////////////////////////////////////////////////////////////////////////// -void Interactor3D::initInteractor(const double& timeStep) +void Interactor3D::initInteractor(const double& /*timeStep*/) { //UBLOG(logINFO, "transBlocks.size = "<<transBlocks.size()); @@ -337,7 +336,7 @@ void Interactor3D::initInteractor(const double& timeStep) } } ////////////////////////////////////////////////////////////////////////// -void Interactor3D::updateInteractor(const double& timeStep) +void Interactor3D::updateInteractor(const double& /*timeStep*/) { UB_THROW( UbException("Interactor3D::updateInteractor - toDo") ); } diff --git a/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.h b/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.h index abfffbd316bcb17723a788b41728095fed83940d..ef7ac33dbbd1e34fa8518d3f719ccf0b8841bdf5 100644 --- a/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.h +++ b/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.h @@ -76,7 +76,7 @@ public: SPtr<Grid3D> getGrid3D() const { return grid.lock(); } void setGrid3D(SPtr<Grid3D> grid) { this->grid = grid; } virtual SPtr<GbObject3D> getGbObject3D() const { return geoObject3D; } - virtual bool setDifferencesToGbObject3D(const SPtr<Block3D> block/*, const double& x1, const double& x2, const double& x3, const double& blockLengthX1, const double& blockLengthX2, const double& blockLengthX3, const double& timestep=0*/) + virtual bool setDifferencesToGbObject3D(const SPtr<Block3D> /*block*//*, const double& x1, const double& x2, const double& x3, const double& blockLengthX1, const double& blockLengthX2, const double& blockLengthX3, const double& timestep=0*/) { //UBLOG(logINFO, "Interactor3D::setDifferencesToGbObject3D()"); return false; diff --git a/src/cpu/VirtualFluidsCore/Interactors/InteractorsHelper.cpp b/src/cpu/VirtualFluidsCore/Interactors/InteractorsHelper.cpp index 354bdd4a9b3bc6ba3450ae7fa0ccb9d524686c27..29ccab6babf4eae939b86fd06e96a5828ffdbfe7 100644 --- a/src/cpu/VirtualFluidsCore/Interactors/InteractorsHelper.cpp +++ b/src/cpu/VirtualFluidsCore/Interactors/InteractorsHelper.cpp @@ -49,9 +49,7 @@ InteractorsHelper::InteractorsHelper(SPtr<Grid3D> grid, SPtr<Grid3DVisitor> visi } ////////////////////////////////////////////////////////////////////////// InteractorsHelper::~InteractorsHelper() -{ - -} += default; ////////////////////////////////////////////////////////////////////////// void InteractorsHelper::addInteractor( SPtr<Interactor3D> interactor ) { diff --git a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp index 92387c298e6f45186c813ff0f321a1898da01837..77226bd240f1a113372a8fba6f702fa2ad769e9e 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp @@ -34,7 +34,7 @@ #include "CumulantK17LBMKernel.h" #include "D3Q27System.h" #include "D3Q27EsoTwist3DSplittedVector.h" -#include <math.h> +#include <cmath> #include "DataSet3D.h" #include "LBMKernel.h" #include "Block3D.h" @@ -51,9 +51,7 @@ CumulantK17LBMKernel::CumulantK17LBMKernel() } ////////////////////////////////////////////////////////////////////////// CumulantK17LBMKernel::~CumulantK17LBMKernel(void) -{ - -} += default; ////////////////////////////////////////////////////////////////////////// void CumulantK17LBMKernel::initDataSet() { diff --git a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h index 1958b39d812695033ec395964236b1c7f9ce2e84..96062021abc966db801e5a131bf06f24abec2cf4 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h +++ b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h @@ -52,10 +52,10 @@ class CumulantK17LBMKernel : public LBMKernel { public: CumulantK17LBMKernel(); - virtual ~CumulantK17LBMKernel(void); - virtual void calculate(int step); - virtual SPtr<LBMKernel> clone(); - virtual double getCalculationTime() { return .0; } + virtual ~CumulantK17LBMKernel() override; + void calculate(int step) override; + SPtr<LBMKernel> clone() override; + double getCalculationTime() override { return .0; } protected: inline void forwardInverseChimeraWithK(LBMReal& mfa, LBMReal& mfb, LBMReal& mfc, LBMReal vv, LBMReal v2, LBMReal Kinverse, LBMReal K); diff --git a/src/cpu/VirtualFluidsCore/LBM/LBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/LBMKernel.cpp index ec1bb4049181b613542fc66953a8f0e34859182a..7004a4d734c5aff518148631d5881fc0ba0a7f8b 100644 --- a/src/cpu/VirtualFluidsCore/LBM/LBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/LBMKernel.cpp @@ -37,16 +37,13 @@ #include "Block3D.h" #include "BCArray3D.h" -LBMKernel::LBMKernel() : ghostLayerWidth(1), - deltaT(1.0), - withForcing(false), - withSpongeLayer(false), - compressible(false) +LBMKernel::LBMKernel() + { this->setForcingX1(0.0); this->setForcingX2(0.0); this->setForcingX3(0.0); - dataSet = SPtr<DataSet3D>(new DataSet3D()); + dataSet = std::make_shared<DataSet3D>(); this->nx[0] = 0; this->nx[1] = 0; this->nx[2] = 0; diff --git a/src/cpu/VirtualFluidsCore/LBM/LBMKernel.h b/src/cpu/VirtualFluidsCore/LBM/LBMKernel.h index 91d213fc8549c0c926f8479b224b1183639baa27..1b2326374ec0b49bd19f540f6c9572266c2a3d0c 100644 --- a/src/cpu/VirtualFluidsCore/LBM/LBMKernel.h +++ b/src/cpu/VirtualFluidsCore/LBM/LBMKernel.h @@ -49,7 +49,7 @@ class Block3D; class LBMKernel : public ILBMKernel, public enableSharedFromThis<LBMKernel> { public: - typedef std::numeric_limits<LBMReal> LBMRealLim; + using LBMRealLim = std::numeric_limits<LBMReal>; public: LBMKernel(); @@ -113,19 +113,19 @@ protected: SPtr<DataSet3D> dataSet; SPtr<BCProcessor> bcProcessor; LBMReal collFactor; - int ghostLayerWidth; - bool compressible; + int ghostLayerWidth{1}; + bool compressible{false}; //forcing - bool withForcing; + bool withForcing{false}; mu::Parser muForcingX1; mu::Parser muForcingX2; mu::Parser muForcingX3; int ix1, ix2, ix3; - LBMReal deltaT; + LBMReal deltaT{1.0}; //sponge layer - bool withSpongeLayer; + bool withSpongeLayer{false}; mu::Parser muSpongeLayer; WPtr<Block3D> block; diff --git a/src/cpu/VirtualFluidsCore/LBM/LBMSystem.h b/src/cpu/VirtualFluidsCore/LBM/LBMSystem.h index 49a82b3938f9ceebc6239fd033b7c6d30373cd60..7b016a3b75675d9551d62c111e60364385c95493 100644 --- a/src/cpu/VirtualFluidsCore/LBM/LBMSystem.h +++ b/src/cpu/VirtualFluidsCore/LBM/LBMSystem.h @@ -49,7 +49,7 @@ namespace LBMSystem typedef float real; #define REAL_CAST(x) ( (LBMSystem::real)(x) ) #else - typedef double real; + using real = double; #define REAL_CAST(x) ( x ) #endif @@ -89,7 +89,7 @@ namespace LBMSystem } //some typedefs for global namespace -typedef LBMSystem::real LBMReal; +using LBMReal = LBMSystem::real; #endif diff --git a/src/cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h b/src/cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h index b65ebd7b3d381518f07dc7a72341d7644a03a1ef..7e1e31f145ff816fbd1ba201e61f5590f02b60c7 100644 --- a/src/cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h +++ b/src/cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h @@ -33,17 +33,7 @@ public: enum WORLD_MATERIAL { WATER = 0, SEAWWATER = 1, AIR_20C = 2, OIL = 3 }; - LBMUnitConverter() : factorLengthLbToW(1.0), - factorTimeLbToW(1.0), - factorMassLbToW(1.0), - refRhoLb(1.0), - factorVelocityLbToW(1.0), - factorViscosityLbToW(1.0), - factorDensityLbToW(1.0), - factorPressureLbToW(1.0) - { - - } + LBMUnitConverter() = default; LBMUnitConverter( const double& refLengthWorld, const double& csWorld, const double& rhoWorld , const double& refLengthLb , const double& csLb = 1.0/std::sqrt(3.0) , const double& rhoLb = 1.0 ) @@ -76,7 +66,7 @@ public: factorPressureLbToW = factorDensityLbToW; } - virtual ~LBMUnitConverter() {} + virtual ~LBMUnitConverter() = default; double getRefRhoLb() { return refRhoLb; } @@ -170,7 +160,7 @@ public: - void init( const double& refLengthWorld, const double& csWorld, const double& rhoWorld, const double& vWorld, + void init( const double& refLengthWorld, const double& /*csWorld*/, const double& rhoWorld, const double& vWorld, const double& refLengthLb, const double& rhoLb, const double& vLb ) { factorLengthLbToW = refLengthWorld / refLengthLb; @@ -180,16 +170,16 @@ public: this->refRhoLb = rhoLb; } protected: - double factorLengthLbToW; - double factorTimeLbToW; - double factorMassLbToW; - double refRhoLb; - double factorTimeWithoutDx; + double factorLengthLbToW{1.0}; + double factorTimeLbToW{1.0}; + double factorMassLbToW{1.0}; + double refRhoLb{1.0}; + double factorTimeWithoutDx{0.0}; - double factorVelocityLbToW; - double factorViscosityLbToW; - double factorDensityLbToW; - double factorPressureLbToW; + double factorVelocityLbToW{1.0}; + double factorViscosityLbToW{1.0}; + double factorDensityLbToW{1.0}; + double factorPressureLbToW{1.0}; }; diff --git a/src/cpu/VirtualFluidsCore/Parallel/Communicator.h b/src/cpu/VirtualFluidsCore/Parallel/Communicator.h index 69c90125bd7cd35836a6486b3197cd4eb1bf266e..1ab893e56196a37c20622b8cf985babee02ca8d0 100644 --- a/src/cpu/VirtualFluidsCore/Parallel/Communicator.h +++ b/src/cpu/VirtualFluidsCore/Parallel/Communicator.h @@ -43,7 +43,7 @@ class Communicator { public: - virtual ~Communicator(){} + virtual ~Communicator()= default; static SPtr<Communicator> getInstance(); virtual int getBundleID() = 0; virtual int getNumberOfBundles() = 0; @@ -83,8 +83,8 @@ public: virtual void broadcast(std::vector<double>& values) = 0; virtual void broadcast(std::vector<long int>& values) = 0; protected: - Communicator(){} - Communicator( const Communicator& ){} + Communicator()= default; + Communicator( const Communicator& )= default; static SPtr<Communicator> instance; }; diff --git a/src/cpu/VirtualFluidsCore/Parallel/NullCommunicator.cpp b/src/cpu/VirtualFluidsCore/Parallel/NullCommunicator.cpp index 5e3bcf132065e766b50e2deb5b028561a8d39335..384f39b3d42338174c73bd0bb182e28e17f32f50 100644 --- a/src/cpu/VirtualFluidsCore/Parallel/NullCommunicator.cpp +++ b/src/cpu/VirtualFluidsCore/Parallel/NullCommunicator.cpp @@ -35,12 +35,10 @@ NullCommunicator::NullCommunicator() -{ -} += default; ////////////////////////////////////////////////////////////////////////// NullCommunicator::~NullCommunicator() -{ -} += default; ////////////////////////////////////////////////////////////////////////// int NullCommunicator::getBundleID() { diff --git a/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h b/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h index 1102acac0d6c0fc761204ebb5e2463d00299e145..863b4d4f1ce0fbee66ef43a43d0edb5443e2450f 100644 --- a/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h +++ b/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h @@ -43,16 +43,16 @@ #define MEMORYUTIL_APPLE #include "sys/types.h" #include "sys/sysctl.h" - #include "stdlib.h" - #include "stdio.h" - #include "string.h" + #include <cstdlib> + #include <cstdio> + #include <cstring> #elif (defined(__amd64) || defined(__amd64__) || defined(__unix__) || defined(__CYGWIN__)) && !defined(__AIX__) #define MEMORYUTIL_LINUX #include "sys/types.h" #include "sys/sysinfo.h" - #include "stdlib.h" - #include "stdio.h" - #include "string.h" + #include "cstdlib" + #include "cstdio" + #include "cstring" #else #error "MemoryUtil::UnknownMachine" #endif diff --git a/src/cpu/VirtualFluidsCore/Visitors/Block3DVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/Block3DVisitor.h index f333f521c82a3398976d3b5e32b50a230e514728..e3ce942167e1377d0fd0172caa2fea8e7b6b4474 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/Block3DVisitor.h +++ b/src/cpu/VirtualFluidsCore/Visitors/Block3DVisitor.h @@ -43,17 +43,13 @@ class Grid3D; class Block3DVisitor { public: - Block3DVisitor() : startLevel(-1), stopLevel(-1) - { - } + Block3DVisitor() = default; Block3DVisitor(int startLevel, int stopLevel) : startLevel(startLevel), stopLevel(stopLevel) { } - virtual ~Block3DVisitor() - { - } + virtual ~Block3DVisitor() = default; virtual void visit(SPtr<Grid3D> grid, SPtr<Block3D> block) = 0; @@ -63,8 +59,8 @@ public: void setStopLevel(int level); private: - int startLevel; - int stopLevel; + int startLevel{-1}; + int stopLevel{-1}; }; ////////////////////////////////////////////////////////////////////////// inline int Block3DVisitor::getStartLevel() const diff --git a/src/cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.cpp index e75d09c2cb755204829bc277aba202a8f8f86079..7f1e57b2469e8aa2d051043740064f0e8c7d4bd8 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.cpp +++ b/src/cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.cpp @@ -49,9 +49,7 @@ Block3DVisitor(0, Grid3DSystem::MAXLEVEL) } ////////////////////////////////////////////////////////////////////////// BoundaryConditionsBlockVisitor::~BoundaryConditionsBlockVisitor() -{ - -} += default; ////////////////////////////////////////////////////////////////////////// void BoundaryConditionsBlockVisitor::visit(SPtr<Grid3D> grid, SPtr<Block3D> block) { diff --git a/src/cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.h index 9bd52139b77b04d639a9b1ac4d3406d616897a9e..c7ea28e58237846b74c1cf6aa80563d4c20b6427 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.h +++ b/src/cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.h @@ -50,7 +50,7 @@ class BoundaryConditionsBlockVisitor : public Block3DVisitor { public: BoundaryConditionsBlockVisitor(); - virtual ~BoundaryConditionsBlockVisitor(); + ~BoundaryConditionsBlockVisitor() override; void visit(SPtr<Grid3D> grid, SPtr<Block3D> block) override; void addBC(SPtr<BCAdapter> bc); diff --git a/src/cpu/VirtualFluidsCore/Visitors/GenBlocksGridVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/GenBlocksGridVisitor.h index e9f2670716dd0add52db6730ded0b2fb05d868b6..65db6fa109087b7121358f0c3227846dbb246326 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/GenBlocksGridVisitor.h +++ b/src/cpu/VirtualFluidsCore/Visitors/GenBlocksGridVisitor.h @@ -48,9 +48,9 @@ class GenBlocksGridVisitor : public Grid3DVisitor { public: GenBlocksGridVisitor(SPtr<GbObject3D> boundingBox); - virtual ~GenBlocksGridVisitor(){} + ~GenBlocksGridVisitor() override= default; - void visit(SPtr<Grid3D> grid); + void visit(SPtr<Grid3D> grid) override; private: UbTupleInt3 minInd, maxInd; diff --git a/src/cpu/VirtualFluidsCore/Visitors/Grid3DVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/Grid3DVisitor.h index 2d836daf77d2f180788d0090243b28f86f85f8cc..5484ac44202930eaeacde3e64ac20c2d6bccaabd 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/Grid3DVisitor.h +++ b/src/cpu/VirtualFluidsCore/Visitors/Grid3DVisitor.h @@ -43,8 +43,8 @@ class Grid3D; class Grid3DVisitor { public: - Grid3DVisitor() {} - virtual ~Grid3DVisitor() {} + Grid3DVisitor() = default; + virtual ~Grid3DVisitor() = default; virtual void visit(SPtr<Grid3D> grid) = 0; }; diff --git a/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp index 4ba5de0ccfa5320ce3e1b66dbc3ce78d215460cf..055cf6a2ba68dce48c3bb49e3c1a94dc9a3c9748 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp +++ b/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp @@ -139,9 +139,8 @@ void InitDistributionsBlockVisitor::visit(const SPtr<Grid3D> grid, SPtr<Block3D> this->muVx3.DefineVar("x1",&x1); this->muVx3.DefineVar("x2",&x2); this->muVx3.DefineVar("x3",&x3); this->muRho.DefineVar("x1",&x1); this->muRho.DefineVar("x2",&x2); this->muRho.DefineVar("x3",&x3); - //Funktionszeiger - typedef void (*CalcFeqsFct)(LBMReal* const& /*feq[27]*/,const LBMReal& /*(d)rho*/,const LBMReal& /*vx1*/,const LBMReal& /*vx2*/,const LBMReal& /*vx3*/); - CalcFeqsFct calcFeqsFct = NULL; + using CalcFeqsFct = void (*)(LBMReal* const& /*feq[27]*/,const LBMReal& /*(d)rho*/,const LBMReal& /*vx1*/,const LBMReal& /*vx2*/,const LBMReal& /*vx3*/); + CalcFeqsFct calcFeqsFct = NULL; LBMReal vx1,vx2,vx3,rho; @@ -168,9 +167,9 @@ void InitDistributionsBlockVisitor::visit(const SPtr<Grid3D> grid, SPtr<Block3D> LBMReal f[D3Q27System::ENDF+1]; - for(int ix3=0; ix3<bcArray->getNX3(); ix3++) - for(int ix2=0; ix2<bcArray->getNX2(); ix2++) - for(int ix1=0; ix1<bcArray->getNX1(); ix1++) + for(size_t ix3=0; ix3<bcArray->getNX3(); ix3++) + for(size_t ix2=0; ix2<bcArray->getNX2(); ix2++) + for(size_t ix1=0; ix1<bcArray->getNX1(); ix1++) { Vector3D coords = grid->getNodeCoordinates(block, ix1, ix2, ix3); x1 = coords[0]; diff --git a/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.h index 1e7425796e7502b9caf7049141ffc37af051ae62..bddda7901b29995d6c38de764b737c1d6636b2d8 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.h +++ b/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.h @@ -63,7 +63,7 @@ class Block3D; class InitDistributionsBlockVisitor : public Block3DVisitor { public: - typedef std::numeric_limits<LBMReal> D3Q27RealLim; + using D3Q27RealLim = std::numeric_limits<LBMReal>; public: InitDistributionsBlockVisitor(); diff --git a/src/cpu/VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.h index 9836b61fb134ac27dbc183c2fb6f5ac984cba2d7..5db362a3b9f41ec59606374a7761da934b8f8f10 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.h +++ b/src/cpu/VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.h @@ -47,9 +47,9 @@ class SetBcBlocksBlockVisitor : public Block3DVisitor { public: SetBcBlocksBlockVisitor(SPtr<Interactor3D> interactor); - virtual ~SetBcBlocksBlockVisitor() {} + ~SetBcBlocksBlockVisitor() override = default; - virtual void visit(SPtr<Grid3D> grid, SPtr<Block3D> block); + void visit(SPtr<Grid3D> grid, SPtr<Block3D> block) override; private: SPtr<Interactor3D> interactor; diff --git a/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.cpp index ae9a00e2c954a8bb7a147afc73ffb816a5830ad6..52496aaf49cda98151480cea79024931caaf36e3 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.cpp +++ b/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.cpp @@ -54,8 +54,7 @@ Block3DVisitor(0, Grid3DSystem::MAXLEVEL), } ////////////////////////////////////////////////////////////////////////// SetConnectorsBlockVisitor::~SetConnectorsBlockVisitor(void) -{ -} += default; ////////////////////////////////////////////////////////////////////////// void SetConnectorsBlockVisitor::visit(SPtr<Grid3D> grid, SPtr<Block3D> block) { diff --git a/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h index 18d6b1f09a92fe45e47c7eeb4e8f777df821891b..7e7f13931b2d9ecf4200ed7987bb03ca04e5f9f4 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h +++ b/src/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h @@ -51,7 +51,7 @@ class SetConnectorsBlockVisitor : public Block3DVisitor { public: SetConnectorsBlockVisitor(SPtr<Communicator> comm, bool fullConnector, int dirs, LBMReal nue, SPtr<InterpolationProcessor> iProcessor); - virtual ~SetConnectorsBlockVisitor(); + ~SetConnectorsBlockVisitor() override; void visit(SPtr<Grid3D> grid, SPtr<Block3D> block) override; ////////////////////////////////////////////////////////////////////////// protected: diff --git a/src/cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.cpp index 3209dbe06f1bd385883fc3bf6504cb74d4bc5bb3..d3ec9e85ec58b977008e6fee49e5c5b64786e3c4 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.cpp +++ b/src/cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.cpp @@ -33,6 +33,8 @@ //======================================================================================= #include "SetKernelBlockVisitor.h" + +#include <utility> #include "Grid3DSystem.h" #include "LBMSystem.h" #include "DataSet3D.h" @@ -45,7 +47,7 @@ SetKernelBlockVisitor::SetKernelBlockVisitor(SPtr<LBMKernel> kernel, LBMReal nue, double availMem, double needMem, SetKernelBlockVisitor::Action action) : Block3DVisitor(0, Grid3DSystem::MAXLEVEL), - kernel(kernel), nue(nue), + kernel(std::move(kernel)), nue(nue), action(action), dataSetFlag(true) { if (needMem > availMem) diff --git a/src/cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.h index 9be7bad9d48190d7c2840d62fe612befa18f4774..771eb66751e089a49cad06474175eac8df4af119 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.h +++ b/src/cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.h @@ -62,10 +62,9 @@ public: SetKernelBlockVisitor(SPtr<LBMKernel> kernel, LBMReal nue, int &numberOfProcesses, SetKernelBlockVisitor::Action action = SetKernelBlockVisitor::NewKernel); - virtual ~SetKernelBlockVisitor() - {} + ~SetKernelBlockVisitor() override = default; - void visit(SPtr<Grid3D> grid, SPtr<Block3D> block) override; + void visit(SPtr<Grid3D> grid, SPtr<Block3D> block); void setNoDataSetFlag(bool flag); diff --git a/src/cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.cpp index 5c3d0762f21e94ffb5dc95a5d192cd1b788c885d..de9edef09deb391a772651bb590f7bdbde703522 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.cpp +++ b/src/cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.cpp @@ -33,13 +33,15 @@ #include "SetSolidBlocksBlockVisitor.h" +#include <utility> + #include "Interactor3D.h" #include "Grid3DSystem.h" #include "Grid3D.h" #include "Block3D.h" SetSolidBlocksBlockVisitor::SetSolidBlocksBlockVisitor(SPtr<Interactor3D> interactor) : - Block3DVisitor(0, Grid3DSystem::MAXLEVEL), interactor(interactor) + Block3DVisitor(0, Grid3DSystem::MAXLEVEL), interactor(std::move(interactor)) { } diff --git a/src/cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.h index 22945638d412253f2421394a3b4d12746bf77751..fe5456be9d021b5676aca18e97eb47af92188929 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.h +++ b/src/cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.h @@ -47,9 +47,9 @@ class SetSolidBlocksBlockVisitor : public Block3DVisitor { public: SetSolidBlocksBlockVisitor(SPtr<Interactor3D> interactor); - virtual ~SetSolidBlocksBlockVisitor() {} + ~SetSolidBlocksBlockVisitor() override = default; - virtual void visit(SPtr<Grid3D> grid, SPtr<Block3D> block); + void visit(SPtr<Grid3D> grid, SPtr<Block3D> block) override; private: SPtr<Interactor3D> interactor;