From 0b455ebf2e54a46c9f23b9c259bb92d49eb5ddfe Mon Sep 17 00:00:00 2001 From: Elie Saikali Date: Tue, 16 Jan 2024 09:11:47 +0100 Subject: [PATCH] Modifs --- RN/v1_9_3.md | 57 +++++++++++++++++++++++++++++----------------------- news.md | 24 +++++++++++----------- 2 files changed, 44 insertions(+), 37 deletions(-) diff --git a/RN/v1_9_3.md b/RN/v1_9_3.md index 51aee1a..dba5ad7 100644 --- a/RN/v1_9_3.md +++ b/RN/v1_9_3.md @@ -4,35 +4,40 @@ layout: page --- This page details the major changes and new functionalities released with TRUST version 1.9.3! -The main points are the introduction of the new PolyMAC spatial discretisations, the updates concerning the porting to the GPU architectures, and the changes around the MED and LATA formats. +The main points are the introduction of the new PolyMAC spatial discretisations, the updates concerning the porting to the GPU architectures, and the changes around the MED and LATA post-processing formats. -## Physics and numerics +# Physics and numerics -- PolyMAC spatial discretisation family: three PolyMAC versions are now available in TRUST: - - PolyMAC, which corresponds to the initial PolyMAC implementation. It is not compatible with Pb_Multiphase but is used in several other applications. - - PolyMAC\_P0P1NC, compatible with Pb_Multiphase. - - and PolyMAC\_P0, compatible with Pb_Multiphase. Warning, this last one can be costly on tetrahedral meshes. +- **PolyMAC** spatial discretisation family: three PolyMAC versions are now available in TRUST -- Conversion to and from an enthalpy form of the energy equation (which is initially in temperature) is now facilitated: the 'fluide\_reel\_base' class contains now a public struct H\_to\_T that is useful to convert, using the chain law, enthalpy derivatives into temperature ones. For codes and application where all derivatives are expressed as a function of the enthalpy, this struct can be now used to safely convert all calls to TPPI methods and Pb_Multiphase fluids/saturation/correlation and source terms. + - **PolyMAC**, which corresponds to the initial PolyMAC implementation. It is not compatible with Pb_Multiphase but is used in several other applications. + + - **PolyMAC_P0P1NC**, compatible with Pb_Multiphase. -## Code input/outputs + - **PolyMAC_P0**, compatible with Pb_Multiphase. Warning, this last one can be costly on tetrahedral meshes. -- Several improvements/changes have been done around the MED file format, notably the Read\_MED|Lire\_MED keyword: - - now relies exclusively on MED groups, not on families. The option 'exclude\_groups' can be used in Read_MED to avoid reading some undesired face groups. - - has a new option 'include\_additional\_face\_groups' to read a group of arbitrary faces from a MED file. This can be used with option 'face\_group' to apply Perte\_Charge\_Singuliere on this group of faces. See Perte\_Charge\_Singuliere validation form for example. +- Conversion to and from an enthalpy form of the energy equation (which is initially in temperature) is now facilitated: the `Fluide_Reel_base` class contains now a public struct H\_to\_T that is useful to convert, using the chain law, enthalpy derivatives into temperature ones. For codes and application where all derivatives are expressed as a function of the enthalpy, this struct can be now used to safely convert all calls to TPPI methods and Pb_Multiphase fluids/saturation/correlation and source terms. -- The LATA format has also been improved and TRUST can now produce single LATA file: the format "single\_lata" can be used, that dumps results in a single binary lata file (Not supported in 64 bits integer build for now). A new interpreter "lml\_to\_lata" has also been added, that can be used to convert lml files to single\_lata format. +# Code input/outputs + +- Several improvements/changes have been done around the MED file format, notably the Read\_MED\|Lire\_MED keyword: + + - now relies exclusively on MED groups, not on families. The option `exclude_groups` can be used in Read_MED to avoid reading some undesired face groups. + + - has a new option `include_additional_face_groups` to read a group of arbitrary faces from a MED file. This can be used with option `face_group` to apply Perte_Charge_Singuliere on this group of faces. **See Perte_Charge_Singuliere validation form for example.** + +- The LATA format has also been improved and TRUST can now produce single LATA file: the format **single_lata** can be used, that dumps results in a single binary lata file (Not supported in 64 bits integer build for now). A new interpreter "lml\_to\_lata" has also been added, that can be used to convert lml files to single\_lata format. Watch out for the future support of CGNS file format! -## Solvers and performance +# Solvers and performance The following developments towards a more performant and more capable TRUST GPU version have been performed: - 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 { } ... }` -- 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 ] }` +- 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 ] }` - More support in VEF for temperature equation (diffusion operator, boussinesq term) and periodic flow (source term + boundary condition in operators) @@ -42,14 +47,14 @@ The following developments towards a more performant and more capable 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 } ... }` -## Tools / Validation +# Tools / Validation - A new method 'initBuildDirectory()' was added in Jupyter validation form Python API. It triggers the build directory creation and copy the 'src' content into it. - A new tool for dataset Python maniupulation and reference doc generation was introduced -> trustpy. Check out the README.md file in Outils/trustpy/doc. It is used for the moment to -## Dataset changes +# Dataset changes Here are all the syntax changes in the TRUST dataset: @@ -57,20 +62,20 @@ Here are all the syntax changes in the TRUST dataset: - the definition of the 'medium' (Fluid, solid, constituent, ...) can now only read in the problem, and the old syntax (read + association) is not supported anymore. -- Read\_MED|Lire\_MED, Write\_MED|Ecrire\_MED and Champ\_Fonc\_MED*: the old syntax of these keywords is not supported anymore. You now have to use the syntax with braces. +- Read\_MED\|Lire\_MED, Write\_MED\|Ecrire\_MED and Champ\_Fonc\_MED: the old syntax of these keywords is not supported anymore. You now have to use the syntax with braces. -## Prerequisites / portability +# Prerequisites / portability - C++14 compilers are now mandatory so old GNU compilers (<5.0) are not supported anymore. - The following prerequisite upgrades were performed: - - MEDCoupling upgraded to 9.12.0 + - MEDCoupling upgraded to 9.12.0 - HDF5 upgraded to 1.14.2 -> this fixes a weird crash on a 32768 cores calculation during raffiner_isotrope_parallele operation - rocALUTION upgraded to 3.0.3 - VisIt upgraded to v3.3.3 and 3rd party packages added except qt-everywhere-src 5.14.2 - ccache updated from 3.1.4 to 4.8.2 -> allows for faster (re)build with Nvidia compilers (nvc++, nvc, nvcc) -## Misc +# Misc Here are the other less notable improvements/changes in this version: @@ -84,16 +89,18 @@ Here are the other less notable improvements/changes in this version: - the fluxes are not printed into an .out file by default anymore if the dedicated operator's output file is not set in the code. If a .out is desired, one must apply set\_fichier, else no file is written. -- the option 'table\_temps\_lue' was added to 'Champ\_Fonc\_MED\_Table\_Temps' keyword : Champ\_Fonc\_MED\_Table\_Temps { table\_temps\_lue file.txt | table\_temps { ... } ... } +- the option 'table\_temps\_lue' was added to 'Champ\_Fonc\_MED\_Table\_Temps' keyword : Champ\_Fonc\_MED\_Table\_Temps { table\_temps\_lue file.txt \| table\_temps { ... } ... } -## Bug fixes +# Bug fixes - Various bugs have been fixed : - - Incomplete save (for HDF5 and .xyz files) when diffusion-implicited scheme did not converge + + - Incomplete save (for HDF5 and .xyz files) when diffusion-implicited scheme did not converge - When diffusive-implicited scheme diverges, backup wasn't done - Fluxes are not printed into an .out file if the dedicated operator's output file is not set in the code, this avoids confusions. - - Bug fix with lambda keyword in Perte\_Charge\_Circulaire in PolyMAC discretisation - - 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 + - Bug fix with lambda keyword in Perte_Charge_Circulaire in PolyMAC discretisation + - 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 + - A performance issue has been fixed too: fixed a performance regression (switch from Mkl to OpenBlas) for several solvers (MUMPS, GCP) on irene and topaze clusters diff --git a/news.md b/news.md index 94eeedb..6f88899 100644 --- a/news.md +++ b/news.md @@ -4,13 +4,17 @@ layout: page description: news --- -This page is dedicated to the TRUST breaking news and announcements. +This page is dedicated to the TRUST's breaking news, release notes, tags and announcements. -# Github Discussions and Announcements +# Breaking news and new features -Please post your issues/discussions on **[this](https://github.com/cea-trust-platform/trust-code/discussions)** page ! +- **November 2023 :** TRUST's Documentation page is is available **[here](https://cea-trust-platform.readthedocs.io/en/latest/)** ! It contains a link towards the TRUST Generic Guide, Keyword Reference Manual, TRUST Tools Documentation (jupyter and stats packages) and the C++ API doxygen documentation. + +- **Mai 2023 :** TRUST's Generic Guide Documentation is available in an html Sphinx format. + +- **Avril 2023 :** In the next version (coming soon), it will be possible to call CoolProp from TRUST! Stay tuned for more information. -# Version Release +# Version Release & tags - **November 2023 :** Release of TRUST-V1.9.3 (click **[here](https://github.com/cea-trust-platform/trust-code/releases/tag/v1.9.3)**). @@ -18,19 +22,15 @@ Please post your issues/discussions on **[this](https://github.com/cea-trust-pla - **December 2022 :** Release of TRUST-V1.9.1 (click **[here](https://github.com/cea-trust-platform/trust-code/releases/tag/v1.9.1)**). -# Release Notes +# DetailedRelease Notes -Here is a detailed list of the TRUST RELEASE\_NOTES by version (new features, BUG fixes, improvements, ...) +Have a look to this section if you are interested in the detailed version of the TRUST RELEASE\_NOTES. You can find here all the code new features, BUG fixes, improvements, ... - **[TRUST-V1.9.3](RN/v1_9_3.md)** -# Breaking news and new features - -- **November 2023 :** TRUST's Documentation page is is available **[here](https://cea-trust-platform.readthedocs.io/en/latest/)** ! It contains a link towards the TRUST Generic Guide, Keyword Reference Manual, TRUST Tools Documentation (jupyter and stats packages) and the C++ API doxygen documentation. - -- **Mai 2023 :** TRUST's Generic Guide Documentation is available in an html Sphinx format. +# Github Discussions and Announcements -- **Avril 2023 :** In the next version (coming soon), it will be possible to call CoolProp from TRUST! Stay tuned for more information. +Please post your issues/discussions on **[this](https://github.com/cea-trust-platform/trust-code/discussions)** page ! # Seminars