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

[snappyHexMesh] Problem with decomposePar, snappyHexMesh

Register Blogs Community New Posts Updated Threads Search

Like Tree6Likes
  • 1 Post By clapointe
  • 1 Post By KillerBee
  • 1 Post By KillerBee
  • 1 Post By clapointe
  • 1 Post By clapointe
  • 1 Post By clapointe

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 20, 2017, 11:11
Post Problem with decomposePar, snappyHexMesh
  #1
New Member
 
Join Date: Jul 2017
Posts: 28
Rep Power: 8
luca1992 is on a distinguished road
Hello , I am using the fireFoam solver and more specifically smallPoolFire3D, I am having problems when calling decomposePar. I created a ".stl" file and used the snappyHexMesh function. I do not understand what does not work, can you help me? I attach the error, some question and some photos that can help you understand. If you need further details or additional information of course i will put them too.

Thank you , kind regards, Luca.

1)This is the error in decomposePar.log

/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 4.1-1e03d68d4f4e
Exec : decomposePar -force
Date : Aug 20 2017
Time : 16:50:18
Host : "ubuntu"
PID : 11510
Case : /home/luca/FoamCases/ultimo/smallPoolFire3D
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



Decomposing mesh region0

Create mesh

Calculating distribution of cells
Selecting decompositionMethod hierarchical

Finished decomposition in 0.67 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes
Reading hexRef8 data : cellLevel
Reading hexRef8 data : pointLevel
Reading hexRef8 data : level0Edge
Reading hexRef8 data : refinementHistory

Processor 0
Number of cells = 54000
Number of faces shared with processor 1 = 1800
Number of faces shared with processor 2 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Processor 1
Number of cells = 54000
Number of faces shared with processor 0 = 1800
Number of faces shared with processor 3 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Processor 2
Number of cells = 54000
Number of faces shared with processor 0 = 1800
Number of faces shared with processor 3 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Processor 3
Number of cells = 54000
Number of faces shared with processor 1 = 1800
Number of faces shared with processor 2 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Number of processor faces = 7200
Max number of cells = 54000 (0% above average 54000)
Max number of processor patches = 2 (0% above average 2)
Max number of faces between processors = 3600 (0% above average 3600)

Time = 0


--> FOAM FATAL IO ERROR:
Cannot find patchField entry for galleria

file: /home/luca/FoamCases/ultimo/smallPoolFire3D/0/CH4.boundaryField from line 26 to line 39.

From function void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam:imensionedField<TypeR, GeoMesh>&, const Foam::dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh]
in file /home/ubuntu/OpenFOAM/OpenFOAM-4.1/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 191.

FOAM exiting


---------------------------------------------------------------------------------

2)This is the CH4 file located in folder 0:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object CH4;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 0 0 0 0 0 0];

internalField uniform 0;

boundaryField
{
"(outlet|sides)"
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}

base
{
type zeroGradient;
}

galleriaGroup
{
type fixedValue;
value uniform 1.0;
}

}


// ************************************************** *********************** //

3)I also attach a screen of a part of the file snappyHexMesh where there is the "galleriaGroup" name that is invoked in the various files in folder 0.

4)I also attach the two photos of the original allrun file and the file allrun edited by me

I'm still trying, but I can not find a solution, thank you again .
Attached Images
File Type: jpg snappyHexMesh.jpg (89.3 KB, 41 views)
File Type: png allrun original.png (27.9 KB, 43 views)
File Type: jpg allrun edited.jpg (80.4 KB, 38 views)

Last edited by luca1992; August 20, 2017 at 14:12.
luca1992 is offline   Reply With Quote

Old   August 20, 2017, 19:45
Default
  #2
Senior Member
 
Join Date: Aug 2015
Posts: 494
Rep Power: 14
clapointe is on a distinguished road
The solver is looking for a patch named galleria. In your CH4 file there is a patch named galleriaGroup instead of galleria.

