Skip to content

Release V1.9.1

Compare
Choose a tag to compare
@trust-tma trust-tma released this 02 Dec 15:07
· 2471 commits to master since this release

TRUST is a thermohydraulic software package for CFD simulations. It was originally designed for incompressible single-phase and Low Mach Number flows, but now also allows simulating real compressible multi-phase flows.
TRUST is also being progressively ported to support GPU acceleration (NVidia/AMD).
This software is OpenSource (BSD license).

Please note that the syntax has evolved for some keywords, but the old syntax will be supported until v1.9.3. For more details, please refer to the release notes.


New TRUST version released v1.9.1

is now available on GitHub: https://github.com/cea-trust-platform/trust-code


Table of contents

  1. How to install?
  2. How to run preinstalled version?
  3. TRUST Release notes
  4. TRUST Developer notes
  5. externalpackages Release notes
  6. Version tested on several OS
  7. Version portability with several compilers

TRUST support team: trust@cea.fr
Website: http://triocfd.cea.fr/


1. How to install?

First method:

git clone https://github.com/cea-trust-platform/trust-code.git TRUST-1.9.1
cd TRUST-1.9.1
wget ftp://ftp.cea.fr/pub/TRUST/externalpackages/externalpackages-1.9.1.tar
tar xf externalpackages-1.9.1.tar
./configure -help # To see the possible configure options.
./configure $OPTIONS # where $OPTIONS is the list of selected options.
make

Second method:

wget ftp://ftp.cea.fr/pub/TRUST/TRUST/Version1.9.1/TRUST-1.9.1.tar.gz
tar xzf TRUST-1.9.1.tar.gz
cd TRUST-1.9.1
./configure -help # To see the possible configure options.
./configure $OPTIONS # where $OPTIONS is the list of selected options.
make

Warning: Check carefully the MPI version you want to use for parallel computing before installing the code, especially onto a HPC cluster.
The command mpicxx should be found into the bin directory of the MPI version you plan to use, to check that, run:
type mpicxx


2. How to run preinstalled version?

  • for TOPAZE and IRENE (Skylake & AMD Rome) supercomputers (64-bit integers version):
    source /ccc/cont002/home/den/triou/env_TRUST-1.9.1-int64.sh

  • for TOPAZE and IRENE (AMD Rome) supercomputers (GPU version):
    source /ccc/cont002/home/den/triou/env_TRUST-1.9.1-gpu.sh

  • for IDRIS (jean-zay) supercomputer (64-bit integers version):
    source /gpfswork/rech/fej/ugz82dj/env_TRUST-1.9.1-int64.sh

  • for IDRIS (jean-zay) supercomputer (GPU version):
    source /gpfswork/rech/fej/ugz82dj/env_TRUST-1.9.1-gpu.sh


3. TRUST Release notes version 1.9.1: Enhancements, modifications and corrected bugs since version 1.9.0:

17/11/22 (TRUST) Output : Field unit if known added into .son files
24/10/22 (TRUST) New option : Post-processing can now be done on a sub-zone of the domain (available only in sequential)
19/10/22 (TRUST) Portability : Cygwin build on Windows is supported (but not regularly tested yet)
19/10/22 (TRUST) New keyword : Keyword "muscl_new" VEF convective scheme which really respect monotonicity contrary to "muscl" one, though at higher CPU cost for the moment: see QC_temperature_bounds_MUSCL validation sheet
19/10/22 (TRUST) New solvers : Add rocALUTION library for CPU and/or AMD GPU (need ROCm 5.x recent environment). Syntax: solveur_pression rocALUTION gcp|gmres|... { precond ... { ... } seuil ... }
19/10/22 (TRUST) Tool : Syntax in datafile for medium, gravity, porosity, champ_fonc_MED* and Read_MED can be updated using command: trust -convert_data
18/10/22 (TRUST) Syntax : Champ_Fonc_MED* keywords have a new syntax using { } and key/value pairs. See reference manual. Old syntax supported until 1.9.3.
17/10/22 (TRUST) Syntax : Previous 'diametre_hyd_champ' interpret is no more available. It is now read as part of the medium.
13/10/22 (TRUST) Syntax : Read_MED/Lire_MED has a new syntax using { } and key/value pairs. See reference manual. Old syntax supported until 1.9.3.
12/10/22 (TRUST) Change : Lata_V1 is not supported anymore. Only Lata_V2 (option 'lata') remains. Domain and Zone postprocessing in Lata_V2.
30/09/22 (TRUST) New feature : Champ_Input_P0_Composite is now available and can be used to initialize the input field before starting the time scheme.
30/09/22 (TRUST) Major Change: Previous Phases interpret is no more available in Pb_multiphase. Milieu_composite class should now be used and should be placed as well in the problem.
30/09/22 (TRUST) Major Change: Medium (Fluid, solid, constituent, ...) is no more read and associated to a problem. It should be read on the begining of each problem bloc.
30/09/22 (TRUST) Major Change: Gravity is no more read and associated to a medium. It is read directly in the medium.
30/09/22 (TRUST) Major Change: Previous porosites_champ and porosites interpret are no more available. They are now fields read in the medium.
19/09/22 (TRUST) New keyword : New fields champ_composite and champ_front_composite are available and useful for Pb_Multiphase
02/09/22 (TRUST) New option : New domaines keyword added to Create_domain_from_sous_zone which allows to create multiple domains at once.
31/08/22 (TRUST) Change : Previous lata2dx exec is now called lata_analyzer. It is built in Outils/lata_tools (previously Outils/lata2dx).
31/08/22 (TRUST) Change : TRUST do not support anymore DX visualizations.
08/08/22 (TRUST) New option : Add reduce_ram option for some PETSc direct solvers (MUMPS) to suppress preventive RAM increase.


