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

reconstructParMesh not working with an axisymetric case

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

Reply
 
LinkBack Thread Tools Display Modes
Old   May 4, 2009, 06:09
Default reconstructParMesh not working with an axisymetric case
  #1
New Member
 
Francesco Contino
Join Date: Mar 2009
Posts: 25
Rep Power: 8
francesco is on a distinguished road
Hi everyone,

I'm trying to solve a problem with the computation of an internal combustion engine. I'm using an axisymetric geometry (with wedge boundary type for front and back).

I have tested this geometry with engineFoam and everything is working fine. Then I tested the reconstructParMesh tool (test for another application based on engineFoam but using layering) and it gives me the following error:

Code:
Create time

This is an experimental tool which tries to merge individual processor
meshes back into one master mesh. Use it if the original master mesh has
been deleted or if the processor meshes have been modified (topology change).
This tool will write the resulting mesh to a new time step and construct
xxxxProcAddressing files in the processor meshes so reconstructPar can be
used to regenerate the fields on the master mesh.

Not well tested & use at your own risk!

Merge tolerance : 1e-06
Write tolerance : 1e-06
Doing geometric matching on correct procBoundaries only.
This assumes a correct decomposition.
Found 2 processor directories

Reading database "kivaAxis/processor0"
Reading database "kivaAxis/processor1"
Setting master time to -15

Reading points from "kivaAxis/processor0" for time = -15

Reading points from "kivaAxis/processor1" for time = -15

Overall mesh bounding box  : (0 -0.01 0.0823903) (0.1 0.01 0.1)
Relative tolerance         : 1e-06
Absolute matching distance : 1.0349e-07

Constructing empty mesh to add to.

--> FOAM Warning :
    From function boundBox::boundBox(const pointField& points)
    in file meshes/boundBox/boundBox.C at line 52
    Cannot find bounding box for zero sized pointField, returning zero
Reading mesh to add from "kivaAxis/processor0" for time = -15

Adding to master mesh

Segmentation fault
I have tested the exact same geometry but only replacing wedge by empty and the reconstructParMesh works fine.

Any idea of what is going wrong?
francesco is offline   Reply With Quote

Old   May 6, 2009, 11:33
Default
  #2
New Member
 
Francesco Contino
Join Date: Mar 2009
Posts: 25
Rep Power: 8
francesco is on a distinguished road
I've slightly modified the wedgePolyPatch.C file to avoid using the initTransform function when cloning the empty mesh.
But now that reconstructParMesh is working, reconstructPar is not with again a segmentation fault. Perhaps, it is link to the layering now.
Does someone have any idea?

Thank you.

Francesco.
francesco is offline   Reply With Quote

Old   May 7, 2009, 05:18
Default
  #3
New Member
 
Francesco Contino
Join Date: Mar 2009
Posts: 25
Rep Power: 8
francesco is on a distinguished road
There is still a problem when reconstructPar is rereading the topology when it changes.

Does anyone see where it comes from?
francesco is offline   Reply With Quote

Old   May 8, 2009, 03:28
Default
  #4
New Member
 
Francesco Contino
Join Date: Mar 2009
Posts: 25
Rep Power: 8
francesco is on a distinguished road
Here is what I have when I run reconstructPar with gdb.

Any help would be greatly appreciated.

Program received signal SIGSEGV, Segmentation fault.
0x00002ab21f33223a in Foam::HashTable<Foam::regIOobject*, Foam::word, Foam::string::hash>::find (this=0x13aabc60, key=@0x13ad8d48) at lnInclude/HashTable.C:138
138 for (hashedEntry* n=table_[ii]; n; n=n->next_)
(gdb) n
Foam::sigSegv::sigSegvHandler () at signals/sigSegv.C:38
38 void Foam::sigSegv::sigSegvHandler(int)
(gdb) where
#0 Foam::sigSegv::sigSegvHandler () at signals/sigSegv.C:38
#1 <signal handler called>
#2 0x00002ab21f33223a in Foam::HashTable<Foam::regIOobject*, Foam::word, Foam::string::hash>::find (this=0x13aabc60, key=@0x13ad8d48) at lnInclude/HashTable.C:138
#3 0x00002ab21f33099c in Foam:bjectRegistry::checkOut (this=0x13aabc00, io=@0x13ad8d40) at db/objectRegistry/objectRegistry.C:156
#4 0x00002ab21f32b229 in Foam::regIOobject::checkOut (this=0x13ad8d40) at db/regIOobject/regIOobject.C:160
#5 0x00002ab21f32b890 in ~regIOobject (this=0x13ad8d40) at db/regIOobject/regIOobject.C:121
#6 0x0000000000469176 in ~IOList (this=0x13ad8d40) at /home/term/contino/OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/IOList.C:95
#7 0x0000000000465d10 in Foam::autoPtr<Foam::IOList<int> >::reset (this=0x7fff8ddebd70, p=0x0) at /home/term/contino/OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/autoPtrI.H:91
#8 0x0000000000465d38 in Foam::autoPtr<Foam::IOList<int> >::clear (this=0x7fff8ddebd70) at /home/term/contino/OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/autoPtrI.H:101
#9 0x0000000000465d4f in ~autoPtr (this=0x7fff8ddebd70) at /home/term/contino/OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/autoPtrI.H:50
#10 0x00000000004643fa in Foam:rocessorMeshes::read (this=0x7fff8dded5c0) at processorMeshes.C:83
#11 0x0000000000464c13 in Foam:rocessorMeshes::readUpdate (this=0x7fff8dded5c0) at processorMeshes.C:192
#12 0x00000000004764b0 in main (argc=1, argv=0x7fff8ddee068) at reconstructPar.C:131