Caelan
luca1992 likes this.
clapointe is offline   Reply With Quote

Old   August 21, 2017, 04:42
Post
  #3
New Member
 
Join Date: Jul 2017
Posts: 28
Rep Power: 8
luca1992 is on a distinguished road
Thanks for the response Caelan .

I had done so because I have taken the solver motorbike as an example and I went into the folder mesh/motorbike and in the snappyHexMesh file there is written motorbikeGroup and the files in folder 0 use as a label for the border conditions the word "motorbikeGroup". I attach the photos of what I told you.

I had tried to put "galleria.stl" in place of galleriaGroup but it did not work.

Now I did as you said, but I get this other error in the cellLevel file(see decomposePar.log). I can not change the cellLevel file because it is creates by the solver when I start it. It is not present originally. And in the file cellLevel you can see that the "galleria" label and its border conditions are not created in this file and this causes the error, but I do not know why.

Now, however, I also saw that if I go in incompressible / pisoFoam / les / motorBike the file snappyHexMesh and the files in folder 0 use another way that is different from what I had found in the mesh folder. I'm not understanding it well.

Do you know how to help me again?

Thank you, kind regards, Luca.

This is the error in decomposePar.log
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 4.1-1e03d68d4f4e
Exec : decomposePar -force
Date : Aug 21 2017
Time : 10:12:38
Host : "ubuntu"
PID : 2982
Case : /home/luca/FoamCases/ultimo/smallPoolFire3D
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



Decomposing mesh region0

Create mesh

Calculating distribution of cells
Selecting decompositionMethod hierarchical

Finished decomposition in 0.55 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes
Reading hexRef8 data : cellLevel
Reading hexRef8 data : pointLevel
Reading hexRef8 data : level0Edge
Reading hexRef8 data : refinementHistory

Processor 0
Number of cells = 54000
Number of faces shared with processor 1 = 1800
Number of faces shared with processor 2 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Processor 1
Number of cells = 54000
Number of faces shared with processor 0 = 1800
Number of faces shared with processor 3 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Processor 2
Number of cells = 54000
Number of faces shared with processor 0 = 1800
Number of faces shared with processor 3 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Processor 3
Number of cells = 54000
Number of faces shared with processor 1 = 1800
Number of faces shared with processor 2 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Number of processor faces = 7200
Max number of cells = 54000 (0% above average 54000)
Max number of processor patches = 2 (0% above average 2)
Max number of faces between processors = 3600 (0% above average 3600)

Time = 0


--> FOAM FATAL IO ERROR:
Cannot find patchField entry for galleria

file: /home/luca/FoamCases/ultimo/smallPoolFire3D/0/cellLevel.boundaryField from line 26 to line 37.

From function void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam:imensionedField<TypeR, GeoMesh>&, const Foam::dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh]
in file /home/ubuntu/OpenFOAM/OpenFOAM-4.1/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 191.

FOAM exiting


This is the cellLevel file that was created by the solver

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object cellLevel;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 0 0 0 0 0 0];

internalField uniform 0;

boundaryField
{
base
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
sides
{
type calculated;
value uniform 0;
}
}


// ************************************************** *********************** //
Attached Images
File Type: jpg motorbike snappy.jpg (92.2 KB, 15 views)
File Type: jpg motorbike file in 0 folder.jpg (61.6 KB, 14 views)
luca1992 is offline   Reply With Quote

Old   August 21, 2017, 05:51
Default
  #4
New Member
 
Amir
Join Date: Oct 2016
Posts: 4
Rep Power: 9
KillerBee is on a distinguished road
Hey luca

You need a patch called 'galleria' in your cellLevel file as well



Sent from my SM-N900 using CFD Online Forum mobile app
luca1992 likes this.
KillerBee is offline   Reply With Quote

Old   August 21, 2017, 05:57
Post
  #5
New Member
 
