|
TRUST 1.9.8
HPC thermohydraulic platform
|
Depending on the type of problem you choose, TRUST will solve different sets of equation. It is therefore key to identify which problem corresponds to your application.
Inside the problem bloc, the user have to define first the medium he wants to consider. The medium specified in the bloc should be coherent with the instantiated problem, otherwise you will not be able to run your test case. For example, defining an incompressible medium in a conduction problem is not possible.
After defining the medium, the user should precise the equations he is willing to solve. The equation should be also coherent with the instantiated problem otherwise TRUST will exit with an error message. For example, defining a Navier-Stokes equation in a conduction problem is not possible.
Once the problem, medium and equations are defined, the user will have to specify the post-processing of the current case. Go check-out the Post-Processing section for more informations regarding the post-processing in TRUST.
In this section, the most used problems are introduced. For documentation and for complete problem sets, see Keywords Reference Manual
For this kind of problems, TRUST solves the heat equation:
\[\rho C_p \frac{\partial T}{\partial t} = \nabla \cdot \left(\lambda \nabla T\right) + Q \]
where:
| Problem type | Possible mediums | Possible Equations |
|---|---|---|
| Pb_Conduction | Solide | Conduction |
Here is an example of a Pb_conduction, taken from the docond_VEF.data file:
The hydraulic and thermohydraulic problems solve the incompressible Navier-Stokes equation with more or less terms. Complementary transport equations can also be added.
\[\left\{ \begin{array}{c} \nabla \cdot \vec u = 0 \\ \displaystyle{\frac{\partial \vec u}{\partial t} + \nabla \cdot (\vec u \otimes \vec u) + \nabla P^*= \nabla \cdot (\nu \nabla \vec u) } \end{array} \right. \]
Incompressible Navier-Stokes equation, referred as Navier_Stokes_standard in TRUST
\[\displaystyle{\frac{\partial T}{\partial t} + \vec u \nabla T = \nabla \cdot (\alpha \nabla T) + \frac{Q}{\rho C_p}} \]
Heat equation, referred as Convection_Diffusion_Temperature in TRUST
\[\displaystyle{\frac{\partial X}{\partial t} + \vec u \nabla X} = 0 \]
Passive scalar transport equation, referred as Convection_Diffusion_Concentration in TRUST
Where: \(P^* = \frac{P}{\rho} + g z\), \(Q\) is the heat source term, and:
| Problem type | Possible mediums | Possible Equations |
|---|---|---|
| Pb_Hydraulique | Fluide_Incompressible or Fluide_Ostwald | Navier_Stokes_standard |
| Pb_Hydraulique_Concentration | Fluide_Incompressible or Fluide_Ostwald | Navier_Stokes_standard + Convection_Diffusion_Concentration |
| Pb_Hydraulique_Concentration_Scalaires_Passifs | Fluide_Incompressible or Fluide_Ostwald | Navier_Stokes_standard + N additional Convection_Diffusion_Concentration |
| Pb_Thermohydraulique | Fluide_Incompressible or Fluide_Ostwald | Navier_Stokes_standard + Convection_Diffusion_Temperature |
| Pb_Thermohydraulique_Concentration | Fluide_Incompressible or Fluide_Ostwald | Navier_Stokes_standard + Convection_Diffusion_Temperature + Convection_Diffusion_Concentration |
| Pb_Thermohydraulique_Concentration_Scalaires_Passifs | Fluide_Incompressible or Fluide_Ostwald | Navier_Stokes_standard + Convection_Diffusion_Temperature + N additional Convection_Diffusion_Concentration |
Important remarks:
Here is an example of Pb_Thermohydraulique, taken from the Source_Generique_PolyMAC test case:
The Mach number \(Ma = u / c\) measures the ratio of the bulk velocity to the local speed of sound. Typically for \(Ma < 0.1\), the compressibility effects can be neglected and the physical problem may be reduced by using a Low Mach Number formulation. In such cases, the aspect of the problem orients towards simulating a mass variation rather than capturing and solving for the acoustic waves. This is basically the main hypothesis of a Low Mach Number approximation where all acoustic waves are filtered out.
Following a single scale asymptotic analysis referring to the Mach number, the zero Mach order equations are considered where the total pressure is decomposed into a thermodynamic pressure and a hydrodynamic pressure that fluctuates in an order of \(Ma^2\). Note that the hydrodynamic pressure is much smaller than the thermodynamic one. The hydrodynamic pressure alone is used in the momentum equation, while the thermodynamic is used in the equation of state.
TRUST offers two Low Mach Number modelisations; either a Weakly-Compressible (WC) or a Quasi-Compressible (QC) models. The main difference between both models is that the QC model considers a space-uniform thermodynamic pressure. This is not the case in the WC model where the total pressure, which is space/time varying, is used in the equation of state. The last can have a great impact in some situations as the pressure drop and/or the hydro-static pressure can influence significantly the density variation.
The system of equation associated with Low Mach number problem writes:
\[\left\{ \begin{array}{c} \displaystyle{\frac{\partial \rho }{\partial t} + \nabla \cdot (\rho \vec u) =0 }\\ \displaystyle{ \frac{\partial \rho \vec u}{\partial t} + \nabla \cdot (\rho \vec u \vec u) = \nabla \cdot \left(\mu \nabla \vec u \right) - \nabla P -\rho \vec g }\\ \displaystyle{ \rho C_p \left( \frac{\partial T}{\partial t} + \vec u \nabla T \right) = \nabla \cdot \left(\lambda \nabla T\right) + \frac{dP_{tot}}{dt} + Q } \end{array} \right. \]
where: \(P_{tot}=\rho R T\), \(Q\) is a heat source term, and:
Remark: The difference between Hydraulique and Thermohydraulique type of problem is whether the last equation of the system (that drive the temperature) is taken into account or not. If it is taken into account you'll have to use a Thermohydraulique type of problem.
Here is an example of Pb_thermohydraulique_qc, taken from the DarcyFlow_QC_VDF test case:
The multiphase type of problem is simply called Pb_Multiphase. This problem allows the resolution of N-phases via a model of 3N equations, based on a Ishii types of model.
An instance of the medium Milieu_composite is required at the begining of the problem's bloc. Inside the medium bloc, you can define any medium. For example, you can define a Fluide_Incompressible or any child class of the Fluide_reel_base class.
An additional Correlations bloc should be secondly defined. Each and every correlations derive from the base class Corellation_base.
Afterwards, the reading of the equations starts. In Pb_Multiphase, the equations solved for each phase are the momentum, mass and energy equations; respectively QDM_Multiphase, Masse_Multiphase and Energie_Multiphase.
The coupling between all equations is done in a strong way: a single matrix for all equations is used to solve the problem. Available discretizations for this type of problem are VDF, PolyMAC and PolyMAC_P0.
You can also call the EOS (private CEA/EDF project) and the CoolProp library to compute the Thermo-Physical Properties via the TPPI interface.
Here is an example of Pb_Multiphase, taken from the CoolProp_water_BICUBIC_HEOS_with_sat test case. Warning: this test case needs a TRUST version linked with the CoolProp library.
There are two ways to solve coupled problems with TRUST: either using Probleme_Couple or via the Interface of Code Coupling (ICoCo) and ProblemeTrio.
In Probleme_Couple, the user has to define the contact boundary/volume between several domains where a TRUST problem (one of the above) is to be defined on each domain. The coupling is managed by TRUST where a point-fixed algorithm is used to converge the coupled simulation.
Here is an example:
On the other hand, the user have to write his own coupling algorithm when using ICoCo. In practice, this can be done either by writing a C++ supervisor to manage the coupling, or via its python interface available in TRUST, thanks to the swig wrapper!