triou - 2021-06-30

TRUST is a thermohydraulic software package for CFD
simulations of incompressible monophasic flows.
This software is OpenSource (BSD license).


New TRUST version released v1.8.3 is now available

on GitHub: https://github.com/cea-trust-platform/trust-code
and on SourceForge: http://sourceforge.net/projects/trust-platform/

Please, note that SourceForge will no longer be used for TRUST hosting in the future.


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?

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 COBALT supercomputer:
    source /ccc/cont002/home/den/triou/env_TRUST-1.8.3.sh

  • for IRENE (Skylake & AMD Rome) supercomputer (int64 version only)
    source /ccc/cont002/home/den/triou/env_TRUST-1.8.3-int64.sh

  • for IDRIS supercomputer (jean-zay):
    source /gpfswork/rech/fej/ugz82dj/env_TRUST-1.8.3.sh

  • for CINES supercomputer (occigen):
    source /panfs/panasas/softs/applications/trio_u/TRUST/env_TRUST-1.8.3.sh



3. TRUST Release notes version 1.8.3 : Enhancements, modifications and corrected bugs since version 1.8.2 :

15/06/21 (TRUST) New feature : Add env_for_python.sh environment file which allows to load MEDCoupling, trusticoco and TRUST_STATS_JUPYTER Python environment
15/06/21 (TRUST) New feature : Python package added which offers the user a possibility to perform time/space statistical post-processing of the son files (convergence, correlation, spectra ...). See validation file HowTo/Postreatment_stats
15/06/21 (TRUST) New feature : Python package added which allows writing and running prm validation files via jupyter-lab using python & markdown syntax
11/06/21 (TRUST) Change : If some conda packages are updated/added/removed after TRUST install, configuring TRUST again will detect that and re-install TRUST's conda packages as per default.
07/06/21 (TRUST) Bug fixed : Finite Element (EF) BTD or SUPG convection scheme were unavailable in Pb_Thermohydraulique
03/06/21 (TRUST) New feature : Source term "Canal_perio" now supported in VDF for the Conduction_Diffusion_* equation
31/05/21 (TRUST) New feature : Parallel partitionning (with ParMetis or Pt-Scotch libraries) thanks to parmetis or ptscotch option with partitionneur keyword
27/05/21 (TRUST) Major Change: Class and function templates are used now for the evaluator classes of the VDF diffusion operators
21/05/21 (TRUST) Bug fix : Last backup was not always correctly done, especially within ICoCo context.
20/05/21 (TRUST) New feature : New problem added which allows simulating binary mixture flows at iso-bar and iso-thermal conditions using a low Mach number approximation (turbulent version available in trioCFD)
12/05/21 (TRUST) New feature : Add a new state equation Rho_T which defines the density as a function of the temperature field in a QC problem; i.e. rho=f(T) (independent of the thermo-dynamic pressure)
11/05/21 (TRUST) New feature : Add a solid/fluid coupling test case which illustrates the use of ICoCo (V2) with a python supervisor (docond_VEF_3D_ICoCo_py)
10/05/21 (TRUST) New keyword : Impliciting diffusive terms may now be used with a larger choice for solvers ('solveur' option in Paremetre_diffusion_implicite keyword). See diffusion_implicite_solveur validation sheet
30/04/21 (TRUST) Portability : Fedora 34 and GNU compilers 11.0.1 are supported with ./configure -force_latest_mpich and after doing: sudo dnf install patch g++ gfortran libX11-devel mesa-libGLU-devel texlive-scheme-full
30/04/21 (TRUST) Performance : PETSc matrix optimizations (update coefficients instead of matrix rebuild, suppress zeros by allowing memory reallocation)
23/04/21 (TRUST) Bug fixed : Champ_fonc_reprise didn't read correctly the PolyMAC fields
15/04/21 (TRUST) Portability : GNU compilers 10.3.0 supported
12/04/21 (TRUST) New feature : mpi4py Python package now provided by default in the TRUST Python environment when compiling with MPI.
31/03/21 (TRUST) New feature : ICoCo (Interface for Code Coupling) version 2! See https://github.com/cea-trust-platform/icoco-coupling for full reference.
30/03/21 (TRUST) Performance : Faster partitioning by disabling printing of remote (ghosts) elements (add a print_more_info option to enable it).
30/03/21 (TRUST) Warning : Detect in VDF a (rare case) with cells near two fluid faces corner where a missing contribution is not computed yet for several schemes except upwind scheme
30/03/21 (TRUST) Bug fixed : Useless write of a result file (containing mesh only) with no fields post_processing block
30/03/21 (TRUST) Bug fixed : Add messages to enhance PolyMAC use : detect incorrect mesh or time scheme
30/03/21 (TRUST) New option : Add convertAllToPoly option to LireMED keyword to convert mixed type cells mesh (eg. tetra and hexa) to polyedras/polygons only cells
09/03/21 (TRUST) Keyword : Terme_puissance_thermique_echange_impose to set a thermal source term P=h(T-Text) now available in VDF
08/03/21 (TRUST) New feature : Possible to post-process a component of an equation operator/source (Operateur_Eqn option of Definition_champs block)
08/03/21 (TRUST) New feature : Add predifined fields to post-process viscous forces, pressure forces and total forces in Definition_champs block
02/03/21 (TRUST) Bug fixed : Correct the header of output files (.out) in the case where the solved problem contains periodic BC.
23/02/21 (TRUST) New Keyword : Keyword 'Merge_MED' allows to merge multiple MED files produced during a parallel computation.
08/02/21 (TRUST) New feature : (VDF only) Add support for anistropic diffusion coefficient in conduction equation. For now only works with diagonal tensors.
01/02/21 (TRUST) Keyword : Add PIPECG2 kewyord to enable a parallel optimized CG (single non-blocking allreduce per 2 iterations)
01/02/21 (TRUST) Keyword : Add C-AMG and SA-AMG for classical and smoothed aggregated algebric multigrid preconditionners available for AmgX GPU solvers and PETSc CPU/GPU solvers
01/02/21 (TRUST) Keyword : Add parallel LU/Cholesky factorization on GPU with SuperLU: petsc_gpu cholesky_superlu { }
01/02/21 (TRUST) Keyword : Add fast sequential Cholesky (not LU) factorization with Cholmod: petsc cholesky_cholmod { }
01/02/21 (TRUST) Performance : Introduce GPU support (./configure -cuda) for solvers with keywords: amgx (using AmgX library) or petsc_gpu (using PETSc library)
01/02/21 (TRUST) Library : Update PETSc to 3.14.1
29/01/21 (TRUST) Keyword : Old syntax of Champ_Fonc_Fonction, Champ_Fonc_Fonction_txyz, Champ_Fonc_Tabule, Champ_Fonc_Fonction_txyz_Morceaux is now obsolete. The depending field name should be before the number of components
28/01/21 (TRUST) Keyword : Add single_hdf option for Champ_Fonc_Reprise keyword (restart parallel calculation with a single .sauv file)
13/01/21 (TRUST) Bug fixed : Regression introduced into 1.8.2 fixed : reading distributed mesh (scatter) could hang on during parallel calculation
13/01/21 (TRUST) New keyword : MultipleFiles keyword to change the upper number of MPI ranks (default 5120) where single files for I/O is enabled by default
13/01/21 (TRUST) Bug fixed : Possible hang during massive parallel calculation with multiple open of .stop and .progress files
13/01/21 (TRUST) Keyword : New option "decoup filename" in Champ_Fonc_MEDFile keyword to read efficiently a single .med in parallel. filename is the partition info file (ecrire_decoupage option from Partition keyword)
13/01/21 (TRUST) New feature : During a parallel calculation, multiple .med files can now be used with Champ_Fonc_MED keyword if MED partition matches the domain partition
06/01/21 (TRUST) Bug fixed : Producing .xyz file could crash on large mesh (regression introduced in v1.7.8)
06/01/21 (TRUST) Output : New option "format lata parallele mpi-io" to enable MPI parallel I/O when writing .lata files
05/01/21 (TRUST) I/O issue : .dt_ev, .progress files (and other channel flow rate files) open/close each time step could lead to bad performance on some file systems



