KRATOS Multiphysics ("Kratos") is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Project description
Fluid Dynamics Application
Left columns | Description | Status | Authors |
---|---|---|---|
FluidDynamicsApplication |
The Fluid Dynamics Application contains the core developments in Computational Fluid Dynamics (CFD) within Kratos Multiphysics. | Rubén Zorrilla (rzorrilla@cimne.upc.edu) Riccardo Rossi (rrossi@cimne.upc.edu) Jordi Cotela (jcotela@altair.com) |
1. General features:
- Stabilized FEM solvers for incompressible, weakly-compressible and compressible flow problems.
- Support for MPI parallelization (with MetisApplication and TrilinosApplication).
- Arbitrary Lagrangian-Eulerian (ALE) formulation allows for mesh deformation during the simulation (see MeshMovingApplication).
- Compatible with meshes made up with linear elements.
Wind flow over Barcelona scalability test. More info here.
2. Incompressible flows
Features
The simulation of viscous incompressible flows is the main capability of this application. The application includes a variety of stabilized 2D/3D Navier-Stokes and Stokes solvers. Limited support to 2D axisymmetric problems is also included. Among the wide variety of stabilization techniques present in the literature, in this application the Variational MultiScale (VMS) (both with quasi-static and dynamic subscales), Orthogonal SubScales (OSS) and Finite Increment Calculus (FIC) methods are implemented. All the incompressible flow elements of the application support both Newtonian and non-Newtonian (Bingham, Herschel-Bulkley) constitutive models.
A set of boundary conditions are included in the application. On top of the standard fixed velocity/pressure there exists the possibility to impose slip boundary conditions using MultiFreedom Constraints (MFCs) or periodic conditions using MultiPoint Constraints (MPCs). Concerning the wall modelling, the application features linear-log and Navier-slip wall models, with the possibility to easily extend to other models.
The application also includes two different solution strategies. First one is the standard monolithic one in which both velocity and pressure equations are solved at once using a Newton-Raphson solver. Second one is a segregated fractional step strategy that accelerates the solution procedure (we note that this is only compatible with the VMS formulation).
Examples
3. Weakly-compressible flows
Features
Similar to the described above incompressible solver, the application also includes a VMS stabilized weakly compressible Navier-Stokes formulation. This solver modifies the mass conservation equation to add a slight compressibility which relates the pressure to the volume variation thanks to the inclusion of a pressure-density equation of state. The energy equation remains uncoupled so thermal effects are assummed to be negligible.
4. Compressible flows
Features
The application includes a 2D/3D explicit compressible solver implementing a VMS and OSS stabilized full Navier-Stokes formulations written in conservative variables (momentum, density and total energy).
A set of explicit strategies can be used
- Forward Euler
- Midpoint rule
- 3rd order Total Variational Diminishing Runge-Kutta (RK3-TVD)
- 4th order Runge-Kutta (RK4)
Two different shock capturing techniques are provided
- Physics-based shock capturing
- Entropy-based shock capturing
This solver can be combined in a multistage fashion with the ones in the CompressiblePotentialFlowApplication. By doing so, the potential solution can be used as initial condition to ease and accelerate the convergence of the full Navier-Stokes simulation.
As a final note, we shall remark that at current date this solver only supports shared memory parallelism (OpenMP).
Woodward and Colella's Mach 3 step density field.
Examples
- Transonic flow around a NACA0012 profile
- Multistage transonic flow around a NACA0012 profile
- Transonic flow around a NACA0012 profile at a 3° angle
- Sod shock tube
- Supersonic flow in Woodward and Colella's Mach 3 step
- Supersonic flow over a wedge
5. Unfitted mesh methods
Features
The embedded solver allows the resolution of problems with unffitted boundaries, including flows around volumetric and volumeless (i.e. shell-like) bodies. Starting from a distance field, either analytical or obtained with any of the levelset algorithms in KratosCore, the embedded solver uses a Cut-FEM approach to solve the problem. This approach only supports simplicial meshes. (linear triangle and tetrahedron). This solver, which can be used in combination with all the formulations described in the incompressible flow section, makes possible to efficiently solve flows around non-watertight or poorly defined geometries (e.g. STL) as well as cases involving arbitrary large boundary displacements and rotations.
Current research on this topic include the development of Shifted Boundary Method (SBM) solvers.
Embedded moving cylinder example velocity field.
Examples
6. Two-phase flows
Features
The FluidDynamicsApplication includes a solver for the resolution of biphasic (Newtonian-air) viscous incompressible flows. This solver uses a levelset based approach which combines the implicit fluid solver with a convection and redistancing ones (see the KratosCore for more information about these). The solver is able to account for the pressure discontinuities thanks to a local enrichment plus an element-by-element static condensation, which avoids the need to reform the sparse matrix graph at each time step. Besides, the solver is also equipped with a strategy to revert the mass losses introduced by the levelset approach.
Examples
7. Multiscale modelling
The application also includes limited support for the multiscale modelling following the Representative Volume Element (RVE) approach.
8. Multiphysics problems
Features
The FluidDynamicsApplication can be coupled with other applications to solve multiphysics problems such as Fluid-Structure Interaction (FSI) (see FSIApplication) or thermally-coupled flows (buoyancy and Conjugate Heat Transfer (CHT)) (see ConvectionDiffusionApplication).
Examples
Conjugate Heat Transfer:
Fluid-Structure Interaction:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for KratosFluidDynamicsApplication-10.0.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a79fdcc02ac238164e9792d260a6ceb8212cf6a1105702baa76939d9411d3544 |
|
MD5 | 0145116584f5a328e94d97782f099a3e |
|
BLAKE2b-256 | 61035d0304ddce2aa5661c9e58170ee0c2e99692ec862351b04c78d73a13d00d |
Hashes for KratosFluidDynamicsApplication-10.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba02ea818af0e9af1e8458e524a6f9e2aa337e436c5b82bf83f21ca749bd660b |
|
MD5 | 0bac8aee01c0b7ab4caa3d8f54ef30d9 |
|
BLAKE2b-256 | addd14958e0645b4eeadac16bdf4d29d9da06d62a4cfb8998b9a902572213bbb |
Hashes for KratosFluidDynamicsApplication-10.0.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ea931d4184f257f9d9708ad043387e8372ec7d347c12f2912f0a130fd8aa66e |
|
MD5 | 4b17469e408dc5d504afe92aefac25b1 |
|
BLAKE2b-256 | 0d3cc78a96051307fbdea83859176d255e01ab9b3e7ba8077cf8ec2e594d7f9f |
Hashes for KratosFluidDynamicsApplication-10.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 215b264aeb08317e23c6dc1fa9532107866eb39a5b0b80579fb8345cc3b17058 |
|
MD5 | f64cf5f5e4cd6933ff970453e9abf301 |
|
BLAKE2b-256 | dfa55b8d4ca1147233c53f6ef05bd46146be3173bd432d951a7d7be76a75e1b6 |
Hashes for KratosFluidDynamicsApplication-10.0.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6afad34d144ec4575af6000ad1314247d1dcd9d234269761d3bbcb13111d514f |
|
MD5 | 7881a775ffa6c4c5d08b6157e0b173bf |
|
BLAKE2b-256 | bbbbab9d68ca6937dbd1c37dee1bb35854be9b737da4ad04b7686a3cb08a0134 |
Hashes for KratosFluidDynamicsApplication-10.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d80faf003706594deadd9e048dbdb4083bfd72543c4edb34b892d145ae75ab51 |
|
MD5 | 305f8bafa57aab25a3d28fd442b1413f |
|
BLAKE2b-256 | b4bd0d0976eb8793e9b512c3eb3d3a6752de2bbf6f4d68f83ea740c12f65a6b5 |
Hashes for KratosFluidDynamicsApplication-10.0.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99532b1ec6d019df89f6322c90eee371f8a6f20dd8f7084144af28a8d56e442b |
|
MD5 | 259cf417ace0e12b588b1854d946221a |
|
BLAKE2b-256 | 16832779b39c23d3e94d9de0f1a61a6d181ffce03099099218574e5879aacfa0 |
Hashes for KratosFluidDynamicsApplication-10.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77bd06ff053f8f66cbafa229fe8ee4a460fea967ad3bc5e9489bc1bfc0566ec1 |
|
MD5 | a4cf089eb6142507fe53cc82bb732e7a |
|
BLAKE2b-256 | 268e9ee4d35c70e2bea9e33ecfb846be186e357ea095adb4810af32c59bcc59c |
Hashes for KratosFluidDynamicsApplication-10.0.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f00a669bcc406c9fb1ae22d0eb9bb8bfa7fc5fb07b445a8569bda994427838dc |
|
MD5 | 69da3fed70401c835b426938704864f1 |
|
BLAKE2b-256 | 66f4d1f8eb29624c109a0310f79becbc8bce1b0f1205459cfd50b18399740957 |
Hashes for KratosFluidDynamicsApplication-10.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4889e9f077ee5f8c3b30715fbd71b492e84f6266cb07b7007b7823310c5d9b70 |
|
MD5 | 47fdb780483f2e8e91824e1bee6cdc54 |
|
BLAKE2b-256 | 53d05f9e671a145d767e74a49aa39dd65c20c13c0aec21290d794b40743e9a40 |