From a1c624f9b754b1e215b80fa7e9838c9664cf4458 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 08:13:34 +0100 Subject: [PATCH 01/87] Add travis configuration file --- .travis.yml | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..f2b533f4 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,51 @@ +language: cpp + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - build-essential + - flex + - bison + - zlib1g-dev + - libreadline-dev + - libncurses-dev + - libxt-dev + - libopenmpi-dev + - openmpi-bin + - rpm + - wget + - cmake + - hwloc + - scotch + - gfortran + - python + - unzip + - scons + - libiberty-dev + +script: + - git checkout . + - git submodule update --init --recursive + - git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2 + - export PARAVIEW_SYSTEM=1 + - export CMAKE_SYSTEM=1 + - export HWLOC_SYSTEM=1 + - export SCOTCH_SYSTEM=1 + - export PYFOAM_SYSTEM=1 + - export CUDA_IGNORE=1 + - export SWAK4FOAM_SYSTEM=1 + - export WM_MPLIB=SYSTEMOPENMPI + - export OPENMPI_DIR=/usr + - export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + - export FOAM_INST_DIR=`pwd` + - sed -i s/"CC = g++ -m64"/"CC = mpicxx -m64"/g foam-extend-3.2/wmake/rules/linux64Gcc/c++ + - cd foam-extend-3.2 + - source etc/bashrc + - unset WM_THIRD_PARTY_USE_CMAKE_322 + - unset WM_THIRD_PARTY_USE_HWLOC_1101 + - unset WM_THIRD_PARTY_USE_SCOTCH_604 + - unset WM_THIRD_PARTY_USE_PYFOAM_064 + - ( cd wmake/src && make ) + - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) From c64972a957a0c3256ba9a41b2242581e5551ad2c Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 08:18:05 +0100 Subject: [PATCH 02/87] update wercker.yml --- wercker.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wercker.yml b/wercker.yml index ef1bb158..d9b335ac 100644 --- a/wercker.yml +++ b/wercker.yml @@ -4,6 +4,10 @@ command-timeout: 60 build: steps: + - script: + name: apt-get update + code: | + apt-get update - install-packages: packages: git build-essential flex bison zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev - script: From 418464dae9d7e35cf9ca87ef013065a67a047359 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 08:24:44 +0100 Subject: [PATCH 03/87] travis: compile FOAM-FSI --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index f2b533f4..65fdde33 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,3 +49,7 @@ script: - unset WM_THIRD_PARTY_USE_PYFOAM_064 - ( cd wmake/src && make ) - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) + - src/Allwmake + - cd .. + - export FOAM_USER_SRC=`pwd`/src + - ./Allwmake.firstInstall From 58b7696ba18f23a580b8fa49ec1c4295f31c02f1 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 09:21:20 +0100 Subject: [PATCH 04/87] travis: use 2 cores for the compilation of foam-extend --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 65fdde33..0ffb0b92 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,6 +43,7 @@ script: - sed -i s/"CC = g++ -m64"/"CC = mpicxx -m64"/g foam-extend-3.2/wmake/rules/linux64Gcc/c++ - cd foam-extend-3.2 - source etc/bashrc + - export WM_NCOMPPROCS=2 - unset WM_THIRD_PARTY_USE_CMAKE_322 - unset WM_THIRD_PARTY_USE_HWLOC_1101 - unset WM_THIRD_PARTY_USE_SCOTCH_604 From eaf911d34c75995c948a3284173ba4e36dad6002 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 09:24:49 +0100 Subject: [PATCH 05/87] travis: use sudo apt-get to install the packages --- .travis.yml | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0ffb0b92..cf641f0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,29 +1,8 @@ language: cpp -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - build-essential - - flex - - bison - - zlib1g-dev - - libreadline-dev - - libncurses-dev - - libxt-dev - - libopenmpi-dev - - openmpi-bin - - rpm - - wget - - cmake - - hwloc - - scotch - - gfortran - - python - - unzip - - scons - - libiberty-dev +before_install: + - sudo apt-get -qq update + - sudo apt-get install -y git build-essential flex bison zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev script: - git checkout . From eb228666fc76a9381092f8212e6927efd1df593d Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 09:28:38 +0100 Subject: [PATCH 06/87] travis: revert back to container based install --- .travis.yml | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index cf641f0d..c382cf95 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,30 @@ language: cpp -before_install: - - sudo apt-get -qq update - - sudo apt-get install -y git build-essential flex bison zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - build-essential + - flex + - bison + - zlib1g-dev + - libreadline-dev + - libncurses5-dev + - libxt-dev + - libopenmpi-dev + - openmpi-bin + - rpm + - wget + - cmake + - hwloc + - scotch + - gfortran + - python + - unzip + - scons + - binutils-dev + - gcc-dev script: - git checkout . From e4d786cfb3e354d0f93c1cef29dededf5b64e958 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 09:38:04 +0100 Subject: [PATCH 07/87] travis: use the gcc 4.8 compiler --- .travis.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.travis.yml b/.travis.yml index c382cf95..4dc7d8e9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,6 +5,8 @@ addons: sources: - ubuntu-toolchain-r-test packages: + - gcc-4.8 + - g++-4.8 - build-essential - flex - bison @@ -26,6 +28,12 @@ addons: - binutils-dev - gcc-dev +before_install: + - export CXX="g++-4.8" + - export CC="gcc-4.8" + - export OMPI_CXX=$CXX + - export OMPI_CC=$CC + script: - git checkout . - git submodule update --init --recursive From 38bb929fbba34cb286f29f9325dec3326d3e6ab5 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 09:40:39 +0100 Subject: [PATCH 08/87] travis: remove gcc-dev as its not allowed --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4dc7d8e9..bebe1d8f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,7 +26,6 @@ addons: - unzip - scons - binutils-dev - - gcc-dev before_install: - export CXX="g++-4.8" From cf81364db048158ae85037f0a8a0577c9ae8e917 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 09:41:55 +0100 Subject: [PATCH 09/87] travis: remove git submodule init the submodule are already initialized by travis --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index bebe1d8f..9b310c08 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,8 +34,6 @@ before_install: - export OMPI_CC=$CC script: - - git checkout . - - git submodule update --init --recursive - git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2 - export PARAVIEW_SYSTEM=1 - export CMAKE_SYSTEM=1 From e45c549765866b53f9c0ca52058c5440a23eac10 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 09:54:59 +0100 Subject: [PATCH 10/87] Use $WM_NCOMPPROCS to set the number of cores for third party packages --- src/thirdParty/compile_dealii | 6 ++---- src/thirdParty/compile_precice | 6 ++---- src/thirdParty/compile_yaml | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/thirdParty/compile_dealii b/src/thirdParty/compile_dealii index bb1ba23a..d0f219f9 100755 --- a/src/thirdParty/compile_dealii +++ b/src/thirdParty/compile_dealii @@ -11,8 +11,6 @@ BOOST_VERSION=1_55_0 BOOST_VERSION_DOT=1.55.0 export PETSC_ARCH=x86_64 -CORES=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || sysctl -n hw.ncpu) - if [ ! -d "boost" ]; then rm -rf boost* wget -O boost_${BOOST_VERSION}.tar.bz2 http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION_DOT}/boost_${BOOST_VERSION}.tar.bz2 @@ -126,9 +124,9 @@ if [ ! -d "dealii" ]; then cmake -DCMAKE_INSTALL_PREFIX=`pwd`/../bin .. - make -j $CORES install + make -j $WM_NCOMPPROCS install - make -j $CORES test + make -j $WM_NCOMPPROCS test cd ../.. diff --git a/src/thirdParty/compile_precice b/src/thirdParty/compile_precice index f209c480..bbea8694 100755 --- a/src/thirdParty/compile_precice +++ b/src/thirdParty/compile_precice @@ -3,8 +3,6 @@ set -e set -x -CORES=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || sysctl -n hw.ncpu) - # Ensure the script is executed in this directory DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) cd $DIR @@ -33,8 +31,8 @@ export PETSC_ARCH=x86_64 # Build preCICE cd precice -scons -j $CORES build=release python=off petsc=on compiler=mpicxx -scons -j $CORES build=release python=off petsc=on compiler=mpicxx solib +scons -j $WM_NCOMPPROCS build=release python=off petsc=on compiler=mpicxx +scons -j $WM_NCOMPPROCS build=release python=off petsc=on compiler=mpicxx solib mkdir -p ${FOAM_LIBBIN} mkdir -p ${FOAM_APPBIN} diff --git a/src/thirdParty/compile_yaml b/src/thirdParty/compile_yaml index 960c448b..953393b3 100755 --- a/src/thirdParty/compile_yaml +++ b/src/thirdParty/compile_yaml @@ -41,7 +41,7 @@ if [ ! -e "yaml-cpp-release-${VERSION}" ]; then CC=gcc CXX=g++ cmake -DBUILD_SHARED_LIBS=ON -DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT=${BOOST_ROOT} .. - make -j 4 + make -j $WM_NCOMPPROCS cd ../.. From e23f2f8cc782509657735f0828445784da2cec2a Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 12:20:43 +0100 Subject: [PATCH 11/87] Speedup execution of test suite --- .travis.yml | 62 ------------------- applications/solvers/fsi/fsiFoam/Make/options | 6 -- src/fsi/PIES.C | 11 ++++ src/tests/app/Make/options | 9 +-- src/tests/app/test_sdc.C | 4 +- 5 files changed, 14 insertions(+), 78 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9b310c08..00000000 --- a/.travis.yml +++ /dev/null @@ -1,62 +0,0 @@ -language: cpp - -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - gcc-4.8 - - g++-4.8 - - build-essential - - flex - - bison - - zlib1g-dev - - libreadline-dev - - libncurses5-dev - - libxt-dev - - libopenmpi-dev - - openmpi-bin - - rpm - - wget - - cmake - - hwloc - - scotch - - gfortran - - python - - unzip - - scons - - binutils-dev - -before_install: - - export CXX="g++-4.8" - - export CC="gcc-4.8" - - export OMPI_CXX=$CXX - - export OMPI_CC=$CC - -script: - - git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2 - - export PARAVIEW_SYSTEM=1 - - export CMAKE_SYSTEM=1 - - export HWLOC_SYSTEM=1 - - export SCOTCH_SYSTEM=1 - - export PYFOAM_SYSTEM=1 - - export CUDA_IGNORE=1 - - export SWAK4FOAM_SYSTEM=1 - - export WM_MPLIB=SYSTEMOPENMPI - - export OPENMPI_DIR=/usr - - export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin - - export FOAM_INST_DIR=`pwd` - - sed -i s/"CC = g++ -m64"/"CC = mpicxx -m64"/g foam-extend-3.2/wmake/rules/linux64Gcc/c++ - - cd foam-extend-3.2 - - source etc/bashrc - - export WM_NCOMPPROCS=2 - - unset WM_THIRD_PARTY_USE_CMAKE_322 - - unset WM_THIRD_PARTY_USE_HWLOC_1101 - - unset WM_THIRD_PARTY_USE_SCOTCH_604 - - unset WM_THIRD_PARTY_USE_PYFOAM_064 - - ( cd wmake/src && make ) - - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) - - src/Allwmake - - cd .. - - export FOAM_USER_SRC=`pwd`/src - - ./Allwmake.firstInstall diff --git a/applications/solvers/fsi/fsiFoam/Make/options b/applications/solvers/fsi/fsiFoam/Make/options index 1a851f56..d57a985f 100644 --- a/applications/solvers/fsi/fsiFoam/Make/options +++ b/applications/solvers/fsi/fsiFoam/Make/options @@ -20,7 +20,6 @@ EXE_INC = -std=c++11 \ -isystem ../../../../src/thirdParty/yaml-cpp/include \ -isystem ../../../../src/RBFMeshMotionSolver/lnInclude/ \ $(WM_DECOMP_INC) \ - -isystem $(LIB_SRC)/tetFiniteElement/lnInclude \ -isystem ../../../../src/thirdParty/boost \ -isystem ../../../../src/boundaryConditions/lnInclude \ -isystem ../../../../src/thirdParty/deal-fsi/include \ @@ -36,22 +35,17 @@ EXE_LIBS = \ -ldynamicFvMesh \ -ltopoChangerFvMesh \ -ldynamicMesh \ - -lmeshTools \ -lfiniteVolume \ -lincompressibleTransportModels \ -lincompressibleTurbulenceModel \ -lincompressibleRASModels \ -lincompressibleLESModels \ - -llduSolvers \ -lfvSchemes \ -lboundaryConditions \ -lsolidModels \ - -lsampling \ - -llagrangian \ -lyaml-cpp \ -lRBFMeshMotionSolver \ -lfsi \ - -ltetFiniteElement \ -lbasicThermophysicalModels \ -lspecie \ -lcompressibleRASModels \ diff --git a/src/fsi/PIES.C b/src/fsi/PIES.C index dbfaa14c..596752e8 100644 --- a/src/fsi/PIES.C +++ b/src/fsi/PIES.C @@ -79,6 +79,7 @@ namespace sdc void PIES::computeCoefficients() { + Info << "PIES: compute integration coefficients" << endl; // Initialize variables longDouble tstart, tend, tinterval, rho, delta, eps; int N, M; @@ -114,6 +115,8 @@ namespace sdc gamma( N + 1 ) = std::complex( 0, -rho ); gamma( N + 2 ) = std::complex( 0, rho ); + Info << "PIES: discretize gamma on semi-disk" << endl; + for ( int i = 0; i < N; i++ ) { longDouble distanceTravelled = i * dx; @@ -138,6 +141,8 @@ namespace sdc for ( int i = 0; i < t.rows(); i++ ) t( i ) = tstart + dt * i; + Info << "PIES: build matrix A of size " << t.rows() << " x " << gamma.rows() << endl; + // Compute the matrix A matrix50c A( t.rows(), gamma.rows() ); @@ -145,6 +150,8 @@ namespace sdc for ( int j = 0; j < A.cols(); j++ ) A( i, j ) = sdc::exp( gamma( j ) * t( i ) ); + Info << "PIES: compute QR decomposition of A" << endl; + // Matrix compression by QR decomposition with full pivoting Eigen::FullPivHouseholderQR qr = A.fullPivHouseholderQr(); @@ -182,6 +189,8 @@ namespace sdc int index = 0; int zeroIndex = -1; + Info << "PIES: build subset lambda" << endl; + for ( int i = 0; i < k; i++ ) { std::complex value = gamma( idx( i ) ); @@ -207,6 +216,8 @@ namespace sdc // One extra node due to adding of constraint nbNodes += 1; + Info << "PIES: compute the coeffients omega" << endl; + for ( int iter = 0; iter < 20; iter++ ) { M = nbNodes; diff --git a/src/tests/app/Make/options b/src/tests/app/Make/options index b023a448..58f396fc 100644 --- a/src/tests/app/Make/options +++ b/src/tests/app/Make/options @@ -1,6 +1,6 @@ c++WARN = -Wall -Wextra -Werror -Wno-literal-suffix -EXE_INC = --coverage -fprofile-arcs -ftest-coverage -g -std=c++11 \ +EXE_INC = -std=c++11 \ -DEIGEN_INITIALIZE_MATRICES_BY_NAN \ -I ../../RBFmeshInterpolation/lnInclude/ \ -isystem $(LIB_SRC)/finiteVolume/lnInclude \ @@ -16,11 +16,9 @@ EXE_INC = --coverage -fprofile-arcs -ftest-coverage -g -std=c++11 \ -isystem ../../thirdParty/boost \ -isystem ../../thirdParty/gtest/include \ $(WM_DECOMP_INC) \ - -isystem $(LIB_SRC)/tetFiniteElement/lnInclude \ -I ../../RBFMeshMotionSolver/lnInclude/ \ -isystem $(LIB_SRC)/meshTools/lnInclude \ -isystem $(LIB_SRC)/solidModels/lnInclude \ - -isystem $(LIB_SRC)/VectorN/lnInclude \ -isystem ../../thirdParty/deal-fsi/include \ -isystem ../../thirdParty/dealii/bin/include \ -isystem ../../thirdParty/dealii/bin/include/deal.II/bundled \ @@ -42,13 +40,8 @@ EXE_LIBS = \ -lincompressibleRASModels \ -lincompressibleLESModels \ -lfiniteVolume \ - -llduSolvers \ -lsolidModels \ - -lsampling \ - -lgcov \ - -ltetFiniteElement \ -lRBFMeshMotionSolver \ - -ltetFiniteElement \ -lbasicThermophysicalModels \ -lspecie \ -lcompressibleRASModels \ diff --git a/src/tests/app/test_sdc.C b/src/tests/app/test_sdc.C index 7af0fc41..e1c9257c 100644 --- a/src/tests/app/test_sdc.C +++ b/src/tests/app/test_sdc.C @@ -299,7 +299,7 @@ TEST( CosTest, SDC ) // rule = "uniform"; // rule = "clenshaw-curtis"; int nbNodes = 3; - scalar tol = 1.0e-25; + scalar tol = 1.0e-15; int nbTimeSteps = 5; scalar endTime = 0.05; @@ -341,7 +341,7 @@ TEST( OscillatorTest, SDC ) { std::string rule = "gauss-lobatto"; int nbNodes = 3; - scalar tol = 1.0e-25; + scalar tol = 1.0e-15; int nbTimeSteps = 100; scalar endTime = 10; From ddfdedd580f4899a282f3ee2c5da9e837f8009d2 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 12:34:19 +0100 Subject: [PATCH 12/87] travis: use a cache of foam-extend-3.2 --- .travis.yml | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..5ab97cf6 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,66 @@ +language: cpp + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-4.8 + - g++-4.8 + - build-essential + - flex + - bison + - zlib1g-dev + - libreadline-dev + - libncurses5-dev + - libxt-dev + - libopenmpi-dev + - openmpi-bin + - rpm + - wget + - cmake + - hwloc + - scotch + - gfortran + - python + - unzip + - scons + - binutils-dev + +before_install: + - export CXX="g++-4.8" + - export CC="gcc-4.8" + - export OMPI_CXX=$CXX + - export OMPI_CC=$CC + +cache: + directories: + - $HOME/foam-extend-3.2 + +script: + - if [ ! -d "foam-extend-3.2" ]; then git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi + - export PARAVIEW_SYSTEM=1 + - export CMAKE_SYSTEM=1 + - export HWLOC_SYSTEM=1 + - export SCOTCH_SYSTEM=1 + - export PYFOAM_SYSTEM=1 + - export CUDA_IGNORE=1 + - export SWAK4FOAM_SYSTEM=1 + - export WM_MPLIB=SYSTEMOPENMPI + - export OPENMPI_DIR=/usr + - export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + - export FOAM_INST_DIR=`pwd` + - sed -i s/"CC = g++ -m64"/"CC = mpicxx -m64"/g foam-extend-3.2/wmake/rules/linux64Gcc/c++ + - cd foam-extend-3.2 + - source etc/bashrc + - export WM_NCOMPPROCS=2 + - unset WM_THIRD_PARTY_USE_CMAKE_322 + - unset WM_THIRD_PARTY_USE_HWLOC_1101 + - unset WM_THIRD_PARTY_USE_SCOTCH_604 + - unset WM_THIRD_PARTY_USE_PYFOAM_064 + - ( cd wmake/src && make ) + - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) + - src/Allwmake + - cd .. + - export FOAM_USER_SRC=`pwd`/src + - ./Allwmake.firstInstall From fe224fca76628b5ddf57194630a577b17df01edb Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 12:40:33 +0100 Subject: [PATCH 13/87] travis: only build the third party packages --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5ab97cf6..aaff1812 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,7 +60,7 @@ script: - unset WM_THIRD_PARTY_USE_PYFOAM_064 - ( cd wmake/src && make ) - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) - - src/Allwmake - - cd .. - - export FOAM_USER_SRC=`pwd`/src - - ./Allwmake.firstInstall + # - src/Allwmake + # - cd .. + # - export FOAM_USER_SRC=`pwd`/src + # - ./Allwmake.firstInstall From 64d1037e55a6a007d8769a6d8310f37f5a64d62a Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 12:49:29 +0100 Subject: [PATCH 14/87] travis: add more libraries to build --- .travis.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index aaff1812..c1e90356 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,7 +60,14 @@ script: - unset WM_THIRD_PARTY_USE_PYFOAM_064 - ( cd wmake/src && make ) - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) - # - src/Allwmake + - wmakePrintBuild -check || /bin/rm -f foam/Make/$WM_OPTIONS/global.? 2>/dev/null + - wmakeLnInclude foam + - wmakeLnInclude meshTools + - wmakeLnInclude OSspecific/$WM_OSTYPE + - wmake libo OSspecific/$WM_OSTYPE + - wmake libso foam + - decompositionMethods/AllwmakeLnInclude + - decompositionMethods/Allwmake # - cd .. # - export FOAM_USER_SRC=`pwd`/src # - ./Allwmake.firstInstall From 88b4acbd6ce93fb8ea5b2428e02bd9e9b0e6359c Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 13:15:13 +0100 Subject: [PATCH 15/87] bugfix compilation of foam-extend --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index c1e90356..fef0052f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,6 +60,7 @@ script: - unset WM_THIRD_PARTY_USE_PYFOAM_064 - ( cd wmake/src && make ) - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) + - cd foam-extend-3.2 - wmakePrintBuild -check || /bin/rm -f foam/Make/$WM_OPTIONS/global.? 2>/dev/null - wmakeLnInclude foam - wmakeLnInclude meshTools From 84f1c7855bdd611bfc985dd2e67afbc10c2128ee Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 13:21:00 +0100 Subject: [PATCH 16/87] bugfix compilation of foam-extend --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fef0052f..38f60e15 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,7 +60,7 @@ script: - unset WM_THIRD_PARTY_USE_PYFOAM_064 - ( cd wmake/src && make ) - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) - - cd foam-extend-3.2 + - cd $WM_PROJECT_DIR/src - wmakePrintBuild -check || /bin/rm -f foam/Make/$WM_OPTIONS/global.? 2>/dev/null - wmakeLnInclude foam - wmakeLnInclude meshTools From 15ff3fbaf92de2ad1f9ed6ede6eb316bb8542a43 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 13:23:29 +0100 Subject: [PATCH 17/87] travis: try to fix cache --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 38f60e15..c053e37e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,7 +35,7 @@ before_install: cache: directories: - - $HOME/foam-extend-3.2 + - foam-extend-3.2 script: - if [ ! -d "foam-extend-3.2" ]; then git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi From 0f3b2988d808ff77d4aee635af7f96b4d4679492 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 13:31:59 +0100 Subject: [PATCH 18/87] travis: try to fix cache --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c053e37e..db72a871 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,7 @@ cache: - foam-extend-3.2 script: - - if [ ! -d "foam-extend-3.2" ]; then git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi + - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi - export PARAVIEW_SYSTEM=1 - export CMAKE_SYSTEM=1 - export HWLOC_SYSTEM=1 From 87eae0869c90385f5d811819436182b472f72093 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 13:36:35 +0100 Subject: [PATCH 19/87] disable decompositionMethods --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index db72a871..f566da69 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,8 +67,8 @@ script: - wmakeLnInclude OSspecific/$WM_OSTYPE - wmake libo OSspecific/$WM_OSTYPE - wmake libso foam - - decompositionMethods/AllwmakeLnInclude - - decompositionMethods/Allwmake + # - decompositionMethods/AllwmakeLnInclude + # - decompositionMethods/Allwmake # - cd .. # - export FOAM_USER_SRC=`pwd`/src # - ./Allwmake.firstInstall From 83e31a07db729bac3ac0220f5eb37f16c188a48b Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 13:54:18 +0100 Subject: [PATCH 20/87] enable more foam-extend libraries --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.yml b/.travis.yml index f566da69..aca1a85e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,6 +67,11 @@ script: - wmakeLnInclude OSspecific/$WM_OSTYPE - wmake libo OSspecific/$WM_OSTYPE - wmake libso foam + - wmake libso finiteVolume + - wmake libso finiteArea + - dynamicMesh/AllwmakeLnInclude + - dynamicMesh/Allwmake + - wmake libso coupledMatrix # - decompositionMethods/AllwmakeLnInclude # - decompositionMethods/Allwmake # - cd .. From 3b0691f1d96ba48cf7bb33dd072316cbea24af1c Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 14:40:59 +0100 Subject: [PATCH 21/87] travis: enable caching for third party directories --- .travis.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.travis.yml b/.travis.yml index aca1a85e..991036eb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,6 +36,12 @@ before_install: cache: directories: - foam-extend-3.2 + - src/thirdParty/gtest-1.7.0 + - src/thirdParty/metis-5.1.0 + - src/thirdParty/parmetis-4.0.3 + - src/thirdParty/petsc-3.6.3 + - src/thirdParty/yaml-cpp-release-0.5.3 + - src/thirdParty/boost_1_55_0 script: - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi @@ -67,6 +73,7 @@ script: - wmakeLnInclude OSspecific/$WM_OSTYPE - wmake libo OSspecific/$WM_OSTYPE - wmake libso foam + - wmake libso meshTools - wmake libso finiteVolume - wmake libso finiteArea - dynamicMesh/AllwmakeLnInclude @@ -77,3 +84,14 @@ script: # - cd .. # - export FOAM_USER_SRC=`pwd`/src # - ./Allwmake.firstInstall + + - cd $FOAM_INST_DIR/src/thirdParty + - if [ ! -d "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; fi + - if [ ! -d "metis-5.1.0/build/lib/libmetis.a" ]; then rm -rf metis*; fi + - if [ ! -d "parmetis-4.0.3/build/lib/libparmetis.a" ]; then rm -rf parmetis*; fi + - if [ ! -d "petsc-3.6.3/x86_64/lib/libpetsc.so.3.6.3" ]; then rm -rf petsc*; fi + - if [ ! -d "dealii-8.3.0/bin/lib/libdeal_II.so" ]; then rm -rf dealii*; fi + - if [ ! -d "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; fi + - ./compile_precice + - ./compile_gtest + - ./compile_yaml From 41eddf1ec81166d3fa07b1761ed07639c47b795b Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 14:51:52 +0100 Subject: [PATCH 22/87] enable even more foam-extend libraries --- .travis.yml | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 991036eb..0b48dc40 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,12 +36,12 @@ before_install: cache: directories: - foam-extend-3.2 - - src/thirdParty/gtest-1.7.0 - - src/thirdParty/metis-5.1.0 - - src/thirdParty/parmetis-4.0.3 - - src/thirdParty/petsc-3.6.3 - - src/thirdParty/yaml-cpp-release-0.5.3 - - src/thirdParty/boost_1_55_0 + # - src/thirdParty/gtest-1.7.0 + # - src/thirdParty/metis-5.1.0 + # - src/thirdParty/parmetis-4.0.3 + # - src/thirdParty/petsc-3.6.3 + # - src/thirdParty/yaml-cpp-release-0.5.3 + # - src/thirdParty/boost_1_55_0 script: - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi @@ -69,6 +69,9 @@ script: - cd $WM_PROJECT_DIR/src - wmakePrintBuild -check || /bin/rm -f foam/Make/$WM_OPTIONS/global.? 2>/dev/null - wmakeLnInclude foam + - wmake libso lagrangian/basic + - wmake libso edgeMesh + - wmake libso surfMesh - wmakeLnInclude meshTools - wmakeLnInclude OSspecific/$WM_OSTYPE - wmake libo OSspecific/$WM_OSTYPE @@ -85,13 +88,13 @@ script: # - export FOAM_USER_SRC=`pwd`/src # - ./Allwmake.firstInstall - - cd $FOAM_INST_DIR/src/thirdParty - - if [ ! -d "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; fi - - if [ ! -d "metis-5.1.0/build/lib/libmetis.a" ]; then rm -rf metis*; fi - - if [ ! -d "parmetis-4.0.3/build/lib/libparmetis.a" ]; then rm -rf parmetis*; fi - - if [ ! -d "petsc-3.6.3/x86_64/lib/libpetsc.so.3.6.3" ]; then rm -rf petsc*; fi - - if [ ! -d "dealii-8.3.0/bin/lib/libdeal_II.so" ]; then rm -rf dealii*; fi - - if [ ! -d "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; fi - - ./compile_precice - - ./compile_gtest - - ./compile_yaml + # - cd $FOAM_INST_DIR/src/thirdParty + # - if [ ! -d "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; fi + # - if [ ! -d "metis-5.1.0/build/lib/libmetis.a" ]; then rm -rf metis*; fi + # - if [ ! -d "parmetis-4.0.3/build/lib/libparmetis.a" ]; then rm -rf parmetis*; fi + # - if [ ! -d "petsc-3.6.3/x86_64/lib/libpetsc.so.3.6.3" ]; then rm -rf petsc*; fi + # - if [ ! -d "dealii-8.3.0/bin/lib/libdeal_II.so" ]; then rm -rf dealii*; fi + # - if [ ! -d "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; fi + # - ./compile_precice + # - ./compile_gtest + # - ./compile_yaml From c6bd70eaefa5805fd0b2d105b0ddbb91a72194e1 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 14:57:32 +0100 Subject: [PATCH 23/87] enable even more foam-extend libraries --- .travis.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0b48dc40..a64b7bf4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,16 +69,19 @@ script: - cd $WM_PROJECT_DIR/src - wmakePrintBuild -check || /bin/rm -f foam/Make/$WM_OPTIONS/global.? 2>/dev/null - wmakeLnInclude foam - - wmake libso lagrangian/basic - - wmake libso edgeMesh - - wmake libso surfMesh - wmakeLnInclude meshTools - wmakeLnInclude OSspecific/$WM_OSTYPE - wmake libo OSspecific/$WM_OSTYPE - wmake libso foam + - decompositionMethods/AllwmakeLnInclude + - decompositionMethods/Allwmake + - wmake libso lagrangian/basic + - wmake libso edgeMesh + - wmake libso surfMesh - wmake libso meshTools - wmake libso finiteVolume - wmake libso finiteArea + - wmake libso lduSolvers - dynamicMesh/AllwmakeLnInclude - dynamicMesh/Allwmake - wmake libso coupledMatrix From 401799ef497d8f31d78c61c3aa3ecb067b87a59c Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 15:00:30 +0100 Subject: [PATCH 24/87] enable more foam-extend libraries --- .travis.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index a64b7bf4..3aef9b30 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,9 +85,14 @@ script: - dynamicMesh/AllwmakeLnInclude - dynamicMesh/Allwmake - wmake libso coupledMatrix - # - decompositionMethods/AllwmakeLnInclude - # - decompositionMethods/Allwmake - # - cd .. + - wmake libso sampling + - mesh/Allwmake + - thermophysicalModels/Allwmake + - transportModels/Allwmake + - turbulenceModels/Allwmake + - lagrangian/Allwmake + - postProcessing/Allwmake + - conversion/Allwmake # - export FOAM_USER_SRC=`pwd`/src # - ./Allwmake.firstInstall From e51d162483475b715b9706ca05062590bfb311db Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 15:02:06 +0100 Subject: [PATCH 25/87] enable tetFiniteElement library --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 3aef9b30..78b04ae0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -82,6 +82,7 @@ script: - wmake libso finiteVolume - wmake libso finiteArea - wmake libso lduSolvers + - wmake libso tetFiniteElement - dynamicMesh/AllwmakeLnInclude - dynamicMesh/Allwmake - wmake libso coupledMatrix From 78d24ae732479edee12e110b9d2d56bf621ab70d Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 16:32:19 +0100 Subject: [PATCH 26/87] travis: disable decompositionMethods --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 78b04ae0..322f8538 100644 --- a/.travis.yml +++ b/.travis.yml @@ -74,7 +74,7 @@ script: - wmake libo OSspecific/$WM_OSTYPE - wmake libso foam - decompositionMethods/AllwmakeLnInclude - - decompositionMethods/Allwmake + # - decompositionMethods/Allwmake - wmake libso lagrangian/basic - wmake libso edgeMesh - wmake libso surfMesh From ac07d1ae39a214f790fe1d79a6216848b5b32334 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 17:09:10 +0100 Subject: [PATCH 27/87] travis: cache yaml-cpp --- .travis.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 322f8538..7e716b39 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,6 +36,7 @@ before_install: cache: directories: - foam-extend-3.2 + - src/thirdParty/yaml-cpp-release-0.5.3 # - src/thirdParty/gtest-1.7.0 # - src/thirdParty/metis-5.1.0 # - src/thirdParty/parmetis-4.0.3 @@ -97,13 +98,14 @@ script: # - export FOAM_USER_SRC=`pwd`/src # - ./Allwmake.firstInstall - # - cd $FOAM_INST_DIR/src/thirdParty - # - if [ ! -d "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; fi - # - if [ ! -d "metis-5.1.0/build/lib/libmetis.a" ]; then rm -rf metis*; fi - # - if [ ! -d "parmetis-4.0.3/build/lib/libparmetis.a" ]; then rm -rf parmetis*; fi - # - if [ ! -d "petsc-3.6.3/x86_64/lib/libpetsc.so.3.6.3" ]; then rm -rf petsc*; fi - # - if [ ! -d "dealii-8.3.0/bin/lib/libdeal_II.so" ]; then rm -rf dealii*; fi - # - if [ ! -d "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; fi - # - ./compile_precice + - cd $FOAM_INST_DIR/src/thirdParty + - if [ ! -d "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; fi + - if [ ! -d "metis-5.1.0/build/lib/libmetis.a" ]; then rm -rf metis*; fi + - if [ ! -d "parmetis-4.0.3/build/lib/libparmetis.a" ]; then rm -rf parmetis*; fi + - if [ ! -d "petsc-3.6.3/x86_64/lib/libpetsc.so.3.6.3" ]; then rm -rf petsc*; fi + - if [ ! -d "dealii-8.3.0/bin/lib/libdeal_II.so" ]; then rm -rf dealii*; fi + - if [ ! -d "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; fi + - if [ ! -d "yaml-cpp-release-0.5.3/build/libyaml-cpp.so.0.5.3" ]; then rm -rf yaml-cpp*; fi + # - ./compile_gtest - # - ./compile_yaml + - ./compile_yaml From fced15c15cf258b8df7ad6acb3d3241c1620a2ee Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 17:44:16 +0100 Subject: [PATCH 28/87] Travis: cache yaml-cpp and googletest --- .travis.yml | 4 ++-- src/thirdParty/compile_yaml | 16 ++++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7e716b39..48ff9354 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,7 +37,7 @@ cache: directories: - foam-extend-3.2 - src/thirdParty/yaml-cpp-release-0.5.3 - # - src/thirdParty/gtest-1.7.0 + - src/thirdParty/gtest-1.7.0 # - src/thirdParty/metis-5.1.0 # - src/thirdParty/parmetis-4.0.3 # - src/thirdParty/petsc-3.6.3 @@ -107,5 +107,5 @@ script: - if [ ! -d "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; fi - if [ ! -d "yaml-cpp-release-0.5.3/build/libyaml-cpp.so.0.5.3" ]; then rm -rf yaml-cpp*; fi - # - ./compile_gtest + - ./compile_gtest - ./compile_yaml diff --git a/src/thirdParty/compile_yaml b/src/thirdParty/compile_yaml index 953393b3..e7b8af4d 100755 --- a/src/thirdParty/compile_yaml +++ b/src/thirdParty/compile_yaml @@ -9,13 +9,19 @@ cd $DIR # Assume that preCICE has been built before, and boost is already downloaded. VERSION=0.5.3 +BOOST_VERSION=1_55_0 +BOOST_VERSION_DOT=1.55.0 + +# Download Boost +if [ ! -d "boost_${BOOST_VERSION}" ]; then + wget -O boost_${BOOST_VERSION}.tar.bz2 http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION_DOT}/boost_${BOOST_VERSION}.tar.bz2 + tar jxf boost_${BOOST_VERSION}.tar.bz2 + rm -f boost_${BOOST_VERSION}.tar.bz2 + ln -s boost_${BOOST_VERSION} boost +fi if [ ! -e "yaml-cpp-release-${VERSION}" ]; then - # Define which versions of the different packages are used - - export BOOST_VERSION=1_55_0 - rm -rf yaml-cpp* rm -rf yaml-cpp-${VERSION}* @@ -26,8 +32,6 @@ if [ ! -e "yaml-cpp-release-${VERSION}" ]; then rm -f yaml-cpp-${VERSION}.tar.gz ln -s yaml-cpp-release-${VERSION} yaml-cpp - rm -f boost - ln -s boost_${BOOST_VERSION} boost export BOOST_ROOT=`pwd`/boost_${BOOST_VERSION} echo $BOOST_ROOT From 5b3fb5c6a54a0dfd12523c55ca76ade214bfc7a2 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 17:53:36 +0100 Subject: [PATCH 29/87] travis: compile deal.II --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 48ff9354..65ce7f41 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,7 +42,7 @@ cache: # - src/thirdParty/parmetis-4.0.3 # - src/thirdParty/petsc-3.6.3 # - src/thirdParty/yaml-cpp-release-0.5.3 - # - src/thirdParty/boost_1_55_0 + - src/thirdParty/boost_1_55_0 script: - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi @@ -88,6 +88,7 @@ script: - dynamicMesh/Allwmake - wmake libso coupledMatrix - wmake libso sampling + - wmake libso ODE - mesh/Allwmake - thermophysicalModels/Allwmake - transportModels/Allwmake @@ -109,3 +110,4 @@ script: - ./compile_gtest - ./compile_yaml + - ./compile_dealii From a8c4cf5c37550019d6407cd11a143ef28b578af3 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 19:17:09 +0100 Subject: [PATCH 30/87] Precompile deal.II elasticity solver --- src/fsi/PIES.C | 1 + src/fsi/solidSolvers/dealiiSolidSolver.C | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/fsi/PIES.C b/src/fsi/PIES.C index 596752e8..331c4cfa 100644 --- a/src/fsi/PIES.C +++ b/src/fsi/PIES.C @@ -80,6 +80,7 @@ namespace sdc void PIES::computeCoefficients() { Info << "PIES: compute integration coefficients" << endl; + // Initialize variables longDouble tstart, tend, tinterval, rho, delta, eps; int N, M; diff --git a/src/fsi/solidSolvers/dealiiSolidSolver.C b/src/fsi/solidSolvers/dealiiSolidSolver.C index 2b6d48f7..cde14c1b 100644 --- a/src/fsi/solidSolvers/dealiiSolidSolver.C +++ b/src/fsi/solidSolvers/dealiiSolidSolver.C @@ -5,3 +5,8 @@ */ #include "dealiiSolidSolver.H" + +namespace fsi +{ + template class dealiiSolidSolver<2>; +} From ef21f50cfbee96f5951bc2402301ce49c24c614c Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 19:23:26 +0100 Subject: [PATCH 31/87] Precompile templated SDC classes --- src/fsi/ClenshawCurtis.C | 10 ++++++++++ src/fsi/GaussLobatto.C | 10 ++++++++++ src/fsi/GaussRadau.C | 10 ++++++++++ src/fsi/Make/files | 7 +++++++ src/fsi/Polynomial.C | 10 ++++++++++ src/fsi/QuadratureInterface.C | 10 ++++++++++ src/fsi/Uniform.C | 10 ++++++++++ 7 files changed, 67 insertions(+) create mode 100644 src/fsi/ClenshawCurtis.C create mode 100644 src/fsi/GaussLobatto.C create mode 100644 src/fsi/GaussRadau.C create mode 100644 src/fsi/Polynomial.C create mode 100644 src/fsi/QuadratureInterface.C create mode 100644 src/fsi/Uniform.C diff --git a/src/fsi/ClenshawCurtis.C b/src/fsi/ClenshawCurtis.C new file mode 100644 index 00000000..27ec52fb --- /dev/null +++ b/src/fsi/ClenshawCurtis.C @@ -0,0 +1,10 @@ + +#include "ClenshawCurtis.H" + +namespace fsi +{ + namespace quadrature + { + template class ClenshawCurtis; + } +} diff --git a/src/fsi/GaussLobatto.C b/src/fsi/GaussLobatto.C new file mode 100644 index 00000000..66f320a3 --- /dev/null +++ b/src/fsi/GaussLobatto.C @@ -0,0 +1,10 @@ + +#include "GaussLobatto.H" + +namespace fsi +{ + namespace quadrature + { + template class GaussLobatto; + } +} diff --git a/src/fsi/GaussRadau.C b/src/fsi/GaussRadau.C new file mode 100644 index 00000000..e2f35abe --- /dev/null +++ b/src/fsi/GaussRadau.C @@ -0,0 +1,10 @@ + +#include "GaussRadau.H" + +namespace fsi +{ + namespace quadrature + { + template class GaussRadau; + } +} diff --git a/src/fsi/Make/files b/src/fsi/Make/files index a8ad18b2..e26f9ce6 100644 --- a/src/fsi/Make/files +++ b/src/fsi/Make/files @@ -25,6 +25,13 @@ AdaptiveTimeStepper.C PIES.C SDCFsiSolver.C version.Cver +Polynomial.C +QuadratureInterface.C +Uniform.C +GaussRadau.C +GaussLobatto.C +ClenshawCurtis.C + fluidSolvers/CoupledFluidSolver.C fluidSolvers/FluidSolver.C diff --git a/src/fsi/Polynomial.C b/src/fsi/Polynomial.C new file mode 100644 index 00000000..42efbffe --- /dev/null +++ b/src/fsi/Polynomial.C @@ -0,0 +1,10 @@ + +#include "Polynomial.H" + +namespace fsi +{ + namespace quadrature + { + template class Polynomial; + } +} diff --git a/src/fsi/QuadratureInterface.C b/src/fsi/QuadratureInterface.C new file mode 100644 index 00000000..e0574043 --- /dev/null +++ b/src/fsi/QuadratureInterface.C @@ -0,0 +1,10 @@ + +#include "QuadratureInterface.H" + +namespace fsi +{ + namespace quadrature + { + template class QuadratureInterface; + } +} diff --git a/src/fsi/Uniform.C b/src/fsi/Uniform.C new file mode 100644 index 00000000..2c31fb15 --- /dev/null +++ b/src/fsi/Uniform.C @@ -0,0 +1,10 @@ + +#include "Uniform.H" + +namespace fsi +{ + namespace quadrature + { + template class Uniform; + } +} From f051ba2c85c00aab037c1408356aab15eb2a384e Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 19:38:04 +0100 Subject: [PATCH 32/87] travis: use newer version of cmake --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 65ce7f41..16dd9b42 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,6 @@ addons: - openmpi-bin - rpm - wget - - cmake - hwloc - scotch - gfortran @@ -32,6 +31,11 @@ before_install: - export CC="gcc-4.8" - export OMPI_CXX=$CXX - export OMPI_CC=$CC + - yes | sudo add-apt-repository ppa:kalakris/cmake + - sudo apt-get update -qq + +install: + - sudo apt-get install cmake cache: directories: From d0f25393b2593538460f62700256deb68bae12d7 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 19:44:16 +0100 Subject: [PATCH 33/87] travis: use the cmake version compiled by foam-extend --- .travis.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 16dd9b42..16d6b5f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,11 +31,6 @@ before_install: - export CC="gcc-4.8" - export OMPI_CXX=$CXX - export OMPI_CC=$CC - - yes | sudo add-apt-repository ppa:kalakris/cmake - - sudo apt-get update -qq - -install: - - sudo apt-get install cmake cache: directories: @@ -51,7 +46,6 @@ cache: script: - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi - export PARAVIEW_SYSTEM=1 - - export CMAKE_SYSTEM=1 - export HWLOC_SYSTEM=1 - export SCOTCH_SYSTEM=1 - export PYFOAM_SYSTEM=1 @@ -65,7 +59,6 @@ script: - cd foam-extend-3.2 - source etc/bashrc - export WM_NCOMPPROCS=2 - - unset WM_THIRD_PARTY_USE_CMAKE_322 - unset WM_THIRD_PARTY_USE_HWLOC_1101 - unset WM_THIRD_PARTY_USE_SCOTCH_604 - unset WM_THIRD_PARTY_USE_PYFOAM_064 From b08dad1f40ca354b80551d985950fd04040f8d92 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 19:54:15 +0100 Subject: [PATCH 34/87] Cleanup test suite by using shared libraries --- src/tests/app/ASMILS.C | 1 - src/tests/app/ASMILS.H | 1 - src/tests/app/AbsoluteConvergenceMeasure.C | 1 - src/tests/app/AbsoluteConvergenceMeasure.H | 1 - src/tests/app/AdaptiveTimeStepper.C | 1 - src/tests/app/AdaptiveTimeStepper.H | 1 - src/tests/app/AggressiveSpaceMapping.C | 1 - src/tests/app/AggressiveSpaceMapping.H | 1 - src/tests/app/AitkenPostProcessing.C | 1 - src/tests/app/AitkenPostProcessing.H | 1 - src/tests/app/AndersonPostProcessing.C | 1 - src/tests/app/AndersonPostProcessing.H | 1 - src/tests/app/BaseMultiLevelSolver.H | 1 - src/tests/app/BroydenPostProcessing.C | 1 - src/tests/app/BroydenPostProcessing.H | 1 - src/tests/app/ClenshawCurtis.H | 1 - src/tests/app/ClenshawCurtis.tpp | 1 - src/tests/app/ConvergenceMeasure.H | 1 - src/tests/app/DataValues.C | 1 - src/tests/app/DataValues.H | 1 - src/tests/app/ESDIRK.C | 1 - src/tests/app/ESDIRK.H | 1 - src/tests/app/FsiSolver.C | 1 - src/tests/app/FsiSolver.H | 1 - src/tests/app/GaussLobatto.H | 1 - src/tests/app/GaussLobatto.tpp | 1 - src/tests/app/GaussRadau.H | 1 - src/tests/app/GaussRadau.tpp | 1 - src/tests/app/ImplicitMultiLevelFsiSolver.C | 1 - src/tests/app/ImplicitMultiLevelFsiSolver.H | 1 - src/tests/app/MLIQNILSSolver.C | 1 - src/tests/app/MLIQNILSSolver.H | 1 - src/tests/app/Make/files | 28 +------------------ src/tests/app/Make/options | 7 ++++- src/tests/app/ManifoldMapping.C | 1 - src/tests/app/ManifoldMapping.H | 1 - .../app/MinIterationConvergenceMeasure.C | 1 - .../app/MinIterationConvergenceMeasure.H | 1 - src/tests/app/MultiLevelFsiSolver.C | 1 - src/tests/app/MultiLevelFsiSolver.H | 1 - src/tests/app/MultiLevelSolver.C | 1 - src/tests/app/MultiLevelSolver.H | 1 - src/tests/app/MultiLevelSpaceMappingSolver.C | 1 - src/tests/app/MultiLevelSpaceMappingSolver.H | 1 - src/tests/app/OutputSpaceMapping.C | 1 - src/tests/app/OutputSpaceMapping.H | 1 - src/tests/app/PIES.C | 1 - src/tests/app/PIES.H | 1 - src/tests/app/Polynomial.H | 1 - src/tests/app/Polynomial.tpp | 1 - src/tests/app/PostProcessing.C | 1 - src/tests/app/PostProcessing.H | 1 - src/tests/app/QuadratureInterface.H | 1 - src/tests/app/QuadratureInterface.tpp | 1 - src/tests/app/RelativeConvergenceMeasure.C | 1 - src/tests/app/RelativeConvergenceMeasure.H | 1 - .../app/ResidualRelativeConvergenceMeasure.C | 1 - .../app/ResidualRelativeConvergenceMeasure.H | 1 - src/tests/app/SDC.C | 1 - src/tests/app/SDC.H | 1 - src/tests/app/SDCFsiSolver.C | 1 - src/tests/app/SDCFsiSolver.H | 1 - src/tests/app/SDCFsiSolverInterface.H | 1 - src/tests/app/SDCSolver.H | 1 - src/tests/app/Solver.H | 1 - src/tests/app/SpaceMapping.C | 1 - src/tests/app/SpaceMapping.H | 1 - src/tests/app/SpaceMappingSolver.C | 1 - src/tests/app/SpaceMappingSolver.H | 1 - src/tests/app/SurrogateModel.H | 1 - src/tests/app/TimeIntegrationScheme.H | 1 - src/tests/app/Uniform.H | 1 - src/tests/app/Uniform.tpp | 1 - src/tests/app/dealiiSolidSolver.H | 1 - 74 files changed, 7 insertions(+), 100 deletions(-) delete mode 120000 src/tests/app/ASMILS.C delete mode 120000 src/tests/app/ASMILS.H delete mode 120000 src/tests/app/AbsoluteConvergenceMeasure.C delete mode 120000 src/tests/app/AbsoluteConvergenceMeasure.H delete mode 120000 src/tests/app/AdaptiveTimeStepper.C delete mode 120000 src/tests/app/AdaptiveTimeStepper.H delete mode 120000 src/tests/app/AggressiveSpaceMapping.C delete mode 120000 src/tests/app/AggressiveSpaceMapping.H delete mode 120000 src/tests/app/AitkenPostProcessing.C delete mode 120000 src/tests/app/AitkenPostProcessing.H delete mode 120000 src/tests/app/AndersonPostProcessing.C delete mode 120000 src/tests/app/AndersonPostProcessing.H delete mode 120000 src/tests/app/BaseMultiLevelSolver.H delete mode 120000 src/tests/app/BroydenPostProcessing.C delete mode 120000 src/tests/app/BroydenPostProcessing.H delete mode 120000 src/tests/app/ClenshawCurtis.H delete mode 120000 src/tests/app/ClenshawCurtis.tpp delete mode 120000 src/tests/app/ConvergenceMeasure.H delete mode 120000 src/tests/app/DataValues.C delete mode 120000 src/tests/app/DataValues.H delete mode 120000 src/tests/app/ESDIRK.C delete mode 120000 src/tests/app/ESDIRK.H delete mode 120000 src/tests/app/FsiSolver.C delete mode 120000 src/tests/app/FsiSolver.H delete mode 120000 src/tests/app/GaussLobatto.H delete mode 120000 src/tests/app/GaussLobatto.tpp delete mode 120000 src/tests/app/GaussRadau.H delete mode 120000 src/tests/app/GaussRadau.tpp delete mode 120000 src/tests/app/ImplicitMultiLevelFsiSolver.C delete mode 120000 src/tests/app/ImplicitMultiLevelFsiSolver.H delete mode 120000 src/tests/app/MLIQNILSSolver.C delete mode 120000 src/tests/app/MLIQNILSSolver.H delete mode 120000 src/tests/app/ManifoldMapping.C delete mode 120000 src/tests/app/ManifoldMapping.H delete mode 120000 src/tests/app/MinIterationConvergenceMeasure.C delete mode 120000 src/tests/app/MinIterationConvergenceMeasure.H delete mode 120000 src/tests/app/MultiLevelFsiSolver.C delete mode 120000 src/tests/app/MultiLevelFsiSolver.H delete mode 120000 src/tests/app/MultiLevelSolver.C delete mode 120000 src/tests/app/MultiLevelSolver.H delete mode 120000 src/tests/app/MultiLevelSpaceMappingSolver.C delete mode 120000 src/tests/app/MultiLevelSpaceMappingSolver.H delete mode 120000 src/tests/app/OutputSpaceMapping.C delete mode 120000 src/tests/app/OutputSpaceMapping.H delete mode 120000 src/tests/app/PIES.C delete mode 120000 src/tests/app/PIES.H delete mode 120000 src/tests/app/Polynomial.H delete mode 120000 src/tests/app/Polynomial.tpp delete mode 120000 src/tests/app/PostProcessing.C delete mode 120000 src/tests/app/PostProcessing.H delete mode 120000 src/tests/app/QuadratureInterface.H delete mode 120000 src/tests/app/QuadratureInterface.tpp delete mode 120000 src/tests/app/RelativeConvergenceMeasure.C delete mode 120000 src/tests/app/RelativeConvergenceMeasure.H delete mode 120000 src/tests/app/ResidualRelativeConvergenceMeasure.C delete mode 120000 src/tests/app/ResidualRelativeConvergenceMeasure.H delete mode 120000 src/tests/app/SDC.C delete mode 120000 src/tests/app/SDC.H delete mode 120000 src/tests/app/SDCFsiSolver.C delete mode 120000 src/tests/app/SDCFsiSolver.H delete mode 120000 src/tests/app/SDCFsiSolverInterface.H delete mode 120000 src/tests/app/SDCSolver.H delete mode 120000 src/tests/app/Solver.H delete mode 120000 src/tests/app/SpaceMapping.C delete mode 120000 src/tests/app/SpaceMapping.H delete mode 120000 src/tests/app/SpaceMappingSolver.C delete mode 120000 src/tests/app/SpaceMappingSolver.H delete mode 120000 src/tests/app/SurrogateModel.H delete mode 120000 src/tests/app/TimeIntegrationScheme.H delete mode 120000 src/tests/app/Uniform.H delete mode 120000 src/tests/app/Uniform.tpp delete mode 120000 src/tests/app/dealiiSolidSolver.H diff --git a/src/tests/app/ASMILS.C b/src/tests/app/ASMILS.C deleted file mode 120000 index 0fc6638c..00000000 --- a/src/tests/app/ASMILS.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ASMILS.C \ No newline at end of file diff --git a/src/tests/app/ASMILS.H b/src/tests/app/ASMILS.H deleted file mode 120000 index 947768c9..00000000 --- a/src/tests/app/ASMILS.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ASMILS.H \ No newline at end of file diff --git a/src/tests/app/AbsoluteConvergenceMeasure.C b/src/tests/app/AbsoluteConvergenceMeasure.C deleted file mode 120000 index 49bff135..00000000 --- a/src/tests/app/AbsoluteConvergenceMeasure.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/AbsoluteConvergenceMeasure.C \ No newline at end of file diff --git a/src/tests/app/AbsoluteConvergenceMeasure.H b/src/tests/app/AbsoluteConvergenceMeasure.H deleted file mode 120000 index b8e73073..00000000 --- a/src/tests/app/AbsoluteConvergenceMeasure.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/AbsoluteConvergenceMeasure.H \ No newline at end of file diff --git a/src/tests/app/AdaptiveTimeStepper.C b/src/tests/app/AdaptiveTimeStepper.C deleted file mode 120000 index 11a6ab40..00000000 --- a/src/tests/app/AdaptiveTimeStepper.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/AdaptiveTimeStepper.C \ No newline at end of file diff --git a/src/tests/app/AdaptiveTimeStepper.H b/src/tests/app/AdaptiveTimeStepper.H deleted file mode 120000 index 3a9c4cfc..00000000 --- a/src/tests/app/AdaptiveTimeStepper.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/AdaptiveTimeStepper.H \ No newline at end of file diff --git a/src/tests/app/AggressiveSpaceMapping.C b/src/tests/app/AggressiveSpaceMapping.C deleted file mode 120000 index cbb49d0b..00000000 --- a/src/tests/app/AggressiveSpaceMapping.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/AggressiveSpaceMapping.C \ No newline at end of file diff --git a/src/tests/app/AggressiveSpaceMapping.H b/src/tests/app/AggressiveSpaceMapping.H deleted file mode 120000 index bc293f98..00000000 --- a/src/tests/app/AggressiveSpaceMapping.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/AggressiveSpaceMapping.H \ No newline at end of file diff --git a/src/tests/app/AitkenPostProcessing.C b/src/tests/app/AitkenPostProcessing.C deleted file mode 120000 index b89914a4..00000000 --- a/src/tests/app/AitkenPostProcessing.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/AitkenPostProcessing.C \ No newline at end of file diff --git a/src/tests/app/AitkenPostProcessing.H b/src/tests/app/AitkenPostProcessing.H deleted file mode 120000 index c4117bb2..00000000 --- a/src/tests/app/AitkenPostProcessing.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/AitkenPostProcessing.H \ No newline at end of file diff --git a/src/tests/app/AndersonPostProcessing.C b/src/tests/app/AndersonPostProcessing.C deleted file mode 120000 index 7c0875da..00000000 --- a/src/tests/app/AndersonPostProcessing.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/AndersonPostProcessing.C \ No newline at end of file diff --git a/src/tests/app/AndersonPostProcessing.H b/src/tests/app/AndersonPostProcessing.H deleted file mode 120000 index d54f4e83..00000000 --- a/src/tests/app/AndersonPostProcessing.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/AndersonPostProcessing.H \ No newline at end of file diff --git a/src/tests/app/BaseMultiLevelSolver.H b/src/tests/app/BaseMultiLevelSolver.H deleted file mode 120000 index af4c6b04..00000000 --- a/src/tests/app/BaseMultiLevelSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/BaseMultiLevelSolver.H \ No newline at end of file diff --git a/src/tests/app/BroydenPostProcessing.C b/src/tests/app/BroydenPostProcessing.C deleted file mode 120000 index c9b55850..00000000 --- a/src/tests/app/BroydenPostProcessing.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/BroydenPostProcessing.C \ No newline at end of file diff --git a/src/tests/app/BroydenPostProcessing.H b/src/tests/app/BroydenPostProcessing.H deleted file mode 120000 index 3861f2b0..00000000 --- a/src/tests/app/BroydenPostProcessing.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/BroydenPostProcessing.H \ No newline at end of file diff --git a/src/tests/app/ClenshawCurtis.H b/src/tests/app/ClenshawCurtis.H deleted file mode 120000 index deab3857..00000000 --- a/src/tests/app/ClenshawCurtis.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ClenshawCurtis.H \ No newline at end of file diff --git a/src/tests/app/ClenshawCurtis.tpp b/src/tests/app/ClenshawCurtis.tpp deleted file mode 120000 index ab5e36cd..00000000 --- a/src/tests/app/ClenshawCurtis.tpp +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ClenshawCurtis.tpp \ No newline at end of file diff --git a/src/tests/app/ConvergenceMeasure.H b/src/tests/app/ConvergenceMeasure.H deleted file mode 120000 index a08cc941..00000000 --- a/src/tests/app/ConvergenceMeasure.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ConvergenceMeasure.H \ No newline at end of file diff --git a/src/tests/app/DataValues.C b/src/tests/app/DataValues.C deleted file mode 120000 index 921485bb..00000000 --- a/src/tests/app/DataValues.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/DataValues.C \ No newline at end of file diff --git a/src/tests/app/DataValues.H b/src/tests/app/DataValues.H deleted file mode 120000 index ed330df4..00000000 --- a/src/tests/app/DataValues.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/DataValues.H \ No newline at end of file diff --git a/src/tests/app/ESDIRK.C b/src/tests/app/ESDIRK.C deleted file mode 120000 index c0081e5b..00000000 --- a/src/tests/app/ESDIRK.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ESDIRK.C \ No newline at end of file diff --git a/src/tests/app/ESDIRK.H b/src/tests/app/ESDIRK.H deleted file mode 120000 index f7d23258..00000000 --- a/src/tests/app/ESDIRK.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ESDIRK.H \ No newline at end of file diff --git a/src/tests/app/FsiSolver.C b/src/tests/app/FsiSolver.C deleted file mode 120000 index 99589d01..00000000 --- a/src/tests/app/FsiSolver.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/FsiSolver.C \ No newline at end of file diff --git a/src/tests/app/FsiSolver.H b/src/tests/app/FsiSolver.H deleted file mode 120000 index 4672b436..00000000 --- a/src/tests/app/FsiSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/FsiSolver.H \ No newline at end of file diff --git a/src/tests/app/GaussLobatto.H b/src/tests/app/GaussLobatto.H deleted file mode 120000 index ff987a2c..00000000 --- a/src/tests/app/GaussLobatto.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/GaussLobatto.H \ No newline at end of file diff --git a/src/tests/app/GaussLobatto.tpp b/src/tests/app/GaussLobatto.tpp deleted file mode 120000 index f84f5194..00000000 --- a/src/tests/app/GaussLobatto.tpp +++ /dev/null @@ -1 +0,0 @@ -../../fsi/GaussLobatto.tpp \ No newline at end of file diff --git a/src/tests/app/GaussRadau.H b/src/tests/app/GaussRadau.H deleted file mode 120000 index 51210d74..00000000 --- a/src/tests/app/GaussRadau.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/GaussRadau.H \ No newline at end of file diff --git a/src/tests/app/GaussRadau.tpp b/src/tests/app/GaussRadau.tpp deleted file mode 120000 index 44588ed8..00000000 --- a/src/tests/app/GaussRadau.tpp +++ /dev/null @@ -1 +0,0 @@ -../../fsi/GaussRadau.tpp \ No newline at end of file diff --git a/src/tests/app/ImplicitMultiLevelFsiSolver.C b/src/tests/app/ImplicitMultiLevelFsiSolver.C deleted file mode 120000 index 7758f68f..00000000 --- a/src/tests/app/ImplicitMultiLevelFsiSolver.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ImplicitMultiLevelFsiSolver.C \ No newline at end of file diff --git a/src/tests/app/ImplicitMultiLevelFsiSolver.H b/src/tests/app/ImplicitMultiLevelFsiSolver.H deleted file mode 120000 index 08bf4616..00000000 --- a/src/tests/app/ImplicitMultiLevelFsiSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ImplicitMultiLevelFsiSolver.H \ No newline at end of file diff --git a/src/tests/app/MLIQNILSSolver.C b/src/tests/app/MLIQNILSSolver.C deleted file mode 120000 index 3557d08e..00000000 --- a/src/tests/app/MLIQNILSSolver.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/MLIQNILSSolver.C \ No newline at end of file diff --git a/src/tests/app/MLIQNILSSolver.H b/src/tests/app/MLIQNILSSolver.H deleted file mode 120000 index 56b7a4ec..00000000 --- a/src/tests/app/MLIQNILSSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/MLIQNILSSolver.H \ No newline at end of file diff --git a/src/tests/app/Make/files b/src/tests/app/Make/files index be715e21..8df754f0 100644 --- a/src/tests/app/Make/files +++ b/src/tests/app/Make/files @@ -1,38 +1,12 @@ -AbsoluteConvergenceMeasure.C TubeFlowFluidSolver.C TubeFlowSolidSolver.C TubeFlowLinearizedSolidSolver.C TubeFlowLinearSolidSolver.C TubeFlowLinearizedFluidSolver.C MonolithicFsiSolver.C -FsiSolver.C -RelativeConvergenceMeasure.C -ResidualRelativeConvergenceMeasure.C -MinIterationConvergenceMeasure.C -ManifoldMapping.C -MultiLevelSolver.C -SpaceMappingSolver.C -ImplicitMultiLevelFsiSolver.C -MultiLevelFsiSolver.C -MultiLevelSpaceMappingSolver.C -MLIQNILSSolver.C -OutputSpaceMapping.C -SpaceMapping.C -PostProcessing.C -BroydenPostProcessing.C -AggressiveSpaceMapping.C -ASMILS.C -AitkenPostProcessing.C -DataValues.C -AndersonPostProcessing.C -SDC.C -ESDIRK.C -Piston.C -AdaptiveTimeStepper.C Cos.C Oscillator.C -PIES.C -SDCFsiSolver.C +Piston.C tests.C test_fluidsolver.C diff --git a/src/tests/app/Make/options b/src/tests/app/Make/options index 58f396fc..f8042207 100644 --- a/src/tests/app/Make/options +++ b/src/tests/app/Make/options @@ -1,6 +1,9 @@ c++WARN = -Wall -Wextra -Werror -Wno-literal-suffix EXE_INC = -std=c++11 \ + -I ../../fsi \ + -I ../../fsi/lnInclude \ + -I ../../fsi/solidSolvers \ -DEIGEN_INITIALIZE_MATRICES_BY_NAN \ -I ../../RBFmeshInterpolation/lnInclude/ \ -isystem $(LIB_SRC)/finiteVolume/lnInclude \ @@ -45,4 +48,6 @@ EXE_LIBS = \ -lbasicThermophysicalModels \ -lspecie \ -lcompressibleRASModels \ - -ldeal_II + -ldeal_II \ + -lfsi \ + -lboundaryConditions diff --git a/src/tests/app/ManifoldMapping.C b/src/tests/app/ManifoldMapping.C deleted file mode 120000 index d1afe704..00000000 --- a/src/tests/app/ManifoldMapping.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ManifoldMapping.C \ No newline at end of file diff --git a/src/tests/app/ManifoldMapping.H b/src/tests/app/ManifoldMapping.H deleted file mode 120000 index 83f8895e..00000000 --- a/src/tests/app/ManifoldMapping.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ManifoldMapping.H \ No newline at end of file diff --git a/src/tests/app/MinIterationConvergenceMeasure.C b/src/tests/app/MinIterationConvergenceMeasure.C deleted file mode 120000 index db812e88..00000000 --- a/src/tests/app/MinIterationConvergenceMeasure.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/MinIterationConvergenceMeasure.C \ No newline at end of file diff --git a/src/tests/app/MinIterationConvergenceMeasure.H b/src/tests/app/MinIterationConvergenceMeasure.H deleted file mode 120000 index c9c79eaa..00000000 --- a/src/tests/app/MinIterationConvergenceMeasure.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/MinIterationConvergenceMeasure.H \ No newline at end of file diff --git a/src/tests/app/MultiLevelFsiSolver.C b/src/tests/app/MultiLevelFsiSolver.C deleted file mode 120000 index dd20cbea..00000000 --- a/src/tests/app/MultiLevelFsiSolver.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/MultiLevelFsiSolver.C \ No newline at end of file diff --git a/src/tests/app/MultiLevelFsiSolver.H b/src/tests/app/MultiLevelFsiSolver.H deleted file mode 120000 index b947cd65..00000000 --- a/src/tests/app/MultiLevelFsiSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/MultiLevelFsiSolver.H \ No newline at end of file diff --git a/src/tests/app/MultiLevelSolver.C b/src/tests/app/MultiLevelSolver.C deleted file mode 120000 index 2c42e1d0..00000000 --- a/src/tests/app/MultiLevelSolver.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/MultiLevelSolver.C \ No newline at end of file diff --git a/src/tests/app/MultiLevelSolver.H b/src/tests/app/MultiLevelSolver.H deleted file mode 120000 index a250bcd4..00000000 --- a/src/tests/app/MultiLevelSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/MultiLevelSolver.H \ No newline at end of file diff --git a/src/tests/app/MultiLevelSpaceMappingSolver.C b/src/tests/app/MultiLevelSpaceMappingSolver.C deleted file mode 120000 index ce23b777..00000000 --- a/src/tests/app/MultiLevelSpaceMappingSolver.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/MultiLevelSpaceMappingSolver.C \ No newline at end of file diff --git a/src/tests/app/MultiLevelSpaceMappingSolver.H b/src/tests/app/MultiLevelSpaceMappingSolver.H deleted file mode 120000 index 39cf8073..00000000 --- a/src/tests/app/MultiLevelSpaceMappingSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/MultiLevelSpaceMappingSolver.H \ No newline at end of file diff --git a/src/tests/app/OutputSpaceMapping.C b/src/tests/app/OutputSpaceMapping.C deleted file mode 120000 index adbf06b5..00000000 --- a/src/tests/app/OutputSpaceMapping.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/OutputSpaceMapping.C \ No newline at end of file diff --git a/src/tests/app/OutputSpaceMapping.H b/src/tests/app/OutputSpaceMapping.H deleted file mode 120000 index 87811d91..00000000 --- a/src/tests/app/OutputSpaceMapping.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/OutputSpaceMapping.H \ No newline at end of file diff --git a/src/tests/app/PIES.C b/src/tests/app/PIES.C deleted file mode 120000 index e5743d99..00000000 --- a/src/tests/app/PIES.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/PIES.C \ No newline at end of file diff --git a/src/tests/app/PIES.H b/src/tests/app/PIES.H deleted file mode 120000 index 33a6fee5..00000000 --- a/src/tests/app/PIES.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/PIES.H \ No newline at end of file diff --git a/src/tests/app/Polynomial.H b/src/tests/app/Polynomial.H deleted file mode 120000 index 8d6872b2..00000000 --- a/src/tests/app/Polynomial.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/Polynomial.H \ No newline at end of file diff --git a/src/tests/app/Polynomial.tpp b/src/tests/app/Polynomial.tpp deleted file mode 120000 index dd263e02..00000000 --- a/src/tests/app/Polynomial.tpp +++ /dev/null @@ -1 +0,0 @@ -../../fsi/Polynomial.tpp \ No newline at end of file diff --git a/src/tests/app/PostProcessing.C b/src/tests/app/PostProcessing.C deleted file mode 120000 index 4950eb94..00000000 --- a/src/tests/app/PostProcessing.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/PostProcessing.C \ No newline at end of file diff --git a/src/tests/app/PostProcessing.H b/src/tests/app/PostProcessing.H deleted file mode 120000 index 520264d2..00000000 --- a/src/tests/app/PostProcessing.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/PostProcessing.H \ No newline at end of file diff --git a/src/tests/app/QuadratureInterface.H b/src/tests/app/QuadratureInterface.H deleted file mode 120000 index 47d1b628..00000000 --- a/src/tests/app/QuadratureInterface.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/QuadratureInterface.H \ No newline at end of file diff --git a/src/tests/app/QuadratureInterface.tpp b/src/tests/app/QuadratureInterface.tpp deleted file mode 120000 index ebe277fe..00000000 --- a/src/tests/app/QuadratureInterface.tpp +++ /dev/null @@ -1 +0,0 @@ -../../fsi/QuadratureInterface.tpp \ No newline at end of file diff --git a/src/tests/app/RelativeConvergenceMeasure.C b/src/tests/app/RelativeConvergenceMeasure.C deleted file mode 120000 index ac3ead45..00000000 --- a/src/tests/app/RelativeConvergenceMeasure.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/RelativeConvergenceMeasure.C \ No newline at end of file diff --git a/src/tests/app/RelativeConvergenceMeasure.H b/src/tests/app/RelativeConvergenceMeasure.H deleted file mode 120000 index f1676726..00000000 --- a/src/tests/app/RelativeConvergenceMeasure.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/RelativeConvergenceMeasure.H \ No newline at end of file diff --git a/src/tests/app/ResidualRelativeConvergenceMeasure.C b/src/tests/app/ResidualRelativeConvergenceMeasure.C deleted file mode 120000 index 580e81e8..00000000 --- a/src/tests/app/ResidualRelativeConvergenceMeasure.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ResidualRelativeConvergenceMeasure.C \ No newline at end of file diff --git a/src/tests/app/ResidualRelativeConvergenceMeasure.H b/src/tests/app/ResidualRelativeConvergenceMeasure.H deleted file mode 120000 index 849cd804..00000000 --- a/src/tests/app/ResidualRelativeConvergenceMeasure.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/ResidualRelativeConvergenceMeasure.H \ No newline at end of file diff --git a/src/tests/app/SDC.C b/src/tests/app/SDC.C deleted file mode 120000 index b57fcfe2..00000000 --- a/src/tests/app/SDC.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SDC.C \ No newline at end of file diff --git a/src/tests/app/SDC.H b/src/tests/app/SDC.H deleted file mode 120000 index 14edb6df..00000000 --- a/src/tests/app/SDC.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SDC.H \ No newline at end of file diff --git a/src/tests/app/SDCFsiSolver.C b/src/tests/app/SDCFsiSolver.C deleted file mode 120000 index 9e1659f7..00000000 --- a/src/tests/app/SDCFsiSolver.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SDCFsiSolver.C \ No newline at end of file diff --git a/src/tests/app/SDCFsiSolver.H b/src/tests/app/SDCFsiSolver.H deleted file mode 120000 index e3d6b7c1..00000000 --- a/src/tests/app/SDCFsiSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SDCFsiSolver.H \ No newline at end of file diff --git a/src/tests/app/SDCFsiSolverInterface.H b/src/tests/app/SDCFsiSolverInterface.H deleted file mode 120000 index 645331f7..00000000 --- a/src/tests/app/SDCFsiSolverInterface.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SDCFsiSolverInterface.H \ No newline at end of file diff --git a/src/tests/app/SDCSolver.H b/src/tests/app/SDCSolver.H deleted file mode 120000 index d2577dc9..00000000 --- a/src/tests/app/SDCSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SDCSolver.H \ No newline at end of file diff --git a/src/tests/app/Solver.H b/src/tests/app/Solver.H deleted file mode 120000 index a0ef2c71..00000000 --- a/src/tests/app/Solver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/Solver.H \ No newline at end of file diff --git a/src/tests/app/SpaceMapping.C b/src/tests/app/SpaceMapping.C deleted file mode 120000 index 02e46deb..00000000 --- a/src/tests/app/SpaceMapping.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SpaceMapping.C \ No newline at end of file diff --git a/src/tests/app/SpaceMapping.H b/src/tests/app/SpaceMapping.H deleted file mode 120000 index d6f8182c..00000000 --- a/src/tests/app/SpaceMapping.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SpaceMapping.H \ No newline at end of file diff --git a/src/tests/app/SpaceMappingSolver.C b/src/tests/app/SpaceMappingSolver.C deleted file mode 120000 index 7a4ad108..00000000 --- a/src/tests/app/SpaceMappingSolver.C +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SpaceMappingSolver.C \ No newline at end of file diff --git a/src/tests/app/SpaceMappingSolver.H b/src/tests/app/SpaceMappingSolver.H deleted file mode 120000 index 5a4d4f23..00000000 --- a/src/tests/app/SpaceMappingSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SpaceMappingSolver.H \ No newline at end of file diff --git a/src/tests/app/SurrogateModel.H b/src/tests/app/SurrogateModel.H deleted file mode 120000 index 0aa97014..00000000 --- a/src/tests/app/SurrogateModel.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/SurrogateModel.H \ No newline at end of file diff --git a/src/tests/app/TimeIntegrationScheme.H b/src/tests/app/TimeIntegrationScheme.H deleted file mode 120000 index 2fe84c68..00000000 --- a/src/tests/app/TimeIntegrationScheme.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/TimeIntegrationScheme.H \ No newline at end of file diff --git a/src/tests/app/Uniform.H b/src/tests/app/Uniform.H deleted file mode 120000 index 49c0ef7b..00000000 --- a/src/tests/app/Uniform.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/Uniform.H \ No newline at end of file diff --git a/src/tests/app/Uniform.tpp b/src/tests/app/Uniform.tpp deleted file mode 120000 index 613a24bc..00000000 --- a/src/tests/app/Uniform.tpp +++ /dev/null @@ -1 +0,0 @@ -../../fsi/Uniform.tpp \ No newline at end of file diff --git a/src/tests/app/dealiiSolidSolver.H b/src/tests/app/dealiiSolidSolver.H deleted file mode 120000 index e2a61af0..00000000 --- a/src/tests/app/dealiiSolidSolver.H +++ /dev/null @@ -1 +0,0 @@ -../../fsi/solidSolvers/dealiiSolidSolver.H \ No newline at end of file From 94631754b4868e3c7c6ae1cba9aa3b806e0e1353 Mon Sep 17 00:00:00 2001 From: David Blom Date: Wed, 10 Feb 2016 21:34:20 +0100 Subject: [PATCH 35/87] travis: We make sure the ThirdParty packages environment variables are up-to-date before compiling the rest of OpenFOAM --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 16d6b5f9..f5c45d87 100644 --- a/.travis.yml +++ b/.travis.yml @@ -64,6 +64,7 @@ script: - unset WM_THIRD_PARTY_USE_PYFOAM_064 - ( cd wmake/src && make ) - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) + - . $WM_PROJECT_DIR/etc/settings.sh - cd $WM_PROJECT_DIR/src - wmakePrintBuild -check || /bin/rm -f foam/Make/$WM_OPTIONS/global.? 2>/dev/null - wmakeLnInclude foam From fbb68d1935f5f80412790c121c6241cf08a197ca Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 07:27:41 +0100 Subject: [PATCH 36/87] travis: bugfix checking caches --- .travis.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index f5c45d87..774f5e47 100644 --- a/.travis.yml +++ b/.travis.yml @@ -98,13 +98,13 @@ script: # - ./Allwmake.firstInstall - cd $FOAM_INST_DIR/src/thirdParty - - if [ ! -d "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; fi - - if [ ! -d "metis-5.1.0/build/lib/libmetis.a" ]; then rm -rf metis*; fi - - if [ ! -d "parmetis-4.0.3/build/lib/libparmetis.a" ]; then rm -rf parmetis*; fi - - if [ ! -d "petsc-3.6.3/x86_64/lib/libpetsc.so.3.6.3" ]; then rm -rf petsc*; fi - - if [ ! -d "dealii-8.3.0/bin/lib/libdeal_II.so" ]; then rm -rf dealii*; fi - - if [ ! -d "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; fi - - if [ ! -d "yaml-cpp-release-0.5.3/build/libyaml-cpp.so.0.5.3" ]; then rm -rf yaml-cpp*; fi + - if [ ! -e "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; fi + - if [ ! -e "metis-5.1.0/build/lib/libmetis.a" ]; then rm -rf metis*; fi + - if [ ! -e "parmetis-4.0.3/build/lib/libparmetis.a" ]; then rm -rf parmetis*; fi + - if [ ! -e "petsc-3.6.3/x86_64/lib/libpetsc.so.3.6.3" ]; then rm -rf petsc*; fi + - if [ ! -e "dealii-8.3.0/bin/lib/libdeal_II.so" ]; then rm -rf dealii*; fi + - if [ ! -e "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; fi + - if [ ! -e "yaml-cpp-release-0.5.3/build/libyaml-cpp.so.0.5.3" ]; then rm -rf yaml-cpp*; fi - ./compile_gtest - ./compile_yaml From 81e93459e1e04996fad30d1fe731f53ca73d0755 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 07:31:24 +0100 Subject: [PATCH 37/87] bugfix caching of boost for deal.II --- src/thirdParty/compile_dealii | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thirdParty/compile_dealii b/src/thirdParty/compile_dealii index d0f219f9..dcaf66e9 100755 --- a/src/thirdParty/compile_dealii +++ b/src/thirdParty/compile_dealii @@ -11,7 +11,7 @@ BOOST_VERSION=1_55_0 BOOST_VERSION_DOT=1.55.0 export PETSC_ARCH=x86_64 -if [ ! -d "boost" ]; then +if [ ! -d "boost_${BOOST_VERSION}" ]; then rm -rf boost* wget -O boost_${BOOST_VERSION}.tar.bz2 http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION_DOT}/boost_${BOOST_VERSION}.tar.bz2 tar jxf boost_${BOOST_VERSION}.tar.bz2 From 0b326028afe482fe9e8c5881a5a311df06ef95eb Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 07:39:32 +0100 Subject: [PATCH 38/87] travis: consistent setup of caching --- .travis.yml | 8 ++++---- src/thirdParty/compile_dealii | 17 +++++++++++------ src/thirdParty/compile_gtest | 5 +++-- src/thirdParty/compile_yaml | 11 +++++++---- 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 774f5e47..34d10b3b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,11 +37,11 @@ cache: - foam-extend-3.2 - src/thirdParty/yaml-cpp-release-0.5.3 - src/thirdParty/gtest-1.7.0 - # - src/thirdParty/metis-5.1.0 - # - src/thirdParty/parmetis-4.0.3 - # - src/thirdParty/petsc-3.6.3 - # - src/thirdParty/yaml-cpp-release-0.5.3 + - src/thirdParty/metis-5.1.0 + - src/thirdParty/parmetis-4.0.3 - src/thirdParty/boost_1_55_0 + # - src/thirdParty/petsc-3.6.3 + # - src/thirdParty/dealii-8.3.0 script: - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi diff --git a/src/thirdParty/compile_dealii b/src/thirdParty/compile_dealii index dcaf66e9..952edc83 100755 --- a/src/thirdParty/compile_dealii +++ b/src/thirdParty/compile_dealii @@ -16,10 +16,12 @@ if [ ! -d "boost_${BOOST_VERSION}" ]; then wget -O boost_${BOOST_VERSION}.tar.bz2 http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION_DOT}/boost_${BOOST_VERSION}.tar.bz2 tar jxf boost_${BOOST_VERSION}.tar.bz2 rm -f boost_${BOOST_VERSION}.tar.bz2 - ln -s boost_${BOOST_VERSION} boost fi -if [ ! -d "metis" ]; then +rm -f boost +ln -s boost_${BOOST_VERSION} boost + +if [ ! -d "metis-${METIS_VERSION}" ]; then rm -rf metis* @@ -28,8 +30,6 @@ if [ ! -d "metis" ]; then tar -zxf metis-${METIS_VERSION}.tar.gz rm metis-${METIS_VERSION}.tar.gz - ln -s metis-${METIS_VERSION} metis - cd metis-${METIS_VERSION} export CC=mpicc @@ -43,7 +43,10 @@ if [ ! -d "metis" ]; then fi -if [ ! -d "parmetis" ]; then +rm -f metis +ln -s metis-${METIS_VERSION} metis + +if [ ! -d "parmetis-${PARMETIS_VERSION}" ]; then rm -rf parmetis* @@ -51,7 +54,6 @@ if [ ! -d "parmetis" ]; then tar -zxf parmetis-${PARMETIS_VERSION}.tar.gz rm parmetis-${PARMETIS_VERSION}.tar.gz - ln -s parmetis-${PARMETIS_VERSION} parmetis cd parmetis-${PARMETIS_VERSION} @@ -66,6 +68,9 @@ if [ ! -d "parmetis" ]; then fi +rm -f parmetis +ln -s parmetis-${PARMETIS_VERSION} parmetis + if [ ! -d "petsc" ]; then rm -rf petsc* diff --git a/src/thirdParty/compile_gtest b/src/thirdParty/compile_gtest index 053fe880..dbd3600c 100755 --- a/src/thirdParty/compile_gtest +++ b/src/thirdParty/compile_gtest @@ -28,6 +28,7 @@ if [ ! -d "gtest-${VERSION}" ]; then rm -rf gtest-${VERSION}.zip - ln -s gtest-${VERSION} gtest - fi + +rm -f gtest +ln -s gtest-${VERSION} gtest diff --git a/src/thirdParty/compile_yaml b/src/thirdParty/compile_yaml index e7b8af4d..3177a739 100755 --- a/src/thirdParty/compile_yaml +++ b/src/thirdParty/compile_yaml @@ -17,9 +17,11 @@ if [ ! -d "boost_${BOOST_VERSION}" ]; then wget -O boost_${BOOST_VERSION}.tar.bz2 http://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION_DOT}/boost_${BOOST_VERSION}.tar.bz2 tar jxf boost_${BOOST_VERSION}.tar.bz2 rm -f boost_${BOOST_VERSION}.tar.bz2 - ln -s boost_${BOOST_VERSION} boost fi +rm -f boost +ln -s boost_${BOOST_VERSION} boost + if [ ! -e "yaml-cpp-release-${VERSION}" ]; then rm -rf yaml-cpp* @@ -31,13 +33,11 @@ if [ ! -e "yaml-cpp-release-${VERSION}" ]; then tar -zxvf yaml-cpp-${VERSION}.tar.gz rm -f yaml-cpp-${VERSION}.tar.gz - ln -s yaml-cpp-release-${VERSION} yaml-cpp - export BOOST_ROOT=`pwd`/boost_${BOOST_VERSION} echo $BOOST_ROOT cd $BOOST_ROOT - cd ../yaml-cpp + cd ../yaml-cpp-release-${VERSION} mkdir build @@ -51,5 +51,8 @@ if [ ! -e "yaml-cpp-release-${VERSION}" ]; then fi +rm -f yaml-cpp +ln -s yaml-cpp-release-${VERSION} yaml-cpp + mkdir -p ${FOAM_LIBBIN} cp yaml-cpp-release-${VERSION}/build/libyaml-cpp* ${FOAM_LIBBIN}/ From b60162cfb69473cd3ac190fe83d3e6826aa7c978 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 07:55:24 +0100 Subject: [PATCH 39/87] travis: enable caching for petsc --- .travis.yml | 2 +- src/thirdParty/compile_dealii | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 34d10b3b..107a06c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,7 +40,7 @@ cache: - src/thirdParty/metis-5.1.0 - src/thirdParty/parmetis-4.0.3 - src/thirdParty/boost_1_55_0 - # - src/thirdParty/petsc-3.6.3 + - src/thirdParty/petsc-3.6.3 # - src/thirdParty/dealii-8.3.0 script: diff --git a/src/thirdParty/compile_dealii b/src/thirdParty/compile_dealii index 952edc83..8606c71f 100755 --- a/src/thirdParty/compile_dealii +++ b/src/thirdParty/compile_dealii @@ -71,7 +71,7 @@ fi rm -f parmetis ln -s parmetis-${PARMETIS_VERSION} parmetis -if [ ! -d "petsc" ]; then +if [ ! -d "petsc-${PETSC_VERSION}" ]; then rm -rf petsc* @@ -81,8 +81,6 @@ if [ ! -d "petsc" ]; then rm petsc-${PETSC_VERSION}.tar.gz - ln -s petsc-${PETSC_VERSION} petsc - cd petsc-${PETSC_VERSION} export PETSC_DIR=`pwd` @@ -97,9 +95,12 @@ if [ ! -d "petsc" ]; then fi +rm -f petsc +ln -s petsc-${PETSC_VERSION} petsc + cp petsc/${PETSC_ARCH}/lib/lib* ${FOAM_LIBBIN}/ -if [ ! -d "dealii" ]; then +if [ ! -d "dealii-${DEALII_VERSION}" ]; then rm -rf dealii* @@ -107,8 +108,6 @@ if [ ! -d "dealii" ]; then tar -zxf dealii-${DEALII_VERSION}.tar.gz - ln -s dealii-${DEALII_VERSION} dealii - rm dealii-${DEALII_VERSION}.tar.gz export PETSC_DIR=`pwd`/petsc @@ -136,6 +135,10 @@ if [ ! -d "dealii" ]; then cd ../.. fi + +rm -f dealii +ln -s dealii-${DEALII_VERSION} dealii + cp dealii/bin/lib/libdeal* ${FOAM_LIBBIN}/ cd deal-fsi From 133b17f131b740468bf324b77ba11501d9f96976 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 07:58:56 +0100 Subject: [PATCH 40/87] travis: use only 1 core --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 107a06c6..9e74bdc7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -58,7 +58,7 @@ script: - sed -i s/"CC = g++ -m64"/"CC = mpicxx -m64"/g foam-extend-3.2/wmake/rules/linux64Gcc/c++ - cd foam-extend-3.2 - source etc/bashrc - - export WM_NCOMPPROCS=2 + - export WM_NCOMPPROCS=1 - unset WM_THIRD_PARTY_USE_HWLOC_1101 - unset WM_THIRD_PARTY_USE_SCOTCH_604 - unset WM_THIRD_PARTY_USE_PYFOAM_064 From 159780745b2cf1a3563c2d84f7c423cd6a186222 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 08:05:23 +0100 Subject: [PATCH 41/87] travis: echo whats happing --- .travis.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9e74bdc7..1c81f75f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,6 +44,7 @@ cache: # - src/thirdParty/dealii-8.3.0 script: + - set -x - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi - export PARAVIEW_SYSTEM=1 - export HWLOC_SYSTEM=1 @@ -98,13 +99,13 @@ script: # - ./Allwmake.firstInstall - cd $FOAM_INST_DIR/src/thirdParty - - if [ ! -e "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; fi - - if [ ! -e "metis-5.1.0/build/lib/libmetis.a" ]; then rm -rf metis*; fi - - if [ ! -e "parmetis-4.0.3/build/lib/libparmetis.a" ]; then rm -rf parmetis*; fi - - if [ ! -e "petsc-3.6.3/x86_64/lib/libpetsc.so.3.6.3" ]; then rm -rf petsc*; fi - - if [ ! -e "dealii-8.3.0/bin/lib/libdeal_II.so" ]; then rm -rf dealii*; fi - - if [ ! -e "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; fi - - if [ ! -e "yaml-cpp-release-0.5.3/build/libyaml-cpp.so.0.5.3" ]; then rm -rf yaml-cpp*; fi + - if [ ! -e "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; echo "remove gtest"; fi + - if [ ! -e "metis-5.1.0/build/lib/libmetis.a" ]; then rm -rf metis*; echo "remove metis"; fi + - if [ ! -e "parmetis-4.0.3/build/lib/libparmetis.a" ]; then rm -rf parmetis*; echo "remove parmetis"; fi + - if [ ! -e "petsc-3.6.3/x86_64/lib/libpetsc.so.3.6.3" ]; then rm -rf petsc*; echo "remove petsc"; fi + - if [ ! -e "dealii-8.3.0/bin/lib/libdeal_II.so" ]; then rm -rf dealii*; echo "remove deal.II"; fi + - if [ ! -e "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; echo "remove boost"; fi + - if [ ! -e "yaml-cpp-release-0.5.3/build/libyaml-cpp.so.0.5.3" ]; then rm -rf yaml-cpp*; echo "remove yaml-cpp"; fi - ./compile_gtest - ./compile_yaml From b5e63f85ff224b782c64b425fdb81f28819e425d Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 08:10:50 +0100 Subject: [PATCH 42/87] revert --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1c81f75f..566fd83d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,7 +44,6 @@ cache: # - src/thirdParty/dealii-8.3.0 script: - - set -x - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi - export PARAVIEW_SYSTEM=1 - export HWLOC_SYSTEM=1 From 1de3abe34fb8c20a06e86446cbd52dcfdea3c0da Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 08:15:23 +0100 Subject: [PATCH 43/87] enable caching for deal.II --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 566fd83d..494e1b0f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,7 +41,7 @@ cache: - src/thirdParty/parmetis-4.0.3 - src/thirdParty/boost_1_55_0 - src/thirdParty/petsc-3.6.3 - # - src/thirdParty/dealii-8.3.0 + - src/thirdParty/dealii-8.3.0 script: - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi From 35a0537b40689ffd2250107dd081d79313767857 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 09:12:11 +0100 Subject: [PATCH 44/87] travis: disable compilation of deal.II wercker: use 1 cpu core for compilation of FOAM-FSI --- .travis.yml | 2 +- src/fsi/Make/files | 1 + src/fsi/SDC.C | 46 ++++++++++++++++++++++------------------------ src/fsi/SDC.H | 2 ++ wercker.yml | 2 ++ 5 files changed, 28 insertions(+), 25 deletions(-) diff --git a/.travis.yml b/.travis.yml index 494e1b0f..a565493d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -108,4 +108,4 @@ script: - ./compile_gtest - ./compile_yaml - - ./compile_dealii + # - ./compile_dealii diff --git a/src/fsi/Make/files b/src/fsi/Make/files index e26f9ce6..daf6f29b 100644 --- a/src/fsi/Make/files +++ b/src/fsi/Make/files @@ -20,6 +20,7 @@ AitkenPostProcessing.C DataValues.C AndersonPostProcessing.C SDC.C +DataStorage.C ESDIRK.C AdaptiveTimeStepper.C PIES.C diff --git a/src/fsi/SDC.C b/src/fsi/SDC.C index 5bed9b0d..00656919 100644 --- a/src/fsi/SDC.C +++ b/src/fsi/SDC.C @@ -44,7 +44,8 @@ namespace sdc timeIndex( 0 ), minSweeps( minSweeps ), maxSweeps( maxSweeps ), - quadrature( quadrature ) + quadrature( quadrature ), + data( new DataStorage( quadrature, N ) ) { assert( solver ); assert( dt > 0 ); @@ -89,7 +90,8 @@ namespace sdc timeIndex( 0 ), minSweeps( 0 ), maxSweeps( 0 ), - quadrature( quadrature ) + quadrature( quadrature ), + data( new DataStorage( quadrature, 0 ) ) { assert( tol > 0 ); assert( tol < 1 ); @@ -148,20 +150,20 @@ namespace sdc solver->nextTimeStep(); fsi::vector dtsdc = this->dt * dsdc; - fsi::matrix solStages( k, N ), F( k, N ), Fembedded( nodesEmbedded.rows(), N ), residual; - fsi::matrix qj( 1, solStages.cols() ), qjEmbedded( 1, solStages.cols() ); + fsi::matrix residual; + fsi::matrix qj( 1, solStages.cols() ); fsi::vector errorEstimate( N ); - fsi::vector sol( N ), f( N ); - solver->getSolution( sol, f ); - solStages.row( 0 ) = sol; - scalar t = t0; + fsi::vector sol( N ), f( N ); + solver->getSolution( sol, f ); solver->evaluateFunction( 0, sol, t, f ); - F.row( 0 ) = f; - fsi::vector rhs( N ), result( N ), qold( N ); + data->storeFunction( f, 0 ); + data->storeSolution( sol, 0 ); + + fsi::vector rhs( N ), result( N ); rhs.setZero(); solver->initTimeStep(); @@ -171,14 +173,12 @@ namespace sdc scalar dt = dtsdc( j ); t += dt; - qold = solStages.row( j ); - Info << "\nTime = " << t << ", SDC sweep = 1, SDC substep = " << j + 1 << nl << endl; - solver->implicitSolve( false, j, j, t, dt, qold, rhs, f, result ); + solver->implicitSolve( false, j, j, t, dt, data->getSolution(j), rhs, f, result ); - solStages.row( j + 1 ) = result; - F.row( j + 1 ) = f; + data->storeFunction( f, j + 1 ); + data->storeSolution( result, j + 1 ); } // Compute successive corrections @@ -187,7 +187,7 @@ namespace sdc { t = t0; - fsi::matrix Sj = this->dt * (smat * F); + fsi::matrix Sj = this->dt * (smat * data->getFunctions()); // SDC sweep for ( int p = 0; p < k - 1; p++ ) @@ -197,23 +197,21 @@ namespace sdc Info << "\nTime = " << t << ", SDC sweep = " << j + 2 << ", SDC substep = " << p + 1 << nl << endl; - qold = solStages.row( p ); - // Form right hand side - rhs.noalias() = -dt * F.row( p + 1 ) + Sj.row( p ); + rhs.noalias() = -dt * data->getFunctions().row( p + 1 ) + Sj.row( p ); - solver->implicitSolve( true, p, p, t, dt, qold, rhs, f, result ); + solver->implicitSolve( true, p, p, t, dt, data->getSolution(p), rhs, f, result ); - solStages.row( p + 1 ) = result; - F.row( p + 1 ) = f; + data->storeFunction( f, p + 1 ); + data->storeSolution( result, p + 1 ); } // Compute the SDC residual - residual = dt * (qmat * F); + residual = dt * (qmat * data->getFunctions()); for ( int i = 0; i < residual.rows(); i++ ) - residual.row( i ) += solStages.row( 0 ) - solStages.row( i + 1 ); + residual.row( i ) += data->getSolutions().row( 0 ) - data->getSolutions().row( i + 1 ); scalarList squaredNormResidual( Pstream::nProcs(), scalar( 0 ) ); labelList dof( Pstream::nProcs(), label( 0 ) ); diff --git a/src/fsi/SDC.H b/src/fsi/SDC.H index 995594a0..c4cdbdd9 100644 --- a/src/fsi/SDC.H +++ b/src/fsi/SDC.H @@ -12,6 +12,7 @@ #include "fvCFD.H" #include "TimeIntegrationScheme.H" #include "QuadratureInterface.H" +#include "DataStorage.H" namespace sdc { @@ -105,6 +106,7 @@ private: const int maxSweeps; std::shared_ptr > quadrature; + std::shared_ptr data; }; } diff --git a/wercker.yml b/wercker.yml index d9b335ac..2a0e2390 100644 --- a/wercker.yml +++ b/wercker.yml @@ -198,6 +198,8 @@ build: source foam-extend-3.2/etc/bashrc + export WM_NCOMPPROCS=1 + ./Allwmake - script: name: test suite From 449d0330dcfc71fddbb0806437c3868caefeaddc Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 09:19:35 +0100 Subject: [PATCH 45/87] use seperate compile script for petsc --- .travis.yml | 1 + src/thirdParty/Allmake | 1 + src/thirdParty/compile_dealii | 29 ----------------------------- src/thirdParty/compile_petsc | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 37 insertions(+), 29 deletions(-) create mode 100755 src/thirdParty/compile_petsc diff --git a/.travis.yml b/.travis.yml index a565493d..a446abed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -108,4 +108,5 @@ script: - ./compile_gtest - ./compile_yaml + - ./compile_petsc # - ./compile_dealii diff --git a/src/thirdParty/Allmake b/src/thirdParty/Allmake index c1f96e61..0933b241 100755 --- a/src/thirdParty/Allmake +++ b/src/thirdParty/Allmake @@ -2,6 +2,7 @@ set -e +./compile_petsc ./compile_dealii ./compile_gtest ./compile_precice diff --git a/src/thirdParty/compile_dealii b/src/thirdParty/compile_dealii index 8606c71f..0f0001e3 100755 --- a/src/thirdParty/compile_dealii +++ b/src/thirdParty/compile_dealii @@ -71,35 +71,6 @@ fi rm -f parmetis ln -s parmetis-${PARMETIS_VERSION} parmetis -if [ ! -d "petsc-${PETSC_VERSION}" ]; then - - rm -rf petsc* - - wget http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${PETSC_VERSION}.tar.gz - - tar -zxf petsc-${PETSC_VERSION}.tar.gz - - rm petsc-${PETSC_VERSION}.tar.gz - - cd petsc-${PETSC_VERSION} - - export PETSC_DIR=`pwd` - - ./config/configure.py --with-shared=1 --with-x=0 --with-mpi=1 --download-hypre=1 --download-mumps --download-scalapack --download-ptscotch --download-suitesparse --download-fblaslapack=1 - - make - - make test - - cd ../ - -fi - -rm -f petsc -ln -s petsc-${PETSC_VERSION} petsc - -cp petsc/${PETSC_ARCH}/lib/lib* ${FOAM_LIBBIN}/ - if [ ! -d "dealii-${DEALII_VERSION}" ]; then rm -rf dealii* diff --git a/src/thirdParty/compile_petsc b/src/thirdParty/compile_petsc new file mode 100755 index 00000000..80867e5c --- /dev/null +++ b/src/thirdParty/compile_petsc @@ -0,0 +1,35 @@ +#!/bin/bash + +set -e + +PETSC_VERSION=3.6.3 +export PETSC_ARCH=x86_64 + +if [ ! -d "petsc-${PETSC_VERSION}" ]; then + + rm -rf petsc* + + wget http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${PETSC_VERSION}.tar.gz + + tar -zxf petsc-${PETSC_VERSION}.tar.gz + + rm petsc-${PETSC_VERSION}.tar.gz + + cd petsc-${PETSC_VERSION} + + export PETSC_DIR=`pwd` + + ./config/configure.py --with-shared=1 --with-x=0 --with-mpi=1 --download-hypre=1 --download-mumps --download-scalapack --download-ptscotch --download-suitesparse --download-fblaslapack=1 + + make + + make test + + cd ../ + +fi + +rm -f petsc +ln -s petsc-${PETSC_VERSION} petsc + +cp petsc/${PETSC_ARCH}/lib/lib* ${FOAM_LIBBIN}/ From 293e19b3b9a22d73b4574721d5bd4630de98912d Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 09:24:34 +0100 Subject: [PATCH 46/87] travis: enable deal.II --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a446abed..edfd178f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -109,4 +109,4 @@ script: - ./compile_gtest - ./compile_yaml - ./compile_petsc - # - ./compile_dealii + - ./compile_dealii From 1ce923fc6e363a58daea9f023b672c84beb726f1 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 10:17:00 +0100 Subject: [PATCH 47/87] petsc: use FOAM_USER_LIBBIN instead of FOAM_LIBBIN --- src/thirdParty/compile_petsc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/thirdParty/compile_petsc b/src/thirdParty/compile_petsc index 80867e5c..efe86827 100755 --- a/src/thirdParty/compile_petsc +++ b/src/thirdParty/compile_petsc @@ -32,4 +32,5 @@ fi rm -f petsc ln -s petsc-${PETSC_VERSION} petsc -cp petsc/${PETSC_ARCH}/lib/lib* ${FOAM_LIBBIN}/ +mkdir $FOAM_USER_LIBBIN +cp petsc/${PETSC_ARCH}/lib/lib* ${FOAM_USER_LIBBIN}/ From b11f5f44d88eb5e41ba5770b152ecadf02db7c8e Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 10:18:10 +0100 Subject: [PATCH 48/87] bugfix compilation script of petsc --- src/thirdParty/compile_petsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thirdParty/compile_petsc b/src/thirdParty/compile_petsc index efe86827..c2930e83 100755 --- a/src/thirdParty/compile_petsc +++ b/src/thirdParty/compile_petsc @@ -32,5 +32,5 @@ fi rm -f petsc ln -s petsc-${PETSC_VERSION} petsc -mkdir $FOAM_USER_LIBBIN +mkdir -p $FOAM_USER_LIBBIN cp petsc/${PETSC_ARCH}/lib/lib* ${FOAM_USER_LIBBIN}/ From 3e74dba270ed8f60473b1ba2a6ced02fc7cfdc97 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 10:25:17 +0100 Subject: [PATCH 49/87] Add missing files --- src/fsi/DataStorage.C | 97 +++++++++++++++++++++++++++++++++++++++++++ src/fsi/DataStorage.H | 44 ++++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 src/fsi/DataStorage.C create mode 100644 src/fsi/DataStorage.H diff --git a/src/fsi/DataStorage.C b/src/fsi/DataStorage.C new file mode 100644 index 00000000..32e22038 --- /dev/null +++ b/src/fsi/DataStorage.C @@ -0,0 +1,97 @@ + +/* + * Author + * David Blom, TU Delft. All rights reserved. + */ + + #include "DataStorage.H" + + namespace sdc + { + DataStorage::DataStorage( + std::shared_ptr > quadrature, + int N ) + : + quadrature( quadrature ), + F( quadrature->get_num_nodes(), N ), + solStages( quadrature->get_num_nodes(), N ) + { + assert( quadrature ); + } + + DataStorage::~DataStorage() + { + + } + + const fsi::matrix DataStorage::integrate( const std::vector & nodes, scalar dt ) const + { + std::vector quadratureNodes = quadrature->get_nodes(); + quadratureNodes.erase( quadratureNodes.begin() ); + + fsi::quadrature::Matrix q_matrix = fsi::quadrature::compute_q_matrix( quadratureNodes, nodes ); + + return getSolutions().row( 0 ) + dt * (q_matrix * getFunctions()); + } + + const fsi::matrix & DataStorage::getFunctions() const + { + assert( F.rows() > 0 ); + assert( F.cols() > 0 ); + return F; + } + + const fsi::matrix & DataStorage::getSolutions() const + { + assert( solStages.rows() > 0 ); + assert( solStages.cols() > 0 ); + return solStages; + } + + const fsi::vector DataStorage::getFunction( int substep ) const + { + assert( substep <= F.rows() ); + assert( F.cols() > 0 ); + assert( F.rows() > 0 ); + return F.row( substep ); + } + + const fsi::vector DataStorage::getSolution( int substep ) const + { + assert( substep <= solStages.rows() ); + assert( solStages.cols() > 0 ); + assert( solStages.rows() > 0 ); + return solStages.row( substep ); + } + + void DataStorage::setDof( int N ) + { + assert( N > 0 ); + assert( F.rows() > 0 ); + assert( solStages.rows() > 0 ); + assert( F.cols() == 0 ); + assert( solStages.rows() == 0 ); + F.resize( F.rows(), N ); + solStages.resize( solStages.rows(), N ); + F.setZero(); + solStages.setZero(); + } + + void DataStorage::storeFunction( const fsi::vector & f, int substep ) + { + assert( f.rows() == F.cols() ); + assert( substep <= F.rows() ); + assert( F.cols() > 0 ); + assert( F.rows() > 0 ); + F.row( substep ) = f; + } + + void DataStorage::storeSolution( const fsi::vector & sol, int substep ) + { + assert( sol.rows() == solStages.cols() ); + assert( substep <= solStages.rows() ); + assert( solStages.cols() > 0 ); + assert( solStages.rows() > 0 ); + solStages.row( substep ) = sol; + } + } diff --git a/src/fsi/DataStorage.H b/src/fsi/DataStorage.H new file mode 100644 index 00000000..6a494e4b --- /dev/null +++ b/src/fsi/DataStorage.H @@ -0,0 +1,44 @@ + +/* + * Author + * David Blom, TU Delft. All rights reserved. + */ + +#pragma once + +#include "SDCSolver.H" +#include "QuadratureInterface.H" + +namespace sdc +{ + class DataStorage + { + public: + DataStorage( + std::shared_ptr >, + int N ); + + ~DataStorage(); + + const fsi::matrix & getFunctions() const; + + const fsi::matrix & getSolutions() const; + + const fsi::matrix integrate( const std::vector & nodes, scalar dt ) const; + + const fsi::vector getFunction( int substep ) const; + + const fsi::vector getSolution( int substep ) const; + + void setDof( int N ); + + void storeFunction( const fsi::vector & f, int substep ); + + void storeSolution( const fsi::vector & sol, int substep ); + + private: + + std::shared_ptr > quadrature; + fsi::matrix F, solStages; + }; +} From c84abdf3ced6311692e22d7992dc08074b7e1a67 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 10:32:29 +0100 Subject: [PATCH 50/87] disable dealII --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index edfd178f..a446abed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -109,4 +109,4 @@ script: - ./compile_gtest - ./compile_yaml - ./compile_petsc - - ./compile_dealii + # - ./compile_dealii From fd8b9432f7a24397e2a48bab3b2d60906c31d86a Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 10:55:34 +0100 Subject: [PATCH 51/87] smaller installation of petsc --- src/thirdParty/compile_petsc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/thirdParty/compile_petsc b/src/thirdParty/compile_petsc index c2930e83..798d2b79 100755 --- a/src/thirdParty/compile_petsc +++ b/src/thirdParty/compile_petsc @@ -19,7 +19,7 @@ if [ ! -d "petsc-${PETSC_VERSION}" ]; then export PETSC_DIR=`pwd` - ./config/configure.py --with-shared=1 --with-x=0 --with-mpi=1 --download-hypre=1 --download-mumps --download-scalapack --download-ptscotch --download-suitesparse --download-fblaslapack=1 + ./config/configure.py --with-shared=1 --with-x=0 --with-mpi=1 --download-scalapack --download-ptscotch --download-fblaslapack=1 make @@ -27,10 +27,10 @@ if [ ! -d "petsc-${PETSC_VERSION}" ]; then cd ../ + mkdir -p $FOAM_USER_LIBBIN + cp petsc/${PETSC_ARCH}/lib/lib* ${FOAM_USER_LIBBIN}/ + fi rm -f petsc ln -s petsc-${PETSC_VERSION} petsc - -mkdir -p $FOAM_USER_LIBBIN -cp petsc/${PETSC_ARCH}/lib/lib* ${FOAM_USER_LIBBIN}/ From 673d4fc19d2f9b79648973f9aef47f7ba01f73f7 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 11:09:46 +0100 Subject: [PATCH 52/87] bugfix compilation of pesc --- src/thirdParty/compile_petsc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/thirdParty/compile_petsc b/src/thirdParty/compile_petsc index 798d2b79..07cde3dc 100755 --- a/src/thirdParty/compile_petsc +++ b/src/thirdParty/compile_petsc @@ -27,10 +27,10 @@ if [ ! -d "petsc-${PETSC_VERSION}" ]; then cd ../ - mkdir -p $FOAM_USER_LIBBIN - cp petsc/${PETSC_ARCH}/lib/lib* ${FOAM_USER_LIBBIN}/ - fi +mkdir -p $FOAM_USER_LIBBIN +cp petsc-${PETSC_VERSION}/${PETSC_ARCH}/lib/lib* ${FOAM_USER_LIBBIN}/ + rm -f petsc ln -s petsc-${PETSC_VERSION} petsc From 9528aaba2c15c8d5df85c91aa25f56d5d90ae32c Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 11:21:09 +0100 Subject: [PATCH 53/87] travis: use system deal.II and petsc --- .travis.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index a446abed..b82e6c6d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,6 +25,8 @@ addons: - unzip - scons - binutils-dev + - petsc-dev + - libdeal.ii-dev before_install: - export CXX="g++-4.8" @@ -37,11 +39,7 @@ cache: - foam-extend-3.2 - src/thirdParty/yaml-cpp-release-0.5.3 - src/thirdParty/gtest-1.7.0 - - src/thirdParty/metis-5.1.0 - - src/thirdParty/parmetis-4.0.3 - src/thirdParty/boost_1_55_0 - - src/thirdParty/petsc-3.6.3 - - src/thirdParty/dealii-8.3.0 script: - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi @@ -99,14 +97,8 @@ script: - cd $FOAM_INST_DIR/src/thirdParty - if [ ! -e "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; echo "remove gtest"; fi - - if [ ! -e "metis-5.1.0/build/lib/libmetis.a" ]; then rm -rf metis*; echo "remove metis"; fi - - if [ ! -e "parmetis-4.0.3/build/lib/libparmetis.a" ]; then rm -rf parmetis*; echo "remove parmetis"; fi - - if [ ! -e "petsc-3.6.3/x86_64/lib/libpetsc.so.3.6.3" ]; then rm -rf petsc*; echo "remove petsc"; fi - - if [ ! -e "dealii-8.3.0/bin/lib/libdeal_II.so" ]; then rm -rf dealii*; echo "remove deal.II"; fi - if [ ! -e "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; echo "remove boost"; fi - if [ ! -e "yaml-cpp-release-0.5.3/build/libyaml-cpp.so.0.5.3" ]; then rm -rf yaml-cpp*; echo "remove yaml-cpp"; fi - ./compile_gtest - ./compile_yaml - - ./compile_petsc - # - ./compile_dealii From ee7f5f2d87b8d2bca85bf22c7b2951ad80cc02b5 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 11:27:38 +0100 Subject: [PATCH 54/87] travis: build the FOAM-FSI code --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index b82e6c6d..7881dd25 100644 --- a/.travis.yml +++ b/.travis.yml @@ -92,8 +92,6 @@ script: - lagrangian/Allwmake - postProcessing/Allwmake - conversion/Allwmake - # - export FOAM_USER_SRC=`pwd`/src - # - ./Allwmake.firstInstall - cd $FOAM_INST_DIR/src/thirdParty - if [ ! -e "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; echo "remove gtest"; fi @@ -102,3 +100,7 @@ script: - ./compile_gtest - ./compile_yaml + + - cd $FOAM_INST_DIR + - export FOAM_USER_SRC=`pwd`/src + - ./Allwmake From cb9323e5d61901fc2bf88494afb695124591c517 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 12:55:32 +0100 Subject: [PATCH 55/87] wercker: add petsc compilation step --- wercker.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/wercker.yml b/wercker.yml index 2a0e2390..528d7492 100644 --- a/wercker.yml +++ b/wercker.yml @@ -96,6 +96,27 @@ build: fi source $FOAM_SRC/../etc/bashrc + - script: + name: PETSc + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + cd src/thirdParty + + ./compile_petsc - script: name: deal.II code: | From d6b605928b9ac4c494c9acdfb9309be7ab44996a Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 13:13:26 +0100 Subject: [PATCH 56/87] SDC: use DataStorage class to store the function values and solutions --- .travis.yml | 106 ------------------------------------------ src/fsi/DataStorage.C | 14 +++--- src/fsi/DataStorage.H | 2 + src/fsi/SDC.C | 58 ++++++++--------------- src/fsi/SDC.H | 4 -- 5 files changed, 28 insertions(+), 156 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7881dd25..00000000 --- a/.travis.yml +++ /dev/null @@ -1,106 +0,0 @@ -language: cpp - -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - gcc-4.8 - - g++-4.8 - - build-essential - - flex - - bison - - zlib1g-dev - - libreadline-dev - - libncurses5-dev - - libxt-dev - - libopenmpi-dev - - openmpi-bin - - rpm - - wget - - hwloc - - scotch - - gfortran - - python - - unzip - - scons - - binutils-dev - - petsc-dev - - libdeal.ii-dev - -before_install: - - export CXX="g++-4.8" - - export CC="gcc-4.8" - - export OMPI_CXX=$CXX - - export OMPI_CC=$CC - -cache: - directories: - - foam-extend-3.2 - - src/thirdParty/yaml-cpp-release-0.5.3 - - src/thirdParty/gtest-1.7.0 - - src/thirdParty/boost_1_55_0 - -script: - - if [ ! -d "foam-extend-3.2/.git" ]; then rm -rf foam-extend-3.2 && git clone --branch v3.2 git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1 foam-extend-3.2; fi - - export PARAVIEW_SYSTEM=1 - - export HWLOC_SYSTEM=1 - - export SCOTCH_SYSTEM=1 - - export PYFOAM_SYSTEM=1 - - export CUDA_IGNORE=1 - - export SWAK4FOAM_SYSTEM=1 - - export WM_MPLIB=SYSTEMOPENMPI - - export OPENMPI_DIR=/usr - - export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin - - export FOAM_INST_DIR=`pwd` - - sed -i s/"CC = g++ -m64"/"CC = mpicxx -m64"/g foam-extend-3.2/wmake/rules/linux64Gcc/c++ - - cd foam-extend-3.2 - - source etc/bashrc - - export WM_NCOMPPROCS=1 - - unset WM_THIRD_PARTY_USE_HWLOC_1101 - - unset WM_THIRD_PARTY_USE_SCOTCH_604 - - unset WM_THIRD_PARTY_USE_PYFOAM_064 - - ( cd wmake/src && make ) - - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) - - . $WM_PROJECT_DIR/etc/settings.sh - - cd $WM_PROJECT_DIR/src - - wmakePrintBuild -check || /bin/rm -f foam/Make/$WM_OPTIONS/global.? 2>/dev/null - - wmakeLnInclude foam - - wmakeLnInclude meshTools - - wmakeLnInclude OSspecific/$WM_OSTYPE - - wmake libo OSspecific/$WM_OSTYPE - - wmake libso foam - - decompositionMethods/AllwmakeLnInclude - # - decompositionMethods/Allwmake - - wmake libso lagrangian/basic - - wmake libso edgeMesh - - wmake libso surfMesh - - wmake libso meshTools - - wmake libso finiteVolume - - wmake libso finiteArea - - wmake libso lduSolvers - - wmake libso tetFiniteElement - - dynamicMesh/AllwmakeLnInclude - - dynamicMesh/Allwmake - - wmake libso coupledMatrix - - wmake libso sampling - - wmake libso ODE - - mesh/Allwmake - - thermophysicalModels/Allwmake - - transportModels/Allwmake - - turbulenceModels/Allwmake - - lagrangian/Allwmake - - postProcessing/Allwmake - - conversion/Allwmake - - - cd $FOAM_INST_DIR/src/thirdParty - - if [ ! -e "gtest-1.7.0/libgtest.a" ]; then rm -rf gtest*; echo "remove gtest"; fi - - if [ ! -e "boost_1_55_0/bootstrap.sh" ]; then rm -rf boost*; echo "remove boost"; fi - - if [ ! -e "yaml-cpp-release-0.5.3/build/libyaml-cpp.so.0.5.3" ]; then rm -rf yaml-cpp*; echo "remove yaml-cpp"; fi - - - ./compile_gtest - - ./compile_yaml - - - cd $FOAM_INST_DIR - - export FOAM_USER_SRC=`pwd`/src - - ./Allwmake diff --git a/src/fsi/DataStorage.C b/src/fsi/DataStorage.C index 32e22038..2b64c358 100644 --- a/src/fsi/DataStorage.C +++ b/src/fsi/DataStorage.C @@ -44,7 +44,6 @@ const fsi::matrix & DataStorage::getSolutions() const { assert( solStages.rows() > 0 ); - assert( solStages.cols() > 0 ); return solStages; } @@ -64,15 +63,16 @@ return solStages.row( substep ); } + const fsi::vector DataStorage::getLastSolution() const + { + return getSolution( quadrature->get_num_nodes() - 1 ); + } + void DataStorage::setDof( int N ) { assert( N > 0 ); - assert( F.rows() > 0 ); - assert( solStages.rows() > 0 ); - assert( F.cols() == 0 ); - assert( solStages.rows() == 0 ); - F.resize( F.rows(), N ); - solStages.resize( solStages.rows(), N ); + F.resize( quadrature->get_num_nodes(), N ); + solStages.resize( quadrature->get_num_nodes(), N ); F.setZero(); solStages.setZero(); } diff --git a/src/fsi/DataStorage.H b/src/fsi/DataStorage.H index 6a494e4b..3579202d 100644 --- a/src/fsi/DataStorage.H +++ b/src/fsi/DataStorage.H @@ -30,6 +30,8 @@ namespace sdc const fsi::vector getSolution( int substep ) const; + const fsi::vector getLastSolution() const; + void setDof( int N ); void storeFunction( const fsi::vector & f, int substep ); diff --git a/src/fsi/SDC.C b/src/fsi/SDC.C index 00656919..8d07afff 100644 --- a/src/fsi/SDC.C +++ b/src/fsi/SDC.C @@ -36,10 +36,7 @@ namespace sdc dsdc(), corrector( false ), stageIndex( 0 ), - F(), - Fold(), Sj(), - solStages(), convergence( false ), timeIndex( 0 ), minSweeps( minSweeps ), @@ -82,10 +79,7 @@ namespace sdc dsdc(), corrector( false ), stageIndex( 0 ), - F(), - Fold(), Sj(), - solStages(), convergence( false ), timeIndex( 0 ), minSweeps( 0 ), @@ -151,7 +145,6 @@ namespace sdc fsi::vector dtsdc = this->dt * dsdc; fsi::matrix residual; - fsi::matrix qj( 1, solStages.cols() ); fsi::vector errorEstimate( N ); scalar t = t0; @@ -327,7 +320,6 @@ namespace sdc void SDC::computeResidual( const fsi::matrix & qmat, - const fsi::matrix & F, const scalar dt, fsi::matrix & qj ) @@ -335,15 +327,15 @@ namespace sdc // fsi::matrix Qj = dt * (qmat * F); // Only compute row k-2 of matrix Qj for efficiency - int k = F.rows(); + int k = data->getFunctions().rows(); int ii = k - 2, jj, kk; - for ( jj = 0; jj < F.cols(); ++jj ) + for ( jj = 0; jj < data->getFunctions().cols(); ++jj ) { qj( 0, jj ) = 0; - for ( kk = 0; kk < F.rows(); ++kk ) - qj( 0, jj ) += qmat( ii, kk ) * F( kk, jj ); + for ( kk = 0; kk < data->getFunctions().rows(); ++kk ) + qj( 0, jj ) += qmat( ii, kk ) * data->getFunctions()( kk, jj ); qj( 0, jj ) *= dt; } @@ -358,9 +350,8 @@ namespace sdc ) { assert( k <= this->k - 1 ); - assert( solStages.rows() > 0 ); - qold = solStages.row( k ); + qold = data->getSolution( k ); // Compute the time step from the stage deltaT if ( dt < 0 ) @@ -377,12 +368,9 @@ namespace sdc if ( corrector ) { if ( (k == 0 && stageIndex != 0) || (k == 0 && nbNodes == 2) ) - { - Sj = dt * (smat * F); - Fold = F; - } + Sj = dt * (smat * data->getFunctions()); - rhs.noalias() = -dt * dsdc( k ) * Fold.row( k + 1 ) + Sj.row( k ); + rhs.noalias() = -dt * dsdc( k ) * data->getFunctions().row( k + 1 ) + Sj.row( k ); } this->stageIndex = k; @@ -400,20 +388,11 @@ namespace sdc assert( f.rows() == result.rows() ); assert( k <= this->k - 1 ); - if ( F.cols() == 0 ) - { - F.resize( this->k, f.rows() ); - F.setZero(); - } - - if ( solStages.cols() == 0 ) - { - solStages.resize( this->k, f.rows() ); - solStages.setZero(); - } + if ( data->getFunctions().cols() == 0 ) + data->setDof( f.rows() ); - F.row( k + 1 ) = f; - solStages.row( k + 1 ) = result; + data->storeFunction( f, k + 1 ); + data->storeSolution( result, k + 1 ); } void SDC::setOldSolution( @@ -423,23 +402,24 @@ namespace sdc { assert( timeIndex >= this->timeIndex ); - if ( solStages.cols() == 0 ) + if ( data->getSolutions().cols() == 0 ) { - solStages.resize( this->k, result.rows() ); - solStages.setZero(); - solStages.row( 0 ) = result; + data->setDof( result.rows() ); + data->storeSolution( result, 0 ); } else if ( timeIndex > this->timeIndex ) - solStages.row( 0 ) = solStages.bottomRows( 1 ); + data->storeSolution( data->getLastSolution(), 0 ); this->timeIndex = timeIndex; } void SDC::outputResidual( std::string name ) { - fsi::matrix Qj = dt * (qmat * F); - fsi::matrix residual = solStages.row( 0 ) + Qj.row( k - 2 ) - solStages.row( k - 1 ); + fsi::matrix residual = dt * (qmat * data->getFunctions()); + + for ( int i = 0; i < residual.rows(); i++ ) + residual.row( i ) += data->getSolutions().row( 0 ) - data->getSolutions().row( i + 1 ); scalarList squaredNormResidual( Pstream::nProcs(), scalar( 0 ) ); labelList dof( Pstream::nProcs(), label( 0 ) ); diff --git a/src/fsi/SDC.H b/src/fsi/SDC.H index c4cdbdd9..f8b3a8ec 100644 --- a/src/fsi/SDC.H +++ b/src/fsi/SDC.H @@ -87,7 +87,6 @@ private: void computeResidual( const fsi::matrix & qmat, - const fsi::matrix & F, const scalar dt, fsi::matrix & qj ); @@ -96,10 +95,7 @@ private: // by the solver bool corrector; int stageIndex; - fsi::matrix F; - fsi::matrix Fold; fsi::matrix Sj; - fsi::matrix solStages; bool convergence; int timeIndex; const int minSweeps; From 13b284bb87b0482f9cfbdb0b9cc979fdc2f82fa4 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 13:38:45 +0100 Subject: [PATCH 57/87] Bugfix using PIES with new DataStorage class --- src/fsi/DataStorage.C | 7 ++++--- src/fsi/DataStorage.H | 2 +- src/fsi/PIES.C | 4 ++++ src/fsi/SDC.C | 4 ++-- src/fsi/SDC.H | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/fsi/DataStorage.C b/src/fsi/DataStorage.C index 2b64c358..f6530cc2 100644 --- a/src/fsi/DataStorage.C +++ b/src/fsi/DataStorage.C @@ -68,11 +68,12 @@ return getSolution( quadrature->get_num_nodes() - 1 ); } - void DataStorage::setDof( int N ) + void DataStorage::initialize( int k, int N ) { assert( N > 0 ); - F.resize( quadrature->get_num_nodes(), N ); - solStages.resize( quadrature->get_num_nodes(), N ); + assert( k >= 2 ); + F.resize( k, N ); + solStages.resize( k, N ); F.setZero(); solStages.setZero(); } diff --git a/src/fsi/DataStorage.H b/src/fsi/DataStorage.H index 3579202d..c23f1b96 100644 --- a/src/fsi/DataStorage.H +++ b/src/fsi/DataStorage.H @@ -32,7 +32,7 @@ namespace sdc const fsi::vector getLastSolution() const; - void setDof( int N ); + void initialize( int k, int N ); void storeFunction( const fsi::vector & f, int substep ); diff --git a/src/fsi/PIES.C b/src/fsi/PIES.C index 331c4cfa..cb27a678 100644 --- a/src/fsi/PIES.C +++ b/src/fsi/PIES.C @@ -50,6 +50,8 @@ namespace sdc dsdc( i ) = nodes( i + 1 ) - nodes( i ); solver->setNumberOfImplicitStages( k - 1 ); + + data->initialize( k, solver->getDOF() ); } PIES::PIES( @@ -126,6 +128,8 @@ namespace sdc gamma( i ) = std::complex( 0, distanceTravelled ); else { + using std::cos; + using std::sin; longDouble distanceTravelledOnDisk = distanceTravelled - rho + 0.5 * M_PI * rho; longDouble theta = distanceTravelledOnDisk / rho; longDouble x = cos( theta ) * rho; diff --git a/src/fsi/SDC.C b/src/fsi/SDC.C index 8d07afff..8fa32729 100644 --- a/src/fsi/SDC.C +++ b/src/fsi/SDC.C @@ -389,7 +389,7 @@ namespace sdc assert( k <= this->k - 1 ); if ( data->getFunctions().cols() == 0 ) - data->setDof( f.rows() ); + data->initialize( this->k, f.rows() ); data->storeFunction( f, k + 1 ); data->storeSolution( result, k + 1 ); @@ -404,7 +404,7 @@ namespace sdc if ( data->getSolutions().cols() == 0 ) { - data->setDof( result.rows() ); + data->initialize( this->k, result.rows() ); data->storeSolution( result, 0 ); } else diff --git a/src/fsi/SDC.H b/src/fsi/SDC.H index f8b3a8ec..1e130235 100644 --- a/src/fsi/SDC.H +++ b/src/fsi/SDC.H @@ -83,7 +83,7 @@ public: fsi::matrix qmatEmbedded; fsi::vector dsdc; -private: +protected: void computeResidual( const fsi::matrix & qmat, From ef00264514495467e1be6c68bf05525649019a67 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 14:54:09 +0100 Subject: [PATCH 58/87] Templatize the PIES class for precision --- .../solvers/fsi/fluidFoam/fluidFoam.C | 2 +- applications/solvers/fsi/fsiFoam/fsiFoam.C | 2 +- .../solvers/fsi/solidFoam/solidFoam.C | 2 +- src/fsi/ClenshawCurtis.C | 3 +- src/fsi/GaussLobatto.C | 3 +- src/fsi/GaussRadau.C | 3 +- src/fsi/PIES.C | 312 +---------------- src/fsi/PIES.H | 15 +- src/fsi/PIES.tpp | 324 ++++++++++++++++++ src/fsi/Polynomial.C | 3 +- src/fsi/QuadratureInterface.C | 3 +- src/fsi/Uniform.C | 3 +- src/tests/app/test_pies.C | 8 +- 13 files changed, 348 insertions(+), 335 deletions(-) create mode 100644 src/fsi/PIES.tpp diff --git a/applications/solvers/fsi/fluidFoam/fluidFoam.C b/applications/solvers/fsi/fluidFoam/fluidFoam.C index 651796a0..8816c189 100644 --- a/applications/solvers/fsi/fluidFoam/fluidFoam.C +++ b/applications/solvers/fsi/fluidFoam/fluidFoam.C @@ -179,7 +179,7 @@ int main( int minSweeps = piesConfig["min-sweeps"].as(); int maxSweeps = piesConfig["max-sweeps"].as(); - timeSolver = std::shared_ptr ( new sdc::PIES( solver, rho, delta, tol, minSweeps, maxSweeps ) ); + timeSolver = std::shared_ptr ( new sdc::PIES( solver, rho, delta, tol, minSweeps, maxSweeps ) ); } } diff --git a/applications/solvers/fsi/fsiFoam/fsiFoam.C b/applications/solvers/fsi/fsiFoam/fsiFoam.C index ea9d4a3d..0e5b20ad 100644 --- a/applications/solvers/fsi/fsiFoam/fsiFoam.C +++ b/applications/solvers/fsi/fsiFoam/fsiFoam.C @@ -848,7 +848,7 @@ int main( int minSweeps = piesConfig["min-sweeps"].as(); int maxSweeps = piesConfig["max-sweeps"].as(); - timeSolver = std::shared_ptr ( new sdc::PIES( sdcFsiSolver, rho, delta, tol, minSweeps, maxSweeps ) ); + timeSolver = std::shared_ptr ( new sdc::PIES( sdcFsiSolver, rho, delta, tol, minSweeps, maxSweeps ) ); } assert( timeSolver ); diff --git a/applications/solvers/fsi/solidFoam/solidFoam.C b/applications/solvers/fsi/solidFoam/solidFoam.C index dc8b17f2..75a5a505 100644 --- a/applications/solvers/fsi/solidFoam/solidFoam.C +++ b/applications/solvers/fsi/solidFoam/solidFoam.C @@ -151,7 +151,7 @@ int main( int minSweeps = piesConfig["min-sweeps"].as(); int maxSweeps = piesConfig["max-sweeps"].as(); - timeSolver = std::shared_ptr ( new sdc::PIES( solver, rho, delta, tol, minSweeps, maxSweeps ) ); + timeSolver = std::shared_ptr ( new sdc::PIES( solver, rho, delta, tol, minSweeps, maxSweeps ) ); } assert( solid || timeSolver ); diff --git a/src/fsi/ClenshawCurtis.C b/src/fsi/ClenshawCurtis.C index 27ec52fb..f2b81a3d 100644 --- a/src/fsi/ClenshawCurtis.C +++ b/src/fsi/ClenshawCurtis.C @@ -1,10 +1,11 @@ #include "ClenshawCurtis.H" +#include "fvCFD.H" namespace fsi { namespace quadrature { - template class ClenshawCurtis; + template class ClenshawCurtis; } } diff --git a/src/fsi/GaussLobatto.C b/src/fsi/GaussLobatto.C index 66f320a3..ef022e06 100644 --- a/src/fsi/GaussLobatto.C +++ b/src/fsi/GaussLobatto.C @@ -1,10 +1,11 @@ #include "GaussLobatto.H" +#include "fvCFD.H" namespace fsi { namespace quadrature { - template class GaussLobatto; + template class GaussLobatto; } } diff --git a/src/fsi/GaussRadau.C b/src/fsi/GaussRadau.C index e2f35abe..17f4a289 100644 --- a/src/fsi/GaussRadau.C +++ b/src/fsi/GaussRadau.C @@ -1,10 +1,11 @@ #include "GaussRadau.H" +#include "fvCFD.H" namespace fsi { namespace quadrature { - template class GaussRadau; + template class GaussRadau; } } diff --git a/src/fsi/PIES.C b/src/fsi/PIES.C index cb27a678..91b1ad77 100644 --- a/src/fsi/PIES.C +++ b/src/fsi/PIES.C @@ -1,316 +1,8 @@ -/* - * Author - * David Blom, TU Delft. All rights reserved. - * - * This class implements the Picard Integral Exponential Solver as proposed - * in D. Kushnir and V. Rokhlin, "A Highly Accurate Solver for Stiff Ordinary - * Differential Equations" (2011). - * The basis functionality is implemented in the SDC class. The method - * updateCoefficients() computes the coefficients for the PIES solver. - */ - #include "PIES.H" -#include -#include "GaussRadau.H" namespace sdc { - PIES::PIES( - std::shared_ptr solver, - scalar rho, - scalar delta, - scalar tol, - int minSweeps, - int maxSweeps - ) - : - SDC( solver, std::shared_ptr >( new fsi::quadrature::GaussRadau(2) ), tol, minSweeps, maxSweeps ), - rho( rho ), - delta( delta ) - { - assert( rho > 0 ); - - std::clock_t start; - double duration; - - start = std::clock(); - - computeCoefficients(); - - duration = (std::clock() - start) / (double) CLOCKS_PER_SEC; - - k = nodes.rows(); - - Info << "Picard Integral Exponential Solver: number of nodes = " << k << ", timing = " << duration << " s" << endl; - - dsdc.resize( nodes.rows() - 1 ); - - for ( int i = 0; i < dsdc.rows(); i++ ) - dsdc( i ) = nodes( i + 1 ) - nodes( i ); - - solver->setNumberOfImplicitStages( k - 1 ); - - data->initialize( k, solver->getDOF() ); - } - - PIES::PIES( - scalar rho, - scalar delta, - scalar tol - ) - : - SDC( std::shared_ptr >( new fsi::quadrature::GaussRadau(2) ), tol ), - rho( rho ), - delta( delta ) - { - assert( rho > 0 ); - - computeCoefficients(); - - k = nodes.rows(); - - dsdc.resize( nodes.rows() - 1 ); - - for ( int i = 0; i < dsdc.rows(); i++ ) - dsdc( i ) = nodes( i + 1 ) - nodes( i ); - } - - PIES::~PIES() - {} - - void PIES::computeCoefficients() - { - Info << "PIES: compute integration coefficients" << endl; - - // Initialize variables - longDouble tstart, tend, tinterval, rho, delta, eps; - int N, M; - - const longDouble pi = boost::math::constants::pi(); - - tstart = -1; - tend = 1; - tinterval = tend - tstart; - - // Fine discretization of the semi-disk - N = 800; - M = N; - - // Radius of the complex semi-disk S - rho = longDouble( this->rho ); - - // Selection criteria of nodes on the semi-desik S - eps = 1.0e-18; - delta = longDouble( this->delta ); - - // Skeletonization of a semi-disk in the complex plane - - // Compute the number of points on the arc - longDouble length = longDouble( 0.5 ) * pi * rho + rho; - longDouble dx = length / N; - - // Travel from the origin over the semi circle - - vector50c gamma( N + 3 ); - gamma.setZero(); - gamma( N ) = std::complex( -rho, 0 ); - gamma( N + 1 ) = std::complex( 0, -rho ); - gamma( N + 2 ) = std::complex( 0, rho ); - - Info << "PIES: discretize gamma on semi-disk" << endl; - - for ( int i = 0; i < N; i++ ) - { - longDouble distanceTravelled = i * dx; - - if ( distanceTravelled <= rho ) - gamma( i ) = std::complex( 0, distanceTravelled ); - else - { - using std::cos; - using std::sin; - longDouble distanceTravelledOnDisk = distanceTravelled - rho + 0.5 * M_PI * rho; - longDouble theta = distanceTravelledOnDisk / rho; - longDouble x = cos( theta ) * rho; - longDouble y = sin( theta ) * rho; - gamma( i ) = std::complex( x, y ); - } - } - - // Discretize the time interval - longDouble dt = tinterval / (M - 1); - vector50 t( M ); - t.setZero(); - - for ( int i = 0; i < t.rows(); i++ ) - t( i ) = tstart + dt * i; - - Info << "PIES: build matrix A of size " << t.rows() << " x " << gamma.rows() << endl; - - // Compute the matrix A - matrix50c A( t.rows(), gamma.rows() ); - - for ( int i = 0; i < A.rows(); i++ ) - for ( int j = 0; j < A.cols(); j++ ) - A( i, j ) = sdc::exp( gamma( j ) * t( i ) ); - - Info << "PIES: compute QR decomposition of A" << endl; - - // Matrix compression by QR decomposition with full pivoting - Eigen::FullPivHouseholderQR qr = A.fullPivHouseholderQr(); - - matrix50c R = qr.matrixQR().triangularView(); - - int k = 0; - - for ( int i = 0; i < R.rows() - 1; i++ ) - { - k = i; - - if ( std::abs( R( i + 1, i + 1 ) ) / std::abs( R( 0, 0 ) ) < delta ) - { - k = i + 1; - break; - } - } - - assert( k > 0 ); - - int nbNodes = 0; - - Eigen::VectorXi idx = qr.colsPermutation().indices(); - - for ( int i = 0; i < k; i++ ) - { - if ( idx( i ) == 0 or idx( i ) == N or idx( i ) == N + 1 or idx( i ) == N + 2 ) - nbNodes += 1; - else - nbNodes += 2; - } - - vector50c gamma_k( nbNodes ); - - int index = 0; - int zeroIndex = -1; - - Info << "PIES: build subset lambda" << endl; - - for ( int i = 0; i < k; i++ ) - { - std::complex value = gamma( idx( i ) ); - - if ( idx( i ) == 0 ) - zeroIndex = index; - - if ( idx( i ) == 0 or idx( i ) == N or idx( i ) == N + 1 or idx( i ) == N + 2 ) - { - gamma_k( index ) = value; - index += 1; - } - else - { - gamma_k( index ) = value; - gamma_k( index + 1 ) = std::complex( std::real( value ), -std::imag( value ) ); - index += 2; - } - } - - // Compute the coefficients omega - - // One extra node due to adding of constraint - nbNodes += 1; - - Info << "PIES: compute the coeffients omega" << endl; - - for ( int iter = 0; iter < 20; iter++ ) - { - M = nbNodes; - dt = tinterval / (M - 1); - t.resize( M ); - t.setZero(); - - for ( int i = 0; i < t.rows(); i++ ) - t( i ) = tstart + dt * i; - - A.resize( gamma_k.rows() + 1, M ); - A.setZero(); - - // Ensure that the system is never over-determined - assert( A.rows() <= A.cols() ); - - for ( int i = 0; i < gamma_k.rows(); i++ ) - for ( int j = 0; j < M; j++ ) - A( i, j ) = sdc::exp( gamma_k( i ) * t( j ) ); - - // Enforce right-hand-rule based nodes, which results in - // a L-stable time integration scheme - A( gamma_k.rows(), 0 ) = 1; - - matrix50c b( A.rows(), A.cols() ); - b.setZero(); - - for ( int i = 0; i < gamma_k.rows(); i++ ) - { - for ( int j = 1; j < M; j++ ) - { - std::complex gamma = gamma_k( i ); - longDouble t0 = t( j - 1 ); - longDouble t1 = t( j ); - - if ( i == zeroIndex ) - b( i, j ) = t1 - t0; - else - b( i, j ) = -( sdc::exp( gamma * t0 ) - sdc::exp( gamma * t1 ) ) / gamma; - } - } - - matrix50c smatOmega = A.fullPivHouseholderQr().solve( b ); - matrix50 smatReal = smatOmega.real().transpose(); - matrix50 smatWeights = smatReal.bottomLeftCorner( smatReal.rows() - 1, smatReal.cols() ); - smatWeights /= tinterval; - - // Compute the qmat matrix ( t = 0 .. 1 ) - - b.setZero(); - - for ( int i = 0; i < gamma_k.rows(); i++ ) - { - for ( int j = 1; j < M; j++ ) - { - std::complex gamma = gamma_k( i ); - longDouble t0 = tstart; - longDouble t1 = t( j ); - - if ( i == zeroIndex ) - b( i, j ) = t1 - t0; - else - b( i, j ) = -( sdc::exp( gamma * t0 ) - sdc::exp( gamma * t1 ) ) / gamma; - } - } - - matrix50c qmatOmega = A.fullPivHouseholderQr().solve( b ); - matrix50 qmatReal = qmatOmega.real().transpose(); - matrix50 qmatWeights = qmatReal.bottomLeftCorner( qmatReal.rows() - 1, qmatReal.cols() ); - qmatWeights /= tinterval; - - t.array() += -tstart; - t /= tinterval; - - nodes = t.cast(); - smat = smatWeights.cast(); - qmat = qmatWeights.cast(); - - longDouble residual = (A * qmatOmega - b).norm(); - std::cout << "PIES: residual = " << residual; - std::cout << ", number of nodes = " << nbNodes; - std::cout << ", delta = " << delta; - std::cout << std::endl; - - if ( residual < eps ) - break; - - nbNodes++; - } - } + template class PIES; + template class PIES; } diff --git a/src/fsi/PIES.H b/src/fsi/PIES.H index 60bfe86d..beca8290 100644 --- a/src/fsi/PIES.H +++ b/src/fsi/PIES.H @@ -7,8 +7,7 @@ * Picard Integral Exponential Solver (PIES) */ -#ifndef PIES_H -#define PIES_H +#pragma once #include "SDC.H" #include @@ -18,14 +17,6 @@ namespace sdc { - namespace mp = boost::multiprecision; - - typedef mp::cpp_dec_float_50 longDouble; - typedef Eigen::Matrix, Eigen::Dynamic, Eigen::Dynamic> matrix50c; - typedef Eigen::Matrix matrix50; - typedef Eigen::Matrix, Eigen::Dynamic, 1> vector50c; - typedef Eigen::Matrix vector50; - template inline std::complex exp( const std::complex & x ) @@ -35,6 +26,7 @@ namespace sdc return std::polar( r, x.imag() ); } + template class PIES : public SDC { public: @@ -65,5 +57,4 @@ private: }; } - -#endif +#include "PIES.tpp" diff --git a/src/fsi/PIES.tpp b/src/fsi/PIES.tpp new file mode 100644 index 00000000..e79792f6 --- /dev/null +++ b/src/fsi/PIES.tpp @@ -0,0 +1,324 @@ + +/* + * Author + * David Blom, TU Delft. All rights reserved. + * + * This class implements the Picard Integral Exponential Solver as proposed + * in D. Kushnir and V. Rokhlin, "A Highly Accurate Solver for Stiff Ordinary + * Differential Equations" (2011). + * The basis functionality is implemented in the SDC class. The method + * updateCoefficients() computes the coefficients for the PIES solver. + */ + +#include +#include "GaussRadau.H" + +namespace sdc +{ + template + PIES::PIES( + std::shared_ptr solver, + scalar rho, + scalar delta, + scalar tol, + int minSweeps, + int maxSweeps + ) + : + SDC( solver, std::shared_ptr >( new fsi::quadrature::GaussRadau(2) ), tol, minSweeps, maxSweeps ), + rho( rho ), + delta( delta ) + { + assert( rho > 0 ); + + std::clock_t start; + double duration; + + start = std::clock(); + + computeCoefficients(); + + duration = (std::clock() - start) / (double) CLOCKS_PER_SEC; + + k = nodes.rows(); + + Info << "Picard Integral Exponential Solver: number of nodes = " << k << ", timing = " << duration << " s" << Foam::endl; + + dsdc.resize( nodes.rows() - 1 ); + + for ( int i = 0; i < dsdc.rows(); i++ ) + dsdc( i ) = nodes( i + 1 ) - nodes( i ); + + solver->setNumberOfImplicitStages( k - 1 ); + + data->initialize( k, solver->getDOF() ); + } + + template + PIES::PIES( + scalar rho, + scalar delta, + scalar tol + ) + : + SDC( std::shared_ptr >( new fsi::quadrature::GaussRadau(2) ), tol ), + rho( rho ), + delta( delta ) + { + assert( rho > 0 ); + + computeCoefficients(); + + k = nodes.rows(); + + dsdc.resize( nodes.rows() - 1 ); + + for ( int i = 0; i < dsdc.rows(); i++ ) + dsdc( i ) = nodes( i + 1 ) - nodes( i ); + } + + template + PIES::~PIES() + {} + + template + void PIES::computeCoefficients() + { + typedef Eigen::Matrix, Eigen::Dynamic, Eigen::Dynamic> matrix50c; + typedef Eigen::Matrix matrix50; + typedef Eigen::Matrix, Eigen::Dynamic, 1> vector50c; + typedef Eigen::Matrix vector50; + + Info << "PIES: compute integration coefficients" << Foam::endl; + + // Initialize variables + precision tstart, tend, tinterval, rho, delta, eps; + int N, M; + + const precision pi = boost::math::constants::pi(); + + tstart = -1; + tend = 1; + tinterval = tend - tstart; + + // Fine discretization of the semi-disk + N = 800; + M = N; + + // Radius of the complex semi-disk S + rho = precision( this->rho ); + + // Selection criteria of nodes on the semi-desik S + eps = 1.0e-18; + delta = precision( this->delta ); + + // Skeletonization of a semi-disk in the complex plane + + // Compute the number of points on the arc + precision length = precision( 0.5 ) * pi * rho + rho; + precision dx = length / N; + + // Travel from the origin over the semi circle + + vector50c gamma( N + 3 ); + gamma.setZero(); + gamma( N ) = std::complex( -rho, 0 ); + gamma( N + 1 ) = std::complex( 0, -rho ); + gamma( N + 2 ) = std::complex( 0, rho ); + + Info << "PIES: discretize gamma on semi-disk" << Foam::endl; + + for ( int i = 0; i < N; i++ ) + { + precision distanceTravelled = i * dx; + + if ( distanceTravelled <= rho ) + gamma( i ) = std::complex( 0, distanceTravelled ); + else + { + using std::cos; + using std::sin; + precision distanceTravelledOnDisk = distanceTravelled - rho + 0.5 * M_PI * rho; + precision theta = distanceTravelledOnDisk / rho; + precision x = cos( theta ) * rho; + precision y = sin( theta ) * rho; + gamma( i ) = std::complex( x, y ); + } + } + + // Discretize the time interval + precision dt = tinterval / (M - 1); + vector50 t( M ); + t.setZero(); + + for ( int i = 0; i < t.rows(); i++ ) + t( i ) = tstart + dt * i; + + Info << "PIES: build matrix A of size " << t.rows() << " x " << gamma.rows() << Foam::endl; + + // Compute the matrix A + matrix50c A( t.rows(), gamma.rows() ); + + for ( int i = 0; i < A.rows(); i++ ) + for ( int j = 0; j < A.cols(); j++ ) + A( i, j ) = sdc::exp( gamma( j ) * t( i ) ); + + Info << "PIES: compute QR decomposition of A" << Foam::endl; + + // Matrix compression by QR decomposition with full pivoting + Eigen::FullPivHouseholderQR qr = A.fullPivHouseholderQr(); + + matrix50c R = qr.matrixQR().template triangularView(); + + int k = 0; + + for ( int i = 0; i < R.rows() - 1; i++ ) + { + k = i; + + if ( std::abs( R( i + 1, i + 1 ) ) / std::abs( R( 0, 0 ) ) < delta ) + { + k = i + 1; + break; + } + } + + assert( k > 0 ); + + int nbNodes = 0; + + Eigen::VectorXi idx = qr.colsPermutation().indices(); + + for ( int i = 0; i < k; i++ ) + { + if ( idx( i ) == 0 or idx( i ) == N or idx( i ) == N + 1 or idx( i ) == N + 2 ) + nbNodes += 1; + else + nbNodes += 2; + } + + vector50c gamma_k( nbNodes ); + + int index = 0; + int zeroIndex = -1; + + Info << "PIES: build subset lambda" << Foam::endl; + + for ( int i = 0; i < k; i++ ) + { + std::complex value = gamma( idx( i ) ); + + if ( idx( i ) == 0 ) + zeroIndex = index; + + if ( idx( i ) == 0 or idx( i ) == N or idx( i ) == N + 1 or idx( i ) == N + 2 ) + { + gamma_k( index ) = value; + index += 1; + } + else + { + gamma_k( index ) = value; + gamma_k( index + 1 ) = std::complex( std::real( value ), -std::imag( value ) ); + index += 2; + } + } + + // Compute the coefficients omega + + // One extra node due to adding of constraint + nbNodes += 1; + + Info << "PIES: compute the coeffients omega" << Foam::endl; + + for ( int iter = 0; iter < 20; iter++ ) + { + M = nbNodes; + dt = tinterval / (M - 1); + t.resize( M ); + t.setZero(); + + for ( int i = 0; i < t.rows(); i++ ) + t( i ) = tstart + dt * i; + + A.resize( gamma_k.rows() + 1, M ); + A.setZero(); + + // Ensure that the system is never over-determined + assert( A.rows() <= A.cols() ); + + for ( int i = 0; i < gamma_k.rows(); i++ ) + for ( int j = 0; j < M; j++ ) + A( i, j ) = sdc::exp( gamma_k( i ) * t( j ) ); + + // Enforce right-hand-rule based nodes, which results in + // a L-stable time integration scheme + A( gamma_k.rows(), 0 ) = 1; + + matrix50c b( A.rows(), A.cols() ); + b.setZero(); + + for ( int i = 0; i < gamma_k.rows(); i++ ) + { + for ( int j = 1; j < M; j++ ) + { + std::complex gamma = gamma_k( i ); + precision t0 = t( j - 1 ); + precision t1 = t( j ); + + if ( i == zeroIndex ) + b( i, j ) = t1 - t0; + else + b( i, j ) = -( sdc::exp( gamma * t0 ) - sdc::exp( gamma * t1 ) ) / gamma; + } + } + + matrix50c smatOmega = A.fullPivHouseholderQr().solve( b ); + matrix50 smatReal = smatOmega.real().transpose(); + matrix50 smatWeights = smatReal.bottomLeftCorner( smatReal.rows() - 1, smatReal.cols() ); + smatWeights /= tinterval; + + // Compute the qmat matrix ( t = 0 .. 1 ) + + b.setZero(); + + for ( int i = 0; i < gamma_k.rows(); i++ ) + { + for ( int j = 1; j < M; j++ ) + { + std::complex gamma = gamma_k( i ); + precision t0 = tstart; + precision t1 = t( j ); + + if ( i == zeroIndex ) + b( i, j ) = t1 - t0; + else + b( i, j ) = -( sdc::exp( gamma * t0 ) - sdc::exp( gamma * t1 ) ) / gamma; + } + } + + matrix50c qmatOmega = A.fullPivHouseholderQr().solve( b ); + matrix50 qmatReal = qmatOmega.real().transpose(); + matrix50 qmatWeights = qmatReal.bottomLeftCorner( qmatReal.rows() - 1, qmatReal.cols() ); + qmatWeights /= tinterval; + + t.array() += -tstart; + t /= tinterval; + + nodes = t.template cast(); + smat = smatWeights.template cast(); + qmat = qmatWeights.template cast(); + + precision residual = (A * qmatOmega - b).norm(); + std::cout << "PIES: residual = " << residual; + std::cout << ", number of nodes = " << nbNodes; + std::cout << ", delta = " << delta; + std::cout << std::endl; + + if ( residual < eps ) + break; + + nbNodes++; + } + } +} diff --git a/src/fsi/Polynomial.C b/src/fsi/Polynomial.C index 42efbffe..e79d55ee 100644 --- a/src/fsi/Polynomial.C +++ b/src/fsi/Polynomial.C @@ -1,10 +1,11 @@ #include "Polynomial.H" +#include "fvCFD.H" namespace fsi { namespace quadrature { - template class Polynomial; + template class Polynomial; } } diff --git a/src/fsi/QuadratureInterface.C b/src/fsi/QuadratureInterface.C index e0574043..ffaf3dba 100644 --- a/src/fsi/QuadratureInterface.C +++ b/src/fsi/QuadratureInterface.C @@ -1,10 +1,11 @@ #include "QuadratureInterface.H" +#include "fvCFD.H" namespace fsi { namespace quadrature { - template class QuadratureInterface; + template class IQuadrature; } } diff --git a/src/fsi/Uniform.C b/src/fsi/Uniform.C index 2c31fb15..1e15d618 100644 --- a/src/fsi/Uniform.C +++ b/src/fsi/Uniform.C @@ -1,10 +1,11 @@ #include "Uniform.H" +#include "fvCFD.H" namespace fsi { namespace quadrature { - template class Uniform; + template class Uniform; } } diff --git a/src/tests/app/test_pies.C b/src/tests/app/test_pies.C index 545b5b6c..957a81e1 100644 --- a/src/tests/app/test_pies.C +++ b/src/tests/app/test_pies.C @@ -32,7 +32,7 @@ protected: piston = std::shared_ptr ( new Piston( nbTimeSteps, dt, q0, qdot0, As, Ac, omega ) ); - pies = std::shared_ptr ( new sdc::PIES( piston, rho, delta, tol, nbNodes, 10 * nbNodes ) ); + pies = std::shared_ptr> ( new sdc::PIES( piston, rho, delta, tol, nbNodes, 10 * nbNodes ) ); } virtual void TearDown() @@ -41,7 +41,7 @@ protected: piston.reset(); } - std::shared_ptr pies; + std::shared_ptr> pies; std::shared_ptr piston; }; @@ -84,7 +84,7 @@ protected: delta = 1.0e-9; rho = 3.15; - pies = std::shared_ptr ( new sdc::PIES( rho, delta, tol ) ); + pies = std::shared_ptr> ( new sdc::PIES( rho, delta, tol ) ); piston = std::shared_ptr ( new Piston( nbTimeSteps, dt, q0, qdot0, As, Ac, omega, pies, pies->nodes.rows() ) ); } @@ -95,7 +95,7 @@ protected: piston.reset(); } - std::shared_ptr pies; + std::shared_ptr> pies; std::shared_ptr piston; }; From 8b0e74c6bc87d0edbea558d6a8c227076c07a634 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 14:57:40 +0100 Subject: [PATCH 59/87] wercker: subdivide compilation into more steps --- wercker.yml | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 136 insertions(+), 2 deletions(-) diff --git a/wercker.yml b/wercker.yml index 528d7492..99d72655 100644 --- a/wercker.yml +++ b/wercker.yml @@ -202,7 +202,7 @@ build: ./compile_yaml - script: - name: build + name: boundary conditions code: | export PARAVIEW_SYSTEM=1 @@ -221,7 +221,141 @@ build: export WM_NCOMPPROCS=1 - ./Allwmake + wmakeLnInclude src/boundaryConditions + wmakeLnInclude src/fvSchemes + wmakeLnInclude src/fsi + wmakeLnInclude src/RBFMeshMotionSolver + wmakeLnInclude src/SRFModelAbs + wmake libso src/boundaryConditions + - script: + name: schemes + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + export WM_NCOMPPROCS=1 + + wmake libso src/fvSchemes + - script: + name: fsi + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + export WM_NCOMPPROCS=1 + + wmake libso src/fsi + - script: + name: radial basis function mesh motion solver + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + export WM_NCOMPPROCS=1 + + wmake libso src/RBFMeshMotionSolver + - script: + name: FSI solvers + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + export WM_NCOMPPROCS=1 + + wmake applications/solvers/fsi/fsiFoam + wmake applications/solvers/fsi/solidFoam + wmake applications/solvers/fsi/fluidFoam + - script: + name: precice FSI solvers + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + export WM_NCOMPPROCS=1 + + wmake applications/solvers/fsi/fsiSolidFoam + wmake applications/solvers/fsi/fsiFluidFoam + - script: + name: test app + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + export WM_NCOMPPROCS=1 + + wmake src/tests/app - script: name: test suite code: | From 83da8ec6a1f38b6512c2d1e1a88ccf10cebed932 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 15:14:05 +0100 Subject: [PATCH 60/87] disable some tests --- src/tests/app/test_manifoldmappingsolver.C | 2 +- src/tests/app/test_multilevelspacemapping.C | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/app/test_manifoldmappingsolver.C b/src/tests/app/test_manifoldmappingsolver.C index ac6f2b13..5332b5a6 100644 --- a/src/tests/app/test_manifoldmappingsolver.C +++ b/src/tests/app/test_manifoldmappingsolver.C @@ -218,7 +218,7 @@ protected: SpaceMappingSolver * solver; }; -INSTANTIATE_TEST_CASE_P( testParameters, ManifoldMappingSolverParametrizedTest, ::testing::Combine( Bool(), Values( 0, 1, 4 ), Values( 1, 2 ), Values( 3 ), Values( 10, 20 ), Bool(), Bool(), Bool() ) ); +INSTANTIATE_TEST_CASE_P( testParameters, ManifoldMappingSolverParametrizedTest, ::testing::Combine( Bool(), Values( 0, 1, 4 ), Values( 2 ), Values( 3 ), Values( 10, 20 ), Bool(), Bool(), Bool() ) ); TEST_P( ManifoldMappingSolverParametrizedTest, object ) { diff --git a/src/tests/app/test_multilevelspacemapping.C b/src/tests/app/test_multilevelspacemapping.C index dcc8b0f1..1ff9a0bb 100644 --- a/src/tests/app/test_multilevelspacemapping.C +++ b/src/tests/app/test_multilevelspacemapping.C @@ -304,7 +304,7 @@ protected: shared_ptr solver; }; -INSTANTIATE_TEST_CASE_P( testParameters, MultiLevelSpaceMappingSolverParametrizedTest, ::testing::Combine( Values( 0, 2 ), Values( 0, 2 ), Values( 20, 40 ), Values( 0, 1, 2 ), Values( 0, 5 ) ) ); +INSTANTIATE_TEST_CASE_P( testParameters, MultiLevelSpaceMappingSolverParametrizedTest, ::testing::Combine( Values( 0, 2 ), Values( 2 ), Values( 20, 40 ), Values( 0, 1, 2 ), Values( 0, 5 ) ) ); TEST_P( MultiLevelSpaceMappingSolverParametrizedTest, run ) { From d542db0006ab018dd0719b54d8a6476007c3bef4 Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 16:33:18 +0100 Subject: [PATCH 61/87] wercker: use 1 core for the compilation of precice --- wercker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wercker.yml b/wercker.yml index 99d72655..f420ffd1 100644 --- a/wercker.yml +++ b/wercker.yml @@ -177,6 +177,8 @@ build: source foam-extend-3.2/etc/bashrc + export WM_NCOMPPROCS=1 + cd src/thirdParty ./compile_precice From 0806aa04dc9fd62a5cc3be4c9a7c2226f2122fae Mon Sep 17 00:00:00 2001 From: David Blom Date: Thu, 11 Feb 2016 17:19:35 +0100 Subject: [PATCH 62/87] SDC interpolation working including tests --- src/fsi/DataStorage.C | 17 +++- src/fsi/SDC.H | 14 ++- src/tests/app/Make/files | 1 + src/tests/app/test_sdcinterpolation.C | 138 ++++++++++++++++++++++++++ 4 files changed, 161 insertions(+), 9 deletions(-) create mode 100644 src/tests/app/test_sdcinterpolation.C diff --git a/src/fsi/DataStorage.C b/src/fsi/DataStorage.C index f6530cc2..cacd27ca 100644 --- a/src/fsi/DataStorage.C +++ b/src/fsi/DataStorage.C @@ -27,11 +27,26 @@ const fsi::matrix DataStorage::integrate( const std::vector & nodes, scalar dt ) const { std::vector quadratureNodes = quadrature->get_nodes(); + + if ( not quadrature->left_is_node() ) quadratureNodes.erase( quadratureNodes.begin() ); fsi::quadrature::Matrix q_matrix = fsi::quadrature::compute_q_matrix( quadratureNodes, nodes ); - return getSolutions().row( 0 ) + dt * (q_matrix * getFunctions()); + if ( not quadrature->left_is_node() ) + { + fsi::quadrature::Matrix q_mat2( q_matrix.rows(), q_matrix.cols() + 1 ); + q_mat2.setZero(); + q_mat2.rightCols( q_matrix.cols() ) = q_matrix; + q_matrix = q_mat2; + } + + fsi::quadrature::Matrix data = dt * q_matrix * getFunctions(); + + for ( int i = 0; i < data.rows(); i++ ) + data.row( i ) += getSolutions().row( 0 ); + + return data; } const fsi::matrix & DataStorage::getFunctions() const diff --git a/src/fsi/SDC.H b/src/fsi/SDC.H index 1e130235..ec668ead 100644 --- a/src/fsi/SDC.H +++ b/src/fsi/SDC.H @@ -41,6 +41,12 @@ public: virtual void run(); + void computeResidual( + const fsi::matrix & qmat, + const scalar dt, + fsi::matrix & qj + ); + virtual void getSourceTerm( const bool corrector, const int k, @@ -83,14 +89,6 @@ public: fsi::matrix qmatEmbedded; fsi::vector dsdc; -protected: - - void computeResidual( - const fsi::matrix & qmat, - const scalar dt, - fsi::matrix & qj - ); - // Store function in memory in case the source term is requested // by the solver bool corrector; diff --git a/src/tests/app/Make/files b/src/tests/app/Make/files index 8df754f0..b48efef2 100644 --- a/src/tests/app/Make/files +++ b/src/tests/app/Make/files @@ -52,5 +52,6 @@ test_gaussradau.C test_uniform.C test_quadrature.C test_gausslobatto.C +test_sdcinterpolation.C EXE = $(FOAM_APPBIN)/tests diff --git a/src/tests/app/test_sdcinterpolation.C b/src/tests/app/test_sdcinterpolation.C new file mode 100644 index 00000000..7c163739 --- /dev/null +++ b/src/tests/app/test_sdcinterpolation.C @@ -0,0 +1,138 @@ + +#include +#include "SDC.H" +#include "gtest/gtest.h" +#include "GaussRadau.H" +#include "GaussLobatto.H" +#include "Piston.H" + +TEST( SDC, interpolation ) +{ + scalar dt, q0, qdot0, As, Ac, omega, endTime, tol; + + int nbTimeSteps = 1; + + endTime = 10; + dt = endTime / nbTimeSteps; + As = 100; + Ac = As; + omega = 1; + q0 = -As; + qdot0 = -As; + tol = 1.0e-17; + + int nbNodes = 10; + std::shared_ptr > quadrature; + quadrature = std::shared_ptr >( new fsi::quadrature::GaussRadau( nbNodes ) ); + + std::shared_ptr piston ( new Piston( nbTimeSteps, dt, q0, qdot0, As, Ac, omega ) ); + std::shared_ptr sdc ( new SDC( piston, quadrature, tol, 5, 10 * nbNodes ) ); + + sdc->run(); + + fsi::vector solution( 2 ), f; + piston->getSolution( solution, f ); + scalar result = solution( 1 ); + scalar ref = piston->referenceSolution( endTime ); + scalar error = std::abs( result - ref ) / std::abs( ref ); + + std::vector nodes = {0.856, 0.365, 1.0}; + + const fsi::matrix interp = sdc->data->integrate( nodes, dt ); + + for ( unsigned int i = 0; i < nodes.size(); i++ ) + { + scalar ref = piston->referenceSolution( nodes[i] * endTime ); + scalar errori = abs( interp(i,1) - ref ) / abs( ref ); + std::cout << "error" << i << " = " << errori << std::endl; + if( i == 2 ) ASSERT_NEAR( error, errori, 1.0e-13 ); + } +} + +TEST( SDC, interpolationOrder ) +{ + scalar dt, q0, qdot0, As, Ac, omega, endTime, tol; + + int nbTimeSteps = 1; + + endTime = 1; + dt = endTime / nbTimeSteps; + As = 100; + Ac = As; + omega = 1; + q0 = -As; + qdot0 = -As; + tol = 1.0e-17; + + int nbNodes = 2; + std::shared_ptr > quadrature; + quadrature = std::shared_ptr >( new fsi::quadrature::GaussRadau( nbNodes ) ); + + std::shared_ptr piston1 ( new Piston( nbTimeSteps, dt, q0, qdot0, As, Ac, omega ) ); + std::shared_ptr sdc1 ( new SDC( piston1, quadrature, tol, 5, 10 * nbNodes ) ); + std::shared_ptr piston2 ( new Piston( nbTimeSteps * 2, dt / 2.0, q0, qdot0, As, Ac, omega ) ); + std::shared_ptr sdc2 ( new SDC( piston2, quadrature, tol, 5, 10 * nbNodes ) ); + + sdc1->run(); + sdc2->run(); + + std::vector nodes1 = {0.8}; + std::vector nodes2 = {0.6}; + + const fsi::matrix interp1 = sdc1->data->integrate( nodes1, dt ); + const fsi::matrix interp2 = sdc2->data->integrate( nodes2, 0.5 * dt ); + + scalar ref1 = piston1->referenceSolution( nodes1[0] * endTime ); + scalar ref2 = piston2->referenceSolution( nodes1[0] * endTime ); + + scalar error1 = std::abs( interp1(0,1) - ref1 ) / std::abs( ref1 ); + scalar error2 = std::abs( interp2(0,1) - ref2 ) / std::abs( ref2 ); + + scalar order = ( std::log10( error1 ) - std::log10( error2 ) ) / ( std::log10( nbTimeSteps * 2 ) - std::log10( nbTimeSteps ) ); + + ASSERT_GE( order, 3 ); +} + +TEST( SDC, interpolationGaussLobatto ) +{ + scalar dt, q0, qdot0, As, Ac, omega, endTime, tol; + + int nbTimeSteps = 1; + + endTime = 1; + dt = endTime / nbTimeSteps; + As = 100; + Ac = As; + omega = 1; + q0 = -As; + qdot0 = -As; + tol = 1.0e-17; + + int nbNodes = 2; + std::shared_ptr > quadrature; + quadrature = std::shared_ptr >( new fsi::quadrature::GaussLobatto( nbNodes ) ); + + std::shared_ptr piston1 ( new Piston( nbTimeSteps, dt, q0, qdot0, As, Ac, omega ) ); + std::shared_ptr sdc1 ( new SDC( piston1, quadrature, tol, 5, 10 * nbNodes ) ); + std::shared_ptr piston2 ( new Piston( nbTimeSteps * 2, dt / 2.0, q0, qdot0, As, Ac, omega ) ); + std::shared_ptr sdc2 ( new SDC( piston2, quadrature, tol, 5, 10 * nbNodes ) ); + + sdc1->run(); + sdc2->run(); + + std::vector nodes1 = {0.8}; + std::vector nodes2 = {0.6}; + + const fsi::matrix interp1 = sdc1->data->integrate( nodes1, dt ); + const fsi::matrix interp2 = sdc2->data->integrate( nodes2, 0.5 * dt ); + + scalar ref1 = piston1->referenceSolution( nodes1[0] * endTime ); + scalar ref2 = piston2->referenceSolution( nodes1[0] * endTime ); + + scalar error1 = std::abs( interp1(0,1) - ref1 ) / std::abs( ref1 ); + scalar error2 = std::abs( interp2(0,1) - ref2 ) / std::abs( ref2 ); + + scalar order = ( std::log10( error1 ) - std::log10( error2 ) ) / ( std::log10( nbTimeSteps * 2 ) - std::log10( nbTimeSteps ) ); + + ASSERT_GE( order, 4 ); +} From 7cd753b67f0bdc86e6f5d834fb49ee3d32ceefe7 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 08:22:17 +0100 Subject: [PATCH 63/87] shrink down PETSc installation --- src/thirdParty/compile_petsc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/thirdParty/compile_petsc b/src/thirdParty/compile_petsc index 07cde3dc..ae1e0aee 100755 --- a/src/thirdParty/compile_petsc +++ b/src/thirdParty/compile_petsc @@ -9,17 +9,17 @@ if [ ! -d "petsc-${PETSC_VERSION}" ]; then rm -rf petsc* - wget http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${PETSC_VERSION}.tar.gz + wget http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-${PETSC_VERSION}.tar.gz - tar -zxf petsc-${PETSC_VERSION}.tar.gz + tar -zxf petsc-lite-${PETSC_VERSION}.tar.gz - rm petsc-${PETSC_VERSION}.tar.gz + rm petsc-lite-${PETSC_VERSION}.tar.gz cd petsc-${PETSC_VERSION} export PETSC_DIR=`pwd` - ./config/configure.py --with-shared=1 --with-x=0 --with-mpi=1 --download-scalapack --download-ptscotch --download-fblaslapack=1 + ./config/configure.py --with-shared=1 --with-x=0 --with-mpi=1 --download-scalapack --download-fblaslapack=1 make From 20eb94726797a59813d3efb1be2b185947d356ab Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 08:34:16 +0100 Subject: [PATCH 64/87] wercker: explicitly state which libraries need to be compiled --- wercker.yml | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index f420ffd1..cc09aebb 100644 --- a/wercker.yml +++ b/wercker.yml @@ -67,7 +67,35 @@ build: unset WM_THIRD_PARTY_USE_SCOTCH_604 unset WM_THIRD_PARTY_USE_PYFOAM_064 - src/Allwmake + ( cd wmake/src && make ) + ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) + . $WM_PROJECT_DIR/etc/settings.sh + cd $WM_PROJECT_DIR/src + wmakePrintBuild -check || /bin/rm -f foam/Make/$WM_OPTIONS/global.? 2>/dev/null + wmakeLnInclude foam + wmakeLnInclude meshTools + wmakeLnInclude OSspecific/$WM_OSTYPE + wmake libo OSspecific/$WM_OSTYPE + wmake libso foam + decompositionMethods/AllwmakeLnInclude + wmake libso lagrangian/basic + wmake libso edgeMesh + wmake libso surfMesh + wmake libso meshTools + wmake libso finiteVolume + wmake libso finiteArea + wmake libso lduSolvers + wmake libso tetFiniteElement + dynamicMesh/AllwmakeLnInclude + dynamicMesh/Allwmake + wmake libso coupledMatrix + wmake libso sampling + wmake libso ODE + thermophysicalModels/Allwmake + transportModels/Allwmake + turbulenceModels/Allwmake + lagrangian/Allwmake + postProcessing/Allwmake - script: name: environment variable $FOAM_USER_SRC code: | From 16a3aa609f73e2da733f0adf3230c053959f157f Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 08:47:01 +0100 Subject: [PATCH 65/87] wercker: do not build the third parties twice --- wercker.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/wercker.yml b/wercker.yml index cc09aebb..916b5b56 100644 --- a/wercker.yml +++ b/wercker.yml @@ -67,8 +67,6 @@ build: unset WM_THIRD_PARTY_USE_SCOTCH_604 unset WM_THIRD_PARTY_USE_PYFOAM_064 - ( cd wmake/src && make ) - ( cd $WM_THIRD_PARTY_DIR && ./AllMake ) . $WM_PROJECT_DIR/etc/settings.sh cd $WM_PROJECT_DIR/src wmakePrintBuild -check || /bin/rm -f foam/Make/$WM_OPTIONS/global.? 2>/dev/null From b4af00b865798dd19b6c3b87ea9c16661f3f5476 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 09:39:51 +0100 Subject: [PATCH 66/87] wercker: compile decomposition methods --- wercker.yml | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/wercker.yml b/wercker.yml index 916b5b56..ebf2612f 100644 --- a/wercker.yml +++ b/wercker.yml @@ -76,6 +76,7 @@ build: wmake libo OSspecific/$WM_OSTYPE wmake libso foam decompositionMethods/AllwmakeLnInclude + decompositionMethods/Allwmake wmake libso lagrangian/basic wmake libso edgeMesh wmake libso surfMesh @@ -203,8 +204,6 @@ build: source foam-extend-3.2/etc/bashrc - export WM_NCOMPPROCS=1 - cd src/thirdParty ./compile_precice @@ -247,8 +246,6 @@ build: source foam-extend-3.2/etc/bashrc - export WM_NCOMPPROCS=1 - wmakeLnInclude src/boundaryConditions wmakeLnInclude src/fvSchemes wmakeLnInclude src/fsi @@ -273,8 +270,6 @@ build: source foam-extend-3.2/etc/bashrc - export WM_NCOMPPROCS=1 - wmake libso src/fvSchemes - script: name: fsi @@ -294,8 +289,6 @@ build: source foam-extend-3.2/etc/bashrc - export WM_NCOMPPROCS=1 - wmake libso src/fsi - script: name: radial basis function mesh motion solver @@ -315,8 +308,6 @@ build: source foam-extend-3.2/etc/bashrc - export WM_NCOMPPROCS=1 - wmake libso src/RBFMeshMotionSolver - script: name: FSI solvers @@ -336,8 +327,6 @@ build: source foam-extend-3.2/etc/bashrc - export WM_NCOMPPROCS=1 - wmake applications/solvers/fsi/fsiFoam wmake applications/solvers/fsi/solidFoam wmake applications/solvers/fsi/fluidFoam @@ -359,8 +348,6 @@ build: source foam-extend-3.2/etc/bashrc - export WM_NCOMPPROCS=1 - wmake applications/solvers/fsi/fsiSolidFoam wmake applications/solvers/fsi/fsiFluidFoam - script: @@ -381,8 +368,6 @@ build: source foam-extend-3.2/etc/bashrc - export WM_NCOMPPROCS=1 - wmake src/tests/app - script: name: test suite From eb43581314119bbb9373cc3bb8512291d23badb1 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 09:52:38 +0100 Subject: [PATCH 67/87] werkcer: set path to scotch library --- wercker.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/wercker.yml b/wercker.yml index ebf2612f..2a76d47f 100644 --- a/wercker.yml +++ b/wercker.yml @@ -51,7 +51,13 @@ build: export PARAVIEW_SYSTEM=1 export CMAKE_SYSTEM=1 export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export SCOTCH_DIR=/usr + export SCOTCH_BIN_DIR=/usr/bin + export SCOTCH_LIB_DIR=/usr/lib + export SCOTCH_INCLUDE_DIR=/usr/include/scotch + export PYFOAM_SYSTEM=1 export CUDA_IGNORE=1 export SWAK4FOAM_SYSTEM=1 From 310666ee7a554dbebd11ce89e8773e6207f6a0ee Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 09:57:06 +0100 Subject: [PATCH 68/87] wercker: tweak install packages --- wercker.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/wercker.yml b/wercker.yml index 2a76d47f..d12815da 100644 --- a/wercker.yml +++ b/wercker.yml @@ -5,11 +5,10 @@ command-timeout: 60 build: steps: - script: - name: apt-get update + name: install packages code: | apt-get update - - install-packages: - packages: git build-essential flex bison zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev + apt-get install -y git build-essential flex bison zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev - script: name: initialize git submodules code: | From e1f37f0013f11f3cbbe0cb671d4369f74c374ef1 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 09:58:01 +0100 Subject: [PATCH 69/87] wercker: tweak install packages --- wercker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index d12815da..f22312da 100644 --- a/wercker.yml +++ b/wercker.yml @@ -8,7 +8,7 @@ build: name: install packages code: | apt-get update - apt-get install -y git build-essential flex bison zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev + apt-get -y install git build-essential flex bison zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev - script: name: initialize git submodules code: | From 5762648805d451bc772b30d2df93009389971fa7 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 10:50:37 +0100 Subject: [PATCH 70/87] wercker: install libscotch-dev --- wercker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index f22312da..fd0daa47 100644 --- a/wercker.yml +++ b/wercker.yml @@ -8,7 +8,7 @@ build: name: install packages code: | apt-get update - apt-get -y install git build-essential flex bison zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev + apt-get -y install git build-essential flex bison zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev libscotch-dev - script: name: initialize git submodules code: | From 012692b8eeab2562eb04a4b946376cb07c853782 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 12:03:21 +0100 Subject: [PATCH 71/87] Add interpolation with Lagrange polynomials to DataStorage class --- src/fsi/DataStorage.C | 39 +++++++++++- src/fsi/DataStorage.H | 6 ++ src/tests/app/test_sdcinterpolation.C | 88 +++++++++++++++++++++++++++ 3 files changed, 132 insertions(+), 1 deletion(-) diff --git a/src/fsi/DataStorage.C b/src/fsi/DataStorage.C index cacd27ca..8263b4a2 100644 --- a/src/fsi/DataStorage.C +++ b/src/fsi/DataStorage.C @@ -29,7 +29,7 @@ std::vector quadratureNodes = quadrature->get_nodes(); if ( not quadrature->left_is_node() ) - quadratureNodes.erase( quadratureNodes.begin() ); + quadratureNodes.erase( quadratureNodes.begin() ); fsi::quadrature::Matrix q_matrix = fsi::quadrature::compute_q_matrix( quadratureNodes, nodes ); @@ -49,6 +49,43 @@ return data; } + template + static fsi::quadrature::Matrix compute_interpolation_matrix( + const std::vector & from, + const std::vector & to + ) + { + const size_t to_size = to.size(); + const size_t from_size = from.size(); + assert( to_size >= 1 && from_size >= 1 ); + + fsi::quadrature::Matrix q_mat = fsi::quadrature::Matrix::Zero( to_size, from_size ); + + for ( size_t m = 0; m < from_size; ++m ) + { + fsi::quadrature::Polynomial p = fsi::quadrature::build_polynomial( m, from ); + + auto den = p.evaluate( from[m] ); + + for ( size_t j = 0; j < to_size; ++j ) + { + q_mat( j, m ) = p.evaluate( to[j] ) / den; + } + } + + return q_mat; + } + + const fsi::matrix DataStorage::interpolate( + const fsi::matrix functions, + const std::vector & nodes ) const + { + std::vector quadratureNodes = quadrature->get_nodes(); + fsi::quadrature::Matrix q_matrix = compute_interpolation_matrix( quadratureNodes, nodes ); + + return q_matrix * functions; + } + const fsi::matrix & DataStorage::getFunctions() const { assert( F.rows() > 0 ); diff --git a/src/fsi/DataStorage.H b/src/fsi/DataStorage.H index c23f1b96..a55b4e4c 100644 --- a/src/fsi/DataStorage.H +++ b/src/fsi/DataStorage.H @@ -26,6 +26,10 @@ namespace sdc const fsi::matrix integrate( const std::vector & nodes, scalar dt ) const; + const fsi::matrix interpolate( + const fsi::matrix functions, + const std::vector & nodes ) const; + const fsi::vector getFunction( int substep ) const; const fsi::vector getSolution( int substep ) const; @@ -40,6 +44,8 @@ namespace sdc private: + + std::shared_ptr > quadrature; fsi::matrix F, solStages; }; diff --git a/src/tests/app/test_sdcinterpolation.C b/src/tests/app/test_sdcinterpolation.C index 7c163739..770c6740 100644 --- a/src/tests/app/test_sdcinterpolation.C +++ b/src/tests/app/test_sdcinterpolation.C @@ -136,3 +136,91 @@ TEST( SDC, interpolationGaussLobatto ) ASSERT_GE( order, 4 ); } + +TEST( SDC, polynomialInterpolationGaussLobatto ) +{ + scalar dt, q0, qdot0, As, Ac, omega, endTime, tol; + + int nbTimeSteps = 1; + + endTime = 10; + dt = endTime / nbTimeSteps; + As = 100; + Ac = As; + omega = 1; + q0 = -As; + qdot0 = -As; + tol = 1.0e-17; + + int nbNodes = 10; + std::shared_ptr > quadrature; + quadrature = std::shared_ptr >( new fsi::quadrature::GaussLobatto( nbNodes ) ); + + std::shared_ptr piston ( new Piston( nbTimeSteps, dt, q0, qdot0, As, Ac, omega ) ); + std::shared_ptr sdc ( new SDC( piston, quadrature, tol, 5, 10 * nbNodes ) ); + + fsi::matrix functions ( quadrature->get_num_nodes(), 1 ); + int i = 0; + for ( auto node : quadrature->get_nodes() ) + { + functions( i, 0 ) = std::sin( node ); + i++; + } + + std::vector nodes = {0, 0.5, 0.3645, quadrature->get_nodes()[1]}; + + const fsi::matrix interp = sdc->data->interpolate( functions, nodes ); + + i = 0; + for ( auto node : nodes ) + { + scalar ref = std::sin( node ); + scalar error = abs( interp( i , 0 ) - ref ) / abs( ref + SMALL ); + ASSERT_LE( error, 1.0e-10 ); + i++; + } +} + +TEST( SDC, polynomialInterpolationGaussRadau ) +{ + scalar dt, q0, qdot0, As, Ac, omega, endTime, tol; + + int nbTimeSteps = 1; + + endTime = 10; + dt = endTime / nbTimeSteps; + As = 100; + Ac = As; + omega = 1; + q0 = -As; + qdot0 = -As; + tol = 1.0e-17; + + int nbNodes = 10; + std::shared_ptr > quadrature; + quadrature = std::shared_ptr >( new fsi::quadrature::GaussRadau( nbNodes ) ); + + std::shared_ptr piston ( new Piston( nbTimeSteps, dt, q0, qdot0, As, Ac, omega ) ); + std::shared_ptr sdc ( new SDC( piston, quadrature, tol, 5, 10 * nbNodes ) ); + + fsi::matrix functions ( quadrature->get_num_nodes(), 1 ); + int i = 0; + for ( auto node : quadrature->get_nodes() ) + { + functions( i, 0 ) = std::sin( node ); + i++; + } + + std::vector nodes = {0, 0.5, 0.3645, quadrature->get_nodes()[1]}; + + const fsi::matrix interp = sdc->data->interpolate( functions, nodes ); + + i = 0; + for ( auto node : nodes ) + { + scalar ref = std::sin( node ); + scalar error = abs( interp( i , 0 ) - ref ) / abs( ref + SMALL ); + ASSERT_LE( error, 1.0e-10 ); + i++; + } +} From 39b9f7d6522c7003b4571ed2cc6ef8d4cc17ee73 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 12:12:38 +0100 Subject: [PATCH 72/87] wercker: install the solid models --- wercker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/wercker.yml b/wercker.yml index fd0daa47..0f0320ca 100644 --- a/wercker.yml +++ b/wercker.yml @@ -100,6 +100,7 @@ build: turbulenceModels/Allwmake lagrangian/Allwmake postProcessing/Allwmake + wmake libso solidModels - script: name: environment variable $FOAM_USER_SRC code: | From bf104f2341586eebae221ce0b65598a32be6cdae Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 12:14:29 +0100 Subject: [PATCH 73/87] wercker: do not install Qt --- wercker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index 0f0320ca..02c8d237 100644 --- a/wercker.yml +++ b/wercker.yml @@ -8,7 +8,7 @@ build: name: install packages code: | apt-get update - apt-get -y install git build-essential flex bison zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev libscotch-dev + apt-get -y install git build-essential flex bison zlib1g-dev libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev libscotch-dev - script: name: initialize git submodules code: | From 5ecdf10993fdcb6d127b33efb62e5d85abf4ae91 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 13:45:11 +0100 Subject: [PATCH 74/87] wercker: run tests in parallel --- src/tests/runTests.py | 13 ++++++++----- wercker.yml | 3 ++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/tests/runTests.py b/src/tests/runTests.py index 93783c6f..d3fdb186 100755 --- a/src/tests/runTests.py +++ b/src/tests/runTests.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -import os, subprocess, multiprocessing +import os, subprocess, multiprocessing, time nbCores = multiprocessing.cpu_count() @@ -12,11 +12,14 @@ returnCode = 0 for run in runs: - code = run.wait() - if code > returnCode: - returnCode = code + while ( not run.poll() ): + time.sleep( 5 ) + print '.' + code = run.poll() + if code > returnCode: + returnCode = code for i in range( nbCores ): - subprocess.call("tail -n 4 tests_" + str(i) + ".log 2>&1", shell=True) + subprocess.call("tail -n 50 tests_" + str(i) + ".log 2>&1", shell=True) exit( returnCode ) diff --git a/wercker.yml b/wercker.yml index 02c8d237..671d2ff9 100644 --- a/wercker.yml +++ b/wercker.yml @@ -393,4 +393,5 @@ build: source foam-extend-3.2/etc/bashrc - tests + cd src/tests + ./runTests.py From 05edf15fa30b134bea20ec507757f656c70f8828 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 14:33:20 +0100 Subject: [PATCH 75/87] fix test run script --- src/tests/runTests.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/tests/runTests.py b/src/tests/runTests.py index d3fdb186..b6b3c646 100755 --- a/src/tests/runTests.py +++ b/src/tests/runTests.py @@ -12,12 +12,14 @@ returnCode = 0 for run in runs: - while ( not run.poll() ): + code = None + while code is None: time.sleep( 5 ) print '.' code = run.poll() if code > returnCode: returnCode = code + print code for i in range( nbCores ): subprocess.call("tail -n 50 tests_" + str(i) + ".log 2>&1", shell=True) From 99f9bb08277303f107c43f13c4ea1b5e0de421d0 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 15:47:32 +0100 Subject: [PATCH 76/87] third party compilation: always use $WM_NCOMPPROCS for every dependency --- src/tests/runTests.py | 10 +++++++--- src/thirdParty/compile_gtest | 2 +- src/thirdParty/compile_precice_cluster | 4 ++-- src/thirdParty/compile_supermuc | 10 +++++----- wercker.yml | 2 +- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/tests/runTests.py b/src/tests/runTests.py index b6b3c646..34da30fb 100755 --- a/src/tests/runTests.py +++ b/src/tests/runTests.py @@ -1,13 +1,13 @@ #!/usr/bin/env python -import os, subprocess, multiprocessing, time +import os, subprocess, multiprocessing, time, sys nbCores = multiprocessing.cpu_count() runs = [] for i in range( nbCores ): - run = subprocess.Popen( "GTEST_TOTAL_SHARDS=" + str(nbCores) + " GTEST_SHARD_INDEX=" + str(i) + " tests > tests_" + str(i) + ".log 2>&1", shell = True ) + run = subprocess.Popen( "GTEST_TOTAL_SHARDS=" + str(nbCores) + " GTEST_SHARD_INDEX=" + str(i) + " tests --gtest_throw_on_failure > tests_" + str(i) + ".log 2>&1", shell = True ) runs.append( run ) returnCode = 0 @@ -16,12 +16,16 @@ while code is None: time.sleep( 5 ) print '.' + sys.stdout.flush() code = run.poll() if code > returnCode: returnCode = code - print code for i in range( nbCores ): subprocess.call("tail -n 50 tests_" + str(i) + ".log 2>&1", shell=True) +if returnCode == 0: + print "Finished successfully" +else: + print "Tests failed" exit( returnCode ) diff --git a/src/thirdParty/compile_gtest b/src/thirdParty/compile_gtest index dbd3600c..bb99e363 100755 --- a/src/thirdParty/compile_gtest +++ b/src/thirdParty/compile_gtest @@ -20,7 +20,7 @@ if [ ! -d "gtest-${VERSION}" ]; then cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CC_COMPILER=gcc - make + make -j $WM_NCOMPPROCS cd ../ diff --git a/src/thirdParty/compile_precice_cluster b/src/thirdParty/compile_precice_cluster index 8241fbd7..49caa23a 100755 --- a/src/thirdParty/compile_precice_cluster +++ b/src/thirdParty/compile_precice_cluster @@ -49,8 +49,8 @@ export CPLUS_INCLUDE_PATH=`pwd`/eigen # Build preCICE cd precice -scons -j 4 build=release python=off petsc=off compiler=mpicxx -scons -j 4 build=release python=off petsc=off compiler=mpicxx solib +scons -j $WM_NCOMPPROCS build=release python=off petsc=off compiler=mpicxx +scons -j $WM_NCOMPPROCS build=release python=off petsc=off compiler=mpicxx solib mkdir -p ${FOAM_USER_LIBBIN} mkdir -p ${FOAM_USER_APPBIN} diff --git a/src/thirdParty/compile_supermuc b/src/thirdParty/compile_supermuc index 9381ace8..67a9129b 100755 --- a/src/thirdParty/compile_supermuc +++ b/src/thirdParty/compile_supermuc @@ -92,9 +92,9 @@ cd build cmake -DCMAKE_INSTALL_PREFIX=`pwd`/../bin .. -make -j 32 install +make -j $WM_NCOMPPROCS install -make -j 32 test +make -j $WM_NCOMPPROCS test cd ../.. @@ -138,8 +138,8 @@ export CPLUS_INCLUDE_PATH=`pwd`/eigen cd precice python tools/python_scripts/insert_mpi_header.py -scons -j 32 build=release python=off petsc=on compiler=mpicxx -scons -j 32 build=release python=off petsc=on compiler=mpicxx solib +scons -j $WM_NCOMPPROCS build=release python=off petsc=on compiler=mpicxx +scons -j $WM_NCOMPPROCS build=release python=off petsc=on compiler=mpicxx solib mkdir -p ${FOAM_USER_LIBBIN} mkdir -p ${FOAM_USER_APPBIN} @@ -172,7 +172,7 @@ cd build CC=gcc CXX=g++ cmake -DBUILD_SHARED_LIBS=ON -DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT=${BOOST_ROOT} .. -make -j 32 +make -j $WM_NCOMPPROCS # Copy the shared library to $FOAM_USER_LIBBIN mkdir -p ${FOAM_USER_LIBBIN} diff --git a/wercker.yml b/wercker.yml index 671d2ff9..9b572181 100644 --- a/wercker.yml +++ b/wercker.yml @@ -394,4 +394,4 @@ build: source foam-extend-3.2/etc/bashrc cd src/tests - ./runTests.py + python runTests.py From e30abc41900ef28810b32fe85eb9a54a26d4b4f0 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 16:17:37 +0100 Subject: [PATCH 77/87] wercker: do not build postProcessing libraries --- wercker.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index 9b572181..3fd0c274 100644 --- a/wercker.yml +++ b/wercker.yml @@ -99,7 +99,6 @@ build: transportModels/Allwmake turbulenceModels/Allwmake lagrangian/Allwmake - postProcessing/Allwmake wmake libso solidModels - script: name: environment variable $FOAM_USER_SRC From cb50db2f709becd3886686b61463286396a400f3 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 16:24:25 +0100 Subject: [PATCH 78/87] deal.II: use metis compiled for foam-extend metis and parmetis are already compiled in the thirdParty directory of foam-extend-3.2. The environment variables are also correctly set by foam-extend. --- src/thirdParty/compile_dealii | 54 ----------------------------------- 1 file changed, 54 deletions(-) diff --git a/src/thirdParty/compile_dealii b/src/thirdParty/compile_dealii index 0f0001e3..451ba33e 100755 --- a/src/thirdParty/compile_dealii +++ b/src/thirdParty/compile_dealii @@ -3,8 +3,6 @@ set -e set -x -METIS_VERSION=5.1.0 -PARMETIS_VERSION=4.0.3 PETSC_VERSION=3.6.3 DEALII_VERSION=8.3.0 BOOST_VERSION=1_55_0 @@ -21,56 +19,6 @@ fi rm -f boost ln -s boost_${BOOST_VERSION} boost -if [ ! -d "metis-${METIS_VERSION}" ]; then - - rm -rf metis* - - wget http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-${METIS_VERSION}.tar.gz - - tar -zxf metis-${METIS_VERSION}.tar.gz - rm metis-${METIS_VERSION}.tar.gz - - cd metis-${METIS_VERSION} - - export CC=mpicc - export CXX=mpicxx - - make config prefix=`pwd`/build - - make install - - cd ../ - -fi - -rm -f metis -ln -s metis-${METIS_VERSION} metis - -if [ ! -d "parmetis-${PARMETIS_VERSION}" ]; then - - rm -rf parmetis* - - wget http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-${PARMETIS_VERSION}.tar.gz - - tar -zxf parmetis-${PARMETIS_VERSION}.tar.gz - rm parmetis-${PARMETIS_VERSION}.tar.gz - - cd parmetis-${PARMETIS_VERSION} - - export CC=mpicc - export CXX=mpicxx - - make config prefix=`pwd`/build - - make install - - cd ../ - -fi - -rm -f parmetis -ln -s parmetis-${PARMETIS_VERSION} parmetis - if [ ! -d "dealii-${DEALII_VERSION}" ]; then rm -rf dealii* @@ -88,8 +36,6 @@ if [ ! -d "dealii-${DEALII_VERSION}" ]; then export CXX=mpicxx export F77=mpif77 export F90=mpif90 - export METIS_DIR=`pwd`/metis - export PARMETIS_DIR=`pwd`/parmetis cd dealii-${DEALII_VERSION} From a967523ed94b5559c74ac8fb9d80d9b4c4da5d65 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 16:30:59 +0100 Subject: [PATCH 79/87] tweak compilation of dependencies --- src/thirdParty/compile_dealii | 6 +++--- src/thirdParty/compile_petsc | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/thirdParty/compile_dealii b/src/thirdParty/compile_dealii index 451ba33e..0ccaca0a 100755 --- a/src/thirdParty/compile_dealii +++ b/src/thirdParty/compile_dealii @@ -51,13 +51,13 @@ if [ ! -d "dealii-${DEALII_VERSION}" ]; then cd ../.. + cp dealii/bin/lib/libdeal* ${FOAM_LIBBIN}/ + fi rm -f dealii ln -s dealii-${DEALII_VERSION} dealii -cp dealii/bin/lib/libdeal* ${FOAM_LIBBIN}/ - cd deal-fsi rm -rf Makefile CMakeFiles cmake_install.cmake CMakeCache.txt @@ -67,4 +67,4 @@ ln -s ../eigen cmake -DDEAL_II_DIR=../dealii/bin/ . -make +make -j $WM_NCOMPPROCS diff --git a/src/thirdParty/compile_petsc b/src/thirdParty/compile_petsc index ae1e0aee..88326549 100755 --- a/src/thirdParty/compile_petsc +++ b/src/thirdParty/compile_petsc @@ -27,10 +27,9 @@ if [ ! -d "petsc-${PETSC_VERSION}" ]; then cd ../ -fi + cp petsc-${PETSC_VERSION}/${PETSC_ARCH}/lib/lib* ${FOAM_LIBBIN}/ -mkdir -p $FOAM_USER_LIBBIN -cp petsc-${PETSC_VERSION}/${PETSC_ARCH}/lib/lib* ${FOAM_USER_LIBBIN}/ +fi rm -f petsc ln -s petsc-${PETSC_VERSION} petsc From 0ba78a6decd730764bad966032ded1e8ec41bcd9 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 16:39:23 +0100 Subject: [PATCH 80/87] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 9d6aab98..554bed16 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ FOAM-FSI ======== +[![wercker status](https://app.wercker.com/status/80ce1a6b7a23e394c5f07a3f27b5b43e/s/master "wercker status")](https://app.wercker.com/project/bykey/80ce1a6b7a23e394c5f07a3f27b5b43e) + Features ----------- From ed546eb49b294a82f2c40b5187e77ca01dd9cda2 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 16:43:27 +0100 Subject: [PATCH 81/87] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 554bed16..60092bce 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,12 @@ With this grep command, you can ensure that the `mpicxx` compiler is used during sed -i s/"CC = g++ -m64"/"CC = mpicxx -m64"/g foam-extend-3.2/wmake/rules/linux64Gcc/c++ ``` +Set the environment variable `$FOAM_INST_DIR` in case foam-extend is installed in a non-standard location: + +``` bash +export FOAM_INST_DIR=`pwd` +``` + Finally, the compilation process of `foam-extend` is started with ``` bash From 66745362c5c29942fdbd7d6ee05eab47fdf7f0af Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 16:57:05 +0100 Subject: [PATCH 82/87] bugfix compilation script of deal.II --- src/thirdParty/compile_dealii | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thirdParty/compile_dealii b/src/thirdParty/compile_dealii index 0ccaca0a..78e9b47b 100755 --- a/src/thirdParty/compile_dealii +++ b/src/thirdParty/compile_dealii @@ -51,7 +51,7 @@ if [ ! -d "dealii-${DEALII_VERSION}" ]; then cd ../.. - cp dealii/bin/lib/libdeal* ${FOAM_LIBBIN}/ + cp dealii-${DEALII_VERSION}/bin/lib/libdeal* ${FOAM_LIBBIN}/ fi From 839f0ffa54b2a7190c213b3a232626dc352acc98 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 18:14:54 +0100 Subject: [PATCH 83/87] test suite: use separate executables --- Allclean | 6 +- Allwmake | 6 +- src/tests/app/Make/files | 57 ------------ src/tests/app/runTests.sh | 11 --- .../app/solidSolvers/dealiiSolidSolver.tpp | 1 - src/tests/runTests.py | 16 ++-- src/tests/testsuite-dealii/Make/files | 4 + .../{app => testsuite-dealii}/Make/options | 0 .../test_dealiisolidsolver.C | 0 src/tests/{app => testsuite-dealii}/tests.C | 0 src/tests/testsuite-fsi/Make/files | 28 ++++++ src/tests/testsuite-fsi/Make/options | 53 +++++++++++ .../MonolithicFsiSolver.C | 0 .../MonolithicFsiSolver.H | 0 .../TubeFlowFluidSolver.C | 0 .../TubeFlowFluidSolver.H | 0 .../TubeFlowLinearSolidSolver.C | 0 .../TubeFlowLinearSolidSolver.H | 0 .../TubeFlowLinearizedFluidSolver.C | 0 .../TubeFlowLinearizedFluidSolver.H | 0 .../TubeFlowLinearizedSolidSolver.C | 0 .../TubeFlowLinearizedSolidSolver.H | 0 .../TubeFlowSolidSolver.C | 0 .../TubeFlowSolidSolver.H | 0 .../test_absoluteconvergencemeasure.C | 0 .../test_aitkenpostprocessing.C | 0 .../test_andersonpostprocessing.C | 0 .../test_broydenpostprocessing.C | 0 .../{app => testsuite-fsi}/test_fluidsolver.C | 0 .../test_fsilinearizedsolidsolver.C | 0 .../{app => testsuite-fsi}/test_fsisolver.C | 0 .../test_implicitfsilinearizedsolidsolver.C | 0 .../test_implicitfsisolver.C | 0 .../test_linearizedfluidsolver.C | 0 .../test_linearizedsolidsolver.C | 0 .../test_linearsolidsolver.C | 0 .../test_miniterationconvergencemeasure.C | 0 .../test_monolithicfsisolver.C | 0 .../test_parallelcoupling.C | 0 .../test_relativeconvergencemeasure.C | 0 .../test_residualrelativeconvergencemeasure.C | 0 .../{app => testsuite-fsi}/test_solidsolver.C | 0 src/tests/testsuite-fsi/tests.C | 17 ++++ src/tests/testsuite-rbf/Make/files | 5 ++ src/tests/testsuite-rbf/Make/options | 53 +++++++++++ .../test_rbfcoarsening.C | 0 .../test_rbfinterpolation.C | 0 src/tests/testsuite-rbf/tests.C | 17 ++++ src/tests/{app => testsuite-sdc}/Cos.C | 0 src/tests/{app => testsuite-sdc}/Cos.H | 0 src/tests/testsuite-sdc/Make/files | 15 ++++ src/tests/testsuite-sdc/Make/options | 53 +++++++++++ src/tests/{app => testsuite-sdc}/Oscillator.C | 0 src/tests/{app => testsuite-sdc}/Oscillator.H | 0 src/tests/{app => testsuite-sdc}/Piston.C | 0 src/tests/{app => testsuite-sdc}/Piston.H | 0 .../test_adaptivetime.C | 0 .../{app => testsuite-sdc}/test_esdirk.C | 0 .../test_gausslobatto.C | 0 .../{app => testsuite-sdc}/test_gaussradau.C | 0 src/tests/{app => testsuite-sdc}/test_pies.C | 0 .../{app => testsuite-sdc}/test_quadrature.C | 0 src/tests/{app => testsuite-sdc}/test_sdc.C | 0 .../test_sdcinterpolation.C | 0 .../{app => testsuite-sdc}/test_uniform.C | 0 src/tests/testsuite-sdc/tests.C | 17 ++++ src/tests/testsuite-spacemapping/Make/files | 25 ++++++ src/tests/testsuite-spacemapping/Make/options | 53 +++++++++++ .../MonolithicFsiSolver.C | 1 + .../MonolithicFsiSolver.H | 1 + .../TubeFlowFluidSolver.C | 1 + .../TubeFlowFluidSolver.H | 1 + .../TubeFlowLinearSolidSolver.C | 1 + .../TubeFlowLinearSolidSolver.H | 1 + .../TubeFlowLinearizedFluidSolver.C | 1 + .../TubeFlowLinearizedFluidSolver.H | 1 + .../TubeFlowLinearizedSolidSolver.C | 1 + .../TubeFlowLinearizedSolidSolver.H | 1 + .../TubeFlowSolidSolver.C | 1 + .../TubeFlowSolidSolver.H | 1 + .../test_aggressivespacemapping.C | 0 .../test_asmils.C | 0 .../test_manifoldmapping.C | 0 .../test_manifoldmappinglinearizedfsisolver.C | 0 .../test_manifoldmappingsolver.C | 0 .../test_mliqnilssolver.C | 0 ...t_multilevelaggressivespacemappingsolver.C | 0 .../test_multilevelasmils.C | 0 .../test_multilevelimplicitfsisolver.C | 0 .../test_multilevelmanifoldmappingsolver.C | 0 .../test_multilevelmliqnilssolver.C | 0 .../test_multileveloutputspacemappingsolver.C | 0 .../test_multilevelsolver.C | 0 .../test_multilevelspacemapping.C | 0 .../test_outputspacemapping.C | 0 src/tests/testsuite-spacemapping/tests.C | 17 ++++ src/tests/tubeflow/TubeFlowFluidSolver.C | 2 +- src/tests/tubeflow/TubeFlowFluidSolver.H | 2 +- .../tubeflow/TubeFlowLinearSolidSolver.C | 2 +- .../tubeflow/TubeFlowLinearSolidSolver.H | 2 +- .../tubeflow/TubeFlowLinearizedFluidSolver.C | 2 +- .../tubeflow/TubeFlowLinearizedFluidSolver.H | 2 +- .../tubeflow/TubeFlowLinearizedSolidSolver.C | 2 +- .../tubeflow/TubeFlowLinearizedSolidSolver.H | 2 +- src/tests/tubeflow/TubeFlowSolidSolver.C | 2 +- src/tests/tubeflow/TubeFlowSolidSolver.H | 2 +- wercker.yml | 90 ++++++++++++++++++- 107 files changed, 487 insertions(+), 89 deletions(-) delete mode 100644 src/tests/app/Make/files delete mode 100755 src/tests/app/runTests.sh delete mode 120000 src/tests/app/solidSolvers/dealiiSolidSolver.tpp create mode 100644 src/tests/testsuite-dealii/Make/files rename src/tests/{app => testsuite-dealii}/Make/options (100%) rename src/tests/{app => testsuite-dealii}/test_dealiisolidsolver.C (100%) rename src/tests/{app => testsuite-dealii}/tests.C (100%) create mode 100644 src/tests/testsuite-fsi/Make/files create mode 100644 src/tests/testsuite-fsi/Make/options rename src/tests/{app => testsuite-fsi}/MonolithicFsiSolver.C (100%) rename src/tests/{app => testsuite-fsi}/MonolithicFsiSolver.H (100%) rename src/tests/{app => testsuite-fsi}/TubeFlowFluidSolver.C (100%) rename src/tests/{app => testsuite-fsi}/TubeFlowFluidSolver.H (100%) rename src/tests/{app => testsuite-fsi}/TubeFlowLinearSolidSolver.C (100%) rename src/tests/{app => testsuite-fsi}/TubeFlowLinearSolidSolver.H (100%) rename src/tests/{app => testsuite-fsi}/TubeFlowLinearizedFluidSolver.C (100%) rename src/tests/{app => testsuite-fsi}/TubeFlowLinearizedFluidSolver.H (100%) rename src/tests/{app => testsuite-fsi}/TubeFlowLinearizedSolidSolver.C (100%) rename src/tests/{app => testsuite-fsi}/TubeFlowLinearizedSolidSolver.H (100%) rename src/tests/{app => testsuite-fsi}/TubeFlowSolidSolver.C (100%) rename src/tests/{app => testsuite-fsi}/TubeFlowSolidSolver.H (100%) rename src/tests/{app => testsuite-fsi}/test_absoluteconvergencemeasure.C (100%) rename src/tests/{app => testsuite-fsi}/test_aitkenpostprocessing.C (100%) rename src/tests/{app => testsuite-fsi}/test_andersonpostprocessing.C (100%) rename src/tests/{app => testsuite-fsi}/test_broydenpostprocessing.C (100%) rename src/tests/{app => testsuite-fsi}/test_fluidsolver.C (100%) rename src/tests/{app => testsuite-fsi}/test_fsilinearizedsolidsolver.C (100%) rename src/tests/{app => testsuite-fsi}/test_fsisolver.C (100%) rename src/tests/{app => testsuite-fsi}/test_implicitfsilinearizedsolidsolver.C (100%) rename src/tests/{app => testsuite-fsi}/test_implicitfsisolver.C (100%) rename src/tests/{app => testsuite-fsi}/test_linearizedfluidsolver.C (100%) rename src/tests/{app => testsuite-fsi}/test_linearizedsolidsolver.C (100%) rename src/tests/{app => testsuite-fsi}/test_linearsolidsolver.C (100%) rename src/tests/{app => testsuite-fsi}/test_miniterationconvergencemeasure.C (100%) rename src/tests/{app => testsuite-fsi}/test_monolithicfsisolver.C (100%) rename src/tests/{app => testsuite-fsi}/test_parallelcoupling.C (100%) rename src/tests/{app => testsuite-fsi}/test_relativeconvergencemeasure.C (100%) rename src/tests/{app => testsuite-fsi}/test_residualrelativeconvergencemeasure.C (100%) rename src/tests/{app => testsuite-fsi}/test_solidsolver.C (100%) create mode 100644 src/tests/testsuite-fsi/tests.C create mode 100644 src/tests/testsuite-rbf/Make/files create mode 100644 src/tests/testsuite-rbf/Make/options rename src/tests/{app => testsuite-rbf}/test_rbfcoarsening.C (100%) rename src/tests/{app => testsuite-rbf}/test_rbfinterpolation.C (100%) create mode 100644 src/tests/testsuite-rbf/tests.C rename src/tests/{app => testsuite-sdc}/Cos.C (100%) rename src/tests/{app => testsuite-sdc}/Cos.H (100%) create mode 100644 src/tests/testsuite-sdc/Make/files create mode 100644 src/tests/testsuite-sdc/Make/options rename src/tests/{app => testsuite-sdc}/Oscillator.C (100%) rename src/tests/{app => testsuite-sdc}/Oscillator.H (100%) rename src/tests/{app => testsuite-sdc}/Piston.C (100%) rename src/tests/{app => testsuite-sdc}/Piston.H (100%) rename src/tests/{app => testsuite-sdc}/test_adaptivetime.C (100%) rename src/tests/{app => testsuite-sdc}/test_esdirk.C (100%) rename src/tests/{app => testsuite-sdc}/test_gausslobatto.C (100%) rename src/tests/{app => testsuite-sdc}/test_gaussradau.C (100%) rename src/tests/{app => testsuite-sdc}/test_pies.C (100%) rename src/tests/{app => testsuite-sdc}/test_quadrature.C (100%) rename src/tests/{app => testsuite-sdc}/test_sdc.C (100%) rename src/tests/{app => testsuite-sdc}/test_sdcinterpolation.C (100%) rename src/tests/{app => testsuite-sdc}/test_uniform.C (100%) create mode 100644 src/tests/testsuite-sdc/tests.C create mode 100644 src/tests/testsuite-spacemapping/Make/files create mode 100644 src/tests/testsuite-spacemapping/Make/options create mode 120000 src/tests/testsuite-spacemapping/MonolithicFsiSolver.C create mode 120000 src/tests/testsuite-spacemapping/MonolithicFsiSolver.H create mode 120000 src/tests/testsuite-spacemapping/TubeFlowFluidSolver.C create mode 120000 src/tests/testsuite-spacemapping/TubeFlowFluidSolver.H create mode 120000 src/tests/testsuite-spacemapping/TubeFlowLinearSolidSolver.C create mode 120000 src/tests/testsuite-spacemapping/TubeFlowLinearSolidSolver.H create mode 120000 src/tests/testsuite-spacemapping/TubeFlowLinearizedFluidSolver.C create mode 120000 src/tests/testsuite-spacemapping/TubeFlowLinearizedFluidSolver.H create mode 120000 src/tests/testsuite-spacemapping/TubeFlowLinearizedSolidSolver.C create mode 120000 src/tests/testsuite-spacemapping/TubeFlowLinearizedSolidSolver.H create mode 120000 src/tests/testsuite-spacemapping/TubeFlowSolidSolver.C create mode 120000 src/tests/testsuite-spacemapping/TubeFlowSolidSolver.H rename src/tests/{app => testsuite-spacemapping}/test_aggressivespacemapping.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_asmils.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_manifoldmapping.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_manifoldmappinglinearizedfsisolver.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_manifoldmappingsolver.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_mliqnilssolver.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_multilevelaggressivespacemappingsolver.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_multilevelasmils.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_multilevelimplicitfsisolver.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_multilevelmanifoldmappingsolver.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_multilevelmliqnilssolver.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_multileveloutputspacemappingsolver.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_multilevelsolver.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_multilevelspacemapping.C (100%) rename src/tests/{app => testsuite-spacemapping}/test_outputspacemapping.C (100%) create mode 100644 src/tests/testsuite-spacemapping/tests.C diff --git a/Allclean b/Allclean index b535a616..9569d0a1 100755 --- a/Allclean +++ b/Allclean @@ -26,5 +26,9 @@ wclean applications/solvers/fsi/fluidFoam wclean applications/solvers/fsi/solidFoam wclean applications/solvers/fsi/fsiFluidFoam wclean applications/solvers/fsi/fsiSolidFoam -wclean src/tests/app +wclean src/tests/testsuite-dealii +wclean src/tests/testsuite-fsi +wclean src/tests/testsuite-rbf +wclean src/tests/testsuite-sdc +wclean src/tests/testsuite-spacemapping wclean src/tests/tubeflow diff --git a/Allwmake b/Allwmake index b07a828b..1eafcb2f 100755 --- a/Allwmake +++ b/Allwmake @@ -30,7 +30,11 @@ wmake applications/solvers/unsteadyPUCoupledFoam wmake applications/solvers/fsi/fsiFoam wmake applications/solvers/fsi/solidFoam wmake applications/solvers/fsi/fluidFoam -wmake src/tests/app +wmake src/tests/testsuite-dealii +wmake src/tests/testsuite-fsi +wmake src/tests/testsuite-rbf +wmake src/tests/testsuite-sdc +wmake src/tests/testsuite-spacemapping wmake src/tests/tubeflow wmake applications/solvers/fsi/fsiSolidFoam wmake applications/solvers/fsi/fsiFluidFoam diff --git a/src/tests/app/Make/files b/src/tests/app/Make/files deleted file mode 100644 index b48efef2..00000000 --- a/src/tests/app/Make/files +++ /dev/null @@ -1,57 +0,0 @@ -TubeFlowFluidSolver.C -TubeFlowSolidSolver.C -TubeFlowLinearizedSolidSolver.C -TubeFlowLinearSolidSolver.C -TubeFlowLinearizedFluidSolver.C -MonolithicFsiSolver.C -Cos.C -Oscillator.C -Piston.C - -tests.C -test_fluidsolver.C -test_solidsolver.C -test_fsisolver.C -test_implicitfsisolver.C -test_manifoldmapping.C -test_multilevelsolver.C -test_rbfinterpolation.C -test_monolithicfsisolver.C -test_manifoldmappingsolver.C -test_relativeconvergencemeasure.C -test_miniterationconvergencemeasure.C -test_multilevelmanifoldmappingsolver.C -test_mliqnilssolver.C -test_parallelcoupling.C -test_multilevelimplicitfsisolver.C -test_broydenpostprocessing.C -test_aggressivespacemapping.C -test_multilevelaggressivespacemappingsolver.C -test_asmils.C -test_multilevelasmils.C -test_aitkenpostprocessing.C -test_outputspacemapping.C -test_multileveloutputspacemappingsolver.C -test_andersonpostprocessing.C -test_linearizedsolidsolver.C -test_linearsolidsolver.C -test_fsilinearizedsolidsolver.C -test_implicitfsilinearizedsolidsolver.C -test_linearizedfluidsolver.C -test_manifoldmappinglinearizedfsisolver.C -test_rbfcoarsening.C -test_multilevelspacemapping.C -test_multilevelmliqnilssolver.C -test_sdc.C -test_esdirk.C -test_pies.C -test_absoluteconvergencemeasure.C -test_residualrelativeconvergencemeasure.C -test_dealiisolidsolver.C -test_gaussradau.C -test_uniform.C -test_quadrature.C -test_gausslobatto.C -test_sdcinterpolation.C - -EXE = $(FOAM_APPBIN)/tests diff --git a/src/tests/app/runTests.sh b/src/tests/app/runTests.sh deleted file mode 100755 index 4c3f4529..00000000 --- a/src/tests/app/runTests.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -set -e -rm -rf out -wclean -wmake -tests --gtest_throw_on_failure -lcov -c --directory . --output-file coverage.info -genhtml coverage.info --output-directory out --demangle-cpp --no-function-coverage -rm coverage.info -kde-open out/index.html diff --git a/src/tests/app/solidSolvers/dealiiSolidSolver.tpp b/src/tests/app/solidSolvers/dealiiSolidSolver.tpp deleted file mode 120000 index 6007a8d7..00000000 --- a/src/tests/app/solidSolvers/dealiiSolidSolver.tpp +++ /dev/null @@ -1 +0,0 @@ -../../../fsi/solidSolvers/dealiiSolidSolver.tpp \ No newline at end of file diff --git a/src/tests/runTests.py b/src/tests/runTests.py index 34da30fb..a352f3ff 100755 --- a/src/tests/runTests.py +++ b/src/tests/runTests.py @@ -1,28 +1,34 @@ #!/usr/bin/env python -import os, subprocess, multiprocessing, time, sys +import os, subprocess, multiprocessing, time, sys, argparse -nbCores = multiprocessing.cpu_count() +nbCores = int( os.environ['WM_NCOMPPROCS'] ) + +parser = argparse.ArgumentParser( description='Run the test suite' ) +parser.add_argument('testsuite', help='which testsuite: testsuite-dealii, testsuite-rbf, testsuite-spacemapping, testsuite-fsi, or testsuite-sdc' ) +args = parser.parse_args() runs = [] for i in range( nbCores ): - run = subprocess.Popen( "GTEST_TOTAL_SHARDS=" + str(nbCores) + " GTEST_SHARD_INDEX=" + str(i) + " tests --gtest_throw_on_failure > tests_" + str(i) + ".log 2>&1", shell = True ) + run = subprocess.Popen( "GTEST_TOTAL_SHARDS=" + str(nbCores) + " GTEST_SHARD_INDEX=" + str(i) + " " + args.testsuite + " --gtest_throw_on_failure > tests_" + str(i) + ".log 2>&1", shell = True ) runs.append( run ) returnCode = 0 for run in runs: code = None while code is None: - time.sleep( 5 ) print '.' sys.stdout.flush() code = run.poll() if code > returnCode: returnCode = code + if code is not None: + break + time.sleep( 5 ) for i in range( nbCores ): - subprocess.call("tail -n 50 tests_" + str(i) + ".log 2>&1", shell=True) + subprocess.call("tail -n 20 tests_" + str(i) + ".log 2>&1", shell=True) if returnCode == 0: print "Finished successfully" diff --git a/src/tests/testsuite-dealii/Make/files b/src/tests/testsuite-dealii/Make/files new file mode 100644 index 00000000..63e9f497 --- /dev/null +++ b/src/tests/testsuite-dealii/Make/files @@ -0,0 +1,4 @@ +tests.C +test_dealiisolidsolver.C + +EXE = $(FOAM_APPBIN)/testsuite-dealii diff --git a/src/tests/app/Make/options b/src/tests/testsuite-dealii/Make/options similarity index 100% rename from src/tests/app/Make/options rename to src/tests/testsuite-dealii/Make/options diff --git a/src/tests/app/test_dealiisolidsolver.C b/src/tests/testsuite-dealii/test_dealiisolidsolver.C similarity index 100% rename from src/tests/app/test_dealiisolidsolver.C rename to src/tests/testsuite-dealii/test_dealiisolidsolver.C diff --git a/src/tests/app/tests.C b/src/tests/testsuite-dealii/tests.C similarity index 100% rename from src/tests/app/tests.C rename to src/tests/testsuite-dealii/tests.C diff --git a/src/tests/testsuite-fsi/Make/files b/src/tests/testsuite-fsi/Make/files new file mode 100644 index 00000000..480b7fef --- /dev/null +++ b/src/tests/testsuite-fsi/Make/files @@ -0,0 +1,28 @@ +test_absoluteconvergencemeasure.C +test_aitkenpostprocessing.C +test_andersonpostprocessing.C +test_broydenpostprocessing.C +test_fluidsolver.C +test_fsilinearizedsolidsolver.C +test_fsisolver.C +test_implicitfsilinearizedsolidsolver.C +test_implicitfsisolver.C +test_linearizedfluidsolver.C +test_linearizedsolidsolver.C +test_linearsolidsolver.C +test_miniterationconvergencemeasure.C +test_monolithicfsisolver.C +test_parallelcoupling.C +test_relativeconvergencemeasure.C +test_residualrelativeconvergencemeasure.C +test_solidsolver.C +tests.C + +MonolithicFsiSolver.C +TubeFlowFluidSolver.C +TubeFlowLinearizedFluidSolver.C +TubeFlowLinearizedSolidSolver.C +TubeFlowLinearSolidSolver.C +TubeFlowSolidSolver.C + +EXE = $(FOAM_APPBIN)/testsuite-fsi diff --git a/src/tests/testsuite-fsi/Make/options b/src/tests/testsuite-fsi/Make/options new file mode 100644 index 00000000..f8042207 --- /dev/null +++ b/src/tests/testsuite-fsi/Make/options @@ -0,0 +1,53 @@ +c++WARN = -Wall -Wextra -Werror -Wno-literal-suffix + +EXE_INC = -std=c++11 \ + -I ../../fsi \ + -I ../../fsi/lnInclude \ + -I ../../fsi/solidSolvers \ + -DEIGEN_INITIALIZE_MATRICES_BY_NAN \ + -I ../../RBFmeshInterpolation/lnInclude/ \ + -isystem $(LIB_SRC)/finiteVolume/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/dynamicFvMesh/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude \ + -isystem $(LIB_SRC)/transportModels \ + -isystem $(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \ + -isystem $(LIB_SRC)/turbulenceModels \ + -isystem $(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \ + -isystem $(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \ + -isystem ../../thirdParty/eigen \ + -isystem ../../thirdParty/boost \ + -isystem ../../thirdParty/gtest/include \ + $(WM_DECOMP_INC) \ + -I ../../RBFMeshMotionSolver/lnInclude/ \ + -isystem $(LIB_SRC)/meshTools/lnInclude \ + -isystem $(LIB_SRC)/solidModels/lnInclude \ + -isystem ../../thirdParty/deal-fsi/include \ + -isystem ../../thirdParty/dealii/bin/include \ + -isystem ../../thirdParty/dealii/bin/include/deal.II/bundled \ + -isystem ../../thirdParty/dealii/bundled/umfpack/UMFPACK/Include \ + -isystem ../../thirdParty/dealii/bundled/umfpack/AMD/Include \ + -isystem ../../thirdParty/petsc/include \ + -isystem ../../thirdParty/petsc/x86_64/include + +EXE_LIBS = \ + -L$(FOAM_USER_LIBBIN) \ + -L../../thirdParty/gtest \ + -lgtest \ + -ldynamicFvMesh \ + -ltopoChangerFvMesh \ + -ldynamicMesh \ + -lmeshTools \ + -lincompressibleTransportModels \ + -lincompressibleTurbulenceModel \ + -lincompressibleRASModels \ + -lincompressibleLESModels \ + -lfiniteVolume \ + -lsolidModels \ + -lRBFMeshMotionSolver \ + -lbasicThermophysicalModels \ + -lspecie \ + -lcompressibleRASModels \ + -ldeal_II \ + -lfsi \ + -lboundaryConditions diff --git a/src/tests/app/MonolithicFsiSolver.C b/src/tests/testsuite-fsi/MonolithicFsiSolver.C similarity index 100% rename from src/tests/app/MonolithicFsiSolver.C rename to src/tests/testsuite-fsi/MonolithicFsiSolver.C diff --git a/src/tests/app/MonolithicFsiSolver.H b/src/tests/testsuite-fsi/MonolithicFsiSolver.H similarity index 100% rename from src/tests/app/MonolithicFsiSolver.H rename to src/tests/testsuite-fsi/MonolithicFsiSolver.H diff --git a/src/tests/app/TubeFlowFluidSolver.C b/src/tests/testsuite-fsi/TubeFlowFluidSolver.C similarity index 100% rename from src/tests/app/TubeFlowFluidSolver.C rename to src/tests/testsuite-fsi/TubeFlowFluidSolver.C diff --git a/src/tests/app/TubeFlowFluidSolver.H b/src/tests/testsuite-fsi/TubeFlowFluidSolver.H similarity index 100% rename from src/tests/app/TubeFlowFluidSolver.H rename to src/tests/testsuite-fsi/TubeFlowFluidSolver.H diff --git a/src/tests/app/TubeFlowLinearSolidSolver.C b/src/tests/testsuite-fsi/TubeFlowLinearSolidSolver.C similarity index 100% rename from src/tests/app/TubeFlowLinearSolidSolver.C rename to src/tests/testsuite-fsi/TubeFlowLinearSolidSolver.C diff --git a/src/tests/app/TubeFlowLinearSolidSolver.H b/src/tests/testsuite-fsi/TubeFlowLinearSolidSolver.H similarity index 100% rename from src/tests/app/TubeFlowLinearSolidSolver.H rename to src/tests/testsuite-fsi/TubeFlowLinearSolidSolver.H diff --git a/src/tests/app/TubeFlowLinearizedFluidSolver.C b/src/tests/testsuite-fsi/TubeFlowLinearizedFluidSolver.C similarity index 100% rename from src/tests/app/TubeFlowLinearizedFluidSolver.C rename to src/tests/testsuite-fsi/TubeFlowLinearizedFluidSolver.C diff --git a/src/tests/app/TubeFlowLinearizedFluidSolver.H b/src/tests/testsuite-fsi/TubeFlowLinearizedFluidSolver.H similarity index 100% rename from src/tests/app/TubeFlowLinearizedFluidSolver.H rename to src/tests/testsuite-fsi/TubeFlowLinearizedFluidSolver.H diff --git a/src/tests/app/TubeFlowLinearizedSolidSolver.C b/src/tests/testsuite-fsi/TubeFlowLinearizedSolidSolver.C similarity index 100% rename from src/tests/app/TubeFlowLinearizedSolidSolver.C rename to src/tests/testsuite-fsi/TubeFlowLinearizedSolidSolver.C diff --git a/src/tests/app/TubeFlowLinearizedSolidSolver.H b/src/tests/testsuite-fsi/TubeFlowLinearizedSolidSolver.H similarity index 100% rename from src/tests/app/TubeFlowLinearizedSolidSolver.H rename to src/tests/testsuite-fsi/TubeFlowLinearizedSolidSolver.H diff --git a/src/tests/app/TubeFlowSolidSolver.C b/src/tests/testsuite-fsi/TubeFlowSolidSolver.C similarity index 100% rename from src/tests/app/TubeFlowSolidSolver.C rename to src/tests/testsuite-fsi/TubeFlowSolidSolver.C diff --git a/src/tests/app/TubeFlowSolidSolver.H b/src/tests/testsuite-fsi/TubeFlowSolidSolver.H similarity index 100% rename from src/tests/app/TubeFlowSolidSolver.H rename to src/tests/testsuite-fsi/TubeFlowSolidSolver.H diff --git a/src/tests/app/test_absoluteconvergencemeasure.C b/src/tests/testsuite-fsi/test_absoluteconvergencemeasure.C similarity index 100% rename from src/tests/app/test_absoluteconvergencemeasure.C rename to src/tests/testsuite-fsi/test_absoluteconvergencemeasure.C diff --git a/src/tests/app/test_aitkenpostprocessing.C b/src/tests/testsuite-fsi/test_aitkenpostprocessing.C similarity index 100% rename from src/tests/app/test_aitkenpostprocessing.C rename to src/tests/testsuite-fsi/test_aitkenpostprocessing.C diff --git a/src/tests/app/test_andersonpostprocessing.C b/src/tests/testsuite-fsi/test_andersonpostprocessing.C similarity index 100% rename from src/tests/app/test_andersonpostprocessing.C rename to src/tests/testsuite-fsi/test_andersonpostprocessing.C diff --git a/src/tests/app/test_broydenpostprocessing.C b/src/tests/testsuite-fsi/test_broydenpostprocessing.C similarity index 100% rename from src/tests/app/test_broydenpostprocessing.C rename to src/tests/testsuite-fsi/test_broydenpostprocessing.C diff --git a/src/tests/app/test_fluidsolver.C b/src/tests/testsuite-fsi/test_fluidsolver.C similarity index 100% rename from src/tests/app/test_fluidsolver.C rename to src/tests/testsuite-fsi/test_fluidsolver.C diff --git a/src/tests/app/test_fsilinearizedsolidsolver.C b/src/tests/testsuite-fsi/test_fsilinearizedsolidsolver.C similarity index 100% rename from src/tests/app/test_fsilinearizedsolidsolver.C rename to src/tests/testsuite-fsi/test_fsilinearizedsolidsolver.C diff --git a/src/tests/app/test_fsisolver.C b/src/tests/testsuite-fsi/test_fsisolver.C similarity index 100% rename from src/tests/app/test_fsisolver.C rename to src/tests/testsuite-fsi/test_fsisolver.C diff --git a/src/tests/app/test_implicitfsilinearizedsolidsolver.C b/src/tests/testsuite-fsi/test_implicitfsilinearizedsolidsolver.C similarity index 100% rename from src/tests/app/test_implicitfsilinearizedsolidsolver.C rename to src/tests/testsuite-fsi/test_implicitfsilinearizedsolidsolver.C diff --git a/src/tests/app/test_implicitfsisolver.C b/src/tests/testsuite-fsi/test_implicitfsisolver.C similarity index 100% rename from src/tests/app/test_implicitfsisolver.C rename to src/tests/testsuite-fsi/test_implicitfsisolver.C diff --git a/src/tests/app/test_linearizedfluidsolver.C b/src/tests/testsuite-fsi/test_linearizedfluidsolver.C similarity index 100% rename from src/tests/app/test_linearizedfluidsolver.C rename to src/tests/testsuite-fsi/test_linearizedfluidsolver.C diff --git a/src/tests/app/test_linearizedsolidsolver.C b/src/tests/testsuite-fsi/test_linearizedsolidsolver.C similarity index 100% rename from src/tests/app/test_linearizedsolidsolver.C rename to src/tests/testsuite-fsi/test_linearizedsolidsolver.C diff --git a/src/tests/app/test_linearsolidsolver.C b/src/tests/testsuite-fsi/test_linearsolidsolver.C similarity index 100% rename from src/tests/app/test_linearsolidsolver.C rename to src/tests/testsuite-fsi/test_linearsolidsolver.C diff --git a/src/tests/app/test_miniterationconvergencemeasure.C b/src/tests/testsuite-fsi/test_miniterationconvergencemeasure.C similarity index 100% rename from src/tests/app/test_miniterationconvergencemeasure.C rename to src/tests/testsuite-fsi/test_miniterationconvergencemeasure.C diff --git a/src/tests/app/test_monolithicfsisolver.C b/src/tests/testsuite-fsi/test_monolithicfsisolver.C similarity index 100% rename from src/tests/app/test_monolithicfsisolver.C rename to src/tests/testsuite-fsi/test_monolithicfsisolver.C diff --git a/src/tests/app/test_parallelcoupling.C b/src/tests/testsuite-fsi/test_parallelcoupling.C similarity index 100% rename from src/tests/app/test_parallelcoupling.C rename to src/tests/testsuite-fsi/test_parallelcoupling.C diff --git a/src/tests/app/test_relativeconvergencemeasure.C b/src/tests/testsuite-fsi/test_relativeconvergencemeasure.C similarity index 100% rename from src/tests/app/test_relativeconvergencemeasure.C rename to src/tests/testsuite-fsi/test_relativeconvergencemeasure.C diff --git a/src/tests/app/test_residualrelativeconvergencemeasure.C b/src/tests/testsuite-fsi/test_residualrelativeconvergencemeasure.C similarity index 100% rename from src/tests/app/test_residualrelativeconvergencemeasure.C rename to src/tests/testsuite-fsi/test_residualrelativeconvergencemeasure.C diff --git a/src/tests/app/test_solidsolver.C b/src/tests/testsuite-fsi/test_solidsolver.C similarity index 100% rename from src/tests/app/test_solidsolver.C rename to src/tests/testsuite-fsi/test_solidsolver.C diff --git a/src/tests/testsuite-fsi/tests.C b/src/tests/testsuite-fsi/tests.C new file mode 100644 index 00000000..113a1875 --- /dev/null +++ b/src/tests/testsuite-fsi/tests.C @@ -0,0 +1,17 @@ + +/* + * Author + * David Blom, TU Delft. All rights reserved. + */ + +#include "gtest/gtest.h" +#include + +int main( + int argc, + char ** argv + ) +{ + ::testing::InitGoogleTest( &argc, argv ); + return RUN_ALL_TESTS(); +} diff --git a/src/tests/testsuite-rbf/Make/files b/src/tests/testsuite-rbf/Make/files new file mode 100644 index 00000000..72345e0f --- /dev/null +++ b/src/tests/testsuite-rbf/Make/files @@ -0,0 +1,5 @@ +tests.C +test_rbfcoarsening.C +test_rbfinterpolation.C + +EXE = $(FOAM_APPBIN)/testsuite-rbf diff --git a/src/tests/testsuite-rbf/Make/options b/src/tests/testsuite-rbf/Make/options new file mode 100644 index 00000000..f8042207 --- /dev/null +++ b/src/tests/testsuite-rbf/Make/options @@ -0,0 +1,53 @@ +c++WARN = -Wall -Wextra -Werror -Wno-literal-suffix + +EXE_INC = -std=c++11 \ + -I ../../fsi \ + -I ../../fsi/lnInclude \ + -I ../../fsi/solidSolvers \ + -DEIGEN_INITIALIZE_MATRICES_BY_NAN \ + -I ../../RBFmeshInterpolation/lnInclude/ \ + -isystem $(LIB_SRC)/finiteVolume/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/dynamicFvMesh/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude \ + -isystem $(LIB_SRC)/transportModels \ + -isystem $(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \ + -isystem $(LIB_SRC)/turbulenceModels \ + -isystem $(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \ + -isystem $(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \ + -isystem ../../thirdParty/eigen \ + -isystem ../../thirdParty/boost \ + -isystem ../../thirdParty/gtest/include \ + $(WM_DECOMP_INC) \ + -I ../../RBFMeshMotionSolver/lnInclude/ \ + -isystem $(LIB_SRC)/meshTools/lnInclude \ + -isystem $(LIB_SRC)/solidModels/lnInclude \ + -isystem ../../thirdParty/deal-fsi/include \ + -isystem ../../thirdParty/dealii/bin/include \ + -isystem ../../thirdParty/dealii/bin/include/deal.II/bundled \ + -isystem ../../thirdParty/dealii/bundled/umfpack/UMFPACK/Include \ + -isystem ../../thirdParty/dealii/bundled/umfpack/AMD/Include \ + -isystem ../../thirdParty/petsc/include \ + -isystem ../../thirdParty/petsc/x86_64/include + +EXE_LIBS = \ + -L$(FOAM_USER_LIBBIN) \ + -L../../thirdParty/gtest \ + -lgtest \ + -ldynamicFvMesh \ + -ltopoChangerFvMesh \ + -ldynamicMesh \ + -lmeshTools \ + -lincompressibleTransportModels \ + -lincompressibleTurbulenceModel \ + -lincompressibleRASModels \ + -lincompressibleLESModels \ + -lfiniteVolume \ + -lsolidModels \ + -lRBFMeshMotionSolver \ + -lbasicThermophysicalModels \ + -lspecie \ + -lcompressibleRASModels \ + -ldeal_II \ + -lfsi \ + -lboundaryConditions diff --git a/src/tests/app/test_rbfcoarsening.C b/src/tests/testsuite-rbf/test_rbfcoarsening.C similarity index 100% rename from src/tests/app/test_rbfcoarsening.C rename to src/tests/testsuite-rbf/test_rbfcoarsening.C diff --git a/src/tests/app/test_rbfinterpolation.C b/src/tests/testsuite-rbf/test_rbfinterpolation.C similarity index 100% rename from src/tests/app/test_rbfinterpolation.C rename to src/tests/testsuite-rbf/test_rbfinterpolation.C diff --git a/src/tests/testsuite-rbf/tests.C b/src/tests/testsuite-rbf/tests.C new file mode 100644 index 00000000..113a1875 --- /dev/null +++ b/src/tests/testsuite-rbf/tests.C @@ -0,0 +1,17 @@ + +/* + * Author + * David Blom, TU Delft. All rights reserved. + */ + +#include "gtest/gtest.h" +#include + +int main( + int argc, + char ** argv + ) +{ + ::testing::InitGoogleTest( &argc, argv ); + return RUN_ALL_TESTS(); +} diff --git a/src/tests/app/Cos.C b/src/tests/testsuite-sdc/Cos.C similarity index 100% rename from src/tests/app/Cos.C rename to src/tests/testsuite-sdc/Cos.C diff --git a/src/tests/app/Cos.H b/src/tests/testsuite-sdc/Cos.H similarity index 100% rename from src/tests/app/Cos.H rename to src/tests/testsuite-sdc/Cos.H diff --git a/src/tests/testsuite-sdc/Make/files b/src/tests/testsuite-sdc/Make/files new file mode 100644 index 00000000..0d2671f3 --- /dev/null +++ b/src/tests/testsuite-sdc/Make/files @@ -0,0 +1,15 @@ +test_esdirk.C +test_gausslobatto.C +test_gaussradau.C +test_pies.C +test_quadrature.C +test_sdc.C +test_sdcinterpolation.C +test_uniform.C +tests.C + +Piston.C +Cos.C +Oscillator.C + +EXE = $(FOAM_APPBIN)/testsuite-sdc diff --git a/src/tests/testsuite-sdc/Make/options b/src/tests/testsuite-sdc/Make/options new file mode 100644 index 00000000..f8042207 --- /dev/null +++ b/src/tests/testsuite-sdc/Make/options @@ -0,0 +1,53 @@ +c++WARN = -Wall -Wextra -Werror -Wno-literal-suffix + +EXE_INC = -std=c++11 \ + -I ../../fsi \ + -I ../../fsi/lnInclude \ + -I ../../fsi/solidSolvers \ + -DEIGEN_INITIALIZE_MATRICES_BY_NAN \ + -I ../../RBFmeshInterpolation/lnInclude/ \ + -isystem $(LIB_SRC)/finiteVolume/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/dynamicFvMesh/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude \ + -isystem $(LIB_SRC)/transportModels \ + -isystem $(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \ + -isystem $(LIB_SRC)/turbulenceModels \ + -isystem $(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \ + -isystem $(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \ + -isystem ../../thirdParty/eigen \ + -isystem ../../thirdParty/boost \ + -isystem ../../thirdParty/gtest/include \ + $(WM_DECOMP_INC) \ + -I ../../RBFMeshMotionSolver/lnInclude/ \ + -isystem $(LIB_SRC)/meshTools/lnInclude \ + -isystem $(LIB_SRC)/solidModels/lnInclude \ + -isystem ../../thirdParty/deal-fsi/include \ + -isystem ../../thirdParty/dealii/bin/include \ + -isystem ../../thirdParty/dealii/bin/include/deal.II/bundled \ + -isystem ../../thirdParty/dealii/bundled/umfpack/UMFPACK/Include \ + -isystem ../../thirdParty/dealii/bundled/umfpack/AMD/Include \ + -isystem ../../thirdParty/petsc/include \ + -isystem ../../thirdParty/petsc/x86_64/include + +EXE_LIBS = \ + -L$(FOAM_USER_LIBBIN) \ + -L../../thirdParty/gtest \ + -lgtest \ + -ldynamicFvMesh \ + -ltopoChangerFvMesh \ + -ldynamicMesh \ + -lmeshTools \ + -lincompressibleTransportModels \ + -lincompressibleTurbulenceModel \ + -lincompressibleRASModels \ + -lincompressibleLESModels \ + -lfiniteVolume \ + -lsolidModels \ + -lRBFMeshMotionSolver \ + -lbasicThermophysicalModels \ + -lspecie \ + -lcompressibleRASModels \ + -ldeal_II \ + -lfsi \ + -lboundaryConditions diff --git a/src/tests/app/Oscillator.C b/src/tests/testsuite-sdc/Oscillator.C similarity index 100% rename from src/tests/app/Oscillator.C rename to src/tests/testsuite-sdc/Oscillator.C diff --git a/src/tests/app/Oscillator.H b/src/tests/testsuite-sdc/Oscillator.H similarity index 100% rename from src/tests/app/Oscillator.H rename to src/tests/testsuite-sdc/Oscillator.H diff --git a/src/tests/app/Piston.C b/src/tests/testsuite-sdc/Piston.C similarity index 100% rename from src/tests/app/Piston.C rename to src/tests/testsuite-sdc/Piston.C diff --git a/src/tests/app/Piston.H b/src/tests/testsuite-sdc/Piston.H similarity index 100% rename from src/tests/app/Piston.H rename to src/tests/testsuite-sdc/Piston.H diff --git a/src/tests/app/test_adaptivetime.C b/src/tests/testsuite-sdc/test_adaptivetime.C similarity index 100% rename from src/tests/app/test_adaptivetime.C rename to src/tests/testsuite-sdc/test_adaptivetime.C diff --git a/src/tests/app/test_esdirk.C b/src/tests/testsuite-sdc/test_esdirk.C similarity index 100% rename from src/tests/app/test_esdirk.C rename to src/tests/testsuite-sdc/test_esdirk.C diff --git a/src/tests/app/test_gausslobatto.C b/src/tests/testsuite-sdc/test_gausslobatto.C similarity index 100% rename from src/tests/app/test_gausslobatto.C rename to src/tests/testsuite-sdc/test_gausslobatto.C diff --git a/src/tests/app/test_gaussradau.C b/src/tests/testsuite-sdc/test_gaussradau.C similarity index 100% rename from src/tests/app/test_gaussradau.C rename to src/tests/testsuite-sdc/test_gaussradau.C diff --git a/src/tests/app/test_pies.C b/src/tests/testsuite-sdc/test_pies.C similarity index 100% rename from src/tests/app/test_pies.C rename to src/tests/testsuite-sdc/test_pies.C diff --git a/src/tests/app/test_quadrature.C b/src/tests/testsuite-sdc/test_quadrature.C similarity index 100% rename from src/tests/app/test_quadrature.C rename to src/tests/testsuite-sdc/test_quadrature.C diff --git a/src/tests/app/test_sdc.C b/src/tests/testsuite-sdc/test_sdc.C similarity index 100% rename from src/tests/app/test_sdc.C rename to src/tests/testsuite-sdc/test_sdc.C diff --git a/src/tests/app/test_sdcinterpolation.C b/src/tests/testsuite-sdc/test_sdcinterpolation.C similarity index 100% rename from src/tests/app/test_sdcinterpolation.C rename to src/tests/testsuite-sdc/test_sdcinterpolation.C diff --git a/src/tests/app/test_uniform.C b/src/tests/testsuite-sdc/test_uniform.C similarity index 100% rename from src/tests/app/test_uniform.C rename to src/tests/testsuite-sdc/test_uniform.C diff --git a/src/tests/testsuite-sdc/tests.C b/src/tests/testsuite-sdc/tests.C new file mode 100644 index 00000000..113a1875 --- /dev/null +++ b/src/tests/testsuite-sdc/tests.C @@ -0,0 +1,17 @@ + +/* + * Author + * David Blom, TU Delft. All rights reserved. + */ + +#include "gtest/gtest.h" +#include + +int main( + int argc, + char ** argv + ) +{ + ::testing::InitGoogleTest( &argc, argv ); + return RUN_ALL_TESTS(); +} diff --git a/src/tests/testsuite-spacemapping/Make/files b/src/tests/testsuite-spacemapping/Make/files new file mode 100644 index 00000000..f02f3179 --- /dev/null +++ b/src/tests/testsuite-spacemapping/Make/files @@ -0,0 +1,25 @@ +tests.C +test_aggressivespacemapping.C +test_asmils.C +test_manifoldmapping.C +test_manifoldmappinglinearizedfsisolver.C +test_manifoldmappingsolver.C +test_mliqnilssolver.C +test_multilevelaggressivespacemappingsolver.C +test_multilevelasmils.C +test_multilevelimplicitfsisolver.C +test_multilevelmanifoldmappingsolver.C +test_multilevelmliqnilssolver.C +test_multileveloutputspacemappingsolver.C +test_multilevelsolver.C +test_multilevelspacemapping.C +test_outputspacemapping.C + +MonolithicFsiSolver.C +TubeFlowFluidSolver.C +TubeFlowLinearizedFluidSolver.C +TubeFlowLinearizedSolidSolver.C +TubeFlowLinearSolidSolver.C +TubeFlowSolidSolver.C + +EXE = $(FOAM_APPBIN)/testsuite-spacemapping diff --git a/src/tests/testsuite-spacemapping/Make/options b/src/tests/testsuite-spacemapping/Make/options new file mode 100644 index 00000000..f8042207 --- /dev/null +++ b/src/tests/testsuite-spacemapping/Make/options @@ -0,0 +1,53 @@ +c++WARN = -Wall -Wextra -Werror -Wno-literal-suffix + +EXE_INC = -std=c++11 \ + -I ../../fsi \ + -I ../../fsi/lnInclude \ + -I ../../fsi/solidSolvers \ + -DEIGEN_INITIALIZE_MATRICES_BY_NAN \ + -I ../../RBFmeshInterpolation/lnInclude/ \ + -isystem $(LIB_SRC)/finiteVolume/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/dynamicFvMesh/lnInclude \ + -isystem $(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude \ + -isystem $(LIB_SRC)/transportModels \ + -isystem $(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \ + -isystem $(LIB_SRC)/turbulenceModels \ + -isystem $(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \ + -isystem $(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \ + -isystem ../../thirdParty/eigen \ + -isystem ../../thirdParty/boost \ + -isystem ../../thirdParty/gtest/include \ + $(WM_DECOMP_INC) \ + -I ../../RBFMeshMotionSolver/lnInclude/ \ + -isystem $(LIB_SRC)/meshTools/lnInclude \ + -isystem $(LIB_SRC)/solidModels/lnInclude \ + -isystem ../../thirdParty/deal-fsi/include \ + -isystem ../../thirdParty/dealii/bin/include \ + -isystem ../../thirdParty/dealii/bin/include/deal.II/bundled \ + -isystem ../../thirdParty/dealii/bundled/umfpack/UMFPACK/Include \ + -isystem ../../thirdParty/dealii/bundled/umfpack/AMD/Include \ + -isystem ../../thirdParty/petsc/include \ + -isystem ../../thirdParty/petsc/x86_64/include + +EXE_LIBS = \ + -L$(FOAM_USER_LIBBIN) \ + -L../../thirdParty/gtest \ + -lgtest \ + -ldynamicFvMesh \ + -ltopoChangerFvMesh \ + -ldynamicMesh \ + -lmeshTools \ + -lincompressibleTransportModels \ + -lincompressibleTurbulenceModel \ + -lincompressibleRASModels \ + -lincompressibleLESModels \ + -lfiniteVolume \ + -lsolidModels \ + -lRBFMeshMotionSolver \ + -lbasicThermophysicalModels \ + -lspecie \ + -lcompressibleRASModels \ + -ldeal_II \ + -lfsi \ + -lboundaryConditions diff --git a/src/tests/testsuite-spacemapping/MonolithicFsiSolver.C b/src/tests/testsuite-spacemapping/MonolithicFsiSolver.C new file mode 120000 index 00000000..95811a4c --- /dev/null +++ b/src/tests/testsuite-spacemapping/MonolithicFsiSolver.C @@ -0,0 +1 @@ +../testsuite-fsi/MonolithicFsiSolver.C \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/MonolithicFsiSolver.H b/src/tests/testsuite-spacemapping/MonolithicFsiSolver.H new file mode 120000 index 00000000..ae7f5455 --- /dev/null +++ b/src/tests/testsuite-spacemapping/MonolithicFsiSolver.H @@ -0,0 +1 @@ +../testsuite-fsi/MonolithicFsiSolver.H \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/TubeFlowFluidSolver.C b/src/tests/testsuite-spacemapping/TubeFlowFluidSolver.C new file mode 120000 index 00000000..5c5b5911 --- /dev/null +++ b/src/tests/testsuite-spacemapping/TubeFlowFluidSolver.C @@ -0,0 +1 @@ +../testsuite-fsi/TubeFlowFluidSolver.C \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/TubeFlowFluidSolver.H b/src/tests/testsuite-spacemapping/TubeFlowFluidSolver.H new file mode 120000 index 00000000..58e8c2d2 --- /dev/null +++ b/src/tests/testsuite-spacemapping/TubeFlowFluidSolver.H @@ -0,0 +1 @@ +../testsuite-fsi/TubeFlowFluidSolver.H \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/TubeFlowLinearSolidSolver.C b/src/tests/testsuite-spacemapping/TubeFlowLinearSolidSolver.C new file mode 120000 index 00000000..cb70555e --- /dev/null +++ b/src/tests/testsuite-spacemapping/TubeFlowLinearSolidSolver.C @@ -0,0 +1 @@ +../testsuite-fsi/TubeFlowLinearSolidSolver.C \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/TubeFlowLinearSolidSolver.H b/src/tests/testsuite-spacemapping/TubeFlowLinearSolidSolver.H new file mode 120000 index 00000000..3d0987ee --- /dev/null +++ b/src/tests/testsuite-spacemapping/TubeFlowLinearSolidSolver.H @@ -0,0 +1 @@ +../testsuite-fsi/TubeFlowLinearSolidSolver.H \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/TubeFlowLinearizedFluidSolver.C b/src/tests/testsuite-spacemapping/TubeFlowLinearizedFluidSolver.C new file mode 120000 index 00000000..d48d296e --- /dev/null +++ b/src/tests/testsuite-spacemapping/TubeFlowLinearizedFluidSolver.C @@ -0,0 +1 @@ +../testsuite-fsi/TubeFlowLinearizedFluidSolver.C \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/TubeFlowLinearizedFluidSolver.H b/src/tests/testsuite-spacemapping/TubeFlowLinearizedFluidSolver.H new file mode 120000 index 00000000..e5c2e857 --- /dev/null +++ b/src/tests/testsuite-spacemapping/TubeFlowLinearizedFluidSolver.H @@ -0,0 +1 @@ +../testsuite-fsi/TubeFlowLinearizedFluidSolver.H \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/TubeFlowLinearizedSolidSolver.C b/src/tests/testsuite-spacemapping/TubeFlowLinearizedSolidSolver.C new file mode 120000 index 00000000..cd54b95d --- /dev/null +++ b/src/tests/testsuite-spacemapping/TubeFlowLinearizedSolidSolver.C @@ -0,0 +1 @@ +../testsuite-fsi/TubeFlowLinearizedSolidSolver.C \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/TubeFlowLinearizedSolidSolver.H b/src/tests/testsuite-spacemapping/TubeFlowLinearizedSolidSolver.H new file mode 120000 index 00000000..51b425ac --- /dev/null +++ b/src/tests/testsuite-spacemapping/TubeFlowLinearizedSolidSolver.H @@ -0,0 +1 @@ +../testsuite-fsi/TubeFlowLinearizedSolidSolver.H \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/TubeFlowSolidSolver.C b/src/tests/testsuite-spacemapping/TubeFlowSolidSolver.C new file mode 120000 index 00000000..1904d9ea --- /dev/null +++ b/src/tests/testsuite-spacemapping/TubeFlowSolidSolver.C @@ -0,0 +1 @@ +../testsuite-fsi/TubeFlowSolidSolver.C \ No newline at end of file diff --git a/src/tests/testsuite-spacemapping/TubeFlowSolidSolver.H b/src/tests/testsuite-spacemapping/TubeFlowSolidSolver.H new file mode 120000 index 00000000..5996c2f3 --- /dev/null +++ b/src/tests/testsuite-spacemapping/TubeFlowSolidSolver.H @@ -0,0 +1 @@ +../testsuite-fsi/TubeFlowSolidSolver.H \ No newline at end of file diff --git a/src/tests/app/test_aggressivespacemapping.C b/src/tests/testsuite-spacemapping/test_aggressivespacemapping.C similarity index 100% rename from src/tests/app/test_aggressivespacemapping.C rename to src/tests/testsuite-spacemapping/test_aggressivespacemapping.C diff --git a/src/tests/app/test_asmils.C b/src/tests/testsuite-spacemapping/test_asmils.C similarity index 100% rename from src/tests/app/test_asmils.C rename to src/tests/testsuite-spacemapping/test_asmils.C diff --git a/src/tests/app/test_manifoldmapping.C b/src/tests/testsuite-spacemapping/test_manifoldmapping.C similarity index 100% rename from src/tests/app/test_manifoldmapping.C rename to src/tests/testsuite-spacemapping/test_manifoldmapping.C diff --git a/src/tests/app/test_manifoldmappinglinearizedfsisolver.C b/src/tests/testsuite-spacemapping/test_manifoldmappinglinearizedfsisolver.C similarity index 100% rename from src/tests/app/test_manifoldmappinglinearizedfsisolver.C rename to src/tests/testsuite-spacemapping/test_manifoldmappinglinearizedfsisolver.C diff --git a/src/tests/app/test_manifoldmappingsolver.C b/src/tests/testsuite-spacemapping/test_manifoldmappingsolver.C similarity index 100% rename from src/tests/app/test_manifoldmappingsolver.C rename to src/tests/testsuite-spacemapping/test_manifoldmappingsolver.C diff --git a/src/tests/app/test_mliqnilssolver.C b/src/tests/testsuite-spacemapping/test_mliqnilssolver.C similarity index 100% rename from src/tests/app/test_mliqnilssolver.C rename to src/tests/testsuite-spacemapping/test_mliqnilssolver.C diff --git a/src/tests/app/test_multilevelaggressivespacemappingsolver.C b/src/tests/testsuite-spacemapping/test_multilevelaggressivespacemappingsolver.C similarity index 100% rename from src/tests/app/test_multilevelaggressivespacemappingsolver.C rename to src/tests/testsuite-spacemapping/test_multilevelaggressivespacemappingsolver.C diff --git a/src/tests/app/test_multilevelasmils.C b/src/tests/testsuite-spacemapping/test_multilevelasmils.C similarity index 100% rename from src/tests/app/test_multilevelasmils.C rename to src/tests/testsuite-spacemapping/test_multilevelasmils.C diff --git a/src/tests/app/test_multilevelimplicitfsisolver.C b/src/tests/testsuite-spacemapping/test_multilevelimplicitfsisolver.C similarity index 100% rename from src/tests/app/test_multilevelimplicitfsisolver.C rename to src/tests/testsuite-spacemapping/test_multilevelimplicitfsisolver.C diff --git a/src/tests/app/test_multilevelmanifoldmappingsolver.C b/src/tests/testsuite-spacemapping/test_multilevelmanifoldmappingsolver.C similarity index 100% rename from src/tests/app/test_multilevelmanifoldmappingsolver.C rename to src/tests/testsuite-spacemapping/test_multilevelmanifoldmappingsolver.C diff --git a/src/tests/app/test_multilevelmliqnilssolver.C b/src/tests/testsuite-spacemapping/test_multilevelmliqnilssolver.C similarity index 100% rename from src/tests/app/test_multilevelmliqnilssolver.C rename to src/tests/testsuite-spacemapping/test_multilevelmliqnilssolver.C diff --git a/src/tests/app/test_multileveloutputspacemappingsolver.C b/src/tests/testsuite-spacemapping/test_multileveloutputspacemappingsolver.C similarity index 100% rename from src/tests/app/test_multileveloutputspacemappingsolver.C rename to src/tests/testsuite-spacemapping/test_multileveloutputspacemappingsolver.C diff --git a/src/tests/app/test_multilevelsolver.C b/src/tests/testsuite-spacemapping/test_multilevelsolver.C similarity index 100% rename from src/tests/app/test_multilevelsolver.C rename to src/tests/testsuite-spacemapping/test_multilevelsolver.C diff --git a/src/tests/app/test_multilevelspacemapping.C b/src/tests/testsuite-spacemapping/test_multilevelspacemapping.C similarity index 100% rename from src/tests/app/test_multilevelspacemapping.C rename to src/tests/testsuite-spacemapping/test_multilevelspacemapping.C diff --git a/src/tests/app/test_outputspacemapping.C b/src/tests/testsuite-spacemapping/test_outputspacemapping.C similarity index 100% rename from src/tests/app/test_outputspacemapping.C rename to src/tests/testsuite-spacemapping/test_outputspacemapping.C diff --git a/src/tests/testsuite-spacemapping/tests.C b/src/tests/testsuite-spacemapping/tests.C new file mode 100644 index 00000000..113a1875 --- /dev/null +++ b/src/tests/testsuite-spacemapping/tests.C @@ -0,0 +1,17 @@ + +/* + * Author + * David Blom, TU Delft. All rights reserved. + */ + +#include "gtest/gtest.h" +#include + +int main( + int argc, + char ** argv + ) +{ + ::testing::InitGoogleTest( &argc, argv ); + return RUN_ALL_TESTS(); +} diff --git a/src/tests/tubeflow/TubeFlowFluidSolver.C b/src/tests/tubeflow/TubeFlowFluidSolver.C index 856dda19..5c5b5911 120000 --- a/src/tests/tubeflow/TubeFlowFluidSolver.C +++ b/src/tests/tubeflow/TubeFlowFluidSolver.C @@ -1 +1 @@ -../app/TubeFlowFluidSolver.C \ No newline at end of file +../testsuite-fsi/TubeFlowFluidSolver.C \ No newline at end of file diff --git a/src/tests/tubeflow/TubeFlowFluidSolver.H b/src/tests/tubeflow/TubeFlowFluidSolver.H index 21ee46b4..58e8c2d2 120000 --- a/src/tests/tubeflow/TubeFlowFluidSolver.H +++ b/src/tests/tubeflow/TubeFlowFluidSolver.H @@ -1 +1 @@ -../app/TubeFlowFluidSolver.H \ No newline at end of file +../testsuite-fsi/TubeFlowFluidSolver.H \ No newline at end of file diff --git a/src/tests/tubeflow/TubeFlowLinearSolidSolver.C b/src/tests/tubeflow/TubeFlowLinearSolidSolver.C index 0b920537..cb70555e 120000 --- a/src/tests/tubeflow/TubeFlowLinearSolidSolver.C +++ b/src/tests/tubeflow/TubeFlowLinearSolidSolver.C @@ -1 +1 @@ -../app/TubeFlowLinearSolidSolver.C \ No newline at end of file +../testsuite-fsi/TubeFlowLinearSolidSolver.C \ No newline at end of file diff --git a/src/tests/tubeflow/TubeFlowLinearSolidSolver.H b/src/tests/tubeflow/TubeFlowLinearSolidSolver.H index acb02e6a..3d0987ee 120000 --- a/src/tests/tubeflow/TubeFlowLinearSolidSolver.H +++ b/src/tests/tubeflow/TubeFlowLinearSolidSolver.H @@ -1 +1 @@ -../app/TubeFlowLinearSolidSolver.H \ No newline at end of file +../testsuite-fsi/TubeFlowLinearSolidSolver.H \ No newline at end of file diff --git a/src/tests/tubeflow/TubeFlowLinearizedFluidSolver.C b/src/tests/tubeflow/TubeFlowLinearizedFluidSolver.C index 1f476409..d48d296e 120000 --- a/src/tests/tubeflow/TubeFlowLinearizedFluidSolver.C +++ b/src/tests/tubeflow/TubeFlowLinearizedFluidSolver.C @@ -1 +1 @@ -../app/TubeFlowLinearizedFluidSolver.C \ No newline at end of file +../testsuite-fsi/TubeFlowLinearizedFluidSolver.C \ No newline at end of file diff --git a/src/tests/tubeflow/TubeFlowLinearizedFluidSolver.H b/src/tests/tubeflow/TubeFlowLinearizedFluidSolver.H index b9b27fa0..e5c2e857 120000 --- a/src/tests/tubeflow/TubeFlowLinearizedFluidSolver.H +++ b/src/tests/tubeflow/TubeFlowLinearizedFluidSolver.H @@ -1 +1 @@ -../app/TubeFlowLinearizedFluidSolver.H \ No newline at end of file +../testsuite-fsi/TubeFlowLinearizedFluidSolver.H \ No newline at end of file diff --git a/src/tests/tubeflow/TubeFlowLinearizedSolidSolver.C b/src/tests/tubeflow/TubeFlowLinearizedSolidSolver.C index b134f635..cd54b95d 120000 --- a/src/tests/tubeflow/TubeFlowLinearizedSolidSolver.C +++ b/src/tests/tubeflow/TubeFlowLinearizedSolidSolver.C @@ -1 +1 @@ -../app/TubeFlowLinearizedSolidSolver.C \ No newline at end of file +../testsuite-fsi/TubeFlowLinearizedSolidSolver.C \ No newline at end of file diff --git a/src/tests/tubeflow/TubeFlowLinearizedSolidSolver.H b/src/tests/tubeflow/TubeFlowLinearizedSolidSolver.H index 98bd475b..51b425ac 120000 --- a/src/tests/tubeflow/TubeFlowLinearizedSolidSolver.H +++ b/src/tests/tubeflow/TubeFlowLinearizedSolidSolver.H @@ -1 +1 @@ -../app/TubeFlowLinearizedSolidSolver.H \ No newline at end of file +../testsuite-fsi/TubeFlowLinearizedSolidSolver.H \ No newline at end of file diff --git a/src/tests/tubeflow/TubeFlowSolidSolver.C b/src/tests/tubeflow/TubeFlowSolidSolver.C index 89f77ccf..1904d9ea 120000 --- a/src/tests/tubeflow/TubeFlowSolidSolver.C +++ b/src/tests/tubeflow/TubeFlowSolidSolver.C @@ -1 +1 @@ -../app/TubeFlowSolidSolver.C \ No newline at end of file +../testsuite-fsi/TubeFlowSolidSolver.C \ No newline at end of file diff --git a/src/tests/tubeflow/TubeFlowSolidSolver.H b/src/tests/tubeflow/TubeFlowSolidSolver.H index c8fb8ef3..5996c2f3 120000 --- a/src/tests/tubeflow/TubeFlowSolidSolver.H +++ b/src/tests/tubeflow/TubeFlowSolidSolver.H @@ -1 +1 @@ -../app/TubeFlowSolidSolver.H \ No newline at end of file +../testsuite-fsi/TubeFlowSolidSolver.H \ No newline at end of file diff --git a/wercker.yml b/wercker.yml index 3fd0c274..f2edb289 100644 --- a/wercker.yml +++ b/wercker.yml @@ -373,9 +373,13 @@ build: source foam-extend-3.2/etc/bashrc - wmake src/tests/app + wmake src/tests/testsuite-dealii + wmake src/tests/testsuite-fsi + wmake src/tests/testsuite-rbf + wmake src/tests/testsuite-sdc + wmake src/tests/testsuite-spacemapping - script: - name: test suite + name: testsuite-sdc code: | export PARAVIEW_SYSTEM=1 @@ -393,4 +397,84 @@ build: source foam-extend-3.2/etc/bashrc cd src/tests - python runTests.py + python runTests.py testsuite-sdc + - script: + name: testsuite-dealii + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + cd src/tests + python runTests.py testsuite-dealii + - script: + name: testsuite-rbf + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + cd src/tests + python runTests.py testsuite-rbf + - script: + name: testsuite-spacemapping + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + cd src/tests + python runTests.py testsuite-spacemapping + - script: + name: testsuite-fsi + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + cd src/tests + python runTests.py testsuite-fsi From 8f89ff6738438fb3a624c3ba77e6da45c9d13adc Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 18:54:11 +0100 Subject: [PATCH 84/87] petsc: compile with all dependencies --- src/thirdParty/compile_petsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thirdParty/compile_petsc b/src/thirdParty/compile_petsc index 88326549..3a7ce643 100755 --- a/src/thirdParty/compile_petsc +++ b/src/thirdParty/compile_petsc @@ -19,7 +19,7 @@ if [ ! -d "petsc-${PETSC_VERSION}" ]; then export PETSC_DIR=`pwd` - ./config/configure.py --with-shared=1 --with-x=0 --with-mpi=1 --download-scalapack --download-fblaslapack=1 + ./config/configure.py --with-shared=1 --with-x=0 --with-mpi=1 --download-hypre=1 --download-mumps --download-scalapack --download-ptscotch --download-suitesparse --download-fblaslapack=1 make From 0518b8919ab5fbd4c309f8bf4e53b79febcad925 Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 21:50:33 +0100 Subject: [PATCH 85/87] deal.II: use UMFPACK --- src/thirdParty/compile_dealii | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thirdParty/compile_dealii b/src/thirdParty/compile_dealii index 78e9b47b..e34c70f3 100755 --- a/src/thirdParty/compile_dealii +++ b/src/thirdParty/compile_dealii @@ -43,7 +43,7 @@ if [ ! -d "dealii-${DEALII_VERSION}" ]; then mkdir bin cd build - cmake -DCMAKE_INSTALL_PREFIX=`pwd`/../bin .. + cmake -DCMAKE_INSTALL_PREFIX=`pwd`/../bin --with-umfpack .. make -j $WM_NCOMPPROCS install From caefa08abef4b641ba482a687008d76818a1308d Mon Sep 17 00:00:00 2001 From: David Blom Date: Fri, 12 Feb 2016 23:32:44 +0100 Subject: [PATCH 86/87] edit wercker --- wercker.yml | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/wercker.yml b/wercker.yml index f2edb289..ef90aadd 100644 --- a/wercker.yml +++ b/wercker.yml @@ -398,26 +398,6 @@ build: cd src/tests python runTests.py testsuite-sdc - - script: - name: testsuite-dealii - code: | - - export PARAVIEW_SYSTEM=1 - export CMAKE_SYSTEM=1 - export HWLOC_SYSTEM=1 - export SCOTCH_SYSTEM=1 - export PYFOAM_SYSTEM=1 - export CUDA_IGNORE=1 - export SWAK4FOAM_SYSTEM=1 - export WM_MPLIB=SYSTEMOPENMPI - export OPENMPI_DIR=/usr - export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin - export FOAM_INST_DIR=`pwd` - - source foam-extend-3.2/etc/bashrc - - cd src/tests - python runTests.py testsuite-dealii - script: name: testsuite-rbf code: | From b51480f3ad0d1f58ca4fa9d674c882c7774c44f0 Mon Sep 17 00:00:00 2001 From: David Blom Date: Sat, 13 Feb 2016 09:30:18 +0100 Subject: [PATCH 87/87] wercker: add blas and lapack --- wercker.yml | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/wercker.yml b/wercker.yml index ef90aadd..d15b22ab 100644 --- a/wercker.yml +++ b/wercker.yml @@ -8,7 +8,7 @@ build: name: install packages code: | apt-get update - apt-get -y install git build-essential flex bison zlib1g-dev libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev libscotch-dev + apt-get -y install git build-essential flex bison zlib1g-dev libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin rpm wget cmake hwloc scotch gfortran python unzip scons libiberty-dev libscotch-dev liblapack-dev libblas-dev - script: name: initialize git submodules code: | @@ -458,3 +458,23 @@ build: cd src/tests python runTests.py testsuite-fsi + - script: + name: testsuite-dealii + code: | + + export PARAVIEW_SYSTEM=1 + export CMAKE_SYSTEM=1 + export HWLOC_SYSTEM=1 + export SCOTCH_SYSTEM=1 + export PYFOAM_SYSTEM=1 + export CUDA_IGNORE=1 + export SWAK4FOAM_SYSTEM=1 + export WM_MPLIB=SYSTEMOPENMPI + export OPENMPI_DIR=/usr + export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin + export FOAM_INST_DIR=`pwd` + + source foam-extend-3.2/etc/bashrc + + cd src/tests + python runTests.py testsuite-dealii