Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions .daisy/workflow-openfoam.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
on:
pull_request:
types: [opened, reopened, synchronize, ready_for_review]

parameters:
timeout: 360
partitions:
- chamomile

steps:
build: |

sudo apt-get update
sudo apt-get install -y build-essential libopenmpi-dev zlib1g-dev gnuplot gnuplot-x11 libxt-dev cmake flex
sudo apt-get install -y libxml2-dev libhdf5-dev libavfilter-dev libtheora-dev libgl2ps-dev libx11-dev libqt5x11extras5-dev libglew-dev libutfcpp-dev

export WM_PROJECT_DIR=`pwd`
. etc/custom_bashrc
./wmake/wmakeLnIncludeAll

./Allwmake -j128

cd ${WM_PROJECT_DIR}/tutorials/incompressibleFluid/cavity
${FOAM_APPBIN}/blockMesh
cd ${WM_PROJECT_DIR}

run:
cavity:
command: bin/foamRun -case ./tutorials/incompressibleFluid/cavity
measurements: 5
profiler: perf
env:
FOAM_APP: "/workspace/applications"
FOAM_APPBIN: "/workspace/platforms/linux64GccSPInt32Opt/bin"
FOAM_EXT_LIBBIN: "/workspace/ThirdParty-dev/platforms/linux64GccSPInt32/lib"
FOAM_INST_DIR: "/"
FOAM_LIBBIN: "/workspace/platforms/linux64GccSPInt32Opt/lib"
FOAM_MODULES: "/workspace/applications/modules"
FOAM_MPI: "openmpi-system"
FOAM_PROJECT_DIR: "/workspace"
FOAM_SOLVERS: "/workspace/applications/solvers"
FOAM_SRC: "/workspace/src"
FOAM_TUTORIALS: "/workspace/tutorials"
FOAM_USER_APPBIN: "/platforms/linux64GccSPInt32Opt/bin"
FOAM_USER_LIBBIN: "/platforms/linux64GccSPInt32Opt/lib"
FOAM_UTILITIES: "/workspace/applications/utilities"
WM_ARCH: "linux64"
WM_ARCH_OPTION: "64"
WM_CC: "gcc"
WM_CFLAGS: "-m64 -fPIC -g"
WM_COMPILER: "Gcc"
WM_COMPILER_LIB_ARCH: "64"
WM_COMPILE_OPTION: "Opt"
WM_CXX: "g++"
WM_CXXFLAGS: "-m64 -fPIC -std: c++0x -g"
WM_DIR: "/workspace/wmake"
WM_LABEL_OPTION: "Int32"
WM_LABEL_SIZE: "32"
WM_LDFLAGS: "-m64"
WM_LINK_LANGUAGE: "c++"
WM_MPLIB: NONE #"SYSTEMOPENMPI"
WM_OPTIONS: "linux64GccSPInt32Opt"
WM_OSTYPE: "POSIX"
WM_PRECISION_OPTION: "SP"
WM_PROJECT: "OpenFOAM"
WM_PROJECT_DIR: "/workspace"
WM_PROJECT_INST_DIR: "/"
WM_THIRD_PARTY_DIR: "/workspace/ThirdParty-dev"
SCOTCH_TYPE: none #ThirdParty
METIS_TYPE: none
PARMETIS_TYPE: none
ZOLTAN_TYPE: none #ThirdParty
PATH: $PATH:/workspace/wmake
LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu:/usr/local/lib:/usr/local/lib64:/usr/local/papi/lib:/usr/local/cuda-12.8/lib64:/workspace/platforms/linux64GccSPInt32Opt/lib:/workspace/platforms/linux64GccSPInt32Opt/lib/dummy
LIBRARY_PATH: /usr/local/lib
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "ThirdParty-dev"]
path = ThirdParty-dev
url = https://github.com/OpenFOAM/ThirdParty-dev.git
1 change: 1 addition & 0 deletions ThirdParty-dev
Submodule ThirdParty-dev added at cda87f
4 changes: 2 additions & 2 deletions applications/modules/compressibleVoF/alphaSuSp.C
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ void Foam::solvers::compressibleVoF::alphaSuSp
if (vDot[celli] > 0.0)
{
Sp[celli] -=
vDot[celli]/max(1.0 - alpha1[celli], vDotResidualAlpha);
vDot[celli]/max(scalar(1.0) - alpha1[celli], vDotResidualAlpha);
Su[celli] +=
vDot[celli]/max(1.0 - alpha1[celli], vDotResidualAlpha);
vDot[celli]/max(scalar(1.0) - alpha1[celli], vDotResidualAlpha);
}
else if (vDot[celli] < 0.0)
{
Expand Down
2 changes: 1 addition & 1 deletion applications/solvers/foamRun/Make/files
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
setDeltaT.C
foamRun.C

EXE = $(FOAM_APPBIN)/foamRun
EXE = $(WM_PROJECT_DIR)/bin/foamRun
28 changes: 17 additions & 11 deletions etc/bashrc
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,13 @@ export WM_PROJECT_VERSION=dev
if [ -n "$bashrcFile" ]
then
export FOAM_INST_DIR=$(cd $(dirname $bashrcFile)/../.. && pwd -P)
export FOAM_PROJECT_DIR=$(cd $(dirname $bashrcFile)/.. && pwd -P)
else
export FOAM_INST_DIR=$HOME/$WM_PROJECT
export FOAM_INST_DIR=$(cd $(dirname $0)/.. && pwd -P)
export FOAM_PROJECT_DIR=$(cd $(dirname $0) && pwd -P)
fi
unset bashrcFile
echo ${FOAM_INST_DIR}
#
# Please set to the appropriate path if the above default is not correct. E.g.,
#
Expand All @@ -71,9 +74,10 @@ export WM_COMPILER_TYPE=system

#- Compiler:
# WM_COMPILER = Gcc | Gcc48 ... Gcc62 | Clang | Icx
export WM_COMPILER=Gcc
export WM_COMPILER=DOCC # Clang #Gcc
unset WM_COMPILER_ARCH WM_COMPILER_LIB_ARCH

echo $WM_COMPILER
#- Memory addressing:
# On a 64bit OS this can be 32bit or 64bit
# On a 32bit OS addressing is 32bit and this option is not used
Expand All @@ -82,11 +86,11 @@ export WM_ARCH_OPTION=64

#- Precision:
# WM_PRECISION_OPTION = SP | DP | LP
export WM_PRECISION_OPTION=DP
export WM_PRECISION_OPTION=SP

#- Label size:
# WM_LABEL_SIZE = 32 | 64
export WM_LABEL_SIZE=32
export WM_LABEL_SIZE=64

#- Optimised, debug, profiling:
# WM_COMPILE_OPTION = Opt | Debug | Prof
Expand All @@ -95,21 +99,21 @@ export WM_COMPILE_OPTION=Opt
#- MPI implementation:
# WM_MPLIB = SYSTEMOPENMPI | OPENMPI | SYSTEMMPI | MPICH | MPICH-GM | HPMPI
# | MPI | FJMPI | QSMPI | SGIMPI | INTELMPI
export WM_MPLIB=SYSTEMOPENMPI
export WM_MPLIB=NONE #SYSTEMOPENMPI

#- Operating System:
# WM_OSTYPE = POSIX | ???
export WM_OSTYPE=POSIX

#- Decomposition libraries:
# <library>_TYPE = none | system | ThirdParty (OpenFOAM)
export SCOTCH_TYPE=ThirdParty
export SCOTCH_TYPE=none #ThirdParty
export METIS_TYPE=none
export PARMETIS_TYPE=none
export ZOLTAN_TYPE=ThirdParty
export ZOLTAN_TYPE=none #ThirdParty

# ParaView_TYPE = none | system | paraviewopenfoam | ThirdParty (OpenFOAM)
export ParaView_TYPE=system
export ParaView_TYPE=none

#- Floating-point signal handling:
# set or unset
Expand All @@ -130,8 +134,10 @@ foamOldDirs="$WM_PROJECT_DIR $WM_THIRD_PARTY_DIR \
# Location of installation
# ~~~~~~~~~~~~~~~~~~~~~~~~
export WM_PROJECT_INST_DIR=$FOAM_INST_DIR
export WM_PROJECT_DIR=$WM_PROJECT_INST_DIR/$WM_PROJECT-$WM_PROJECT_VERSION
export WM_PROJECT_DIR=$FOAM_PROJECT_DIR
#$WM_PROJECT_INST_DIR/$WM_PROJECT-$WM_PROJECT_VERSION

echo $WM_PROJECT_DIR
if [ -d "$WM_PROJECT_DIR" ]
then
WM_PROJECT_DIR_REAL=$(cd $WM_PROJECT_DIR && pwd -P)
Expand Down Expand Up @@ -172,9 +178,9 @@ _foamParams $@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if [ ${WM_THIRD_PARTY%%/*} = ${WM_PROJECT_DIR##*/} ]
then
export WM_THIRD_PARTY_DIR=$WM_PROJECT_INST_DIR/$WM_THIRD_PARTY
export WM_THIRD_PARTY_DIR=$WM_PROJECT_DIR/$WM_THIRD_PARTY
else
export WM_THIRD_PARTY_DIR=$WM_PROJECT_INST_DIR/$WM_THIRD_PARTY-$WM_PROJECT_VERSION
export WM_THIRD_PARTY_DIR=$WM_PROJECT_DIR/$WM_THIRD_PARTY-$WM_PROJECT_VERSION
fi

if [ -d "$WM_THIRD_PARTY_DIR" ]
Expand Down
10 changes: 8 additions & 2 deletions etc/config.sh/compiler
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ OpenFOAM | ThirdParty)
gmp_version=gmp-5.1.2
mpfr_version=mpfr-3.1.2
mpc_version=mpc-1.0.1

