CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   calculate surface area (https://www.cfd-online.com/Forums/openfoam-programming-development/82797-calculate-surface-area.html)

 duongquaphim December 6, 2010 07:37

calculate surface area

Deal OpenFOAM User,

I am implementing PLIC in interFOAM. Then I need to find the way to calculate the volume of each liquid occupied in each cell. I found in the primitiveMesh class two functions that can help me:

void Foam: primitiveMesh::makeFaceCentresAndAreas ( const pointField& p, vectorField& fCtrs, vectorField& fAreas )

and

void Foam: primitiveMesh::makeCellCentresAndVols ( const vectorField& fCtrs, const vectorField& fAreas, vectorField& cellCtrs, scalarField& cellVols )

However, I have a problem with construct pointField p in function
makeFaceCentresAndAreas. Let's say we have four points:

(1 0 0)
(2 0 0)
(2 1 0)
(1 2 0)

Does anyone have ideas about how to construct variable p from these four points for the input of this function?

Regards,

Duong

 santiagomarquezd December 6, 2010 13:26

volScalarField alpha1Vol=mesh.V()*alpha1;
volScalarField alpha2Vol=mesh.V()*(scalar(1)-alpha1);

or something like this.

Best.

 duongquaphim December 7, 2010 11:03

Hi Santiago,

Thanks for the suggestion. However, since I want to construct the interface which has a form n.x+const = 0 (n is the normal vector and x is the point), I should find value of the constant to ensure the conservation of volume fraction. Then, I must find a way to use those function.

Btw, I found how to construct this pointField p. What you can do is:

pointField& p(4,point(0,0,0));
p[0] = point(1,0,0);
p[1] = point(2,1,0);
etc..

That's how we define pointField in OpenFOAM.

Regards,

Duong

 santiagomarquezd December 7, 2010 14:00

Aha, I see. My answer was related to "then I need to find the way to calculate the volume of each liquid occupied in each cell". I understand that you need to calculate a plane within a cell such as the sub-volumes would be equal to those are calculated by the formulas I exposed before...

Bye.

 All times are GMT -4. The time now is 13:52.