|
[Sponsors] |
[snappyHexMesh] OpenFoam in parallel with sHM and sFE |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
October 24, 2018, 18:05 |
OpenFoam in parallel with sHM and sFE
|
#1 |
New Member
Join Date: Jun 2018
Location: Canada
Posts: 10
Rep Power: 8 |
I am trying to run a simpleFoam case but I am not able to figure out a sequence of commands and steps to follow to solve this case.
I am fairly new to openfoam so please pardon my ignorance https://drive.google.com/file/d/1ecL...ew?usp=sharing I tried the steps as following : Code:
blockMesh surfaceFeatureExtract decomposePar mpirun -n 8 snappyHexMesh -parallel -overwrite mpirun -n 8 renumberMesh -parallel -overwrite mpirun -n 8 simpleFoam -parallel Code:
Reading volScalarField p [3] [4] [5] [5] [5] --> FOAM FATAL IO ERROR: [5] size 0 is not equal to the given value of 304 [5] [6] [6] [6] --> FOAM FATAL IO ERROR: [6] size 0 is not equal to the given value of 114 [6] [6] file: /home/pradyumn/Windsim_AR _thread/SimpleFoam/processor6/0/p.boundaryField.outlet from line [1] [1] [1] --> FOAM FATAL IO ERROR: [1] Cannot find patchField entry for depth_img [1] [1] file: /home/pradyumn/Windsim_AR _thread/SimpleFoam/processor1/0/p.boundaryField from line 26 to line 46. [1] [2] [2] [2] --> FOAM FATAL IO ERROR: [2] Cannot find patchField entry for depth_img [2] [2] file: /home/pradyumn/Windsim_AR _thread/SimpleFoam/processor2/0/p.boundaryField from line 26 to line 56. [2] [2] From function [3] [3] --> FOAM FATAL IO ERROR: [3] size 0 is not equal to the given value of 452 [3] [3] file: /home/pradyumn/Windsim_AR _thread/SimpleFoam/processor3/0/p.boundaryField.inlet from line 26 to line 27. [3] [3] From function Foam::Field<Type>::Field(const Foam::word&, const Foam::dictionary&, Foam::label) [with Type = double; Foam::label = int] [3] in file /mnt/home/SW/CFDSupportFOAM4.0/beta/OpenFOAM-dev/src/OpenFOAM/lnInclude/Field.C at line 302. [3] FOAM parallel run exiting [5] file: /home/pradyumn/Windsim_AR _thread/SimpleFoam/processor5/0/p.boundaryField.outlet from line 31 to line 32. [5] [5] From function Foam::Field<Type>::Field(const Foam::word&, const Foam::dictionary&, Foam::label) [with Type = double; Foam::label = int] [5] in file /mnt/home/SW/CFDSupportFOAM4.0/beta/OpenFOAM-dev/src/OpenFOAM/lnInclude/Field.C at line 302. [5] FOAM parallel run exiting [5] [7] [7] [7] --> FOAM FATAL IO ERROR: [7] Cannot find patchField entry for depth_img [7] [7] file: /home/pradyumn/Windsim_AR _thread/SimpleFoam/processor7/0/p.boundaryField from line 26 to line 46. [7] [7] From function void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam::DimensionedField<TypeR, GeoMesh>&, const Foam::dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh] [7] in file /mnt/home/SW/CFDSupportFOAM4.0/beta/OpenFOAM-dev/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 191. [7] FOAM parallel run exiting [7] 31 to line 32. [6] [6] From function Foam::Field<Type>::Field(const Foam::word&, const Foam::dictionary&, Foam::label) [with Type = double; Foam::label = int] [6] in file /mnt/home/SW/CFDSupportFOAM4.0/beta/OpenFOAM-dev/src/OpenFOAM/lnInclude/Field.C at line 302. [6] FOAM parallel run exiting [6] [1] From function void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam::DimensionedField<TypeR, GeoMesh>&, const Foam::dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh] [1] in file /mnt/home/SW/CFDSupportFOAM4.0/beta/OpenFOAM-dev/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 191. [1] FOAM parallel run exiting [1] void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam::DimensionedField<TypeR, GeoMesh>&, const Foam::dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh] [2] in file /mnt/home/SW/CFDSupportFOAM4.0/beta/OpenFOAM-dev/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 191. [2] FOAM parallel run exiting [2] [3] [0] [4] [4] --> FOAM FATAL IO ERROR: [4] size 0 is not equal to the given value of 237 [4] [4] file: /home/pradyumn/Windsim_AR _thread/SimpleFoam/processor4/0/p.boundaryField.outlet from line 31 to line 32. [4] [4] From function Foam::Field<Type>::Field(const Foam::word&, const Foam::dictionary&, Foam::label) [with Type = double; Foam::label = int] [4] in file /mnt/home/SW/CFDSupportFOAM4.0/beta/OpenFOAM-dev/src/OpenFOAM/lnInclude/Field.C at line 302. [4] FOAM parallel run exiting [4] -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 2 in communicator MPI_COMM_WORLD with errorcode 1. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. -------------------------------------------------------------------------- [0] [0] --> FOAM FATAL IO ERROR: [0] Cannot find patchField entry for depth_img [0] [0] file: /home/pradyumn/Windsim_AR _thread/SimpleFoam/processor0/0/p.boundaryField from line 26 to line 61. [0] [0] From function void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam::DimensionedField<TypeR, GeoMesh>&, const Foam::dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh] [0] in file /mnt/home/SW/CFDSupportFOAM4.0/beta/OpenFOAM-dev/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 191. [0] I looked up WindTurbine tutorial and countless other online but things are just not crystal to me yet and thus the struggle. |
|
October 25, 2018, 01:42 |
|
#2 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Hi,
it seems that your boundary files (p, U, ...) have already some values in the internal field included that cause a problem here. Check the boundary files in the folder 0/*.
__________________
Keep foaming, Tobias Holzmann |
|
October 25, 2018, 14:05 |
|
#3 | |
New Member
Join Date: Jun 2018
Location: Canada
Posts: 10
Rep Power: 8 |
Quote:
Yes the internal field has values associated with it but I looked at TurbineSiting tutorial and they seem to have an internal field too for epsilon k and p . Does the issue lies with the set of commands that I am using to parallelize both sHM and simpleFoam ? |
||
October 26, 2018, 05:56 |
|
#4 |
Member
ssa
Join Date: Sep 2018
Posts: 93
Rep Power: 8 |
If you are running snappy in parallel, you have to set up the boundary conditions again in processor folders. See turbinesitting tutorial in simplefoam.
Or if your mesh is small, run snappy in single core and then run the solver in parallel. |
|
October 26, 2018, 17:25 |
|
#5 |
New Member
Join Date: Jun 2018
Location: Canada
Posts: 10
Rep Power: 8 |
I figured it out.
Here is a list of steps you need to take to get this case running. run the following commands: Code:
blockMesh surfaceFeatureExtract decomposePar mpirun -n 8 snappyHexMesh -parallel reconstructParMesh copy polymesh folder to constant folder from folder 9. Delete 3, 6 and 9 folder and all the processor folder. Then run the following commands. Code:
decomposePar mpirun -n 8 simpleFoam -parallel |
|
|
|