Francesco.
francesco is offline   Reply With Quote

Old   May 8, 2009, 05:49
Unhappy
  #5
New Member
 
Francesco Contino
Join Date: Mar 2009
Posts: 25
Rep Power: 8
francesco is on a distinguished road
Here are the few lines before the segmentation fault when activating the debug switch on objectRegistry.

Code:
Constructing IOobject called region0 of type IOobject
objectRegistry::checkIn(regIOobject&) : Hesselprocessor0 : checking in region0
Constructing IOobject called points of type IOobject
Constructing IOobject called points of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in points
Constructing IOobject called faces of type IOobject
Constructing IOobject called faces of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in faces
Constructing IOobject called faces of type IOobject
Constructing IOobject called owner of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in owner
Constructing IOobject called faces of type IOobject
Constructing IOobject called neighbour of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in neighbour
Constructing IOobject called boundary of type IOobject
Constructing IOobject called boundary of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in boundary
Constructing IOobject called pointZones of type IOobject
Constructing IOobject called pointZones of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in pointZones
Constructing IOobject called faceZones of type IOobject
Constructing IOobject called faceZones of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in faceZones
Constructing IOobject called cellZones of type IOobject
Constructing IOobject called cellZones of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in cellZones
Constructing IOobject called fvSchemes of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in fvSchemes
Constructing IOobject called fvSolution of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in fvSolution
Constructing IOobject called meshPhi of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in meshPhi
Constructing IOobject called meshPhi_0 of type IOobject
IOobject::headerOk() : file "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/-155/meshPhi_0" could not be opened
Constructing IOobject called V0 of type IOobject
Constructing IOobject called V of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in V
Destroying regIOobject called fvSolution of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/system"
objectRegistry::checkOut(regIOobject&) : region0 : checking out fvSolution
Destroying regIOobject called fvSchemes of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/system"
objectRegistry::checkOut(regIOobject&) : region0 : checking out fvSchemes
Destroying regIOobject called cellZones of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/-155/polyMesh"
objectRegistry::checkOut(regIOobject&) : region0 : checking out cellZones
Destroying regIOobject called faceZones of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/-155/polyMesh"
objectRegistry::checkOut(regIOobject&) : region0 : checking out faceZones
Destroying regIOobject called pointZones of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/-155/polyMesh"
objectRegistry::checkOut(regIOobject&) : region0 : checking out pointZones
Destroying regIOobject called boundary of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/-155/polyMesh"
objectRegistry::checkOut(regIOobject&) : region0 : checking out boundary
Destroying regIOobject called neighbour of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/-155/polyMesh"
objectRegistry::checkOut(regIOobject&) : region0 : checking out neighbour
Destroying regIOobject called owner of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/-155/polyMesh"
objectRegistry::checkOut(regIOobject&) : region0 : checking out owner
Destroying regIOobject called faces of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/-155/polyMesh"
objectRegistry::checkOut(regIOobject&) : region0 : checking out faces
Destroying regIOobject called points of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/-155/polyMesh"
objectRegistry::checkOut(regIOobject&) : region0 : checking out points
Destroying regIOobject called region0 of type regIOobject in directory "/home/term/bberger/OpenFOAM/bberger-1.5-dev/run/tutorials/dieselEngineFoamLayered/Hessel/processor0/-180"
objectRegistry::checkOut(regIOobject&) : Hesselprocessor0 : checking out region0
Constructing IOobject called pointProcAddressing of type IOobject
objectRegistry::checkIn(regIOobject&) : region0 : checking in pointProcAddressing
Segmentation fault

Here is also another piece of information: in the read function of processorMeshes.C, when I switch the pointProcAdressing (ln 52-67) block with the faceProcAdressing (ln 70-85) one, reconstructPar works for two more directories then crash again with a segmentation fault.

I definetely don't know where this comes from. Anyone to help? Please.
francesco 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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Interfoam Droplet under shear test case adona058 OpenFOAM Running, Solving & CFD 3 May 3, 2010 18:46
Cloning a case or creating a new case for 16 processes mellanoxuser OpenFOAM Running, Solving & CFD 0 February 8, 2008 17:52
Doubt in unsteady case vijay FLUENT 1 April 24, 2006 11:11
How to save a case running in background us FLUENT 0 July 6, 2005 10:43
Turbulent Flat Plate Validation Case Jonas Larsson Main CFD Forum 0 April 2, 2004 10:25


All times are GMT -4. The time now is 07:05.