Update Meeting notes authored by Maric, Tomislav's avatar Maric, Tomislav
...@@ -12,9 +12,7 @@ If plicRDF is not second-order accurate, we don't have any chance of advecting t ...@@ -12,9 +12,7 @@ If plicRDF is not second-order accurate, we don't have any chance of advecting t
* Run * Run
``` `openfoam/tutorials/multiphase/interIsoFoam/discInReversedVortexFlow`
openfoam/tutorials/multiphase/interIsoFoam/discInReversedVortexFlow
```
with a droplet advected on the bottom wall (Mathis et al.) with a droplet advected on the bottom wall (Mathis et al.)
...@@ -22,6 +20,34 @@ with a droplet advected on the bottom wall (Mathis et al.) ...@@ -22,6 +20,34 @@ with a droplet advected on the bottom wall (Mathis et al.)
Look at [reconstructionSchemes](https://www.openfoam.com/documentation/guides/latest/api/classFoam_1_1reconstructionSchemes.html) member functions `center` and `normal` : those are the PLIC plane point and normal. Use those to calculate contact angle. Look at [reconstructionSchemes](https://www.openfoam.com/documentation/guides/latest/api/classFoam_1_1reconstructionSchemes.html) member functions `center` and `normal` : those are the PLIC plane point and normal. Use those to calculate contact angle.
`//Jun: reference to reconstructionSchemes
const reconstructionSchemes& surf = advector.surf();
const point x0 = surf.centre()[faceOwner[faceI]];
25 // cell interface unit normal
26 vector n0 = surf.normal()[faceOwner[faceI]];
`
Loop over all boundaries of alpha, ask if a boundary patch is a wall, loop over all faces of the boundary patch, use the code snippet above to fetch center and normal, do some geometry to get contact angle.
**FYI**: that's how we could calculate alphaf without interpolation!
`
// cell interface centre
const point x0 = surf.centre()[faceOwner[faceI]];
// cell interface unit normal
vector n0 = surf.normal()[faceOwner[faceI]];
n0 /= (mag(n0)+SMALL);
cutFace.calcSubFace(faceI, n0, x0);
alphaf[faceI] = mag(cutFace.subFaceArea()) / sfArea;
`
A global object that you initialize outside the boundary field loop
`cutFaceAdvect cutFace(alpha1.mesh(), alpha1);`
* Prepare a notebook that evaluates Figure 16b for plicRDF reconstruction and advected droplet on the wall. * Prepare a notebook that evaluates Figure 16b for plicRDF reconstruction and advected droplet on the wall.
- [ ] Check the Droplets conference - there was a contribution for interFoam or interIsoFoam with wetting in IJMF (!) - [ ] Check the Droplets conference - there was a contribution for interFoam or interIsoFoam with wetting in IJMF (!)
... ...
......