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. |