Join Date: Jul 2017
Posts: 28
Rep Power: 8
luca1992 is on a distinguished road
Hi, yes but the cellLevel file there is not when I start the solver at the beginning, it is created only afterwards, and if I modify the file now that is present, I think that when I reboot the solver, the file is overwritten with the new one that will not have a patch 'galleria'.

Thanks, Luca.
luca1992 is offline   Reply With Quote

Old   August 21, 2017, 06:03
Default
  #6
New Member
 
Amir
Join Date: Oct 2016
Posts: 4
Rep Power: 9
KillerBee is on a distinguished road
Check your createPatchDict. You have set it with overwrite option.

Sent from my SM-N900 using CFD Online Forum mobile app
luca1992 likes this.
KillerBee is offline   Reply With Quote

Old   August 21, 2017, 06:28
Post
  #7
New Member
 
Join Date: Jul 2017
Posts: 28
Rep Power: 8
luca1992 is on a distinguished road
Thanks for the reply, I thought that anyway if modifying it later is a way of circumventing the problem but even if it does work it would still not be okay because there is a reason if it do not create 'galleria' in cellLevel.

Now I have removed the overwrite option and it have created three folder:0.001 and 0.002 and 0.003 of the mesh but only that in the last folder 0.003 it did not create in the cellLevel file the 'galleria' patch while in the 0.001 and 0.002 folders the patch 'galleria' is present.

These three folders represent the three phases of snappyHexMesh or 0.001 = castellated, 0.002 = snap and 0.003 = addLayers, and I think when the solver starts, it does not go to folder 0 but in the 0.003 folder and does not find what it is looking for. From what I understood I should copy the contents of the last folder (0.003) into folder 0 and then start the solver. It's correct?

Now I have made another attempt, if I put "false" to the addLayers stage of the snappyHexMesh file, only the 0.001 and 0.002 folders will be created and the problem of the 'galleria' patch will be in the 0.002 folder instead of in the 0.003 folder while in the 0.001 folder there is the patch 'galleria'.

Also in the 0.001 and 0.002 folders where the 'gallery' patch was created in my first attempt, the file is incorrectly written with 0 below the line and the semicolon below it. I attach the photo of this.

Now in the Allrun file I put the hashtag # before the fireFoam solver starts so that it is considered a comment, so for now the solver does not start, so the problem is before. I attach the picture of AllRun with # in the last line to be clearer.

I copy below createPatchDict and decomposePar.log where I have the error

Thank you very much.

This is my createPatchDict.

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object createPatchDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

// This application/dictionary controls:
// - optional: create new patches from boundary faces (either given as
// a set of patches or as a faceSet)
// - always: order faces on coupled patches such that they are opposite. This
// is done for all coupled faces, not just for any patches created.
// - optional: synchronise points on coupled patches.

// 1. Create cyclic:
// - specify where the faces should come from
// - specify the type of cyclic. If a rotational specify the rotationAxis
// and centre to make matching easier
// - always create both halves in one invocation with correct 'neighbourPatch'
// setting.
// - optionally pointSync true to guarantee points to line up.

// 2. Correct incorrect cyclic:
// This will usually fail upon loading:
// "face 0 area does not match neighbour 2 by 0.0100005%"
// " -- possible face ordering problem."
// - in polyMesh/boundary file:
// - loosen matchTolerance of all cyclics to get case to load
// - or change patch type from 'cyclic' to 'patch'
// and regenerate cyclic as above


// Do a synchronisation of coupled points after creation of any patches.
// Note: this does not work with points that are on multiple coupled patches
// with transformations (i.e. cyclics).
pointSync false;

// Patches to create.
patches
(
{
// Name of new patch
name galleria;

// Type of new patch
patchInfo
{
type patch;
}

// How to construct: either from 'patches' or 'set'
constructFrom set;

// If constructFrom = patches : names of patches. Wildcards allowed.
patches ("periodic.*");

// If constructFrom = set : name of faceSet
set f0;
}
);

