CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Native Meshers: blockMesh (http://www.cfd-online.com/Forums/openfoam-meshing-blockmesh/)
-   -   BlockMeshmergePatchPairs polyTopoChanger (http://www.cfd-online.com/Forums/openfoam-meshing-blockmesh/61793-blockmeshmergepatchpairs-polytopochanger.html)

benru May 14, 2008 03:23

I try to create 3D geometry wi
 
I try to create 3D geometry with 3 elements: pipe (inlet) + box + pipe (outlet). Mesh is attached here.
http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif blockMeshDict
As i understand (reading Manual & Forum), to support continuity of fluid domain it is need to use mergePatchPairs for outlet of the 1-st pipe and inlet of the 2-nd pipe. But blockMesh writes it:

Exec : blockMesh . mars-b
Date : May 14 2008
Time : 06:00:48
Host : r117-1
PID : 5933
Root : /home/ben/OpenFOAM/ben-1.4.1/run/tutorials/rhoTurbFoam
Case : mars-b
Nprocs : 1
Create time


Reading block mesh description dictionary
Creating block mesh
Creating blockCorners
Creating curved edges
Creating blocks
Creating patches
Creating block mesh topology
Default patch type set to empty
Check block mesh topology

Basic statistics
Number of internal faces : 16
Number of boundary faces : 34
Number of defined boundary faces : 34
Number of undefined boundary faces : 0

Checking patch -> block consistency

Creating block offsets
Creating merge list .
Creating points
Creating cells
Creating patches
Creating mesh from block mesh
Default patch type set to empty
Creating merge patch pairs

Adding point and face zones
Creating attachPolyTopoChanger
#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/ben/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::sigSegv::sigSegvHandler(int) in "/home/ben/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Uninterpreted: [0xb7eef420]
#3 Foam::face::ray(Foam::Vector<double> const&, Foam::Vector<double> const&, Foam::Field<foam::vector<double> > const&, Foam::intersection::algorithm, Foam::intersection::direction) const in "/home/ben/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#4 Foam::slidingInterface::projectPoints() const in "/home/ben/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#5 Foam::slidingInterface::changeTopology() const in "/home/ben/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#6 Foam::polyTopoChanger::changeTopology() const in "/home/ben/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#7 Foam::polyTopoChanger::changeMesh(bool, bool) in "/home/ben/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#8 Foam::attachPolyTopoChanger::attach(bool) in "/home/ben/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#9 main in "/home/ben/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh"
#10 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#11 Foam::regIOobject::readIfModified() in "/home/ben/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh"
Segmentation fault

Could abybody explain whats wrong ? Need help !

ruben

benru May 14, 2008 08:05

Gurus, could you describe a pr
 
Gurus, could you describe a procedure of coupling for simple geometries (and meshes) ? How to describe continuation - absence of the wall - between defined geometries) ? For instance - in the case above i could't describe it neither with mergePathPairs nor with stitchMesh - i have not undestood how to do it from Manual/Forum. It would be nice to see a simple case of geometry coupling and meshing for it with blockMesh (and, perhaps, it would be placed in Manual or one of tutorial directory of distribution).
ruben

benru May 14, 2008 08:53

The same case, with deleting o
 
The same case, with deleting of patches "in-box" and "from-box", deleting of mergePatchPairs - using blockMeshDict mesh could be generated. But using checkMesh will see :

Exec : checkMesh . mars-b
Date : May 14 2008
Time : 11:44:43
Host : r117-1
PID : 7173
Root : /home/ben/OpenFOAM/ben-1.4.1/run/tutorials/rhoTurbFoam
Case : mars-b
Nprocs : 1
Create time

Create polyMesh for time = constant

Time = constant

Mesh stats
points: 264103
edges: 775860
faces: 759760
internal faces: 728240
cells: 248000
boundary patches: 4
point zones: 0
face zones: 0
cell zones: 0

Number of cells of each type:
hexahedra: 248000
prisms: 0
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 0

Checking topology...
Boundary definition OK.
Point usage OK.
Upper triangular ordering OK.
Topological cell zip-up check OK.
Face vertices OK.
Face-face connectivity OK.

*Number of regions: 3
The mesh has multiple regions which are not connected by any face.


<<Writing region information to "constant/cellToRegion"

Checking patch topology for multiply connected surfaces ...
Patch Faces Points Surface
inlet 80 89 ok (not multiply connected)
outlet 80 89 ok (not multiply connected)
wall 31200 31234 ok (not multiply connected)
defaultFaces 160 178 ok (not multiply connected)

Checking geometry...
Domain bounding box: (0 0 0) (0.4962 0.87 0.397)
Boundary openness (1.24596e-16 3.85683e-14 1.84074e-17) OK.
Max cell openness = 1.9423e-16 OK.
Max aspect ratio = 16.7631 OK.
Minumum face area = 2.69769e-06. Maximum face area = 7.65262e-05. Face area magnitudes OK.
Min volume = 1.52595e-08. Max volume = 1.46484e-07. Total volume = 0.0192304. Cell volumes OK.
Mesh non-orthogonality Max: 74.8213 average: 34.162
*Number of severely non-orthogonal faces: 14659.
Non-orthogonality check OK.
<<Writing 14659 non-orthogonal faces to set nonOrthoFaces
Face pyramids OK.
Max skewness = 3.69783 OK.
Min/max edge length = 0.000658 0.0186173 OK.
All angles in faces OK.
Face flatness (1 = flat, 0 = butterfly) : average = 0.999992 min = 0.999792
All face flatness OK.
Mesh OK.
End

So - i have a mesh with 3 independent volumes and defaultFaces between them. Using which tools could meshes be coupled together ? Need help !

ruben

nikhilmadduri June 29, 2008 22:24

hi all. i have 4 blocks to be
 
hi all.
i have 4 blocks to be merged in a particular manner.
i have named the walls which are not to be merged with any other faces as 'patch0'(patch followed by a number representing the patch number). And i have named the patches which have to be merged as merge01-1 for example for the face which is involved in the merge between a face of block 0 and another face of block 1. and the last number '1' says that the face is belonging to block '1'. So this is the following blockMeshDict file obtained: (please look for problems in mergePatchPairs in particular. coz if i delete either second line or third line in mergePatchPairs, it was working fine at the cost of not being able to merge that deleted merger)

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 1.4.1 |
| \ / A nd | Web: http://www.openfoam.org |
| \/ M anipulation | |
\*---------------------------------------------------------------------------*/

// FoamX Case Dictionary.

FoamFile
{
version 2.0;
format ascii;

root "/home/nikhil/OpenFOAM/nikhil-1.4.1/run/tutorials/icoFoam";
case "cavityGrade";
instance "constant/polyMesh";
local "";

class dictionary;
object blockMeshDict;
}

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

arguments "/home/nikhil/OpenFOAM/nikhil-1.4.1/run/tutorials/icoFoam/cavityGrade" off;

convertToMeters 0.001;

vertices
(
(0 0 0)
(10000 0 0)
(10000 10000 0)
(0 10000 0)
(0 0 9750)
(10000 0 9750)
(10000 10000 9750)
(0 10000 9750)
(0 0 9750)
(10000 0 9750)
(10000 10000 9750)
(0 10000 9750)
(0 0 10250)
(10000 0 10250)
(10000 10000 10250)
(0 10000 10250)
(10000 0 9750)
(20000 0 9750)
(20000 10000 9750)
(10000 10000 9750)
(10000 0 10250)
(20000 0 10250)
(20000 10000 10250)
(10000 10000 10250)
(10000 0 0)
(20000 0 0)
(20000 10000 0)
(10000 10000 0)
(10000 0 9750)
(20000 0 9750)
(20000 10000 9750)
(10000 10000 9750)
);

blocks
(
hex (0 1 2 3 4 5 6 7) (30 30 30) simpleGrading (1 1 1)
hex (8 9 10 11 12 13 14 15) (30 30 30) simpleGrading (1 1 1)
hex (16 17 18 19 20 21 22 23) (15 30 3) simpleGrading (1 1 1)
hex (24 25 26 27 28 29 30 31) (30 30 30) simpleGrading (1 1 1)
);

edges
(
line 0 1
line 3 2
line 7 6
line 4 5
line 0 3
line 1 2
line 5 6
line 4 7
line 0 4
line 1 5
line 2 6
line 3 7
line 8 9
line 11 10
line 15 14
line 12 13
line 8 11
line 9 10
line 13 14
line 12 15
line 8 12
arc 9 13 (9750 0 10000)
arc 10 14 (9750 10000 10000)
line 11 15
line 16 17
line 19 18
line 23 22
line 20 21
line 16 19
line 17 18
line 21 22
line 20 23
arc 16 20 (10250 0 10000)
line 17 21
line 18 22
arc 19 23 (10250 10000 10000)
line 24 25
line 27 26
line 31 30
line 28 29
line 24 27
line 25 26
line 29 30
line 28 31
line 24 28
line 25 29
line 26 30
line 27 31
);

patches
(
wall patch0
(
(0 1 5 4)
(0 4 7 3)
(3 7 6 2)
(1 0 3 2)
)
wall patch1
(
(9 13 12 8)
(8 12 15 11)
(11 15 14 10)
(10 14 13 9)
(12 13 14 15)
)
wall merge01_0
(
(4 5 6 7)
)
wall merge01_1
(
(9 8 11 10)
)
wall patch2
(
(16 20 23 19)
(19 23 22 18)
(18 22 21 17)
(17 21 20 16)
(20 21 22 23)
)
wall merge32_2
(
(16 19 18 17)
)
wall merge03_0
(
(2 6 5 1)
)
wall merge03_3
(
(24 28 31 27)
)
wall merge32_3
(
(30 31 28 29)
)
wall patch3
(
(25 29 28 24)
(26 30 29 25)
(27 31 30 26)
(25 24 27 26)
)
);

mergePatchPairs
(
(merge01_0 merge01_1)
(merge32_2 merge32_3)
(merge03_3 merge03_0)
);


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







and i was getting the following error in the terminal window. Cud anyone please suggest me what the problem might be:

/*---------------------------------------------------------------------------*\
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 1.4.1 |
| \ / A nd | Web: http://www.openfoam.org |
| \/ M anipulation | |
\*---------------------------------------------------------------------------*/

Exec : blockMesh /home/nikhil/OpenFOAM/nikhil-1.4.1/run/tutorials/icoFoam cavityGrade
Date : Jun 30 2008
Time : 09:21:11
Host : localhost
PID : 23034
Root : /home/nikhil/OpenFOAM/nikhil-1.4.1/run/tutorials/icoFoam
Case : cavityGrade
Nprocs : 1
Create time


Reading block mesh description dictionary

Creating block mesh

Creating blockCorners

Creating curved edges

Creating blocks

Creating patches

Creating block mesh topology

Default patch type set to empty

Check block mesh topology

Basic statistics
Number of internal faces : 0
Number of boundary faces : 24
Number of defined boundary faces : 24
Number of undefined boundary faces : 0

Checking patch -> block consistency

Creating block offsets

Creating merge list .

Creating points

Creating cells

Creating patches

Creating mesh from block mesh

Default patch type set to empty

Creating merge patch pairs

Adding point and face zones
Creating attachPolyTopoChanger


--> FOAM FATAL ERROR : Error in point ordering: mixed used and unused points at the end of point list.
Number of used points: 88939 and point 88987 is used by a live face.#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Foam::polyMesh::initMesh() in "/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#3 Foam::polyMesh::resetPrimitives(int, Foam::Field<foam::vector<double> > const&, Foam::List<foam::face> const&, Foam::List<int> const&, Foam::List<int> const&, Foam::List<int> const&, Foam::List<int> const&, bool) in "/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#4 Foam::polyTopoChange::changeMesh(Foam::polyMesh&, bool, bool) in "/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#5 Foam::polyTopoChanger::changeMesh(bool, bool) in "/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#6 Foam::attachPolyTopoChanger::attach(bool) in "/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#7 main in "/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh"
#8 __libc_start_main in "/lib/i686/libc.so.6"
#9 Foam::regIOobject::readIfModified() in "/home/nikhil/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/blockMesh"


From function void polyMesh::initMesh()
in file meshes/polyMesh/polyMeshCalcFaceCells.C at line 153.

FOAM aborting




Thank you,
nikhil.


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