|
[Sponsors] |
reconstructParMesh not working with an axisymetric case |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
May 4, 2009, 07:09 |
reconstructParMesh not working with an axisymetric case
|
#1 |
New Member
Francesco Contino
Join Date: Mar 2009
Posts: 26
Rep Power: 17 |
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 Any idea of what is going wrong? |
|
May 6, 2009, 12:33 |
|
#2 |
New Member
Francesco Contino
Join Date: Mar 2009
Posts: 26
Rep Power: 17 |
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. |
|
May 7, 2009, 06:18 |
|
#3 |
New Member
Francesco Contino
Join Date: Mar 2009
Posts: 26
Rep Power: 17 |
There is still a problem when reconstructPar is rereading the topology when it changes.
Does anyone see where it comes from? |
|
May 8, 2009, 04:28 |
|
#4 |
New Member
Francesco Contino
Join Date: Mar 2009
Posts: 26
Rep Power: 17 |
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. |
|
May 8, 2009, 06:49 |
|
#5 |
New Member
Francesco Contino
Join Date: Mar 2009
Posts: 26
Rep Power: 17 |
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. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Interfoam Droplet under shear test case | adona058 | OpenFOAM Running, Solving & CFD | 3 | May 3, 2010 19: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 12:11 |
How to save a case running in background | us | FLUENT | 0 | July 6, 2005 11:43 |
Turbulent Flat Plate Validation Case | Jonas Larsson | Main CFD Forum | 0 | April 2, 2004 11:25 |