// ************************************************** *********************** //

The error that I currently have in the decomposePar.log file is:


/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 4.1-1e03d68d4f4e
Exec : decomposePar -force
Date : Aug 21 2017
Time : 12:19:52
Host : "ubuntu"
PID : 4234
Case : /home/luca/FoamCases/ultimo/smallPoolFire3D
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



Decomposing mesh region0

Create mesh

Calculating distribution of cells
Selecting decompositionMethod hierarchical

Finished decomposition in 0.44 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes
Reading hexRef8 data : cellLevel
Reading hexRef8 data : pointLevel
Reading hexRef8 data : level0Edge
Reading hexRef8 data : refinementHistory

Processor 0
Number of cells = 54000
Number of faces shared with processor 1 = 1800
Number of faces shared with processor 2 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Processor 1
Number of cells = 54000
Number of faces shared with processor 0 = 1800
Number of faces shared with processor 3 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Processor 2
Number of cells = 54000
Number of faces shared with processor 0 = 1800
Number of faces shared with processor 3 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Processor 3
Number of cells = 54000
Number of faces shared with processor 1 = 1800
Number of faces shared with processor 2 = 1800
Number of processor patches = 2
Number of processor faces = 3600
Number of boundary faces = 5400

Number of processor faces = 7200
Max number of cells = 54000 (0% above average 54000)
Max number of processor patches = 2 (0% above average 2)
Max number of faces between processors = 3600 (0% above average 3600)

Time = 0.003


--> FOAM FATAL IO ERROR:
Cannot find patchField entry for galleria

file: /home/luca/FoamCases/ultimo/smallPoolFire3D/0.003/cellLevel.boundaryField from line 26 to line 37.

From function void Foam::GeometricField<Type, PatchField, GeoMesh>::Boundary::readField(const Foam:imensionedField<TypeR, GeoMesh>&, const Foam::dictionary&) [with Type = double; PatchField = Foam::fvPatchField; GeoMesh = Foam::volMesh]
in file /home/ubuntu/OpenFOAM/OpenFOAM-4.1/src/OpenFOAM/lnInclude/GeometricBoundaryField.C at line 191.

FOAM exiting
Attached Images
File Type: jpg cellLevel 0.002.jpg (35.3 KB, 11 views)
File Type: jpg Allrun without solver.jpg (80.2 KB, 11 views)

Last edited by luca1992; August 21, 2017 at 07:32.
luca1992 is offline   Reply With Quote

Old   August 21, 2017, 11:35
Default
  #8
Senior Member
 
Join Date: Aug 2015
Posts: 494
Rep Power: 14
clapointe is on a distinguished road
Can you share your case files with us?

Caelan
luca1992 likes this.
clapointe is offline   Reply With Quote

Old   August 23, 2017, 05:32
Post
  #9
New Member
 
Join Date: Jul 2017
Posts: 28
Rep Power: 8
luca1992 is on a distinguished road
Hi Claiponte, thank you for the answer, I can share them with you, I also attach files.log, I do not know how to put some input in snappyHexMesh, topoSetDict and createPatchDic. This is the Dropbox link where the files are located. I think one of the problems is that I have to create the inner mesh of the gallery that has to surround the heat puddle. The .stl file that represents the gallery to simplify is a parallelepiped so it is simple.

https://www.dropbox.com/sh/sk9dhofhw...iZ4pCKGHa?dl=0

Hello, thank you, greetings, Luca.
luca1992 is offline   Reply With Quote

Old   August 23, 2017, 14:45
Default
  #10
Senior Member
 
Join Date: Aug 2015
Posts: 494
Rep Power: 14
clapointe is on a distinguished road
Can you clarify what you are trying to model? Right now your .stl file is much larger than the background mesh created via blockMesh.

Caelan
luca1992 likes this.
clapointe is offline   Reply With Quote

