-
Notifications
You must be signed in to change notification settings - Fork 720
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #11022 from furstj/20200724111632_new_pr_OpenFOAM8
{cae}[foss/2020a] OpenFOAM v8
- Loading branch information
Showing
2 changed files
with
336 additions
and
0 deletions.
There are no files selected for viewing
297 changes: 297 additions & 0 deletions
297
easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-cleanup.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,297 @@ | ||
# This patch removes all need for the ThirdParty files of OpenFOAM: | ||
# we use EB dependencies for everything. It adjusts the paths, variables, etc | ||
# We also let the install dir, compiler, etc be set by EB. | ||
# Lastly, we also fix a small compile issue in 'ptscotchDecomp.C' | ||
# by Jiri Furst <jiri.furst@gmail.com>, based on patch for OpenFOAM 5.0 and 4.1 by | ||
# Kennet Hoste (HPC-UGent) and Ward Poelmans <wpoely86@gmail.com> | ||
diff -ru OpenFOAM-7-version-7.orig/applications/utilities/mesh/manipulation/setSet/Allwmake OpenFOAM-7-version-7/applications/utilities/mesh/manipulation/setSet/Allwmake | ||
--- OpenFOAM-7-version-7.orig/applications/utilities/mesh/manipulation/setSet/Allwmake 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/applications/utilities/mesh/manipulation/setSet/Allwmake 2018-08-14 11:18:48.188975085 +0200 | ||
@@ -7,19 +7,12 @@ | ||
unset COMP_FLAGS LINK_FLAGS | ||
|
||
# Use readline if available | ||
-if [ -f /usr/include/readline/readline.h ] | ||
+if [ -f $EBROOTLIBREADLINE/include/readline/readline.h ] | ||
then | ||
echo " found <readline/readline.h> -- enabling readline support." | ||
export COMP_FLAGS="-DHAS_READLINE" | ||
|
||
- # readline may require ncurses | ||
- if [ -f /usr/include/ncurses/ncurses.h ] | ||
- then | ||
- echo " found <ncurses/ncurses.h> -- maybe required by readline." | ||
- export LINK_FLAGS="-lreadline -lncurses" | ||
- else | ||
- export LINK_FLAGS="-lreadline" | ||
- fi | ||
+ export LINK_FLAGS="-L$EBROOTLIBREADLINE/lib -lreadline -L$EBROOTNCURSES -lncurses" | ||
fi | ||
|
||
wmake $targetType | ||
diff -ru OpenFOAM-7-version-7.orig/applications/utilities/postProcessing/graphics/PVReaders/Allwmake OpenFOAM-7-version-7/applications/utilities/postProcessing/graphics/PVReaders/Allwmake | ||
--- OpenFOAM-7-version-7.orig/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2018-08-14 11:21:25.280419729 +0200 | ||
@@ -17,8 +17,8 @@ | ||
fi | ||
|
||
# Ensure CMake gets the correct C/C++ compilers | ||
-[ -n "$WM_CC" ] && export CC="$WM_CC" | ||
-[ -n "$WM_CXX" ] && export CXX="$WM_CXX" | ||
+#[ -n "$WM_CC" ] && export CC="$WM_CC" | ||
+#[ -n "$WM_CXX" ] && export CXX="$WM_CXX" | ||
|
||
wmake $targetType vtkPVblockMesh | ||
wmake $targetType vtkPVFoam | ||
diff -ru OpenFOAM-8.orig/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt OpenFOAM-8/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt | ||
--- OpenFOAM-8.orig/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt 2020-07-24 09:22:59.409594780 +0200 | ||
+++ OpenFOAM-8/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt 2020-07-24 09:46:24.856457402 +0200 | ||
@@ -2,6 +2,8 @@ | ||
|
||
PROJECT(PVReaders) | ||
|
||
+FIND_PACKAGE(MPI REQUIRED) | ||
+ | ||
FIND_PACKAGE(ParaView REQUIRED) | ||
|
||
INCLUDE(GNUInstallDirs) | ||
diff -ru OpenFOAM-7-version-7.orig/etc/bashrc OpenFOAM-7-version-7/etc/bashrc | ||
--- OpenFOAM-7-version-7.orig/etc/bashrc 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/etc/bashrc 2018-08-14 11:29:14.168761602 +0200 | ||
@@ -43,8 +43,9 @@ | ||
# Please set to the appropriate path if the default is not correct. | ||
# | ||
[ "$BASH" -o "$ZSH_NAME" ] && \ | ||
-export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ | ||
-export FOAM_INST_DIR=$HOME/$WM_PROJECT | ||
+#export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ | ||
+#export FOAM_INST_DIR=$HOME/$WM_PROJECT | ||
+# For Easybuild: set by the module | ||
# export FOAM_INST_DIR=~$WM_PROJECT | ||
# export FOAM_INST_DIR=/opt/$WM_PROJECT | ||
# export FOAM_INST_DIR=/usr/local/$WM_PROJECT | ||
diff -ru OpenFOAM-7-version-7.orig/etc/config.sh/CGAL OpenFOAM-7-version-7/etc/config.sh/CGAL | ||
--- OpenFOAM-7-version-7.orig/etc/config.sh/CGAL 2020-07-01 08:32:09.046842000 +0200V | ||
+++ OpenFOAM-7-version-7/etc/config.sh/CGAL 2020-07-01 08:40:13.226755000 +0200 | ||
@@ -39,22 +39,7 @@ | ||
# | ||
#------------------------------------------------------------------------------ | ||
|
||
-boost_version=boost-system | ||
-#boost_version=boost-1.55.0 | ||
-#boost_version=boost-1.72.0 | ||
- | ||
-cgal_version=cgal-system | ||
-#cgal_version=CGAL-4.10 | ||
-#cgal_version=CGAL-5.0.2 | ||
- | ||
-if [ "$boost_version" != "boost-system" ] | ||
-then | ||
- export BOOST_ARCH_PATH=$WM_THIRD_PARTY_DIR/$boost_version | ||
-fi | ||
- | ||
-if [ "$cgal_version" != "cgal-system" ] | ||
-then | ||
- export CGAL_ARCH_PATH=$WM_THIRD_PARTY_DIR/$cgal_version | ||
-fi | ||
+export CGAL_ARCH_PATH=$EBROOTCGAL | ||
+export BOOST_ARCH_PATH=$EBROOTBOOST | ||
|
||
#------------------------------------------------------------------------------ | ||
diff -ru OpenFOAM-7-version-7.orig/etc/config.sh/gperftools OpenFOAM-7-version-7/etc/config.sh/gperftools | ||
--- OpenFOAM-7-version-7.orig/etc/config.sh/gperftools 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/etc/config.sh/gperftools 2018-08-14 11:37:07.582078984 +0200 | ||
@@ -29,13 +29,7 @@ | ||
# | ||
#------------------------------------------------------------------------------ | ||
|
||
-version=svn | ||
-gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER | ||
- | ||
-GPERFTOOLS_VERSION=gperftools-$version | ||
-GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION | ||
- | ||
-export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH | ||
-export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH | ||
+GPERFTOOLS_VERSION=gperftools-$EBVERSIONGPERFTOOLS | ||
+GPERFTOOLS_ARCH_PATH=$EBROOTGPERFTOOLS | ||
|
||
#------------------------------------------------------------------------------ | ||
diff -ru OpenFOAM-7-version-7.orig/etc/config.sh/metis OpenFOAM-7-version-7/etc/config.sh/metis | ||
--- OpenFOAM-7-version-7.orig/etc/config.sh/metis 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/etc/config.sh/metis 2018-08-14 11:39:06.204657280 +0200 | ||
@@ -34,7 +34,7 @@ | ||
# | ||
#------------------------------------------------------------------------------ | ||
|
||
-export METIS_VERSION=metis-5.1.0 | ||
-export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION | ||
+export METIS_VERSION=metis-$EBVERSIONMETIS | ||
+export METIS_ARCH_PATH=$EBROOTMETIS | ||
|
||
#------------------------------------------------------------------------------ | ||
diff -ru OpenFOAM-7-version-7.orig/etc/config.sh/mpi OpenFOAM-7-version-7/etc/config.sh/mpi | ||
--- OpenFOAM-7-version-7.orig/etc/config.sh/mpi 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/etc/config.sh/mpi 2018-08-14 11:45:15.876343167 +0200 | ||
@@ -257,6 +257,9 @@ | ||
_foamAddPath $MPI_ARCH_PATH/bin64 | ||
_foamAddLib $MPI_ARCH_PATH/lib64 | ||
;; | ||
+EASYBUILDMPI) | ||
+ export FOAM_MPI=mpi | ||
+ ;; | ||
*) | ||
export FOAM_MPI=dummy | ||
;; | ||
diff -ru OpenFOAM-7-version-7.orig/etc/config.sh/paraview OpenFOAM-7-version-7/etc/config.sh/paraview | ||
--- OpenFOAM-7-version-7.orig/etc/config.sh/paraview 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/etc/config.sh/paraview 2018-08-14 11:48:56.859557664 +0200 | ||
@@ -41,21 +41,6 @@ | ||
) \ | ||
&& PATH="$cleaned" | ||
|
||
-# Determine the cmake to be used | ||
-unset CMAKE_HOME | ||
-for cmake in cmake-3.2.1 cmake-2.8.12.1 cmake-2.8.8 cmake-2.8.4 cmake-2.8.3 \ | ||
- cmake-2.8.1 cmake-3.9.0 | ||
-do | ||
- cmake=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cmake | ||
- if [ -r $cmake ] | ||
- then | ||
- export CMAKE_HOME=$cmake | ||
- export CMAKE_ROOT=$cmake | ||
- export PATH=$CMAKE_HOME/bin:$PATH | ||
- break | ||
- fi | ||
-done | ||
- | ||
#- ParaView version, automatically determine major version | ||
#export ParaView_VERSION=4.0.1 | ||
#export ParaView_VERSION=4.1.0 | ||
@@ -65,7 +50,8 @@ | ||
#export ParaView_VERSION=5.0.1 | ||
#export ParaView_VERSION=5.4.0 | ||
#export ParaView_VERSION=5.5.0 | ||
-export ParaView_VERSION=5.6.3 | ||
+#export ParaView_VERSION=5.6.3 | ||
+export ParaView_VERSION=$EBVERSIONPARAVIEW | ||
export ParaView_MAJOR=detect | ||
|
||
#export ParaView_GL=system | ||
@@ -105,7 +91,8 @@ | ||
export ParaView_VERSION ParaView_MAJOR | ||
|
||
# Set the binary and source directories | ||
-export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION | ||
+#export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION | ||
+export ParaView_DIR=$EBROOTPARAVIEW | ||
paraviewSrcDir=$WM_THIRD_PARTY_DIR/ParaView-$ParaView_VERSION | ||
|
||
# Set paths if binaries or source are present | ||
@@ -125,8 +111,6 @@ | ||
fi | ||
export ParaView_LIB_DIR=$ParaView_DIR/lib$paraviewArch$paraviewLibSubDir | ||
|
||
- export PATH=$ParaView_DIR/bin:$PATH | ||
- export LD_LIBRARY_PATH=$ParaView_LIB_DIR:$LD_LIBRARY_PATH | ||
export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-$ParaView_MAJOR | ||
|
||
if [ "$FOAM_VERBOSE" -a "$PS1" ] | ||
@@ -138,18 +122,6 @@ | ||
echo " PV_PLUGIN_PATH : $PV_PLUGIN_PATH" | ||
fi | ||
|
||
- # Add in python libraries if required | ||
- paraviewPython=$ParaView_DIR/Utilities/VTKPythonWrapping | ||
- if [ -r $paraviewPython ] | ||
- then | ||
- if [ "$PYTHONPATH" ] | ||
- then | ||
- export PYTHONPATH=$PYTHONPATH:$paraviewPython:$ParaView_LIB_DIR | ||
- else | ||
- export PYTHONPATH=$paraviewPython:$ParaView_LIB_DIR | ||
- fi | ||
- fi | ||
- | ||
# Alias paraview to launch with mesa if necessary | ||
if [ "$ParaView_GL" = mesa ] | ||
then | ||
diff -ru OpenFOAM-7-version-7.orig/etc/config.sh/scotch OpenFOAM-7-version-7/etc/config.sh/scotch | ||
--- OpenFOAM-7-version-7.orig/etc/config.sh/scotch 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/etc/config.sh/scotch 2018-08-14 11:50:33.739213308 +0200 | ||
@@ -37,7 +37,7 @@ | ||
# | ||
#------------------------------------------------------------------------------ | ||
|
||
-export SCOTCH_VERSION=scotch_6.0.9 | ||
-export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION | ||
+export SCOTCH_VERSION=scotch_$EBVERSIONSCOTCH | ||
+export SCOTCH_ARCH_PATH=$EBROOTSCOTCH | ||
|
||
#------------------------------------------------------------------------------ | ||
diff -ru OpenFOAM-7-version-7.orig/etc/config.sh/settings OpenFOAM-7-version-7/etc/config.sh/settings | ||
--- OpenFOAM-7-version-7.orig/etc/config.sh/settings 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/etc/config.sh/settings 2018-08-14 11:53:15.092639797 +0200 | ||
@@ -61,11 +61,11 @@ | ||
64) | ||
WM_ARCH=linux64 | ||
export WM_COMPILER_LIB_ARCH=64 | ||
- export WM_CC='gcc' | ||
- export WM_CXX='g++' | ||
- export WM_CFLAGS='-m64 -fPIC' | ||
- export WM_CXXFLAGS='-m64 -fPIC -std=c++0x' | ||
- export WM_LDFLAGS='-m64' | ||
+ export WM_CC=$CC | ||
+ export WM_CXX=$CXX | ||
+ export WM_CFLAGS=$CFLAGS | ||
+ export WM_CXXFLAGS=$CXXFLAGS | ||
+ export WM_LDFLAGS=$LDFLAGS | ||
;; | ||
*) | ||
echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32 or 64"\ | ||
diff -ru OpenFOAM-7-version-7.orig/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-7-version-7/src/parallel/decompose/ptscotchDecomp/Make/options | ||
--- OpenFOAM-7-version-7.orig/src/parallel/decompose/ptscotchDecomp/Make/options 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/src/parallel/decompose/ptscotchDecomp/Make/options 2018-08-14 11:55:27.323169812 +0200 | ||
@@ -5,14 +5,7 @@ | ||
$(PFLAGS) $(PINC) \ | ||
-I$(FOAM_SRC)/Pstream/mpi/lnInclude \ | ||
-I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \ | ||
- -I$(SCOTCH_ARCH_PATH)/include \ | ||
- -I/usr/include/scotch \ | ||
-I../decompositionMethods/lnInclude | ||
|
||
LIB_LIBS = \ | ||
- -L$(SCOTCH_ARCH_PATH)/lib \ | ||
- -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) \ | ||
- -lptscotch \ | ||
- -lptscotcherrexit \ | ||
- -lscotch \ | ||
- -lrt | ||
+ -L$(SCOTCH_ARCH_PATH)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt | ||
diff -ru OpenFOAM-7-version-7.orig/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C OpenFOAM-7-version-7/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C | ||
--- OpenFOAM-7-version-7.orig/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2018-08-14 11:57:24.057754914 +0200 | ||
@@ -31,10 +31,11 @@ | ||
#include "SubField.H" | ||
#include "PstreamGlobals.H" | ||
|
||
+#include <mpi.h> | ||
+ | ||
extern "C" | ||
{ | ||
#include <stdio.h> | ||
- #include <mpi.h> | ||
#include "ptscotch.h" | ||
} | ||
|
||
diff -ru OpenFOAM-7-version-7.orig/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-7-version-7/src/parallel/decompose/scotchDecomp/Make/options | ||
--- OpenFOAM-7-version-7.orig/src/parallel/decompose/scotchDecomp/Make/options 2018-07-09 18:01:02.000000000 +0200 | ||
+++ OpenFOAM-7-version-7/src/parallel/decompose/scotchDecomp/Make/options 2018-08-14 11:58:42.345476668 +0200 | ||
@@ -8,7 +8,6 @@ | ||
EXE_INC = \ | ||
$(PFLAGS) $(PINC) \ | ||
-I$(SCOTCH_ARCH_PATH)/include \ | ||
- -I/usr/include/scotch \ | ||
-I../decompositionMethods/lnInclude | ||
|
||
LIB_LIBS = \ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
name = 'OpenFOAM' | ||
version = '8' | ||
|
||
homepage = 'https://www.openfoam.org/' | ||
description = """OpenFOAM is a free, open source CFD software package. | ||
OpenFOAM has an extensive range of features to solve anything from complex fluid flows | ||
involving chemical reactions, turbulence and heat transfer, | ||
to solid dynamics and electromagnetics.""" | ||
|
||
toolchain = {'name': 'foss', 'version': '2020a'} | ||
toolchainopts = {'cstd': 'c++11'} | ||
|
||
source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] | ||
sources = ['version-%(version)s.tar.gz'] | ||
patches = [ | ||
'OpenFOAM-%(version)s-cleanup.patch', | ||
] | ||
checksums = [ | ||
'94ba11cbaaa12fbb5b356e01758df403ac8832d69da309a5d79f76f42eb008fc', # version-8.tar.gz | ||
'e3fac8049611ee109f07eb5b0ed4b1526782a21b3f12435e03529d56c8483b9f', # OpenFOAM-8-cleanup.patch | ||
] | ||
|
||
dependencies = [ | ||
('libreadline', '8.0'), | ||
('ncurses', '6.2'), | ||
# OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) | ||
('METIS', '5.1.0'), | ||
('SCOTCH', '6.0.9'), | ||
('CGAL', '4.14.3', '-Python-3.8.2'), | ||
('ParaView', '5.8.0', '-Python-3.8.2-mpi'), | ||
] | ||
|
||
builddependencies = [ | ||
('Bison', '3.5.3'), | ||
('CMake', '3.16.4'), | ||
('flex', '2.6.4'), | ||
] | ||
|
||
moduleclass = 'cae' |