|
[Sponsors] |
June 6, 2012, 09:11 |
Sum over non-boundary cells
|
#1 |
New Member
Martin Söder
Join Date: Jun 2011
Posts: 8
Rep Power: 14 |
Hi,
I would like to make a post-process skript where I sum only non-boundary cell values. Does anyone know how this can be done? Example mass (pseudo-code) forAll(mesh.V(), celli) { if cell != boundaryCell { mass = (mesh.V()[celli]*rho[celli]);forAll(mesh.V(), celli) massSum += mass; } } best regards Martin Soder |
|
June 8, 2012, 08:03 |
|
#2 | |
Senior Member
Mark Olesen
Join Date: Mar 2009
Location: https://olesenm.github.io/
Posts: 1,684
Rep Power: 40 |
Quote:
Create a list of bools for each cell of your mesh and mark each with "true", for example, Code:
PackedBoolList isInterior(mesh.nCells(), true); Loop over the boundary faces, marking the cell owner (which is a boundary cell) as being non-interior: Code:
const labelUList& owner = mesh.faceOwner(); for (label faceI=mesh.nInternalFaces(); faceI < mesh.nFaces(); ++faceI) { isInterior.unset(owner[faceI]); //OR isInterior.set(owner[faceI], false); } The easiest is probably to use this as a mask when iterating over all cells: Code:
forAll(mesh.V(), cellI) { if (isInterior[cellI]) { ... } } |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] SnappyHexMesh for internal Flow | vishwa | OpenFOAM Meshing & Mesh Conversion | 24 | June 27, 2016 08:54 |
How to write k and epsilon before the abnormal end | xiuying | OpenFOAM Running, Solving & CFD | 8 | August 27, 2013 15:33 |
Automobile aero ground boundary layer OR simpleFoam/GAMG and high aspect ratio cells | kyle | OpenFOAM Running, Solving & CFD | 4 | January 4, 2011 11:17 |
help:uds source added to boundary cells | FredPacheo | FLUENT | 5 | September 5, 2008 05:45 |
Convective Heat Transfer - Heat Exchanger | Mark | CFX | 6 | November 15, 2004 15:55 |