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
-`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'`)
where `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):
-`num_dimensions` is the number of dimensions (`2` or `3`)
-`dyn_pressure` is the freestream dynamic pressure (`0` escept if at least one body is marked for FSI)
-`mesh` is the mesh
-`writer` is the utility to write mesh/results on disk
-`morpher` is the mesh morpher (`None` except if at least one body is marked for FSI or optimization)
-`problem` is the formulation of the problem
-`bodies` is a dictionary pairing the bodies of interest with their marker name
-`fsi_tags` is a list containing the marker name of bodies marker for fluid-structure interaction
-`dsn_tags` is a list containing the marker name of bodies marker for design
-`blowing` is a dictionary pairing the surfaces on which a transpiration boundary condition has been added with their marker name (`None` except if `viscous=True`)
-`solver` is the direct (Newton) solver
-`adjoint` is the adjoint solver (`None` except if at least one body is marked for optimization)