|
|
|
# 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](https://github.com/ulgltas/CUPyDO) and [OpenMDAO](https://openmdao.org/) so that aeroelastic analysis and optimization computations can be carried out easily.
|
|
|
|
|
|
|
|
This wiki contains the following documentation:
|
|
|
|
- [build](build) instructions
|
|
|
|
- [use](use) instructions
|
|
|
|
- some [additional resources](addition)
|
|
|
|
|
|
|
|
Additionally, the documentation for developers can be built using doxygen. The mathematical and numerical formulations of DART can be found in [this technical note](http://hdl.handle.net/2268/264284). Main scientific publications are also listed at the bottom of the page.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## Features and limitations (dart v1.2.0, October 2022)
|
|
|
|
* Geometry
|
|
|
|
- 2D
|
|
|
|
- [x] airfoils
|
|
|
|
- 3D
|
|
|
|
- [x] multi-isolated lifting surface (e.g. wing/tail configuration)
|
|
|
|
- [x] wing/fuselage/tail configuration
|
|
|
|
- Interface
|
|
|
|
- [x] [GmshCFD](https://github.com/acrovato/gmshcfd/)
|
|
|
|
* 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
|
|
|
|
- Compressibility
|
|
|
|
- [x] subsonic freestream
|
|
|
|
- [x] weak shockwaves
|
|
|
|
- Viscosity
|
|
|
|
- [x] inviscid
|
|
|
|
- [x] viscous-inviscid interaction (see [BLASTER](https://gitlab.uliege.be/am-dept/blaster))
|
|
|
|
* 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, 2021](https://hdl.handle.net/2268/264284))
|
|
|
|
- Artificial viscosity
|
|
|
|
- [x] best upstream alignment (see [Crovato, 2021](https://hdl.handle.net/2268/264284))
|
|
|
|
- [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/)/[MPhys](https://github.com/OpenMDAO/mphys)
|
|
|
|
|
|
|
|
## Envisioned developments
|
|
|
|
* Addition of [ESP/CAPS](https://acdl.mit.edu/ESP) interface
|
|
|
|
|
|
|
|
## References
|
|
|
|
* Crovato Adrien, [DARTFlo - Discrete Adjoint for Rapid Transonic Flows](https://hdl.handle.net/2268/264284), Technical note, University of Liège, 2021.
|
|
|
|
* Crovato Adrien, [Steady Transonic Aerodynamic and Aeroelastic Modeling for Preliminary Aircraft Design](https://hdl.handle.net/2268/251906), PhD thesis, University of Liège, 2020.
|
|
|
|
* Crovato A., et al. [A discrete adjoint full potential formulation for fast aerostructural optimization in preliminary aircraft design](https://orbi.uliege.be/handle/2268/301884), Aerospace Science and Technology, 2023.
|
|
|
|
* Crovato A., et al., [A Full Potential Static Aeroelastic Solver for Preliminary Aircraft Design](https://hdl.handle.net/2268/237955), Proceedings of the 18th International Forum on Aeroelasticity and Structural Dynamics (IFASD), 2019.
|
|
|
|
# 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](https://gitlab.uliege.be/am-dept/CUPyDO) and [OpenMDAO/MPhys](https://github.com/OpenMDAO/mphys) so that aeroelastic analysis and optimization computations can be carried out easily.
|
|
|
|
|
|
|
|
This wiki contains the following documentation:
|
|
|
|
- [build](build) instructions
|
|
|
|
- [use](use) instructions
|
|
|
|
- some [additional resources](addition)
|
|
|
|
|
|
|
|
Additionally, the documentation for developers can be built using doxygen. The mathematical and numerical formulations of DART can be found in [this technical note](http://hdl.handle.net/2268/264284). Main scientific publications are also listed at the bottom of the page.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## Features and limitations (dart v1.2.0, October 2022)
|
|
|
|
* Geometry
|
|
|
|
- 2D
|
|
|
|
- [x] airfoils
|
|
|
|
- 3D
|
|
|
|
- [x] multi-isolated lifting surface (e.g. wing/tail configuration)
|
|
|
|
- [x] wing/fuselage/tail configuration
|
|
|
|
- Interface
|
|
|
|
- [x] [GmshCFD](https://github.com/acrovato/gmshcfd/)
|
|
|
|
* 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
|
|
|
|
- Compressibility
|
|
|
|
- [x] subsonic freestream
|
|
|
|
- [x] weak shockwaves
|
|
|
|
- Viscosity
|
|
|
|
- [x] inviscid
|
|
|
|
- [x] viscous-inviscid interaction (see [BLASTER](https://gitlab.uliege.be/am-dept/blaster))
|
|
|
|
* 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, 2021](https://hdl.handle.net/2268/264284))
|
|
|
|
- Artificial viscosity
|
|
|
|
- [x] best upstream alignment (see [Crovato, 2021](https://hdl.handle.net/2268/264284))
|
|
|
|
- [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://gitlab.uliege.be/am-dept/CUPyDO)
|
|
|
|
- [x] [OpenMDAO](https://openmdao.org/)/[MPhys](https://github.com/OpenMDAO/mphys)
|
|
|
|
|
|
|
|
## Envisioned developments
|
|
|
|
* Addition of [ESP/CAPS](https://acdl.mit.edu/ESP) interface
|
|
|
|
|
|
|
|
## References
|
|
|
|
* Crovato Adrien, [DARTFlo - Discrete Adjoint for Rapid Transonic Flows](https://hdl.handle.net/2268/264284), Technical note, University of Liège, 2021.
|
|
|
|
* Crovato Adrien, [Steady Transonic Aerodynamic and Aeroelastic Modeling for Preliminary Aircraft Design](https://hdl.handle.net/2268/251906), PhD thesis, University of Liège, 2020.
|
|
|
|
* Crovato A., et al. [A discrete adjoint full potential formulation for fast aerostructural optimization in preliminary aircraft design](https://orbi.uliege.be/handle/2268/301884), Aerospace Science and Technology, 2023.
|
|
|
|
* Crovato A., et al., [A Full Potential Static Aeroelastic Solver for Preliminary Aircraft Design](https://hdl.handle.net/2268/237955), Proceedings of the 18th International Forum on Aeroelasticity and Structural Dynamics (IFASD), 2019.
|
|
|
|
* Crovato A., et al., [Fast Full Potential Based Aerostructural Optimization Calculations for Preliminary Aircraft Design](https://hdl.handle.net/2268/292456), Proceedings of the 19th International Forum on Aeroelasticity and Structural Dynamics (IFASD), 2022. |
|
|
\ No newline at end of file |