|November 28, 2012, 05:49||
How to access/manipulate sampling points?
Join Date: Mar 2009
Posts: 49Rep Power: 10
I want to use the "sample" tool as a base for an own little application, where I need to access and manipulate the coordinates of the sampling points in a point cloud. After reading through the code of sample, sampledSet.H/C, sampledSets.H/C, IOOutputFilter.H/C, PtrList.H/C, etc. for days, I am feeling a bit lost in the complexity of this task. I think that the essential "magic" takes place by the definition of the "IOsampledSets sSets" variable, whereby the sampleDict is read and the sampling points are assigned to some sort of array (a PtrList array?). I cannot figure out how this is done exactly and how I can get access to this array.
I put the main function of "sample" here to make understanding my question easier; it is without surface sampling stuff, as I don't need it:
------------------------ snippet of the original sample code ----------------------
int main(int argc, char *argv)
# include "addRegionOption.H"
# include "setRootCase.H"
# include "createTime.H"
instantList timeDirs = timeSelector::select0(runTime, args);
# include "createNamedMesh.H"
Info<< "Time = " << runTime.timeName() << endl;
// Handle geometry/topology changes
polyMesh::readUpdateState state = mesh.readUpdate();
Info<< "End\n" << endl;
------------------------------------ snippet end ------------------------
I want to calculate the locations of the sampling points between the definition of "sSets" and the "forAll" loop and to write the calculated positions into the right place in the sampledSets' data structure where the "forAll" loop can do its work on it.
Can anyone point me in the right direction on how to do that? I am fairly new to C++ and OpenFOAM coding, so I will need somehow detailed code examples from where I can go further.
|November 29, 2012, 08:54||
Don't really know what exactly you wanted to sample. Do you want to sample data at a point or an iso-surface? Depending on what you want, you have to use specific function. For instance, sampling data at a point can be done with probe or extracting iso-surface can be done with sample. After knowing what you want to do, you can made your own sample function. Take a look at $FOAM_SRC/sampling, you will find the code of the function you want to use. Then you can modify these to get what you want.
|Thread||Thread Starter||Forum||Replies||Last Post|
|.STL: non-closed manifold surface||giulio.topazio||OpenFOAM Native Meshers: snappyHexMesh and Others||32||November 25, 2016 04:15|
|sampling interval and sampling frequency||beauty||FLUENT||7||October 22, 2016 06:01|
|No layers in a small gap||bobburnquist||OpenFOAM Native Meshers: snappyHexMesh and Others||6||August 26, 2015 09:38|
|[DesignModeler] DM's JScript: FPoint()'s GetPoint(i) function picks points backwards?||ANT||ANSYS Meshing & Geometry||2||July 23, 2012 15:25|
|BlockMeshmergePatchPairs||hjasak||OpenFOAM Native Meshers: blockMesh||11||August 15, 2008 07:36|