echo $WM_COMPILER

case "$WM_COMPILER" in
Gcc55)
Expand All @@ -62,10 +64,14 @@ OpenFOAM | ThirdParty)
;;
Clang)
# Using clang - not gcc
export WM_CC='clang'
export WM_CXX='clang++'
export WM_CC='clang-15'
export WM_CXX='clang++-15'
clang_version=llvm-3.7.0
;;
DOCC)
export WM_CC='docc'
export WM_CXX='docc-cpp'
;;
*)
/bin/cat <<USAGE 1>&2

Expand Down
48 changes: 48 additions & 0 deletions etc/custom_bashrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@


export FOAM_APP="$WM_PROJECT_DIR/applications"
export FOAM_APPBIN="$WM_PROJECT_DIR/platforms/linux64GccSPInt32Opt/bin"
export FOAM_EXT_LIBBIN="$WM_PROJECT_DIR/ThirdParty-dev/platforms/linux64GccSPInt32/lib"
export FOAM_INST_DIR="/"
export FOAM_LIBBIN="$WM_PROJECT_DIR/platforms/linux64GccSPInt32Opt/lib"
export FOAM_MODULES="$WM_PROJECT_DIR/applications/modules"
export FOAM_MPI="openmpi-system"
export FOAM_PROJECT_DIR="$WM_PROJECT_DIR"
export FOAM_SOLVERS="$WM_PROJECT_DIR/applications/solvers"
export FOAM_SRC="$WM_PROJECT_DIR/src"
export FOAM_TUTORIALS="$WM_PROJECT_DIR/tutorials"
export FOAM_USER_APPBIN="/platforms/linux64GccSPInt32Opt/bin"
export FOAM_USER_LIBBIN="/platforms/linux64GccSPInt32Opt/lib"
export FOAM_UTILITIES="$WM_PROJECT_DIR/applications/utilities"

