Skip to content

Releases: cea-trust-platform/trust-code

Release V1.9.4

10 Jun 14:40
Compare
Choose a tag to compare

TRUST is a thermalhydraulic software package for CFD simulations (https://cea-trust-platform.github.io).
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).


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: [email protected]
Website: https://cea-trust-platform.github.io


How to install?

First method:

git clone https://github.com/cea-trust-platform/trust-code.git TRUST-1.9.4
cd TRUST-1.9.4
wget ftp://ftp.cea.fr/pub/TRUST/externalpackages/externalpackages-1.9.4.tar
# or :  
# wget "https://drive.usercontent.google.com/download?id=1cQiXm8Qd8UsxxrFdX6nIAaGD4jgE-yxJ&export=download&authuser=2&confirm=t" -O externalpackages-1.9.4.tar
# Unzip the downloaded external packages folder
tar xf externalpackages-1.9.4.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.3/TRUST-1.9.3.tar.gz
tar xzf TRUST-1.9.3.tar.gz
cd TRUST-1.9.3
./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

NB: If you cannot get externalpackages, please contact TRUST support team


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.4-int64.sh

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

  • for CINES (Adastra) supercomputer (64-bit integers version):
    source /opt/software/USERS_SOFTWARES/TRIOU/env_TRUST-1.9.4-int64.sh

  • for CINES (Adastra) supercomputer (64-bit integers GPU version):
    source /opt/software/USERS_SOFTWARES/TRIOU/env_TRUST-1.9.4-gpu.sh

  • for IDRIS (jean-zay) supercomputer (64-bit integers version):
    source /gpfswork/rech/aih/ume72pt/env_TRUST-1.9.4-int64.sh


3. TRUST Release notes version 1.9.4 : Enhancements, modifications and corrected bugs since version 1.9.3 :

17/05/24 (TRUST) Minor change : In Jupyter validation form Python API, method 'run.description()' is not available anymore. A MarkDown block should be used instead
17/05/24 (TRUST) Keyword : Champ_front_parametrique (boundary fields list) and Champ_parametrique (fields list) to chain multi-stationary or stationary-transient scenarios (see V&V sheets under Verification/Champs). Experimental, only tested with Flica5
16/05/24 (TRUST) Tools : Upgrade to MEDCoupling 9.13.0
13/05/24 (TRUST) New feature : New LES Smago/WALE models developped for Pb_Multiphase. To be used in TrioCFD (CMFD module !)
06/05/24 (TRUST) New feature : Performance logs (TU files): XX_comm.TU and XX_detail.TU have been replaced by XX_csv.TU which contains a CSV formated logs of the computation times. Keyword 'stat_per_proc_perf_log' can be used to obtain detailed performance logs per processor. See validation form 'HowTo/Post_treatment_performance' for detailed explanation on how global TU information are computed.
30/04/24 (TRUST) New Keywords : 'Fields_file', 'Statistics_file', 'Serial_statistics_file', 'Mobile_Probes_file', 'Int_Probes_file' and 'Int_Arrays_file' can now be used to define post-processing blocs in an annex datafile. See 'postpro_annex_file' test case
12/04/24 (TRUST) Keyword : .xyz file may be written in ASCII format with "EcritureLectureSpecial EcrFicPartage" keyword. Fields are written in "x(i) y(i) z(i) value(i)" format
10/04/24 (TRUST) Fix : Element-wall distance is now correctly calculated in the diffusion-operator for multi-component cases
10/04/24 (TRUST) New feature : Add series of problems XXX_List_Concenration & XXX_List_Concenration_Turbulent that can be used to dolve a list of N concentration equations. Possible to define different diffusion coefficients for each cloned equation (which is not the case of list_scalaire_passif problem !!!)
10/04/24 (TRUST) New feature : Add series of problems XXX_Cloned_Concenration & XXX_Cloned_Concenration_Turbulent that can be used to state only a single concentration equation in the .data but clone N equations. We assume here that the same BC are used. Possible to define different diffusion coefficients for each cloned equation.
08/04/24 (TRUST) Keyword : Keyword 'ecrire_fichier_xyz_valeur' is now used in a single block, with attributes 'dt', 'fields' and 'boundaries'
20/03/24 (TRUST) New feature : CoolProp and EOS can now be used with Dilatable flows problems
07/03/24 (TRUST) New feature : New syntax available for facsec with Euler implicit scheme, more options allowed in datafile to monitor facsec behavior: facsec { [facsec_ini] [facsec_max] [rapport_residus] [nb_ite_sans_accel_max] }. It can also be a function of time, as follows: facsec expression(t)
07/03/24 (TRUST) Keyword : Obsolete syntax for Champ_Fonc_Fonction, Champ_Fonc_Fonction_txyz, and Sutherland (pre v1.8.4) is not accepted anymore.
07/03/24 (TRUST) Keyword : Obsolete syntax for Champ_Fonc_tabule (pre v1.8.4) is not accepted anymore. Syntax should be on the form Champ_fonc_tabule { pb field } nbcomp { table }
07/03/24 (TRUST) Change : EcritureLectureSpecial is forced to 0 for PolyMAC_P0 simulations; ie: for resuming a simulation, only binary sauv files are accepted for this discretization.
07/03/24 (TRUST) New Keyword : Possible to use "Unite" keyword in Definition_champs with Transformation and Morceau_Equation to specify the unit of the field (specified unit will be written in post-processing files instead of "??")
06/03/24 (TRUST) New feature : Implementing ICoCo resetTime() method allowing to reset the time origin during the computation. For now previous post files are overwritten by default.
04/03/24 (TRUST) New feature : New option 'trust -quiet jdd.data' can be used to run a dataset with not output on the console.
04/03/24 (TRUST) New feature : It is now possible to resume Pb_Multiphase simulations (both via last time or champ_fonc_reprise).
29/02/24 (TRUST) Tools : Patched MEDCoupling to correct tetrahedrons remapping (fix will be included in next release of MEDCoupling)
26/02/24 (TRUST) New feature : Fallback to coarse solver if the IJK-multigrid has not reached convergence during current timestep (this concerns IJK discretization only)
05/02/24 (TRUST) New feature : New post-processing format introduced in TRUST : CGNS (CFD General Notation System). Not yet available for FT interface mesh (will be soon !)
02/02/24 (TRUST) Fix : Fixed bug in post-processing fields on nodes (SOM) in MED Format (internal MEDCouplingUMesh was not always in sync with Domaine)
31/01/24 (TRUST) Fix : Fixed handling of empty domains in VEF, PolyMAC_P0, and other related areas.
31/01/24 (TRUST) Fix : Bug fix in pb_couple on the same domain with missing APPEND for fields.
31/01/24 (TRUST) Fix : Resolved the issue in Perte_Charge_VEF with non-uniform, non-xyz viscosity.
31/01/24 (TRUST) Fix : Replaced deprecated Pandas append with concat in Jupyter notebooks.
31/01/24 (TRUST) New feature : himp and Text in Terme_Puissance_Thermique_Echange_Impose can now be champ_fonc fields.
31/01/24 (TRUST) New feature : Addition of new methods for face/element interpolation with DoubleTab in Discretization Tools.
31/01/24 (TRUST) New feature : DP_Impose and regulated pressure loses compatible with VEF discretizations
31/01/24 (TRUST) New feature : Champ_Fonc_Interp can be used now with OverlapDEC (for parallel cases)
31/01/24 (TRUST) Portability : Lots of portability stuff for mac: extension .so => dylib, linker, NB_PHYSICAL_CORES, awk ...
11/01/24 (TRUST) Change : OpenBLAS version updated to 0.3.25, this may result into some numerical differences in tests using this library
18/01/24 (TRUST) New keyword : Add mesh_numbering multi-scalar field to plot {node,cell,face} numerotation for visualization
18/01/24 (TRUST) Fix : Refine keywords (eg: Raffiner_simplexes, Raffiner_isotrope_parallele) were not refining sub_zones
18/01/24 (TRUST) New feature : Partition_tool Fichier_MED can read now the partition MED file from a previous partitionned domain to create a conform partitioned mesh
18/01/24 (TRUST) New option : Add ecrire_med option to Partition tools to write partition field into a MED file
12/01/24 (TRUST) Portability : cmake 3.21.0 or newer is necessary to install petsc and so TRUST.
12/01/24 (TRUST) New keyword : Add "petsc LU_Strumpack { }" as direct solver from STRUMPACK library
12/01/24 (TRUST) New keyword : Add two ILU preconditioners based on Block Low Ranking parametrized (epsilon) compression: petsc gcp|gmres { precond ilu_mumps|ilu_strumpack { epsilon value } ... }. May be useful on problems with solver slow convergence.
12/01/24 (TRUST) Library : Update PETSc to 3.20.0 (dependancies like MUMPS,... not updated yet)
11/01/24 (TRUST) Tools ...

