DART
DARTFlo (Discrete Adjoint for Rapid Transonic Flows, abbreviated as DART) is an open-source C++/python, unstructured finite-element, full potential solver, developed at the University of Liège by Adrien Crovato with the active collaboration of Romain Boman, and under the supervision of Vincent Terrapon and Grigorios Dimitriadis, during the academic years 2018-2022.
DART is currently capable of rapidly solving steady transonic flows on arbitrary configurations, ranging from 2D airfoils to 3D full aircraft (without engine), as well as calculating the flow gradients using a discrete adjoint method. Furthemore, the code is interfaced with CUPyDO and openMDAO so that aeroelastic computations and optimization can be easily carried out.
This wiki contains the following documentation:
- build instructions
- use instructions
- some additional resources Additionally, the documentation for developers can be built using doxygen, and the mathematical and numerical formulations of DART can be found in this Ph.D. thesis.
Features and limitations (dart v1.1.0, September 2021)
- Geometry
- 2D
- airfoils
- 3D
- multi-isolated lifting surface (e.g. wing/tail configuration)
- wing/fuselage/tail configuration
- Interface
- 2D
- Mesh
-
gmsh native format
- 2D with Line2 and Tri3 elements
- 3D with Tri3 and Tetra4 elements
-
gmsh native format
- Physical model
- Time
- steady
- unsteady
- Compressibility
- subsonic freestream
- weak shockwaves
- Viscosity
- inviscid
- viscous-inviscid interaction (only 2D)
- Time
- Numerical methods
- Problem
- direct (i.e. forward)
- adjoint (i.e. backward)
- Outer solver
- Picard
- Newton-Raphson with analytical tangent matrix and Bank&Rose line search
- Inner solver
- Intel's MKL Pardiso
- Eigen's GMRES
- MUMPS
- Wake/Kutta condition
- direct matrix manipulation (see Nishida, 1996, Galbraith, 2017 and Crovato, 2020)
- Artificial viscosity
- best upstream alignment (see Crovato, 2020)
- adaptive
- Problem
- Post-processing
- Data extracted at nodes
- readily available in python
- savable to disk
- Volume data
- gmsh
- vtk
- Boundary data
- ascii
- Data extracted at nodes
- Aeroelastic capability