export WM_ARCH="linux64"
export WM_ARCH_OPTION="64"
export WM_CC="gcc"
export WM_CFLAGS="-m64 -fPIC -g"
export WM_COMPILER="Gcc"
export WM_COMPILER_LIB_ARCH="64"
export WM_COMPILE_OPTION="Opt"
export WM_CXX="g++"
export WM_CXXFLAGS="-m64 -fPIC -std=c++0x -g"
export WM_DIR="$WM_PROJECT_DIR/wmake"
export WM_LABEL_OPTION="Int32"
export WM_LABEL_SIZE="32"
export WM_LDFLAGS="-m64"
export WM_LINK_LANGUAGE="c++"
export WM_MPLIB=NONE #"SYSTEMOPENMPI"
export WM_OPTIONS="linux64GccSPInt32Opt"
export WM_OSTYPE="POSIX"
export WM_PRECISION_OPTION="SP"
export WM_PROJECT="OpenFOAM"
export WM_PROJECT_INST_DIR="/"
export WM_THIRD_PARTY_DIR="$WM_PROJECT_DIR/ThirdParty-dev"

export SCOTCH_TYPE=none #ThirdParty
export METIS_TYPE=none
export PARMETIS_TYPE=none
export ZOLTAN_TYPE=none #ThirdParty