Read more

Release V1.9.3

01 Dec 08:06
Compare
Choose a tag to compare

TRUST is a thermalhydraulic software package for CFD simulations (https://cea-trust-platform.github.io).
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).


New TRUST version released v1.9.3 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: [email protected]
Website: https://cea-trust-platform.github.io


How to install?

First method:

git clone https://github.com/cea-trust-platform/trust-code.git TRUST-1.9.3
cd TRUST-1.9.3
wget ftp://ftp.cea.fr/pub/TRUST/externalpackages/externalpackages-1.9.3.tar
# or :  
# wget "https://drive.google.com/u/0/uc?id=1boywYtjFNtQDCmuVm_lWFKivjOzi5JRX&export=download&confirm=t" -O externalpackages-1.9.3.tar
# Unzip the downloaded external packages folder
tar xf externalpackages-1.9.3.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.3/TRUST-1.9.3.tar.gz
tar xzf TRUST-1.9.3.tar.gz
cd TRUST-1.9.3
./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

NB: If you cannot get externalpackages, please contact TRUST support team


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.3-int64.sh

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

  • for CINES (Adastra) supercomputer (64-bit integers version):
    source /opt/software/USERS_SOFTWARES/TRIOU/env_TRUST-1.9.3-int64.sh

  • for CINES (Adastra) supercomputer (64-bit integers GPU version):
    source /opt/software/USERS_SOFTWARES/TRIOU/env_TRUST-1.9.3-gpu.sh

  • for IDRIS (jean-zay) supercomputer (64-bit integers version):
    source /gpfswork/rech/aih/ume72pt/env_TRUST-1.9.3-int64.sh

  • for IDRIS (jean-zay) supercomputer (GPU version):
    source /gpfswork/rech/aih/ume72pt/env_TRUST-1.9.3-gpu.sh


3. TRUST Release notes version 1.9.3 : Enhancements, modifications and corrected bugs since version 1.9.2 :

