CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Cutting cells for constructing alpha=0.5 (https://www.cfd-online.com/Forums/openfoam/227203-cutting-cells-constructing-alpha-0-5-a.html)

yagmur_89 May 20, 2020 13:46

Cutting cells for constructing alpha=0.5
 
1 Attachment(s)
Dear Foamers,




I tried to cut the cells to find isoSurface at 0.5 volume fraction for a VOF application using the isoAdvector concept devised by

Roenby, J., Bredmose, H., & Jasak, H. (2016). A computational method for sharp interface advection. Royal Society open science, 3(11), 160405.


I compiled codes from https://github.com/isoadvector for Foam extend 4.1 version. First, I constructed an icc object isoCutCell icc(mesh,alpha1) using the volume fraction field and mesh itself. Then, to compute which cells are cut by0.5 volume fraction.

label cellStatus = icc.calcSubCell(ci,0.5);


To calculate surface areas and to visualize the concerning variable I created volVectorField called temp to save the surface areas for cells that were cut by 0.5 volume fraction.
forAll(mesh.cells(),ci)
{
label cellStatus = icc.calcSubCell(ci,1);
//label cellStatus=icc.vofCutCell(ci,0.5,1e-3,100);


if (cellStatus == 0)
{

temp.internalField()[ci]= icc.isoFaceArea();


}
}



However, the problem is that the areas saved in temp field is in very irrelevant positions, as seen in Fig in the attachment. What could be the reason? Should I

use the code below

label cellStatus=icc.vofCutCell(ci,0.5,1e-3,100) instead of label cellStatus = icc.calcSubCell(ci,1); ? What are the differences between them?


Thanks in advance,
Best Regards,


All times are GMT -4. The time now is 00:18.