4. TRUST Developer notes version 1.9.1: Changes since version 1.9.0:

19/10/22 (TRUST) Add -fp-model precise flag to Intel compiler for less agressive optimizations and less computations difference than GNU-built TRUST version
19/10/22 (TRUST) Add -disable-petsc-optionals to configure options to disable options for Cathare (vizualisation features, HDF5 support, ...)
30/09/22 (TRUST) Porosity_elem() & porosity_face() are now accessed from the medium and not anymore from the zone
30/09/22 (TRUST) Huge clean-up done in Probleme/Milieu_base. Gravity & porosity read in medium, medium read in problem
23/09/22 (TRUST) Matrice_base: new functionality get_stencil_and_coeff_ptrs() allowing to save initial coefficient pointers. 23/09/22 (TRUST) Solv_Petsc::resoudre_systeme() now supports matrix size change.
19/09/22 (TRUST) Span implementations for Fluide_Reel_base and Saturation classes (no more point--to-point calculation)
12/09/22 (TRUST) Build with clang compilers (need to be rebuilt to enable OpenMP offload on GPU cards) is supported (no compute capability minimum)
12/09/22 (TRUST) Build with NVidia HPC SDK compilers is supported with -openmp -cuda configure options. Need a recent NVidia GPU card (compute capability>=7.0)
06/09/22 (TRUST) ArrOfFloat, FloatVect, FloatTab and FloatTrav follow the template arch.
31/08/22 (TRUST) No more DX sources in TRUST. Outils/lata2dx is clean now and renamed as Outils/lata_tools.
30/08/22 (TRUST) Source documentation can be converted to standard Doxygen format using command: python Outils/triou2doxygen/trust_doc.py <fichier_in> <fichier_out>
26/07/22 (TRUST) Activating compilation flag -Wconversion in TRUST and baltiks (for 32bits version only)


5. externalpackages Release notes version 1.9.0: Enhancements, modifications and corrected bugs since version 1.8.4:

16/10/22 (externalpackages) New package: rocALUTION (commit 985838b4e)


6. Version tested on several OS

CentOS Linux release 7.6.1810
CentOS Linux release 7.9.2009
Debian GNU/Linux 9
Debian GNU/Linux 11
Fedora release 26
Fedora release 30
Fedora release 32
Fedora release 34
Fedora release 36
Red Hat Enterprise Linux Server release 7.9
Red Hat Enterprise Linux release 8.4
Red Hat Enterprise Linux release 8.5
Ubuntu 18.04.6 LTS
Ubuntu 20.04 LTS
Ubuntu 22.04.1 LTS (VisIt not supported yet)


7. Version portability with several compilers

clang++ 10.0.0
clang++ 14.0.0
g++ 4.8.5
g++ 6.3.0
g++ 7.1.1
g++ 7.5.0
g++ 8.3.0
g++ 8.4.1
g++ 9.0.1
g++ 9.1.0
g++ 9.4.0
g++ 10.0.1
g++ 11.0.1
g++ 11.3.0
g++ 12.0.1
icpc 19.0.3.199
icpc 19.0.5.281
icpc 19.1.3.304