13/11/23 (TRUST) New feature : New option for DP_impose keyword: dp_regul to regulate the DP in order to match a target flow rate.
09/11/23 (TRUST) New feature : Introducing a new tool for dataset Python maniupulation and reference doc generation -> trustpy. Check out README.md in Outils/trustpy/doc
07/11/23 (TRUST) New option : New option while launching TRUST executable -log_directory=<logs_dir>/ to save .log files into logs_dir (interesting for parallel computations)
07/11/23 (TRUST) New feature : New interpreter "lml_to_lata" that can be used to convert lml files to single_lata format.
07/11/23 (TRUST) New feature : New post-processing format "single_lata" that dumps results in a single binary lata file (Not supported in 64 bits integer build).
27/10/23 (TRUST) Tools : Upgrade to MEDCoupling 9.12.0
23/10/23 (TRUST) New feature : New method 'initBuildDirectory()' in Jupyter validation form Python API. It triggers build directory creation and copy src content into it.
23/10/23 (TRUST) Minor change : An arbitrary group of faces can now be loaded (not just internal or boundary ones) => in Read_MED, option 'include_internal_face_groups' is renamed into 'include_additional_face_groups'. In Perte_Charge_Singuliere, option 'internal_face_groups' is renamed into 'face_group'.
20/10/23 (TRUST) Fix : Performance regression (switch from Mkl to OpenBlas) fixed for several solvers (MUMPS, GCP) on irene and topaze clusters
20/10/23 (TRUST) New option : Add table_temps_lue option to Champ_Fonc_MED_Table_Temps keyword : Champ_Fonc_MED_Table_Temps { table_temps_lue file.txt | table_temps { ... } ... }
06/10/23 (TRUST) Minor change : TRUST can be linked to a pre-compiled static library of CoolProp 6.5.0 version (./configure -with-coolprop=<YOUR_PATH_TO_COOLPROP_INSTALL>).
06/10/23 (TRUST) Keyword : Gravity is no more read and associated to a medium, syntax is obsolete. It should be read directly in the medium.
06/10/23 (TRUST) Keyword : Medium (Fluid, solid, constituent, ...) are read in the problem and old syntax of read and association is not supported anymore.
29/09/23 (TRUST) Fix : Incomplete save (for HDF5 and .xyz files) when diffusion-implicited scheme did not converge
25/09/23 (TRUST) GPU : Faster setup and less memory needed with option by default changed (HMIS->PMIS selector algorithm) for Nvidia (classical) algebric multigrid: amgx cg { precond c-amg { } ... }
25/09/23 (TRUST) GPU : More options for linear solver on AMD: rocALUTION cg { precond c-amg|sa-amg { [smoother jacobi|gs] [coarse_grid_solver LU|inversion|jacobi] [omega double] [coarse_grids_host int] [impr] } rtol|atol double [ impr ] }
28/08/23 (TRUST) GPU : More support in VEF for temperature equation (diffusion operator, boussinesq term) and periodic flow (source term + boundary condition in operators)
25/08/23 (TRUST) Fix : Updated HDF5 library from 1.10.3 to 1.14.2 to fix a weird crash on a 32768 cores calculation during raffiner_isotrope_parallele operation
25/08/23 (TRUST) GPU : 64 bits integer build supported for Nvidia/AMD with: ./configure -cuda/-rocm -openmp -with-64-bit-indices
02/08/23 (TRUST) GPU : Experimental device-device communication implemented if Cuda-aware MPI is available. Use: TRUST_USE_GPU_AWARE_MPI=1 trust datafile NB_PROCS
02/08/23 (TRUST) Fix : When diffusive-implicited scheme diverges, backup wasn't done
02/08/23 (TRUST) GPU : Default for AmgX preconditionner may be overloaded in data file. Ex: amgx gcp { precond c-amg { p:selector=PMIS p:strength_threshold=0.8 } ... }
18/07/23 (TRUST) New feature : Read_MED|Lire_MED new keyword include_internal_face_groups to read a group of internal faces into a MED file. Can be used with keyword Internal_face_groups to apply Perte_Charge_Singuliere on this group of faces. See Perte_Charge_Singuliere validation sheet.
18/07/23 (TRUST) Keyword : Previous PolyMAC discretization (compat with Pb_Multi) has been renamed as PolyMAC_P0P1NC.
18/07/23 (TRUST) Major change : Three PolyMAC versions are now available in TRUST: PolyMAC, PolyMAC_P0P1NC and PolyMAC_P0. The last two are compatible with Pb_Multiphase.
18/07/23 (TRUST) Major change : Initial PolyMAC version is now hosted in TRUST. It is not useful with Pb_Multiphase but is used in several applications.
07/07/23 (TRUST) New feature : Read_MED|Lire_MED and Write_MED|Ecrire_MED now relies exclusively on MED groups, not on families. Option 'exclude_groups' can be used in Read_MED to avoid reading some face groups.
07/07/23 (TRUST) Keyword : Read_MED|Lire_MED, Write_MED|Ecrire_MED and Champ_Fonc_MED* old syntax is not supported anymore. Use the syntax with braces.
26/06/23 (TRUST) Fix : Fluxes are not printed into an .out file if the dedicated operator's output file is not set in the code, this avoids confusions.
26/06/23 (TRUST) Fix : Bug fix with lambda keyword in Perte_Charge_Circulaire in PolyMAC discretisation
26/06/23 (TRUST) Fix : When using Vorticity in Definition_champ to extract the max value for exemple in a probe, not all times were written in the .son file
19/06/23 (TRUST) Portability : C++14 compilers are now mandatory so old GNU compilers (<5.0) are not supported anymore
19/06/23 (TRUST) Tools : Upgrade to MEDCoupling 9.11.0


