CFD Online Logo CFD Online URL
Home > Forums > OpenFOAM Programming & Development

Getting node of a position

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree2Likes
  • 2 Post By l_r_mcglashan

LinkBack Thread Tools Display Modes
Old   March 2, 2013, 16:39
Default Getting node of a position
Senior Member
Mahdi Hosseinali
Join Date: Apr 2009
Location: NB, Canada
Posts: 271
Rep Power: 11
anishtain4 is on a distinguished road
How do you find the grid point that is near a location?
The purpose is to calculate space correlation of a turbulence field which means:

anishtain4 is offline   Reply With Quote

Old   March 3, 2013, 00:28
Default The most easiest way
Senior Member
Fumiya Nozaki
Join Date: Jun 2010
Location: Yokohama, Japan
Posts: 217
Blog Entries: 1
Rep Power: 11
fumiya is on a distinguished road
I think the most easiest way to do your job is the following:

    vector pos(0.0,0.0,0.0); //Change the position as you like
    scalar limitLeng = 0.1;  //Change the value as you like

    const cellList& Cells = mesh.cells();
    const pointField& Points = mesh.points();

    forAll(Cells, cellI)
        if(mag(mesh.C()[cellI] - pos) < limitLeng)
            forAll(mesh.cellPoints()[cellI], pointi)
                //You can access labels of cell vertices
                label pointI = mesh.cellPoints()[cellI][pointi];
                scalar r = mag(pos - Points[pointI]);

                //your stuff
Please post the codes, if there are more efficient ways.

Hope that helps,
fumiya is offline   Reply With Quote

Old   March 3, 2013, 08:37
Senior Member
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 16
l_r_mcglashan will become famous soon enough
The above code is unreliable, as the answer will be dependent on limitLeng. You are also not considering the situation where the nearest point to the location you are looking up may not be a part of the cell that it is inside of, although that will depend on how your mesh was constructed.

primitiveMesh has a findCell function. Use that instead.

If you want something more efficient then meshSearch uses an octree method for faster lookup. It doesn't work in parallel though so the location you lookup must be within the local mesh.
anishtain4 and fumiya like this.
Laurence R. McGlashan :: Website
l_r_mcglashan is offline   Reply With Quote


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
mpirun, best parameters pablodecastillo Hardware 18 November 10, 2016 13:36
999999 (../../src/mpsystem.c@1123):mpt_read: failed:errno = 11 UDS_rambler FLUENT 2 November 22, 2011 10:46
DPM UDF particle position using the macro P_POS(p)[i] dm2747 FLUENT 0 April 17, 2009 01:29
License server not visible from master node Charles FLUENT 0 October 30, 2007 18:48
Combustion Convergence problems Art Stretton Phoenics 5 April 2, 2002 05:59

All times are GMT -4. The time now is 21:37.