Old   August 23, 2017, 14:56
Post
  #11
New Member
 
Join Date: Jul 2017
Posts: 28
Rep Power: 8
luca1992 is on a distinguished road
I'm trying to simulate a fire in a closed place, now a simple parallelepiped, and then when I see that it works I will use a geometry that tracks a highway tunnel. I thought of putting the heat puddle inside because it represents a car / truck exploding inside the tunnel.

The mesh now instead of being in the form of a tunnel is a simple parallelepiped that is larger than the original file generated by blockMesh. I put inside the .stl file the cube created with blockMesh because that is the heat puddle, I had the doubt that instead I had to put the tunnel inside the cube representing the heat puddle, and therefore the file created with blockMesh is the maximum domain of the problem. I also asked for other forum pages but nobody gave me a certain answer. Now I thought I had to create a background mesh with blockMesh that enclosed both the .stl file that is the tunnel and the heat pool created with blockMesh.

Thank you, Luca.
luca1992 is offline   Reply With Quote

Old   August 23, 2017, 16:12
Default
  #12
Senior Member
 
Join Date: Aug 2015
Posts: 494
Rep Power: 14
clapointe is on a distinguished road
I'm still not sure what you're trying to model -- can you provide a sketch?. If it's a heat source within some sort of outer region, have you looked at the hot room tutorial?

https://github.com/OpenFOAM/OpenFOAM...hotRoom/system

Caelan
luca1992 likes this.
clapointe is offline   Reply With Quote

Old   August 23, 2017, 19:06
Post
  #13
New Member
 
Join Date: Jul 2017
Posts: 28
Rep Power: 8
luca1992 is on a distinguished road
Hi,
here's a sketch(I attach a photo)of how I loaded the file on the dropbox on the left, and how I think it should be on the right. Anyway, I'm reviewing that on dropbox files inputs in topoSetDict and createPatchDict are very bad because I did not understand how to modify them. I've seen that tutorial you say and others like flame with obstacles but from what I understood they only have a single geometry (they do not use snappyHexMesh), they use only a blockMeshDict file and I do not understand where they are the source of flames, I think there is a code behind preset that is recalled. I also saw igloo with fridges that could be similar to my problem but I got little.

Also I had the doubt that I had to put the tunnel inside the cube representing the heat puddle, and therefore the file created with blockMesh is the maximum domain of the problem(I attach a second photo). But in this case I do not know which source is the fire, maybe it might be the center of the cube. In this case I have only one blockMeshDict file.

I think one of the problems is to be able to generate the mesh inside the tunnel

Thank you , do not hesitate to ask more questions if I have not been clear, greetings, Luca.
Attached Images
File Type: jpg WP_002032.jpg (58.7 KB, 27 views)
File Type: jpg WP_002033.jpg (72.5 KB, 21 views)

Last edited by luca1992; August 24, 2017 at 05:06.
luca1992 is offline   Reply With Quote

Reply

Tags
decomposepar, fire simulation, mesh, snappyhexmesh, stl


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
decomposePar problem: Cell 0contains face labels out of range vaina74 OpenFOAM Pre-Processing 37 July 20, 2020 05:38
[snappyHexMesh] snappyHexMesh problem with eMesh file Ingöö OpenFOAM Meshing & Mesh Conversion 13 March 24, 2019 13:46
Problem with decomposePar (and mapFields) for large problem quarkz OpenFOAM Pre-Processing 2 February 21, 2019 09:51
[snappyHexMesh] Order of snappyHexMesh and decomposePar Zeallt OpenFOAM Meshing & Mesh Conversion 1 November 11, 2018 05:15
[snappyHexMesh] Problem with the turbineSiting tutorial and snappyHexMesh Thaemos OpenFOAM Meshing & Mesh Conversion 0 June 28, 2013 04:32


All times are GMT -4. The time now is 11:27.