4. TRUST Developer notes version 1.9.3 : Changes since version 1.9.2 :

10/11/23 (TRUST) Tools : Add -disable-hwloc option to configure to not install hwloc tool by default
23/10/23 (TRUST) Minor change : Class Groupe_interne becomes Groupe_face as it now supports an arbitrary mix of internal or boundary faces.
25/09/23 (TRUST) Portability : OpenMP AMD compiler AOMP is supported (see https://github.com/ROCm-Developer-Tools/aomp/blob/aomp-dev/docs/UBUNTUINSTALL.md how to install)
20/09/23 (TRUST) For development versions, $TRUST_ROOT/bin/gestion_externalpackages/extp.commit file contains the commit (Id SHA1) of externalpackages compatible with TRUST version
04/09/23 (TRUST) Major change : Basic turbulence classes (Pbs, equations, nul models) moved from Trio to TRUST for arch code reasons (tests for TRUST Dift operators)
30/08/23 (TRUST) Major change : It is no more possible to put specific discretization classes in ThHyd module ! All should be in its dedicated folder (VDF, VEF, PolyMAC, ...)
03/08/23 (TRUST) Major change : Template implementations + SFINAE introduced for VEF diffusion operators
02/08/23 (TRUST) Tool change : Update ccache (3.1.4 to 4.8.2) for faster ...

Read more

Release V1.9.2

01 Jun 08:04
Compare
Choose a tag to compare

TRUST is a thermalhydraulic 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).

A pre-installed TRUST v1.9.2 version on Ubuntu 20 is available on demand (experimental).


New TRUST version released v1.9.2

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: [email protected]
Website: https://cea-trust-platform.github.io


1. How to install?

First method:

git clone https://github.com/cea-trust-platform/trust-code.git TRUST-1.9.2
cd TRUST-1.9.2
wget ftp://ftp.cea.fr/pub/TRUST/externalpackages/externalpackages-1.9.2.tar
# or :  
# wget "https://drive.google.com/u/0/uc?id=1kbjCcjhySymgIhq5UMmyBTLMUyMuBmaI&export=download&confirm=t" -O externalpackages-1.9.2.tar
tar xf externalpackages-1.9.2.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.2/TRUST-1.9.2.tar.gz
tar xzf TRUST-1.9.2.tar.gz
cd TRUST-1.9.2
./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

NB: If you cannot get externalpackages, please contact TRUST support team


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.2-int64.sh

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

  • for IDRIS (jean-zay) supercomputer (64-bit integers version):
    source /gpfswork/rech/aih/ume72pt/env_TRUST-1.9.2-int64.sh

  • for IDRIS (jean-zay) supercomputer (GPU version):
    source /gpfswork/rech/aih/ume72pt/env_TRUST-1.9.2-gpu.sh


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