export PATH=$PATH:$WM_PROJECT_DIR/wmake
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/local/lib:/usr/local/lib64:/usr/local/papi/lib:/usr/local/cuda-12.8/lib64:$WM_PROJECT_DIR/platforms/linux64GccSPInt32Opt/lib:$WM_PROJECT_DIR/platforms/linux64GccSPInt32Opt/lib/dummy
export LIBRARY_PATH=/usr/local/lib
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@ void Foam::functionObjects::scalarTransport::solveMULES()
volScalarField::New
(
"cnBDCoeff",
max(cnCoeff, 1.0 - 1.0/max(Co, 2.0)),
max(cnCoeff, scalar(1.0) - scalar(1.0)/max(Co, scalar(2.0))),
zeroGradientFvPatchField<scalar>::typeName
)
)
Expand Down
16 changes: 8 additions & 8 deletions tutorials/incompressibleFluid/propeller/Allmesh
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ cd ${0%/*} || exit 1 # Run from this directory
cp $FOAM_TUTORIALS/resources/geometry/propeller*.obj.gz constant/geometry/

# Mesh in parallel
runApplication blockMesh
runApplication surfaceFeatures
runApplication decomposePar -noFields
runParallel snappyHexMesh -overwrite
${FOAM_APPBIN}/blockMesh
${FOAM_APPBIN}/surfaceFeatures
${FOAM_APPBIN}/decomposePar -noFields
${FOAM_APPBIN}/snappyHexMesh -overwrite

# Create the sliding patches
runParallel createBaffles -overwrite
runParallel splitBaffles -overwrite
${FOAM_APPBIN}/createBaffles -overwrite
${FOAM_APPBIN}/splitBaffles -overwrite

# Renumber
runParallel renumberMesh -noFields -overwrite
${FOAM_APPBIN}/renumberMesh -noFields -overwrite

# Create non-conformal couples
runParallel createNonConformalCouples -overwrite nonCouple1 nonCouple2
${FOAM_APPBIN}/createNonConformalCouples -overwrite nonCouple1 nonCouple2

#------------------------------------------------------------------------------
2 changes: 1 addition & 1 deletion tutorials/incompressibleFluid/propeller/system/controlDict
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ startTime 0;

stopAt endTime;

endTime 0.1;
endTime 0.01;

deltaT 1e-5;
writeControl adjustableRunTime;
Expand Down
2 changes: 1 addition & 1 deletion wmake/rules/linux64Clang/c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ SUFFIXES += .c

cWARN = -Wall

cc = clang -m64
cc = clang-15 -m64

include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)

Expand Down
2 changes: 1 addition & 1 deletion wmake/rules/linux64Clang/c++
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ c++WARN = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor \
c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs \
-Wno-tautological-undefined-compare -Wno-shift-negative-value

CC = clang++ -std=c++14 -m64
CC = clang++-15 -std=c++14 -m64

include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)

Expand Down
16 changes: 16 additions & 0 deletions wmake/rules/linux64DOCC/c
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
SUFFIXES += .c

cWARN = -Wall

cc = docc -m64

include $(DEFAULT_RULES)/c$(WM_COMPILE_OPTION)

cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC

ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $< -o $@

LINK_LIBS = $(cDBUG)

LINKLIBSO = $(cc) -shared
LINKEXE = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs
28 changes: 28 additions & 0 deletions wmake/rules/linux64DOCC/c++
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
SUFFIXES += .C

c++WARN = -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor \
-Wno-unused-parameter -Wno-invalid-offsetof \
-Wno-undefined-var-template -Wno-unqualified-std-cast-call

# Suppress some warnings for flex++
c++LESSWARN = -Wno-old-style-cast -Wno-unused-local-typedefs \
-Wno-tautological-undefined-compare -Wno-shift-negative-value

CC = docc-cpp -std=c++14 -m64

include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)

ptFLAGS = -DNoRepository -ftemplate-depth-100

c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) \
$(LIB_HEADER_DIRS) -fPIC

Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $< -o $@
cxxtoo = $(Ctoo)
cctoo = $(Ctoo)
cpptoo = $(Ctoo)

LINK_LIBS = $(c++DBUG)

LINKLIBSO = $(CC) $(c++FLAGS) -shared
LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed
2 changes: 2 additions & 0 deletions wmake/rules/linux64DOCC/c++Debug
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
c++DBUG = -g -DFULLDEBUG
c++OPT = -O0
2 changes: 2 additions & 0 deletions wmake/rules/linux64DOCC/c++Opt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
c++DBUG =
c++OPT = -O3
2 changes: 2 additions & 0 deletions wmake/rules/linux64DOCC/c++Prof
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
c++DBUG = -pg
c++OPT = -O2
2 changes: 2 additions & 0 deletions wmake/rules/linux64DOCC/cDebug
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cDBUG = -g -DFULLDEBUG
cOPT = -O0
2 changes: 2 additions & 0 deletions wmake/rules/linux64DOCC/cOpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cDBUG =
cOPT = -O3
2 changes: 2 additions & 0 deletions wmake/rules/linux64DOCC/cProf
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cDBUG = -pg
cOPT = -O2
Loading