CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM

OpenFoam in parallel with sHM and sFE

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

Reply
 
LinkBack Thread Tools Display Modes
Old   October 24, 2018, 18:05
Default OpenFoam in parallel with sHM and sFE
  #1
New Member
 
Join Date: Jun 2018
Location: Canada
Posts: 7
Rep Power: 2
pradyumnsingh is on a distinguished road
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
According to me, this should do it but i get and error in renumberMesh like this :

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]
Can somebody please explain and give the sequence of commands to follow to get this case running?
I looked up WindTurbine tutorial and countless other online but things are just not crystal to me yet and thus the struggle.
pradyumnsingh is offline   Reply With Quote

Old   October 25, 2018, 01:42
Default
  #2
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Augsburg
Posts: 2,176
Blog Entries: 6
Rep Power: 37
Tobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
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
Tobi is offline   Reply With Quote

Old   October 25, 2018, 14:05
Default
  #3
New Member
 
Join Date: Jun 2018
Location: Canada
Posts: 7
Rep Power: 2
pradyumnsingh is on a distinguished road
Quote:
Originally Posted by Tobi View Post
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/*.
Thanks for your reply Tobi.

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 ?
pradyumnsingh is offline   Reply With Quote

Old   October 26, 2018, 05:56
Default
  #4
New Member
 
ssa
Join Date: Sep 2018
Posts: 19
Rep Power: 2
ssa_cfd is on a distinguished road
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.
ssa_cfd is offline   Reply With Quote

Old   October 26, 2018, 17:25
Default
  #5
New Member
 
Join Date: Jun 2018
Location: Canada
Posts: 7
Rep Power: 2
pradyumnsingh is on a distinguished road
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
This should give you folder 3 ,6 and 9 like sHM without parallization.
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
I will post a .sh file soon for doing the above.
pradyumnsingh is offline   Reply With Quote

Reply

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



All times are GMT -4. The time now is 23:32.