16/05/23 (TRUST) Fix : In PolyMAC, auxiliary variables are now ignored reduction_0D fields. see check_boundary_diffusion_thermal_balance validation sheet.
16/05/23 (TRUST) Fix : Boundary fluxes (flux_bord_) had the wrong sign in PolyMAC.
15/05/23 (TRUST) Keyword : Add "reuse_preconditioner_nb_it_max n" option to PETSc solvers to reuse preconditioner when matrix changes (default no) if nb_it<=n
15/05/23 (TRUST) Keyword : Add LU (MUMPS) preconditionner: "petsc solver { precond LU { } ... }". May be useful for Newton methods with a reuse preconditioner strategy
10/05/23 (TRUST) New feature : New method 'partition()' in Jupyter validation form Python API. Can be used to partition a case from the notebook. See SampleFormJuptyer.
10/05/23 (TRUST) New feature : New tag '# NB_PAS_DT_MAX n #': can be put in datasets of validation forms to force the number of timesteps that will be used when running the NR test case.
09/05/23 (TRUST) New feature : New option at configure: -without-conda to (try to) install TRUST without using MiniConda. Use at your own risk!
09/05/23 (TRUST) New feature : New keyword Sondes_mobiles|Mobile_probles (as Sondes|Probes) useful for ALE simulations. This will update the positions of the probes in the mesh.
09/05/23 (TRUST) New feature : Nature of interpolation can be choosed for each field with Champ_fonc_tabule_morceaux_interp, see champ_fonc_tabule_different_meshes validation sheet.
03/05/23 (TRUST) Output : MED post-processing format not allowed if nbproc > 5120. Prefer lata format in parallel computation.
25/04/23 (TRUST) Keyword : New syntax for setting residuals computation: residuals { [norm L2|max] [relative 0|1|2] }. norm (L2 norm or max norm by default).
If relative (default 0), normalize with the first residuals (old seuil_statio_relatif_deconseille keyword). See validation form named "Residuals".
If relative set to 2, residual will be computed as R/(max-min).
25/04/23 (TRUST) New feature : Two new fields (that use MEDCoupling) can be used to couple problems defined on overlapping domains with different meshes: Champ_fonc_interp & Champ_fonc_tabule_morceaux_interp.
24/04/23 (TRUST) New option : In case of a code crash, an exit message is displayed containing the line number in the datafile triggering the error.
19/04/23 (TRUST) Validation : Add a new jupyter notebook to compare mono/multi-phase simulations with EOS and CoolProp.
14/04/23 (TRUST) New Feature : option "decoup" is now available for Champ_Fonc_MED and allows the parallel loading of big MED fields.
14/04/23 (TRUST) Change : Lire_MEDFile/Read_MEDFile and Champ_Fonc_MEDFile are not supported anymore.
06/04/23 (TRUST) Minor change : Use iteration instead of time when calling visit from trustutils in validation sheets
04/04/23 (TRUST) Major change : TRUST can be linked to a pre-compiled static library of CoolProp (./configure -with-coolprop=<YOUR_PATH_TO_COOLPROP_INSTALL>).
03/04/23 (TRUST) Portability : Fedora 38 is supported with: sudo dnf install patch g++ gfortran libX11-devel mesa-libGLU-devel texlive-scheme-full
03/04/23 (TRUST) Portability : GNU compilers 13.0.1 are supported
21/03/23 (TRUST) Portability : VisIt works now on Ubuntu 22
21/03/23 (TRUST) Portability : TRUST versions are now built with GNU compilers on orcus-intel/orcus-rome to avoid random crashes or slowdown with MUMPS library.
10/03/23 (TRUST) Major change : TRUST can be linked to a pre-compiled static library of EOS (./configure -with-eos=<YOUR_PATH_TO_EOS_INSTALL>).
07/03/23 (TRUST) New feature : Add MUSIG fields/medium + validation (from SCONE baltik) used with Pb_Multiphase
07/03/23 (TRUST) New feature : Add void_drift multiphase models + validation (both in VDF and PolyMAC_P0)
07/03/23 (TRUST) Validation : Add series of jupyter notebooks to validate Pb_Multiphase and compare VDF/PolyMAC_P0 results
07/03/23 (TRUST) New feature : It is possible to perform axi-symetrical simulations with Pb_Multiphase in VDF
07/03/23 (TRUST) New feature : New Option_VDF added "traitement_gradient" to compute correctly the velocity gradient at the corners. Can use also all_options to activate all Option_VDF options
07/03/23 (TRUST) New feature : Pb_Multiphase is compatable with the VDF discretization (CMFD baltik supports too the VDF discretization)
07/02/23 (TRUST) Fix : It was not possible to resume the field k_eps_realisable
02/02/23 (TRUST) Major Change : Domain and Zone are now merged into a single concept: Domaine. All former keywords remain supported (Sous_Zone, Create_domain_from_sous_zone, etc...), but internally the code now
only work with Domaine.
27/01/23 (TRUST) Portability : Adastra (CINES) cluster is supported
27/01/23 (TRUST) Portability : NVidia compilers (nvc++, nvc, nvfortran) now fully supported for GPU offload with OpenMP-target (./configure -cuda -openmp)
27/01/23 (TRUST) HPC : VEF GPU kernels optimized with a reduction of host-device copy
27/01/23 (TRUST) HPC : OpenBLAS 0.3.21 (vectorized, threaded) is now used for Blas/Lapack library
27/01/23 (TRUST) HPC : Vectorization flag (-mavx2, -mavx, ...) determined during configure phase and used during build (opt_avx mode is then deprecated)
27/01/23 (TRUST) Tools : Upgrade to MEDCoupling 9.10.0
23/01/23 (TRUST) Feature : convertAllToPoly option in Lire_MED keyword may now be used to convert all MED mesh to polyedra not only MED mesh with different cell types
19/01/23 (TRUST) Fix : Pressure force was not computed at t=tinit and not correctly updated/printed for a probe if dt_impr value was greater than probe period
13/01/23 (TRUST) Fix : Post-processing fields on sub-zones: couldn't post-process PolyMAC fields with MED format + some fields were not found because of bad names
03/01/23 (TRUST) Major Change : For Pb_Multiphase, simple calls are now applied to compute fluid/saturations properties (improve significantly the performance especially with libraries like EOS, RefProp, ...)
03/01/23 (TRUST) Change : Homogeneous Neumann boundary condition (BC) is applied on the velocity field if a fixed pressure BC is prescribed at an open boundary.
19/12/22 (TRUST) Output : if -journal verbosity set to a value >=1 when running computation, log files will be written even if nbproc > 5120


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

15/05/23 (TRUST) Major change : Complete API for GPU programming in TRUST/Baltiks is available now to use together with GPU compatible TRUSTArray classes (see Device.h|cpp&TRUSTArray.h|cpp) for more infos
15/05/23 (TRUST) Major change : VEF laminar flow may be simulated on GPU devices (NVidia/AMD) thanks to OpenMP...

Read more

Release V1.9.1

02 Dec 15:07
Compare
Choose a tag to compare

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: [email protected]
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

Release V1.9.0

30 Jun 15:24
Compare
Choose a tag to compare

TRUST is a thermalhydraulic software package for CFD simulations.
It was originally designed for incompressible single-phase and Low Mach Number flows,
but an increasing effort is made towards simulating real compressible multi-phase flows.
This software is OpenSource (BSD license).


New TRUST version released v1.9.0

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: [email protected]
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.0
cd TRUST-1.9.0
wget ftp://ftp.cea.fr/pub/TRUST/externalpackages/externalpackages-1.9.0.tar
tar xf externalpackages-1.9.0.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.0/TRUST-1.9.0.tar.gz
tar xzf TRUST-1.9.0.tar.gz
cd TRUST-1.9.0
./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.0-int64.sh

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

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

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


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

