|
|
# DART - Full Potential Solver
|
|
|
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](https://github.com/ulgltas/CUPyDO) and [openMDAO](https://openmdao.org/) so that aeroelastic computations and optimization can be easily carried out.
|
|
|
|
|
|
The wiki contains the documentation related to users:
|
|
|
- [C++](dart_cclasses) and [Python](dart_pyclasses) classes documentation
|
|
|
- a step by step [how-to-use](dart_usage) guide
|
|
|
- a short description of some [additional modules](dart_mod)
|
|
|
- a list of [known bugs](dart_bugs)
|
|
|
- a [benchmark](dart_bench) page
|
|
|
|
|
|
The documentation for developers can be built with doxygen.
|
|
|
|
|
|

|
|
|
|
|
|
## Features and limitations (dart v1.0.0, September 2021)
|
|
|
* Geometry
|
|
|
- 2D
|
|
|
- [x] airfoils
|
|
|
- 3D
|
|
|
- [x] multi-isolated lifting surface (e.g. wing/tail configuration)
|
|
|
- [x] wing/fuselage/tail configuration
|
|
|
- Interface
|
|
|
- [x] [geoGen](https://github.com/acrovato/geoGen/)
|
|
|
* Mesh
|
|
|
- [gmsh](http://gmsh.info/) native format
|
|
|
- [x] 2D with Line2 and Tri3 elements
|
|
|
- [x] 3D with Tri3 and Tetra4 elements
|
|
|
* Physical model
|
|
|
- Time
|
|
|
- [x] steady
|
|
|
- [ ] unsteady
|
|
|
- Compressibility
|
|
|
- [x] subsonic freestream
|
|
|
- [x] weak shockwaves
|
|
|
- Viscosity
|
|
|
- [x] inviscid
|
|
|
- [x] viscous-inviscid interaction (only 2D)
|
|
|
* Numerical methods
|
|
|
- Problem
|
|
|
- [x] direct (i.e. forward)
|
|
|
- [x] adjoint (i.e. backward)
|
|
|
- Outer solver
|
|
|
- [x] Picard
|
|
|
- [x] Newton-Raphson with analytical tangent matrix and Bank&Rose line search
|
|
|
- Inner solver
|
|
|
- [x] Intel's MKL Pardiso
|
|
|
- [x] Eigen's GMRES
|
|
|
- [x] MUMPS
|
|
|
- Wake/Kutta condition
|
|
|
- [x] direct matrix manipulation (see [Nishida, 1996](https://dspace.mit.edu/handle/1721.1/11188), [Galbraith, 2017](https://arc.aiaa.org/doi/abs/10.2514/6.2017-0290) and [Crovato, 2020](http://hdl.handle.net/2268/251906))
|
|
|
- Artificial viscosity
|
|
|
- [x] best upstream alignment (see [Crovato, 2020](http://hdl.handle.net/2268/251906))
|
|
|
- [x] adaptive
|
|
|
* Post-processing
|
|
|
- Data extracted at nodes
|
|
|
- [x] readily available in python
|
|
|
- [x] savable to disk
|
|
|
- Volume data
|
|
|
- [x] gmsh
|
|
|
- [x] [vtk](https://vtk.org)
|
|
|
- Boundary data
|
|
|
- [x] ascii
|
|
|
* Aeroelastic capability
|
|
|
- Mesh deformation
|
|
|
- [x] linear elasticity equations
|
|
|
- Interface
|
|
|
- [x] [CUPyDO](https://github.com/ulgltas/CUPyDO)
|
|
|
- [x] [openMDAO](https://openmdao.org/)
|
|
|
|
|
|
## Envisioned developments
|
|
|
* Addition of [CPACS](https://cpacs.de/) or [OpenVSP](http://openvsp.org/) to gmsh geometry interface
|
|
|
* Extension to unsteady flow with linear harmonic perturbations methods
|
|
|
* Extension of viscous-inviscid interaction to 3D transonic flows |
|
|
\ No newline at end of file |