Cell size (x,y,z)
Hi folks,
I'm trying to write an apllication on openfoam wich utilizes the surface compression to produce an initial condition as a wave in a two phase environment, in this code I need to call the individual cells in a loop and use their height, length and depth(x,y,z Dimensions) , The problem is, I don't seem to find the access function for that, the only thing I find is the V() access function which gives the volume of the cell. So in desperation , I am open to any suggestion. Thanks, |
You can get a list of vertices using mesh.points();
Have you looked at fvMesh, polyMesh and primitiveMesh in the doxygen pages? Between them there must be the functionality you're looking for. |
Hi l_r_mcglashan
thanks for the reply, I will look it up in Doxygen, then I would keep ya posted later today |
Quote:
thanks for the reply, I will look it up in Doxygen, then I would keep ya posted later today |
Quote:
It's weird because OpenFOAM should use the dimensions to calculate the volume of cell V(). I dont know how else could it do that???? any other suggestions?? |
If you click through the documentation you'll find the cell volume calculation in the function:
Code:
Foam::primitiveMesh::makeCellCentresAndVols |
Quote:
Yep that's right, it's actually just a box, but with an insane amount of cells. because it is needed to validate our calculations in next step of the work. as a initial condition a simple wave is being introduced to the interface of the water-air, and it would vibrate to become a line . the things is we have written a code already that puts the wave at the interface, but every time we change the Mesh we have to change the code with the new cell sizes. (it is something like setFieldsdict in dam break example) I just want to automate it so that it could change itself after every change in Mesh. Did I make it clear? :) I still haven't found any useful access function for the cell dim.:) Thanks |
Ok, why do you need the dimensions of the cell? Are the centres/faces not enough?
|
Quote:
respectively these cells would be assigned a number between 0 and 1. 0 for gas phase and 1 for liquid. So it's not enough to have the center, the hight of the cell gives us actually how much of the cell is placed in liquid or gas phase , and the number makes it understandable for OpenFOAM. |
Hi Armin
What you need to do is the following: Code:
const faceList & ff = mesh.faces(); Best regards, Niels |
Quote:
Works like a charm, thanks a bunch . PS: Although for users who would use this code later,there is a minor dictation error. the correct one would be: const faceList & ff = mesh.faces(); const pointField & pp = mesh.points(); forAll ( mesh.C(), celli) { const cell & cc = mesh.cells()[celli]; labelList pLabels(cc.labels(ff)); pointField pLocal(pLabels.size(), vector::zero); forAll (pLabels, pointi) pLocal[pointi] = pp[pLabels[pointi]]; scalar xDim = Foam::max(pLocal & vector(1,0,0)) - Foam::min(pLocal & vector(1,0,0)); // And similar for yDim and zDim } |
Thanks a lot.
|
How to use the Codes
Hi,
I am relativ new with OpenFoam and can not get, how to use the Codes. Can someone help me? best regards Yuanyuan Zhang |
Where to put the code in?
Quote:
Hey, I have the same question ,and I want to know which file should I add your code into? Sorry I dont konw much about OpenFOAM. I used snappyMesh and chtMultiRegionSimpleFoam ,where should I put your code into? I want to get the cooridates of all the cells ,8 points for each cells, instead of only the cell centre points. Thank you! |
Quote:
Have you check this method for computational domain constituted by multiblock mesh such as for the blockMesh dict of dambreaking case ? |
Can geometricDelta function be used to directly get the height, length and width?
|
Hello everybody,
I have a question out of curiosity. Does the code mentioned earlier by ngj provide for every cell in the domain (so at the end we have a volScalarField) the length in x, y and z direction respectively? I am asking because for my implementation of a new hybrid turbulence model I need the dimensions of each cell in the domain in x, y and z (deltax, deltay and deltaz). Many thanks for your help! |
ngj
Senior Member to where I should put this code. little bit strugling. if possible please let me know the path. |
To which file this code should enter.
Please explain the path. |
All times are GMT -4. The time now is 08:32. |