17/06/22 (TRUST) New feature : New ICoCo method : set/getInputIntValue() to drive the "equation_non_resolue" parameter. Also added "getDirectAccessToUnknown()" method to directly access TRUST unknown array.
14/06/22 (TRUST) Tools : Upgrade to MEDCoupling 9.9.0
07/06/22 (TRUST) Major Change: Much more functionalities and developpements for Pb_Multiphase. The problem supports now additional equations for turbulence modelling !
07/06/22 (TRUST) Major Change: Huge refactoring/reformulation of the discretizations PolyMAC & PolyMAC_P0 (previous CoviMAC). Schemes are now more stable and compatible with Pb_Multiphase
30/05/22 (TRUST) Fix : High frequency writing MED files were slower and slower
30/05/22 (TRUST) Build : Add configure option -force_system_mpi to use system MPI library (provided MPICH library by default on PC)
23/05/22 (TRUST) New feature : Add a new turbulent boundary layer model (WW) that can be used for an immersed boundary condition (IBC) with the finite element discretization
10/05/22 (TRUST) New keyword : Post processing option "DeprecatedKeepDuplicatedProbes 1" to keep previous strategy when writing probes (keep duplicated points)
09/05/22 (TRUST) Fix : Option Correction_visco_turb_pour_controle_pas_de_temps wasn't correctly implemented producing residual jumps during restart
09/05/22 (TRUST) V&V : New verification sheet for GPU solver with semi-implicit scheme added under Validation/Rapports_automatiques/Verification/Solveurs/GPU directory
09/05/22 (TRUST) New keyword : Add impr_extremums 0|1 option for time scheme in order to print unknowns range with dt_impr period (useful to track over/undershoots caused by convective operator)
06/05/22 (TRUST) New keyword : Equation option "disable_equation_residual 0|1" to not use current equation residual when computing problem residual (useful for permanent KEps simulation when residuals don't decrease)
05/05/22 (TRUST) Portability : Ubuntu 22 supported (VisIt issues though)
05/05/22 (TRUST) Portability : Fedora 36 and GNU compilers 12.0.1 are supported
04/05/22 (TRUST) New keyword : Champ_Front_Tabule_Lu is a new boundary field that can be used to create a Champ_Front_Tabule field from a column file. Syntax : Champ_Front_Tabule_Lu nb_comp your_file
04/05/22 (TRUST) New feature : Add list of low-storage/classical time Runge-Kutta schemes with order 2,3 and 4.
03/05/22 (TRUST) New keyword : Definition_champs_fichier { file filename } to read definition_champs from a file
03/05/22 (TRUST) Major Change: Class and SFINAE templates are introduced to factorize the implementation of TRUST Don fields.
20/04/22 (TRUST) Fix : Unit if known was not written into MED file for a scalar field
20/04/22 (TRUST) New keyword : Partition_tool Fichier_MED: allows to split a domain according to an integer field (giving the proc number of each element) stored in a MED file.
07/04/22 (TRUST) Major Change: TRUST int/double Arrays, Vects, Tabs and Travs are now class templates
01/04/22 (TRUST) New feature : New implementation of Champ_fonc_tabule_morceaux. Allows to use multiple parameter fields and improve performance.
28/03/22 (TRUST) Fix : Champ_front_synt boundary condition had some bugs which are fixed now, parameter p ranamed to KeOverKmin.
28/03/22 (TRUST) Major Change: Pb_Multiphase can handle arbitrary additional equations (LIST) to handle turbulence modelling
28/03/22 (TRUST) Major Change: The CoviMAC discretization is improved and leads to more stable results
08/03/22 (TRUST) Fix : Keyword Pre_calc_pression crashed under certain circumstancies due to unitialized values of tau_tan
22/02/22 (TRUST) V&V : Add new validation forms poiseuille_vdf & cavite_entrainee_2D
22/02/22 (TRUST) Fix : It is possible to use now an implicit scheme with the VDF option traitement_coins (necessary for a Poiseuille test case for example)
22/02/22 (TRUST) Fix : Coeff/flux implementations are now coherent in the VDF face diffusion operator
22/02/22 (TRUST) Major Change: The transpose of the velocity gradient is now taken into account in the VDF face diffusion operator (for const/var & lam/turb cases)
17/02/22 (TRUST) Build : configure option -force_provided_mpich becomes the default on PC. On HPC cluster, configure keeps on detecting MPI modules loaded
17/02/22 (TRUST) V&V : New verification sheet for GPU solver with semi-implicit scheme added under Validation/Rapports_automatiques/Verification/Solveurs/GPU directory
17/02/22 (TRUST) New option : Option save_matrix_mtx_format to export from PETSc solvers the matrix to Matrix Market format file (.mtx)
10/02/22 (TRUST) Fix : Add the possibility to read int64 HDF5 files if possible (no overflow) with an int32 binary, and vice-versa.
09/02/22 (TRUST) Major Change: Most of the PRM validation forms are migrated to the Jupyter notebook format.
09/02/22 (TRUST) New feature : Jupyter validation forms are fully functional. See Validation/Rapports_automatiques/README_jupyter.md. This is now the preferred format for validation forms.
12/01/22 (TRUST) Major Change: Class and Substitution Failure Is Not An Error (SFINAE) templates are extensively used for the VDF evaluators, iterators and operators
10/01/22 (TRUST) Fix : Champ_front_recyclage was not working properly if used in parallel calculations
06/01/22 (TRUST) Fix : PETSc Cholesky crashed on int64 builds with Intel compiler
06/01/22 (TRUST) New keyword : Internal thermal boundary conditions. See validation sheets Echange_impose and echg_interne
06/01/22 (TRUST) New keyword : ModifyDomaineAxi1D|Convert_1D_to_1Daxi to convert 1D mesh to 1D axisymmetric mesh
06/01/22 (TRUST) New keyword : Champ_front_xyz_tabule to define a space-dependent boundary field which is also time tabulated. E.g: champ_front_xyz_tabule 1 x*y { t0 t1 t2 a1 a2 a3 }
06/01/22 (TRUST) Change : Stability time step for diffusion operator is now the same on PolyMAC conform mesh compared to VDF mesh
06/01/22 (TRUST) New keyword : Sondes_fichier { fichier filename } to read probes definition into a file


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

16/06/22 (TRUST) File indentation is now applied to all c, cpp, h, and tpp files. It can be avoided by placing the tag TRUST_NO_INDENT in the first ten lines of the file.
25/05/22 (TRUST) Nom et Motcle can now be built from std::string (avoiding painful usage of c_str() method ...)
13/05/22 (TRUST) NO MORE .P files in TRUST sources. All is implemented and factorized via "Real C++ templates"
13/05/22 (TRUST) Template implementation for TRUSTTab_parts and ConstTRUSTTab_parts, the previous Int/DoubleTab_parts and ConstInt/DoubleTab_parts
13/05/22 (TRUST) Add the class template TRUSTTab_Vector which replaces the VECT macro and can be used for TRUSTArray, TRUSTVect, TRUSTTab and TRUSTTrav template classes
11/05/22 (TRUST) String2 class has been removed from sources. It should be replaced by an uppercase std::string
09/05/22 (TRUST) Add -ctest option to trust wrapper to parallel check tests with ctest
03/05/22 (TRUST) Add three generic class templates (TRUSTChamp_Don_generique,TRUSTChamp_Morceaux_generique & TRUSTChamp_Divers_generique) + SFINAE methods to factorize the implementation of 12 classes that derive from Champ_Don_base.
13/04/22 (TRUST) VD...

Read more

Release V1.8.4

15 Dec 14:17
Compare
Choose a tag to compare

TRUST is a thermalhydraulic software package for CFD simulations.
It was originally designed for incompressible monophasic flows, but an increasing effort is made towards simulating real compressible multiphasic flows.
This software is OpenSource (BSD license).


New TRUST version released v1.8.4

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: [email protected]
Website: http://triocfd.cea.fr


1. How to install?

First method:

git clone https://github.com/cea-trust-platform/trust-code.git TRUST-1.8.4
cd TRUST-1.8.4
wget ftp://ftp.cea.fr/pub/TRUST/externalpackages/externalpackages-1.8.4.tar
tar xf externalpackages-1.8.4.tar
./configure -help # To see the possible configure options. On various OS, we configure TRUST with OPTIONS -force_provided_mpich (DO NOT use it on HPC clusters!)
./configure $OPTIONS # where $OPTIONS is the list of selected options.
make

Second method:

wget ftp://ftp.cea.fr/pub/TRUST/TRUST/Version1.8.4/TRUST-1.8.4.tar.gz
tar xzf TRUST-1.8.4.tar.gz
cd TRUST-1.8.4
./configure -help # To see the possible configure options. On various OS, we configure TRUST with OPTIONS -force_provided_mpich (DO NOT use it on HPC clusters!)
./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.8.4-int64.sh

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

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

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

  • for CINES (occigen) supercomputer (64-bit integers version):
    source /panfs/panasas/softs/applications/trio_u/TRUST/env_TRUST-1.8.4-int64.sh


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

23/11/21 (TRUST) Fix : Turbulent flow in a VDF stretched mesh was diverging with the implicited-diffusion solver
23/11/21 (TRUST) New feature : Add the possibility to read int64 binary files (.Zones, .sauv, .xyz) if possible (no overflow) with an int32 binary. The contrary was already true.
23/11/21 (TRUST) Fix : Restart calculation of previous old calculation with TRUST<=1.8.3
23/11/21 (TRUST) Fix : Read_MED option convertAllToPoly improved to convert hybrid meshes (tetrahHexa+pyramids cells) from MG-Hybrid Salome tool to polyhedron meshes for PolyMAC discretization
23/11/21 (TRUST) Fix : Several AmgX GPU solvers (BiCGstab, FGMRES) may be used for Euler implicit scheme + memory leak fixes. See Solveurs/GPU/Implicite verification sheet
23/11/21 (TRUST) Fix : Champ_front_MED may now be combined with Champ_Fonc_MED_Tabule to enable time & space dependent boundary conditions read from MED file
23/11/21 (TRUST) Output : Suppress probe duplicated points into .son files
23/11/21 (TRUST) Convergence : Use the true residual (instead of preconditioned one) for convergence test with PETSc solvers used on non-symmetric linear system (may be necessary to lower seuil option to have same results than 1.8.3)
23/11/21 (TRUST) Keyword : Add pression option to Navier Stokes initial conditions to initialize velocity and pressure field
15/11/21 (TRUST) Fix : Several problems solving different physics on a same domain produced corrupted lml/lata/med files (mesh repeated) during post-processing
29/10/21 (TRUST) Keyword : Syntax change for Champ_Fonc_tabule. The new syntax is Champ_fonc_tabule { pb field } nbcomp { table } (the old syntax was Champ_fonc_tabule field nbcomp { table } )
29/10/21 (TRUST) Keyword : Syntax change for Champ_Fonc_Fonction, Champ_Fonc_Fonction_txyz, and Sutherland where the problem name should be passed before that of the field
29/10/21 (TRUST) Major Change: Tables defined with a Champ_fonc_tabule should be strictly monotonic (declaring a multiple times and/or a decreasing time order will stop the code execution)
29/10/21 (TRUST) Major Change: Champ_fonc_tabule supports arbitrary number of parameter fields from variables instanced in any problem
21/10/21 (TRUST) Library : Add of the vectorization library Vc (1.4.2)
18/10/21 (TRUST) New feature : Possibility to correctly stop the simulation once launched in interactive way using Ctrl+C
18/10/21 (TRUST) Major Change: Syntax/keyword modified : state laws for a dilatable fluid ends now with _QC (for quasi-compressible fluid) and with _WC (for weakly-compressible fluid). For example, the EOS gaz_parfait becomes either gaz_parfait_QC or gaz_parfait_WC
18/10/21 (TRUST) Major Change: Media with variable densities do not inherit anymore from "Fluide_Incompressible"
18/10/21 (TRUST) New feature : New medium "Fluide_Dilatable_base" from which the Quasi-Compressible and the Weakly-Compressible media inherit
18/10/21 (TRUST) New feature : New problems "Pb_Thermohydraulique_WC", "Pb_Thermohydraulique_Especes_WC" and "Pb_Hydraulique_Melange_Binaire_WC" introduced to solve thermo-hydraulic and/or binary/multi species flows using a Weakly Compressible formulation (non-uniform pressure in the state equation)
16/09/21 (TRUST) New feature : Solveur_U_P is now unified for Poly/Covi-MAC discretizations and allows the monolithic resolution of the NS equation
16/09/21 (TRUST) New feature : Decouper_multi allows to partition multiple domains while accounting for connections via Raccords (allows for easier implementation of thermique_monolithique in parallel)
16/09/21 (TRUST) Major Change: All DoubleTabs associated with fields (Champ_Inc, Champ_Don, ...) have now dimension >= 2
16/09/21 (TRUST) New feature : Add interface_bloc which is a generalization of the "contribuer_a_avec" and "ajouter" API for equation, Operateur, Source to fill the jacobian matrix and the right hand side of a coupled system of equation
16/09/21 (TRUST) New feature : New "SETS" and "ICE" solveur for Schema_Euler_Implicite. Can be used with Pb_Multiphase to solve the coupled system of equations using a newton method and a pressure reduction of the linear system. ICE must respect CFL condition, SETS adds prediction steps to increase numerical stability, allowing to perform CFL>1
16/09/21 (TRUST) New feature : New medium "Milieu_Composite" to aggregate differents Fluide_base media. Can be used within a Pb_multiphase
16/09/21 (TRUST) New feature : New medium "Fluide_reel_base" to define pressure and temperature dependant laws
16/09/21 (TRUST) New Feature : A new discretization "CoviMAC" (Numerical schema on polyedrons, main difference with PolyMAC : no more auxiliary variables for scalar unknowns) is now available and can be used with Pb_Multiphase. Implemented with the new Interface_bloc API
16/09/21 (TRUST) New feature : New problem "Pb_multiphase" with 3 equations (mass, momentum and energy conservation), having each N components. N=1 corresponds to a single phase model, N=2 corresponds to a 2 fluid model, and N>2 to a multi-field model
19/08/21 (TRUST) Portability : ARM partition of Irene Joliot cluster supported
19/08/21 (TRUST) Performance : Arrays obtained from octree algorithm are cached. Useful for advanced fields computation needing interpolations each time-step
19/08/21 (TRUST) Bug fixed : Regression since 1.8.3 fixed (malformed .dt_ev file with missing columns for coupled problems)
19/08/21 (TRUST) Performance : Output files (.out) are opened/closed at the first/last print and not at each print as before
19/08/21 (TRUST) Bug fix : Source_generique source term couldn't be used for PolyMAC discretization
12/07/21 (TRUST) Performance : A same advanced field used by several probes are now computed only once during each post-processing phasis
05/07/21 (TRUST) Portability : New CCRT cluster topaze supported (110592 AMD Milan Epyc cores)


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

23/11/21 (TRUST) Add option save_matrix_mtx_format to write PETSc matrix into Matrix Market format
18/10/21 (TRUST) "Fluide_base" or "Fluide_Dilatable_base" should now be used for casting and not "Fluide_Incompressible"
16/09/21 (TRUST) All DoubleTabs associated with fields (Champ_Inc, Champ_Don, ...) have now dimension >= 2
09/07/21 (TRUST) OpenACC compilers (nvc++/nvc/nvfortran) for GPU porting with NVidia HPC SDK (20.7) are supported


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

26/11/21 (externalpackages) Minor change: MEDCoupling upgraded to 9.8.0 and MED to 4.1.1
23/11/21 (externalpackages) Portability : valgrind updated to 3.18.1
21/10/21 (externalpackages) Major change: Add of the vectorization library Vc (1.4.2)


6. Version tested on several OS

  • ...
Read more