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
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Author: Cintia Willemyns (Vrije Universiteit Brussel)

easyblock = 'Tarball'
name = 'PowerACOUSTICS'
version = '2026-R2'

homepage = 'https://www.3ds.com/'
description = """
PowerACOUSTICS analyzes aeroacoustics and unsteady results of PowerFLOW® fluid flow
simulations.
"""

toolchain = {'name': 'GCCcore', 'version': '14.2.0'}

# This installation is for PowerFLOW using license type DSLS (Dassault Systèmes Licensing Server).
# To set it up use environment variable:
# DSLS_POWERFLOW_LICENSE="host1:1234,host2:2345,host3:3456;host4:4567

download_instructions = 'Manually obtain tarballs from Dassault Systèmes'

sources = ['PowerFLOW_2026_Refresh2.poweracoustics-2026-R2.1-1.tar']
checksums = ['b8727c7f6cb84be87288e1f4fa5cd6efa3ab0aa71218314a1f76dfeb086aaa22']

postinstallcmds = [
('tar -xzf %(builddir)s/AM_SIM_PowerACOUSTICS.AllOS/1/linux/unix/'
'poweracoustics-generic-2026-R2.tar.gz -C %(installdir)s/'),
('tar -xzf %(builddir)s/AM_SIM_PowerACOUSTICS.AllOS/1/linux/unix/'
'poweracoustics-x86_linux-2026-R2.tar.gz -C %(installdir)s/'),
'rm -fr %(installdir)s/windows',
'rm -fr %(installdir)s/linux',
]

sanity_check_paths = {
'files': ['bin/exafile', 'dist/generic/scripts/bin_launcher', 'bin/poweracoustics'],
'dirs': ['bin', 'dist']
}

sanity_check_commands = ["poweracoustics --help"]

moduleclass = 'cae'
50 changes: 50 additions & 0 deletions easybuild/easyconfigs/p/PowerFLOW/PowerFLOW-6-2026-R2.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Author: Cintia Willemyns (Vrije Universiteit Brussel)

easyblock = 'Tarball'
name = 'PowerFLOW'
version = '6-2026-R2'

homepage = 'https://www.3ds.com/'
description = """
SIMULIA PowerFLOW is a software application used for simulating and visualizing fluid flows.
"""
toolchain = SYSTEM

# This installation is for PowerFLOW using license type DSLS (Dassault Systèmes Licensing Server).
# To set it up use environment variable:
# DSLS_POWERFLOW_LICENSE="host1:1234,host2:2345,host3:3456;host4:4567

download_instructions = 'Manually obtain tarballs from Dassault Systèmes'
sources = [
'PowerFLOW_2026_Refresh2.powerflow-%(version)s-linux.1-3.tar',
'PowerFLOW_2026_Refresh2.powerflow-%(version)s-linux.2-3.tar',
'PowerFLOW_2026_Refresh2.powerflow-%(version)s-linux.3-3.tar',
]
checksums = [
{'PowerFLOW_2026_Refresh2.powerflow-6-2026-R2-linux.1-3.tar':
'fb3bb148866e4d3e772afce87daebf84c417ed396a30ad5972632ad5eb52c405'},
{'PowerFLOW_2026_Refresh2.powerflow-6-2026-R2-linux.2-3.tar':
'f33de6b83c85a1bd5da162e761e44810b5fc056fe1cdd1605468cda587324a08'},
{'PowerFLOW_2026_Refresh2.powerflow-6-2026-R2-linux.3-3.tar':
'7ba695838af6ca623bc6456c3483606bad566f973fb37c4121b60ce9d83c627d'},
{'PowerFLOW-6-2026-R2_fix-impi.patch':
'629b5a8f57a4e965a6556c97dbce46a27bdcd83e60bdfef6d4fc2bcc76f49242'},
]

postinstallcmds = [
'for f in %(builddir)s/AM_SIM_PowerFLOW.Linux64/1/unix/*.tar.gz; do tar -xzf "$f" -C %(installdir)s/; done',
'for f in %(builddir)s/AM_SIM_PowerFLOW.Linux64/[2-9]/*.tar.gz; do tar -xzf "$f" -C %(installdir)s/; done',
'rm -fr %(installdir)s/{1,2,3}',
'chmod u+w %(installdir)s/dist/generic/tools/queue_scripts/exarun',
]

postinstallpatches = [('%(name)s-%(version)s_fix-impi.patch', 0)]

sanity_check_paths = {
'files': ['bin/exafile', 'dist/generic/scripts/bin_launcher', 'bin/ptherm/powertherm'],
'dirs': ['bin', 'dist']
}

sanity_check_commands = ["exarun --help 2>&1 | grep -q Usage"]

moduleclass = 'cae'
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Patch to make powerflow work with an external impi
# Author: Cintia Willemyns (Vrije Universiteit Brussel)
--- dist/generic/tools/queue_scripts/exarun.orig 2026-01-23 11:13:32.000000000 +0100
+++ dist/generic/tools/queue_scripts/exarun 2026-01-23 11:26:19.000000000 +0100
@@ -3562,14 +3562,14 @@
I_MPI_ROOT=${EXA_SERVER_DIR}/impi
fi
export I_MPI_ROOT
- PATH="${I_MPI_ROOT}/bin:$PATH"
+ PATH="${I_MPI_ROOT}/bin:${I_MPI_ROOT}/bin64:$PATH"
export PATH
mpirun_path=${I_MPI_ROOT}/bin/mpiexec.hydra
if [ ! -x "$mpirun_path" ] ; then
echo "Error: The MPI utility \"$mpirun_path\" is not executable."
exit 1
fi
- LD_LIBRARY_PATH="${I_MPI_ROOT}/libfabric/lib:${I_MPI_ROOT}/libfabric/lib/prov:${I_MPI_ROOT}/lib:${LD_LIBRARY_PATH}"
+ LD_LIBRARY_PATH="${I_MPI_ROOT}/libfabric:${I_MPI_ROOT}/libfabric/lib:${I_MPI_ROOT}/libfabric/lib/prov:${I_MPI_ROOT}/lib/release:${I_MPI_ROOT}/lib/release_mt:${I_MPI_ROOT}/lib:${LD_LIBRARY_PATH}"
export LD_LIBRARY_PATH

# I_MPIJOB_ABORT_SIGNAL defaults to 9 (SIGKILL). We set
@@ -5357,6 +5357,10 @@
if [ "$Debug" = "yes" ] ; then
#echo My PID is $$. Executing: $cmd `expandCmdLineOpts "${cmdArgs[@]}"`
echo My PID is $$. Executing: $cmd ${cmdArgs[@]}
+ # unset conflicting variables with Intel MPI
+ unset HYDRA_LAUNCHER_EXTRA_ARGS
+ unset I_MPI_HYDRA_BOOTSTRAP_EXEC_EXTRA_ARGS
+ unset I_MPI_FABRICS
echo "Environment:"
env
echo "LD_LIBRARY_PATH is $LD_LIBRARY_PATH"
Loading