cellSet: command not found
I'm trying to execute the cellSet command, but get the error "command not found." I'm new to Ubuntu and OpenFOAM, however, the limited number of other commands I've used seem to be accessible. Perhaps it was something I did (or didn't do) when I installed OpenFOAM.
Ultimately, my goal is to simulate a vertical axis wind turbine. So far I have converted my .msh meshes (stator and rotor) to openfoam successfully, and I'm now trying to use cellSet to define my rotating region. Regards, and thanks, Shawn |
Greetings Shawn and welcome to the forum!
As of OpenFOAM 2.0, all "*Set" applications have been all merged into setSet. Here is an example of how to use: http://openfoamwiki.net/index.php/SetSet For even more examples, the following command will show you which tutorials make use of setSet: Code:
find $FOAM_TUTORIALS | xargs grep 'setSet' -sl Bruno |
Maybe it is good to also point on topoSet
|
Thanks for the tips and feedback! Greatly appreciated. I'm working off a case setup 'cheat sheet' that someone else in our department did a little over a year ago, so that would explain why some of the commands/instructions are out of date.
Regards, Shawn |
Well, setSet and topoSet are definitely available, but I can't figure out how to use them. With the cellSet command, all I needed to specify was my case: "-case rotor", and cellSet would reference my cellSetDict file which contained:
// Name of set to operate on name movingCells; // One of clear/new/invert/add/delete|subset/list action new; // Actions to apply to cellSet. These are all the topoSetSource's ending // in ..ToCell (see the meshTools library). topoSetSources ( // Cells with cell centre within box boxToCell { box (-0.025 -0.025 -0.005) (0.025 0.025 0.005); name movingCells; // name of cellZone } ); With setSet (topoSet), I have copied and renamed cellSetDict to setSetDict (topoSetDict), but the command failed to execute with the error "no times selected" ("keyword actions is undefined in dictionary "./rotor/system/topoSetDict" "). What I am trying to do is create a set of cells(?) (or am I creating a zone?) that defines my moving mesh region, the rotor. Perhaps there is a different way I need to do this. |
Greetings!
Shawn, the tutorial "$FOAM_TUTORIALS/incompressible/windSimpleFoam/turbineSiting" has two files that are relevant to your problem:
As for topoSet, you can see the tutorial "$FOAM_TUTORIALS/multiphase/MRFInterFoam/mixerVessel2D/":
Best regards and good luck! Bruno |
Hi Bruno,
Once I got into the tutorials, things started making a lot more sense. The original reference material I was working suggested: cellSet -case rotor setsToZones -noFlipMap -case rotor From what I understand this first creats a cellSet then converts it to a Zone. I see now that I can perform these same operations by calling: topoSet and specifying the actions in the topoSetDict file or alternately by calling: setSet -batch filename and specifying the actions in filename. One thing that I don't understand is the specifiers you have used for the search terms, like "xargs" "grep" and "-sl". Do you know where I can find documentation of what specifiers are available and what they do? Regards, Shawn |
Hi Shawn,
Quote:
Code:
man xargs I believe this dates back to Un*x and is short for manual :) See wikipedia for some historic details: http://en.wikipedia.org/wiki/Man_page Searching online with the same commands will also give you an online version of each command:
Ironically, wikipedia also talks a bit about the combo of find/xargs/grep: http://en.wikipedia.org/wiki/Xargs :) Best regards, Bruno |
Hi all,
thanks for your help, this thread was actually very helpful! I have a small question: I'm using snappyHexMesh to create my mesh around a wind turbine stl file. In this case, when topoSetDict asks for a sourceInfo name, I should give the cellZone name of my refinementSurfaces from SnappyHM? And do I need to call my new cellSet the same way? And are we going to use the faceZone defined as well in Snappy? Thanks to all of you for your help Sincerely Caroline |
I suppose it would depend what you are trying to define. For my setup, I wanted to define a bunch of cells as my rotation domain, so I needed to create them as a cellSet within topoSetDict:
actions ( { name movingCells; type cellSet; action new; source boxToCell; sourceinfo { box (x1 y1 z1) (x2 y2 z2); } } ) So this worked for me because it just drew a large box around my rotating domain (after which I merged my rotor and stator). To make my cellSet and convert it into a zone I called: topoSet -case rotor setsToZones -noFlipMap -case rotor There are other types of sources: pointToCell boxToCell zoneToPoint surfaceToCell nearestToCell zoneToCell cellToFace pointToFace normalToFace boxToFace rotatedBoxToCell fieldToCell cellToPoint zoneToFace nbrToCell patchToFace labelToCell pointToPoint faceToCell boxToPoint labelToPoint boundaryToFace faceToPoint labelToFace shapeToCell faceToFace cellToCell surfaceToPoint (there may be more, just type it in incorrectly and OF should tell you what's available) The correct one to use would depend on how you've defined things in your case, and what you want as the outcome. I needed a "movingCells" (it has to be called movingCells to work) zone to make a rotating domian with the ggi interface. If you have a zone defined and want the zone in cells, use zoneToCell as the source and the name of your zone as the sourceinfo. If you want to add a few items to the same cellSet (or other type of set) you can use "add" instead of "new" for the action. |
I opened a similar discussion to this here:
http://www.cfd-online.com/Forums/ope...g-setsets.html and then I found this topic… so, is really necessary to use setSet when running a MRF or a moving mesh or this can be avoided by defining the zones in the snappyHexMeshDict? Thank you! |
Hi lovecraft22, I'll answer you on your other thread.
|
Hello everyone,
since some days I trie to solve a tutorial called: A pimpleFoam tutorial for channel flow. I created the mesh and now I should run the commend "cellSet". In the cellSetDict I find these informations: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Name of set to operate on name c0; // One of clear/new/invert/add/delete|subset/list action new; // Actions to apply to cellSet. These are all the topoSetSource's ending // in ..ToCell (see the meshTools library). topoSetSources ( // Cells with cell centre within box boxToCell { box (0.1 0.05 0) (0.4 0.15 0.005); } ); // ************************************************** *********************** // The instruction say: To make use of refineMesh, one first need to define a region on which the refinement shall be performed. This is done in $CASE_DIR/system/setCellDict. The cellSetDict is then executed by running cellSet in $CASE_DIR. Unfortunately it didn't work, when I type "cellSet". There is allways the mistake "command not found" I had a look in your discussion and I tried the following command: < cellSet c0 new boxToCell (0.4 0.005 0) (0.4 0.15 0.2) > but it also does not work.. there is now the mistake: bash: Syntaxfehler beim unerwarteten Wort »(« --> bash: syntax error when unexpected word "(" Maybe one of you might help me.. I would be very grateful. Thank you so much, and nice regards, Stephie |
Hi,
@stephie: guess you are using OpenFOAM? As in foam-extend 3.1 there is cellSet (http://sourceforge.net/p/openfoam-ex...ation/cellSet/). To create cellSet in OpenFOAM you can use topoSet utility. |
Hello Alexey,
yes you are right - I use OpenFoam and I am quite new. Perhaps it is a stupid question.. but might you explain how toposet works? I really don't understand it. What do I have to do? I read cellSet was repaced by setSet. And toposet can used instead of it. nice regards and thank you for your help |
Hello,
The cellSet dictionary you have posted can be translated into topSet dictionary like this: Code:
FoamFile |
Okay, I include a file with the content of your post and type in "topoSet" and I think it worke.. this was the output:
stephanie@stephanie:~/OpenFOAM/stephanie-2.3.1/run/smagorinsky_mini$ topoSet /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.3.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 2.3.1-262087cdf8db Exec : topoSet Date : Apr 09 2015 Time : 11:42:59 Host : "stephanie" PID : 7978 Case : /home/stephanie/OpenFOAM/stephanie-2.3.1/run/smagorinsky_mini nProcs : 1 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Allowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create polyMesh for time = 0 Reading topoSetDict Time = 0 mesh not changed. Created cellSet c0 Applying source boxToCell Adding cells with center within boxes 1((0.1 0.05 0) (0.4 0.15 0.005)) cellSet c0 now size 1184 End Now I will try to refine the mesh. I thank you so much for your patience and you help, nice regards, Stephie |
Quote:
|
Quote:
|
All times are GMT -4. The time now is 13:58. |