CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (http://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   createPatch seg-faults when trying on rotationally periodic faces (v2.0.x) (http://www.cfd-online.com/Forums/openfoam-meshing/98258-createpatch-seg-faults-when-trying-rotationally-periodic-faces-v2-0-x.html)

vishalsacharya March 6, 2012 20:32

createPatch seg-faults when trying on rotationally periodic faces (v2.0.x)
 
Im having a problem with my createPatch...

So my boundary file has two faces that are rotationally periodic.. as in if rotate one about the z-axis, you get to the other, since it is a cylindrical geometry...
the patches from the boundary file are...

new_periodic_inlet_1_shadow
{
type patch;
nFaces 1392;
startFace 2565657;
}
periodic_inlet_1
{
type patch;
nFaces 1392;
startFace 2567049;
}

if you notice, the startFaces are different and the number of faces are the same for both... since i ensured that both faces have the same mesh... now, the following is from my createPatchDict file....

pointSync false;

patches
(
{
name periodic_inlet;

patchInfo
{
type cyclic;
neighbourPatch periodic_inlet_shadow;
transform rotational;
rotationAxis (0 0 1);
rotationCentre (0 0 0);
}
constructFrom patches;
patches (periodic_inlet_1 new_periodic_inlet_1_shadow);

}
{
name periodic_inlet_shadow;

patchInfo
{
type cyclic;
neighbourPatch periodic_inlet;

transform rotational;
rotationAxis (0 0 1);
rotationCentre (0 0 0);
}
constructFrom patches;
patches (periodic_inlet_1 new_periodic_inlet_1_shadow);
}
);

Now, notice that i set pointSync to false since both my faces have the same mesh....
Also, since im using version 2.0.x, i have to create both patches (the main and the cylic one) separately as two new patches... and use the original patches from my boundary file for constructing them... so i use the neighbourPatch keyword for this...
Also since i have rotational periodicity, i use the transform keyword and mention origin and axis...
Now when i run this, i get the following...
Any ideas or thoughts would be appreciated?


Create time

Reading createPatchDict.

Create polyMesh for time = 0

Adding new patch periodic_inlet as patch 18 from
{
type cyclic;
neighbourPatch periodic_inlet_shadow;
transform rotational;
rotationAxis ( 0 0 1 );
rotationCentre ( 0 0 0 );
}

Adding new patch periodic_inlet_shadow as patch 19 from
{
type cyclic;
neighbourPatch periodic_inlet;
transform rotational;
rotationAxis ( 0 0 1 );
rotationCentre ( 0 0 0 );
}


Moving faces from patch new_periodic_inlet_1_shadow to patch 18
Moving faces from patch periodic_inlet_1 to patch 18
Moving faces from patch new_periodic_inlet_1_shadow to patch 19
Moving faces from patch periodic_inlet_1 to patch 19

Doing topology modification to order faces.

#0 Foam::error:rintStack(Foam::Ostream&) in "/home/vishalsa/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigSegv::sigHandler(int) in "/home/vishalsa/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 in "/lib/libc.so.6"
#3 Foam::cyclicPolyPatch::getCentresAndAnchors(Foam:: PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > const&, Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > const&, Foam::Field<Foam::Vector<double> >&, Foam::Field<Foam::Vector<double> >&, Foam::Field<Foam::Vector<double> >&, Foam::Field<double>&) const in "/home/vishalsa/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4 Foam::cyclicPolyPatch:rder(Foam::PstreamBuffers&, Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > const&, Foam::List<int>&, Foam::List<int>&) const in "/home/vishalsa/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5 Foam::polyTopoChange::reorderCoupledFaces(bool, Foam::polyBoundaryMesh const&, Foam::List<int> const&, Foam::List<int> const&, Foam::Field<Foam::Vector<double> > const&) in "/home/vishalsa/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libdynamicMesh.so"
#6 Foam::polyTopoChange::compactAndReorder(Foam::poly Mesh const&, bool, bool, bool, int&, Foam::Field<Foam::Vector<double> >&, Foam::List<int>&, Foam::List<int>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::objectMap>&, Foam::List<Foam::objectMap>&, Foam::List<Foam:bjectMap>&, Foam::List<Foam:bjectMap>&, Foam::List<Foam:bjectMap>&, Foam::List<Foam:bjectMap>&, Foam::List<Foam::Map<int> >&, Foam::List<int>&, Foam::List<int>&, Foam::List<Foam::Map<int> >&) in "/home/vishalsa/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libdynamicMesh.so"
#7 Foam:olyTopoChange::changeMesh(Foam:olyMesh&, bool, bool, bool, bool) in "/home/vishalsa/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/lib/libdynamicMesh.so"
#8
in "/home/vishalsa/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/bin/createPatch"
#9 __libc_start_main in "/lib/libc.so.6"
#10
in "/home/vishalsa/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64GccDPOpt/bin/createPatch"
Segmentation fault


All times are GMT -4. The time now is 20:21.