4 CoreFlows is composed of 6 concrete classes dealing with specific models. They are listed in chronological order :
6 - [SinglePhase](../Models/inc/SinglePhase.hxx) implementing the compressible Navier-Stokes equations
7 - [DriftModel](../Models/inc/DriftModel.hxx) implementing the 4 equation drift model
8 - [IsothermalTwoFluid](../Models/inc/IsothermalTwoFluid.hxx) implementing the isentropic two-fluid model
9 - [FiveEqsTwoFluid](../Models/inc/FiveEqsTwoFluid.hxx) implementing the equal temperature two fluid model
10 - [TransportEquation](../Models/inc/TransportEquation.hxx) implementing a scalar advection equation for the fluid enthalpy
11 - [DiffusionEquation](../Models/inc/DiffusionEquation.hxx) implementing a scalar heat equation for the Uranium rods temperature
13 On top of these classes there are two abstract classes that mutualise functions
14 that are common to several models.
15 - [ProblemFluid](../Models/inc/ProblemFluid.hxx) which contains the methods that are common to the non
16 scalar models : [SinglePhase](../Models/inc/SinglePhase.hxx) [DriftModel](../Models/inc/DriftModel.hxx) [IsothermalTwoFluid](../Models/inc/IsothermalTwoFluid.hxx) and [FiveEqsTwoFluid](../Models/inc/FiveEqsTwoFluid.hxx)
17 - [ProblemCoreFlows](../Models/inc/ProblemCoreFlows.hxx) which contains the methods that are common to the scalar and non scalar models: [ProblemFluid](../Models/inc/ProblemFluid.hxx), [TransportEquation](../Models/inc/TransportEquation.hxx) and [DiffusionEquation](../Models/inc/DiffusionEquation.hxx)
19 Here follows an inheritance diagram of CoreFlows
20 !["CoreFlows inheritance diagram"](Figures/classProblemCoreFlows__inherit__graph.png)
23 The program can build simple geometries and meshes using the library [CDMATH-Toolbox](https://github.com/ndjinga/CDMATH) or load complex geometries and meshes written with the [MED](https://www.salome-platform.org/user-section/about/med) file system (see [SALOME](https://www.salome-platform.org/) ). The output files containing the fields resulting from the calculation can be either of [VTK](https://vtk.org/) or [MED](https://www.salome-platform.org/user-section/about/med) type. One can use [PARAVIEW](https://www.paraview.org/) (for [VTK](https://vtk.org/) files) or [SALOME](https://www.salome-platform.org/) (for [MED](https://www.salome-platform.org/user-section/about/med) files) to visualise the results.
24 Vector and matrices structures come from the [PETSC](https://www.mcs.anl.gov/petsc/) library. The matrices are stored in a block sparse format (type [baij](https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATBAIJ.html) in [PETSC](https://www.mcs.anl.gov/petsc/) conventions). The default linear solver is [GMRES](https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPGMRES.html) and the default preconditioner is [ILU](https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCILU.html), both provided
25 by [PETSC](https://www.mcs.anl.gov/petsc/) .