Update use_api_core authored by Adrien Crovato's avatar Adrien Crovato
......@@ -4,7 +4,7 @@ The [core](https://gitlab.uliege.be/am-dept/dartflo/blob/master/dart/api/core.py
**1. Defining the parameters**
In practise, DART is initialized by using a dictionary of parameters, and the type of scenario and task. The different parameters are listed hereunder.
```python
p = {
cfg = {
# Options
'Threads' : int, # number of threads
'Verb' : int, # verbosity
......@@ -23,10 +23,12 @@ p = {
# ... only 3D
'Wings' : list of str, # LIST of names of physical groups containing the lifting surface boundary (first element will be the body of interest for aerostructural and optimization)
'Wakes' : list of str, # LIST of names of physical group containing the wake
'WakeTips' : list of str, # LIST of names of physical group containing the edge of the wake (not for 2.5D)
'TeTips' : list of str, # LIST of names of physical group containing the edge of the wake and the trailing edge
'WakeTips' : list of str, # LIST of names of physical group containing the free edge of the wake (not for 2.5D)
'Tes' : list of str, # LIST of names of physical group containing the trailing edges
# ... optional for 3D
'Symmetry' : str, # name of physical group containing the symmetry boundaries
'Fuselage' : str, # name of physical group containing the fuselage boundary
'WakeExs' : str, # LIST of names of physical group containing the free edge of the wake and the intersection of lifting surface with fuselage (to be excluded from Wake B.C.), only required if a 'Fuselage' if present, otherwise 'WakeTips' is sufficient
# Freestream
'M_inf' : float, # freestream Mach number
'AoA' : float, # freestream angle of attack [deg] (optional, default=0)
......@@ -53,15 +55,17 @@ p = {
Once the parameters have been defined, DART can simply be initialized by calling,
```python
from dart.api.core import initDart
dim, qinf, msh, wrtr, mrf, pbl, bnd, sol, adj = initDart(p, scenario=..., task=...)
_dart = initDart(cfg, scenario='aerodynamic', task='analysis', `viscous=False`)
```
where `scenario` can be `'aerodynamic'` or `'aerostructural'`, and `task` can be `'analysis'` or `'optimization'`, and where:
where `scenario` can be `'aerodynamic'` or `'aerostructural'`, and `task` can be `'analysis'` or `'optimization'`, and viscous is a boolean indicating whether the solver should also be configured for viscous-inviscid interaction. `_dart` is a dictionary containing the following objects (named after their key):
- `dim` is the number of dimensions (`2` or `3`)
- `qinf` is the freestream dynamic pressure (`0` except if `scenario='aerostructural'`)
- `msh` is the mesh
- `wrtr` is the utility to write mesh/results on disk
- `wrt` is the utility to write mesh/results on disk
- `mrf` is the mesh morpher (`None` except if `scenario='aerostructural'` or `task='optimization'`)
- `pbl` is the formulation of the problem
- `bnd` is the body of interest
- `blwb` is the blowing boundary condition on the body (`None` except if `viscous=True`)
- `blww` is the blowing boundary condition on the wake (`None` except if `viscous=True`)
- `sol` is the direct (Newton) solver
- `adj` is the adjoint solver (`None` except if `task='optimization'`)