I've probably been going at th
I've probably been going at this the wrong way, but haven't been able to find the correct way to to setup a parallel case.
What I've been doing: 1. blockMesh 2. snappyHexMesh 3. manually define boundary conditions 4. decomposePar 5. mpirun case I would prefer to run snappyHexMesh in parallel because: a) running out of memory on single computer b) running on one core is very slow What I've tried: 1. manually setup boundary condition for time 0 2. decomposeParDict: method metis 3. blockMesh 4. decomposePar 5. decomposeParDict: method parMetis 6. mpirun snappyHexMesh This results in a good mesh, but the problem is I can't figure out how to get the boundary conditions to follow the mesh generation to timestep 3. Snappyhexmesh does insert the stl-wall boundary correctly, but doesn't touch the p, U etc. files. Could some knowledgeable FOAMer point me in the right direction? |
Surely someone must have a elegant way to setup the initial field for parallel cases while using snappyHexMesh in parallel?
How do you do it? I tried using mapFields, but I couldn't figure out a way to setup the case using the "-consistent" flag (since the stl-surface isn't there before running snappyHexMesh). Without the -consistent flag mapFields requires the "destination" case to already have the field variables set to something. Creating the field variable in the first place is what I'm trying to do! Manually setting the initial field variables isn't very efficient since a lot of files need to be created (or copied and tweaked individually). Especially if batch runs with small adjustments need to be run this is impossible to do without a tool. Using a CFD program with no user interface seems to be very difficult. |
I don't know if it works for parallel cases as well, but have you tried pyFoam? Search the forum for it.
Francesco |
Thanks for the tip fra76!
I found some documentation to pyFoam on openfoamwiki.net, looks to have useful tools. I also stumbled across funkySetFields, tried that out and it's somewhat capable of doing what I what with a single command. (for parallel case setups needs to be run with the same processor amount as the case is decomposed to though) mpirun -hostfile ~/foamHosts funkySetFields -create -field U -expression 'vector(60,0,0)' -time 3 -parallel I'll probably have to learn how to make the hideously cryptic bash scripts, but funkySetFields seems to be able to do most of what I what so hopefully I wont need to figure that much out. |
Hi Oscar,
see http://www.cfd-online.com/Forums/ope...tml#post228991 I have a feeling this may work (testing at the moment) Cheers Andrew |
I had the exact same problem as the original poster. I have not found an elegant way, but use a rather convenient work around:
|
All times are GMT -4. The time now is 00:29. |