|
|
## Viscous-inviscid interaction
|
|
|
The Viscous-inviscid interaction (VII) method allows to correct inviscid computations by modeling the boundary layer, thus taking into account viscous effects only where they are relevant. The VII method implemented in DART relies on a quasi-simultaneous coupling of the full potential equation to an integral form of the boundary layer equations. The code has been implemented by Amaury Bilocq and is located under [viscous](https://gitlab.uliege.be/am-dept/dartflo/blob/master/dart/viscous). The method is currently restricted to two-dimensional subsonic flows.
|
|
|
|
|
|
### Usage
|
|
|
The VVI method can be run using the same plan as described in [Use](use), with minor changes in the pre-processing and solving steps.
|
|
|
|
|
|
**Pre-processing**
|
|
|
Besides defining the problem as described in [Use](use), the body around which the boundary layer will be modeled and the wake attached to this body must be identified and added to the problem definition
|
|
|
```python
|
|
|
blwb = dart.Blowing(msh, 'body')
|
|
|
blww = dart.Blowing(msh, 'wake')
|
|
|
pbl.add(blwb)
|
|
|
pbl.add(blww)
|
|
|
```
|
|
|
|
|
|
**Solving**
|
|
|
Besides defining the invsicid solver as described in [Use](use), a viscous solver as well as a coupler must now be defined. First, the relevant python classes must be imported
|
|
|
```python
|
|
|
import dart.viscous.solver as darts
|
|
|
import dart.viscous.coupler as dartc
|
|
|
```
|
|
|
Then, the viscous solver must be defined and coupled to the inviscid solver (`isolver`)
|
|
|
```python
|
|
|
vsolver = darts.Solver(Re, p, m)
|
|
|
coupler = dartc.Coupler(isolver, vsolver, blwb, blww, tol, gmshWriter)
|
|
|
```
|
|
|
where `Re` is the Reynolds number, `p` and `m` are the order and the bandwidth of the filter used for smoothing the inviscid variables passed to the viscous solver, and `tol` is the tolerance of the viscous solver, expressed as the difference in the drag coefficient between two iterations.
|
|
|
Finally, the coupled computation can be run
|
|
|
```python
|
|
|
coupler.run()
|
|
|
```
|
|
|
The boundary layer variables will be saved in the workspace in a file named `airfoil_viscous.dat`. |