Skip to content

Commit

Permalink
Merge pull request #21396 from boegel/20240913095507_new_pr_OpenFOAM-…
Browse files Browse the repository at this point in the history
…Extend4120210705

{cae}[foss/2023a] OpenFOAM-Extend v4.1-20210705
  • Loading branch information
laraPPr authored Sep 24, 2024
2 parents 349dec7 + 2240b40 commit 49002fd
Show file tree
Hide file tree
Showing 3 changed files with 120 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
easyblock = 'EB_OpenFOAM'

name = 'OpenFOAM-Extend'
local_commit = 'aa97a0'
version = '4.1-20210705'
versionsuffix = '-Python-%(pyver)s'

homepage = 'http://www.extend-project.de/'
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': '2023a'}
toolchainopts = {'usempi': True}

sources = [{
'filename': '%%(name)s-%%(version)s-%s.tar.gz' % local_commit,
'git_config': {
'url': 'https://git.code.sf.net/p/foam-extend/',
'repo_name': 'foam-extend-4.1',
'commit': local_commit,
},
}]
patches = [
'OpenFOAM-Extend-3.2-ParMGridGen.patch',
'OpenFOAM-Extend-3.1_build-qa.patch',
'OpenFOAM-Extend-4.1_comp-mpi.patch',
'OpenFOAM-Extend-3.1_skip-ThirdParty-OpenMPI.patch',
'OpenFOAM-Extend-4.1-20210705_fix-private-PackedList.patch',
]
checksums = [
# no checksum for OpenFOAM-Extend-4.1-20200408-f2c557.tar.gz since it's created from git repo,
# and hence resuluting tarball won't be exactly the same on all systems
None,
'f7676a7a12ced7c74caea64c62826a28449fdb2beb8b5be2c4ae7528ffece16e', # OpenFOAM-Extend-3.2-ParMGridGen.patch
'14dcc12ea7191ba42a9c297fcb2f4fbc2c55bf57226029489aa116e2d060b4bf', # OpenFOAM-Extend-3.1_build-qa.patch
'e71a77b6f39653f9a0d4b0ce6691433c742df74f23402782c69a8b736c98eb7a', # OpenFOAM-Extend-4.1_comp-mpi.patch
# OpenFOAM-Extend-3.1_skip-ThirdParty-OpenMPI.patch
'c88b23cd2f5dcf3bd86e02d7ea5dc6719c2049cf4b20e39f1b3262381dee3c50',
# OpenFOAM-Extend-4.1-20210705_fix-private-PackedList.patch
'47868f35d9a899047be8da451df46e165fc813bc809b96b1c35a0cccddb1a9e6',
]

builddependencies = [
('flex', '2.6.4'),
('Bison', '3.8.2'),
('M4', '1.4.19'),
('CMake', '3.26.3'),
]

dependencies = [
('hwloc', '2.9.1'),
('ParMETIS', '4.0.3'),
('METIS', '5.1.0'), # order matters, METIS need to be listed after ParMETIS to get $CPATH right
('SCOTCH', '7.0.3'),
('Mesquite', '2.3.0'),
('ParMGridGen', '1.0'),
('Python', '2.7.18'),
# Libccmio v2.6.1, zoltan v3.5
]

# too many builds in parallel actually slows down the build
maxparallel = 4

moduleclass = 'cae'
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
fix for:
error: class Foam::UList<unsigned int> Foam::UList<unsigned int>::UList is private within this context
see also https://sourceforge.net/p/foam-extend/tickets/68/
--- foam-extend-4.1-20210705/src/foam/containers/Lists/PackedList/PackedList.H.orig 2024-09-12 21:13:26.103914000 +0200
+++ foam-extend-4.1-20210705/src/foam/containers/Lists/PackedList/PackedList.H 2024-09-12 21:13:53.608924991 +0200
@@ -147,7 +147,7 @@
class PackedList
:
public PackedListCore,
- private List<unsigned int>
+ public List<unsigned int>
{
protected:

40 changes: 40 additions & 0 deletions easybuild/easyconfigs/p/ParMGridGen/ParMGridGen-1.0-gompi-2023a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
easyblock = 'MakeCp'

name = 'ParMGridGen'
version = '1.0'

homepage = 'http://www-users.cs.umn.edu/~moulitsa/software.html'
description = """ParMGridGen is an MPI-based parallel library that is based on the serial package MGridGen,
that implements (serial) algorithms for obtaining a sequence of successive coarse grids that are well-suited
for geometric multigrid methods."""

toolchain = {'name': 'gompi', 'version': '2023a'}
toolchainopts = {'usempi': True, 'pic': True}

source_urls = ['https://download.sourceforge.net/foam-extend/ThirdParty']
sources = [SOURCE_TAR_GZ]
patches = [
'ParMGridGen-%(version)s_malloc_include.patch',
'ParMGridGen-%(version)s_gompiOpenFOAM-Extend.patch',
]
checksums = [
'62cdb6e48cfc59124e5d5d360c2841e0fc2feecafe65bda110b74e942740b395', # ParMGridGen-1.0.tar.gz
'3e0d72f82b3b56cbfcb1e3c9afc6594eb25316a0faeb49237faa8d969b4daeaa', # ParMGridGen-1.0_malloc_include.patch
'60cc46d156e99101b21bde9d23cf6c2db3dcdef1704f1830a7baa0320003c02a', # ParMGridGen-1.0_gompiOpenFOAM-Extend.patch
]

buildopts = 'parallel make=make CC="$CC" PARCC="$CC" PARLD="$CC" COPTIONS="$CFLAGS" LDOPTIONS="$CFLAGS" BINDIR="."'

files_to_copy = [
(['MGridGen/Programs/mgridgen', 'ParMGridGen/Programs/parmgridgen'], 'bin'),
(['mgridgen.h', 'parmgridgen.h', 'MGridGen/IMlib/IMlib.h'], 'include'),
(['libmgrid.a', 'libMGridGen.a', 'libparmgrid.a', 'MGridGen/IMlib/libIMlib.a'], 'lib'),
]

sanity_check_paths = {
'files': ['bin/mgridgen', 'bin/parmgridgen', 'include/mgridgen.h', 'include/parmgridgen.h',
'include/IMlib.h', 'lib/libmgrid.a', 'lib/libMGridGen.a', 'lib/libparmgrid.a', 'lib/libIMlib.a'],
'dirs': [],
}

moduleclass = 'math'

0 comments on commit 49002fd

Please sign in to comment.