4. TRUST Developer notes version 1.8.3 : Changes since version 1.8.2 :

21/06/21 (TRUST) Add trust -eclipse-baltik option that helps to configure easily Eclipse project with a BALTIK sources.
21/06/21 (TRUST) trust -eclipse option renamed to trust -eclipse-trust
15/04/21 (TRUST) Add -xdata option to trust wrapper to quickly run a XData changed data file
09/04/21 (TRUST) Add trust -eclipse option that helps to configure easily Eclipse project with TRUST sources.
30/03/21 (TRUST) Add a validation sheet (Convection_VDF) to check VDF upwind scheme with analytical solution
22/03/21 (TRUST) Add ld_flags tag into Baltik project.cfg configuration file to add linker flags to TRUST ones (eg: -llib)



5. externalpackages Release notes version 1.8.3 : Enhancements, modifications and corrected bugs since version 1.8.2 :

30/04/21 (externalpackages) Performance : AmgXWrapper mis a jour
26/04/21 (externalpackages) Portability : Python pandas package added to conda
26/04/21 (externalpackages) Portability : conda upgraded from 4.6.14 to 4.9.2 and cmake from 3.14 to 3.18
01/02/21 (externalpackages) Pergformance: PETSc updated to 3.14.1 (and dependencies updated)
22/12/20 (externalpackages) Portability : xorg-libsm upgraded from 1.2.2 to 1.2.3



6. Version tested on several OS

CentOS Linux release 7.6.1810
CentOS Linux release 7.9.2009
Debian GNU/Linux 10
Debian GNU/Linux 9
Fedora release 24
Fedora release 26
Fedora release 30
Fedora release 32
Fedora release 34
Red Hat Enterprise Linux Server release 7.9
Red Hat Enterprise Linux release 8.1
Red Hat Enterprise Linux release 8.2
Ubuntu 16.04.7 LTS
Ubuntu 18.04.5 LTS
Ubuntu 20.04.2 LTS



7. Version portability with several compilers

clang++ 8.0.0
clang++ 10.0.0
clang++ 10.0.0-4ubuntu1
cuda-g++ 8.3.0
g++ 4.8.5
g++ 5.4.0
g++ 6.1.1
g++ 6.3.0
g++ 7.1.1
g++ 7.5.0
g++ 8.3.0
g++ 8.3.1
g++ 9.0.1
g++ 9.1.0
g++ 9.3.0
g++ 10.0.1
g++ 10.3.0
g++ 11.0.1
icpc 18.0.3
icpc 19.0.3.199
icpc 19.0.5.281
icpc 19.1.3.304


 

Last edit: triou 2021-06-30