CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [blockMesh] Internal walls of zero thickness (https://www.cfd-online.com/Forums/openfoam-meshing/61806-internal-walls-zero-thickness.html)

anger August 9, 2007 03:45

Internal walls of zero thickness
 
Hello,

is it possible to generate geometries with internal walls of zero thickness in blockMesh?
I do not seem to be able to define a wall on an internal face at the connection of two matching blocks. What is, if it was possible, the procedure to achieve this goal?

Best regards,
-Thomas

mattijs August 10, 2007 03:52

Create a connected mesh and th
 
Create a connected mesh and then use

createBaffles <root> <case> <faceset>

to convert internal faces into boundaries.

mergeOrSplitBaffles <root> <case>

does the opposite: detects boundary faces sharing points and merges them into an internal face.

torvic August 15, 2007 21:29

Hi Mattijs,Thomas I'm tryin
 
Hi Mattijs,Thomas

I'm trying to make internal walls the way you say, but to be honest, i'm lost.

I've checked the forum but i do not know how to properly employ the <faceset> option. Is it required a previous run of the "faceSet" command ?

I ask because i checked the facesetdict but didn't understand at all the "p0", "c0","normal", etc, entries

Please, forgive the naive question, since as you see i'm already starting with OF. I'm trying to put internal walls in a 2D concentric tubes, one stream for fuel and the other for air.

I will thank any hint/comment you have

best

V

torvic August 16, 2007 20:28

Hi OF community, Do you hav
 
Hi OF community,

Do you have any hint on running faceSet please?

thanks in advance

best

V

gschaider August 17, 2007 07:34

Go to the directory $FOAM_UTIL
 
Go to the directory $FOAM_UTILITIES/mesh/manipulation/faceSet
There is a faceSetDict there that has some examples (That is all I know about that utility)

torvic August 17, 2007 15:08

Hi Bernhard ! thanks for th
 
Hi Bernhard !

thanks for the hint. In fact i already checked out that file. However,checking the tutorial drectory i noticed that in MRFSimpleFoam there is a nice example, i mean, practical, about facesetdcit. i'm working on that.

thanks, and have a nice weekend

best

V

anger August 21, 2007 09:54

Hello Mattijs, thanks for y
 
Hello Mattijs,

thanks for your answer. But for me, the same holds as for Victor: I'm lost.
I set up a simple mesh consisting of 4 blocks arranged like that:

2 4

1 3



and between blocks 1 & 2 there should be a zero thickness wall. So I set mergePatchPairs in the blockMeshDict to merge the walls between blocks 2 & 4, 1 & 3 and 3 & 4 which gives me an error:
--> FOAM FATAL ERROR : Error in point ordering: mixed used and unused points at the end of point list.
If I only merge blocks 2 & 4 and 1 & 3 (which are oriented in the same direction), it works; adding blocks 3 & 4 to the mergePatchPairs entry (which are 90 degrees rotated to both other) raises the error. What am I doing wrong?

Best regards,
-Thomas

torvic August 21, 2007 13:59

Hi Thomas, i solved my prob
 
Hi Thomas,

i solved my problem, however, i didn't employ mergePatchPairs. I'm a complete beginner in OF, so i did a "home-like" workaround. I employed pointSetDict first, and then faceSetDict.

In the former i defined the coordinates of the face i wanted to be an internal wall, with the boxToPoint option, one by one, so in my case it was 2 different files, and hence two runs of "pointSet -root- -case-". With these files i create one single file containing all the two in order, which i read further with FaceSetDict (option "pointToFace") and hence one single run of "faceSet -root- -case-" with which i defined the name to use with createBaffles, say F1, at the beginning of the dictionary. Then i ran CreateBaffles <root> <case> "F1" "patchname".
It helps to create a single shell script for all of this

However, i did all the latter with a single patch since in my case i have three adjacent blocks and i'm interested to define "IWoZT" in the internal faces of the middle block (open circles), since i have a "wall" patch in the external faces of the other blocks (vertical bars):

| º º |
| º º |
| º º |
| º º |
| º º |

Now i have fuel in the circles and air within the vertical bar.

Hope it helps. Nevertheless i'm open to alternative solutions of the community

best

V

anger September 5, 2007 09:44

Hello Victor, using your de
 
Hello Victor,

using your description, i managed to get my problem (almost) solved. I use a faceSetDict file with the box- option. Here is the procedure:

1. create the mesh with blockMesh.
2. run faceSet -root -case. In the faceSetDict, give a name to the faceset, for example "wing". Running faceSet creates a directory called "sets" where the information on the face sets is stored.
3. modify the boundary file: change the number of boundaries from n to n+1 and add at the end an entry for your shiny new internal boundary. Here, it could read:
wing1
{
type wall;
nFaces 0;
startFace (sum of nFaces and startFace from previous entry)
}
4. call createBaffles -root -case wing wing1

Well, the procedure looks nice so far, but createBaffles produces a strange error (see below). Is my procedure right or do I miss something?

anger@lxnwt6:~/OpenFOAM/anger-1.4.1/projekte/cyclicbc/constant/polyMesh$ createBaffles ../../../ cyclicbc wing wing1
/*---------------------------------------------------------------------------*\
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 1.4.1 |
| \ / A nd | Web: http://www.openfoam.org |
| \/ M anipulation | |
\*---------------------------------------------------------------------------*/

Exec : createBaffles ../../../ cyclicbc wing wing1
Date : Sep 05 2007
Time : 15:22:14
Host : lxnwt6
PID : 14144
Root : ../../../
Case : cyclicbc
Nprocs : 1
Create time

Create mesh for time = 0

Reading faceSet from wing

Read 2 faces from wing

Using patch wing1 at index 4
Reading field k
Reading field p
Reading field nuTilda
Reading field epsilon
Reading field omega
Reading field U
Reading field R
Converted locally 2 faces into boundary faces on patch wing1

*** glibc detected *** createBaffles: double free or corruption (!prev): 0x000000000075baa0 ***
======= Backtrace: =========
/lib/libc.so.6[0x2b23ed14f95a]
/lib/libc.so.6(cfree+0x8c)[0x2b23ed15354c]
createBaffles(_ZN4Foam4ListINS_6VectorIdEEE7setSiz eEi+0xe4)[0x4449f4]
createBaffles[0x444ac6]
createBaffles(_ZN4Foam5FieldINS_6VectorIdEEE7autoM apERKNS_11FieldMapperE+0x9a)[0 x444e8a]
/home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so(_ZNK4 Foam16MapInternalFieldINS_6VectorIdEENS_12fvMeshMa pperENS_11surfaceMeshEEclERNS_ 5FieldIS2_EERKS3_+0xb7)[0x2b23eb7253c7]
/home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so(_ZN4F oam18MapGeometricFieldsINS_6VectorIdEENS_13fvsPatc hFieldENS_12fvMeshMapperENS_11 surfaceMeshEEEvRKT1_+0x1a9)[0x2b23eb729189]
/home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so(_ZN4F oam6fvMesh9mapFieldsERKNS_11mapPolyMeshE+0x19c)[0x2b23eb72027c]
/home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so(_ZN4F oam6fvMesh10updateMeshERKNS_11mapPolyMeshE+0x2f)[0x2b23eb71edcf]
createBaffles[0x4220a6]
/lib/libc.so.6(__libc_start_main+0xf4)[0x2b23ed0fbb04]
createBaffles(_ZN4Foam11regIOobject14readIfModifie dEv+0x179)[0x420e09]
======= Memory map: ========
00400000-0048d000 r-xp 00000000 08:04 250769 /home/anger/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/createBaffl es
0068d000-00690000 rw-p 0008d000 08:04 250769 /home/anger/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linux64GccDPOpt/createBaffl es
00690000-00777000 rw-p 00690000 00:00 0 [heap]
2b23eaa3d000-2b23eaa5a000 r-xp 00000000 08:02 21237 /lib/ld-2.6.so
2b23eaa5a000-2b23eaa5d000 rw-p 2b23eaa5a000 00:00 0
2b23eac59000-2b23eac5b000 rw-p 0001c000 08:02 21237 /lib/ld-2.6.so
2b23eac5b000-2b23eaf30000 r-xp 00000000 08:04 249422 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libdynamicMesh.so
2b23eaf30000-2b23eb12f000 ---p 002d5000 08:04 249422 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libdynamicMesh.so
2b23eb12f000-2b23eb135000 r--p 002d4000 08:04 249422 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libdynamicMesh.so
2b23eb135000-2b23eb13a000 rw-p 002da000 08:04 249422 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libdynamicMesh.so
2b23eb13a000-2b23eb2a0000 r-xp 00000000 08:04 249414 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libmeshTools.so
2b23eb2a0000-2b23eb4a0000 ---p 00166000 08:04 249414 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libmeshTools.so
2b23eb4a0000-2b23eb4a4000 r--p 00166000 08:04 249414 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libmeshTools.so
2b23eb4a4000-2b23eb4a7000 rw-p 0016a000 08:04 249414 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libmeshTools.so
2b23eb4a7000-2b23eb4a8000 rw-p 2b23eb4a7000 00:00 0
2b23eb4a8000-2b23ebf70000 r-xp 00000000 08:04 249405 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so
2b23ebf70000-2b23ec170000 ---p 00ac8000 08:04 249405 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so
2b23ec170000-2b23ec19d000 r--p 00ac8000 08:04 249405 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so
2b23ec19d000-2b23ec1a5000 rw-p 00af5000 08:04 249405 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libfiniteVolume.so
2b23ec1a5000-2b23ec1a9000 rw-p 2b23ec1a5000 00:00 0
2b23ec1a9000-2b23ec512000 r-xp 00000000 08:04 249703 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so
2b23ec512000-2b23ec711000 ---p 00369000 08:04 249703 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so
2b23ec711000-2b23ec721000 r--p 00368000 08:04 249703 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so
2b23ec721000-2b23ec726000 rw-p 00378000 08:04 249703 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libOpenFOAM.so
2b23ec726000-2b23ec72b000 rw-p 2b23ec726000 00:00 0
2b23ec742000-2b23ec744000 r-xp 00000000 08:02 21234 /lib/libdl-2.6.so
2b23ec744000-2b23ec944000 ---p 00002000 08:02 21234 /lib/libdl-2.6.so
2b23ec944000-2b23ec946000 rw-p 00002000 08:02 21234 /lib/libdl-2.6.so
2b23ec946000-2b23eca32000 r-xp 00000000 08:02 87863 /usr/lib/libstdc++.so.6.0.9
2b23eca32000-2b23ecc32000 ---p 000ec000 08:02 87863 /usr/lib/libstdc++.so.6.0.9
2b23ecc32000-2b23ecc38000 r--p 000ec000 08:02 87863 /usr/lib/libstdc++.so.6.0.9
2b23ecc38000-2b23ecc3b000 rw-p 000f2000 08:02 87863 /usr/lib/libstdc++.so.6.0.9
2b23ecc3b000-2b23ecc4f000 rw-p 2b23ecc3b000 00:00 0
2b23ecc4f000-2b23ecccf000 r-xp 00000000 08:02 21229 /lib/libm-2.6.so
2b23ecccf000-2b23ecece000 ---p 00080000 08:02 21229 /lib/libm-2.6.so
2b23ecece000-2b23eced0000 rw-p 0007f000 08:02 21229 /lib/libm-2.6.so
2b23eced0000-2b23ecedd000 r-xp 00000000 08:02 109785 /lib/libgcc_s.so.1
2b23ecedd000-2b23ed0dd000 ---p 0000d000 08:02 109785 /lib/libgcc_s.so.1
2b23ed0dd000-2b23ed0de000 rw-p 0000d000 08:02 109785 /lib/libgcc_s.so.1
2b23ed0de000-2b23ed22b000 r-xp 00000000 08:02 21226 /lib/libc-2.6.so
2b23ed22b000-2b23ed42a000 ---p 0014d000 08:02 21226 /lib/libc-2.6.so
2b23ed42a000-2b23ed42d000 r--p 0014c000 08:02 21226 /lib/libc-2.6.so
2b23ed42d000-2b23ed42f000 rw-p 0014f000 08:02 21226 /lib/libc-2.6.so
2b23ed42f000-2b23ed435000 rw-p 2b23ed42f000 00:00 0
2b23ed435000-2b23ed43d000 r-xp 00000000 08:04 249427 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/openmpi-1.2.3/libPstream .so
2b23ed43d000-2b23ed63c000 ---p 00008000 08:04 249427 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/openmpi-1.2.3/libPstream .so
2b23ed63c000-2b23ed63d000 r--p 00007000 08:04 249427 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/openmpi-1.2.3/libPstream .so
2b23ed63d000-2b23ed63e000 rw-p 00008000 08:04 249427 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/openmpi-1.2.3/libPstream .so
2b23ed63e000-2b23ed6bc000 r-xp 00000000 08:04 249432 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libtriSurface.so
2b23ed6bc000-2b23ed8bc000 ---p 0007e000 08:04 249432 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libtriSurface.so
2b23ed8bc000-2b23ed8bd000 r--p 0007e000 08:04 249432 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libtriSurface.so
2b23ed8bd000-2b23ed8be000 rw-p 0007f000 08:04 249432 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libtriSurface.so
2b23ed8be000-2b23ed8bf000 rw-p 2b23ed8be000 00:00 0
2b23ed8bf000-2b23ed8c1000 r-xp 00000000 08:04 249401 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/liblagrangian.so
2b23ed8c1000-2b23edac0000 ---p 00002000 08:04 249401 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/liblagrangian.so
2b23edac0000-2b23edac1000 r--p 00001000 08:04 249401 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/liblagrangian.so
2b23edac1000-2b23edac2000 rw-p 00002000 08:04 249401 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/liblagrangian.so
2b23edac2000-2b23edac3000 rw-p 2b23edac2000 00:00 0
2b23edac3000-2b23edad8000 r-xp 00000000 08:04 249415 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libz.so
2b23edad8000-2b23edcd7000 ---p 00015000 08:04 249415 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libz.so
2b23edcd7000-2b23edcd8000 r--p 00014000 08:04 249415 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libz.so
2b23edcd8000-2b23edcd9000 rw-p 00015000 08:04 249415 /home/anger/OpenFOAM/OpenFOAM-1.4.1/lib/linux64GccDPOpt/libz.so
2b23edcd9000-2b23edd54000 r-xp 00000000 08:04 284861 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libmpi.so.0.0.0
2b23edd54000-2b23edf54000 ---p 0007b000 08:04 284861 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libmpi.so.0.0.0
2b23edf54000-2b23edf55000 r--p 0007b000 08:04 284861 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libmpi.so.0.0.0
2b23edf55000-2b23edf5e000 rw-p 0007c000 08:04 284861 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libmpi.so.0.0.0
2b23edf5e000-2b23edf66000 rw-p 2b23edf5e000 00:00 0
2b23edf66000-2b23edfbc000 r-xp 00000000 08:04 284870 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libopen-rte.so.0.0.0
2b23edfbc000-2b23ee1bc000 ---p 00056000 08:04 284870 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libopen-rte.so.0.0.0
2b23ee1bc000-2b23ee1bd000 r--p 00056000 08:04 284870 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libopen-rte.so.0.0.0
2b23ee1bd000-2b23ee1bf000 rw-p 00057000 08:04 284870 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libopen-rte.so.0.0.0
2b23ee1bf000-2b23ee1c0000 rw-p 2b23ee1bf000 00:00 0
2b23ee1c0000-2b23ee1fc000 r-xp 00000000 08:04 284868 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libopen-pal.so.0.0.0
2b23ee1fc000-2b23ee3fb000 ---p 0003c000 08:04 284868 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libopen-pal.so.0.0.0
2b23ee3fb000-2b23ee3fc000 r--p 0003b000 08:04 284868 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libopen-pal.so.0.0.0
2b23ee3fc000-2b23ee3fe000 rw-p 0003c000 08:04 284868 /home/anger/OpenFOAM/OpenFOAM-1.4.1/src/openmpi-1.2.3/platforms/linux64GccDPOpt/ lib/libopen-pal.so.0.0.0
2b23ee3fe000-2b23ee421000 rw-p 2b23ee3fe000 00:00 0
2b23ee421000-2b23ee436000 r-xp 00000000 08:02 21235 /lib/libnsl-2.6.so
2b23ee436000-2b23ee636000 ---p 00015000 08:02 21235 /lib/libnsl-2.6.so
2b23ee636000-2b23ee638000 rw-p 00015000 08:02 21235 /lib/libnsl-2.6.so
2b23ee638000-2b23ee63a000 rw-p 2b23ee638000 00:00 0
2b23ee63a000-2b23ee63c000 r-xp 00000000 08:02 21233 /lib/libutil-2.6.so
2b23ee63c000-2b23ee83b000 ---p 00002000 08:02 21233 /lib/libutil-2.6.so
2b23ee83b000-2b23ee83d000 rw-p 00001000 08:02 21233 /lib/libutil-2.6.so
2b23ee83d000-2b23ee852000 r-xp 00000000 08:02 21228 /lib/libpthread-2.6.so
2b23ee852000-2b23eea52000 ---p 00015000 08:02 21228 /lib/libpthread-2.6.so
2b23eea52000-2b23eea54000 rw-p 00015000 08:02 21228 /lib/libpthread-2.6.so
2b23eea54000-2b23eea5b000 rw-p 2b23eea54000 00:00 0
2b23eea73000-2b23eea7a000 r-xp 00000000 08:02 21224 /lib/libnss_compat-2.6.so
2b23eea7a000-2b23eec7a000 ---p 00007000 08:02 21224 /lib/libnss_compat-2.6.so
2b23eec7a000-2b23eec7c000 rw-p 00007000 08:02 21224 /lib/libnss_compat-2.6.so
2b23eec7c000-2b23eec86000 r-xp 00000000 08:02 21239 /lib/libnss_nis-2.6.so
2b23eec86000-2b23eee85000 ---p 0000a000 08:02 21239 /lib/libnss_nis-2.6.so
2b23eee85000-2b23eee87000 rw-p 00009000 08:02 21239 /lib/libnss_nis-2.6.so
2b23eee87000-2b23eee91000 r-xp 00000000 08:02 21245 /lib/libnss_files-2.6.so
2b23eee91000-2b23ef090000 ---p 0000a000 08:02 21245 /lib/libnss_files-2.6.so
2b23ef090000-2b23ef092000 rw-p 00009000 08:02 21245 /lib/libnss_files-2.6.so
2b23f0000000-2b23f0021000 rw-p 2b23f0000000 00:00 0
2b23f0021000-2b23f4000000 ---p 2b23f0021000 00:00 0
7fffc0056000-7fffc006d000 rw-p 7fffc0056000 00:00 0 [stack]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vdso]
Abgebrochen

mattijs September 5, 2007 11:09

Tried a simple testcase but ca
 
Tried a simple testcase but cannot repeat your problem. Valgrind says everything is ok.
- is this standard 1.4.1?
- does checkMesh report anything after adding the zero-size patch?
- anything special about your case?

anger September 6, 2007 04:30

Hi Mattijs, - it is stock 1
 
Hi Mattijs,

- it is stock 1.4.1,
- checkMesh reports a warning:
--> FOAM Warning :
From function polyMesh::readUpdateState polyMesh::readUpdate()
in file meshes/polyMesh/polyMeshIO.C at line 211
Number of patches has changed. This may have unexpected consequences. Proceed with care.
- I don't think so.

Is it possible to post your simple test case here so that I can give it a try with it?

Best regards,
-Thomas

mattijs September 6, 2007 06:44

From your checkMesh message it
 
From your checkMesh message it seems as if you already have two meshes (createBaffles writes the new mesh to a new time directory). Check for any polyMesh subdirectories.

Already deleted the testcase. Take the lid-driven cavity tutorial, modify it to be 5x5x5 faces or so and put an internal face into a faceSet.

torvic September 6, 2007 14:40

Hi Thomas, Mattijs Sorry fo
 
Hi Thomas, Mattijs

Sorry for the late response, i'm just coming back.

According to the third point of September 5th post, i'm not sure at all, since in my case i didn't modify the boundary file and moreover, i use OF-1.4. However, i think it could be a hint to try.
As Mattijs says, a new directory is created "1e-07" and what i do is to replace my "0" directory and "polyMesh" with the info contained in "1e-07".
After running checkMesh, i also have warnings: that faces shares too many vertices.
Nevertheless, paraFoam displays two internal walls, and i can run "setFields" in the region delimited by these walls. (Any hint Mattijs)

Although my OF experience is limited, i could have a look at your files, if you want: vhalmanz AT imp DOT mx
and see what can we learn of it

best

V

mattijs September 6, 2007 14:54

>After running checkMesh, i al
 
>After running checkMesh, i also have warnings: that faces shares too many vertices

This is exactly what you want, an OF baffle is just two opposite boundary faces sharing the same points.

torvic September 6, 2007 15:35

Hi Mattijs, thanks for clar
 
Hi Mattijs,

thanks for clarifying the point. However, to be honest, in that time i didn't notice an error message that also appears after checkMesh, now that i ran it again, i do. I'm really sorry. Here is it. Any comment is strongly appreciated, please

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Create polyMesh for time = constant

Time = constant
Boundary definition OK.


Number of points: 1424
edges: 3430
faces: 2673
internal faces: 1215
cells: 648
boundary patches: 9
point zones: 0
face zones: 0
cell zones: 0

Checking topology and geometry ...
Point usage check OK.

Upper triangular ordering OK.

Topological cell zip-up check OK.

Face vertices OK.

--> FOAM Warning :
From function bool primitiveMesh::warnCommonPoints(const label, const Map<label>&, bool&) const
in file meshes/primitiveMesh/primitiveMeshCheck.C at line 1607
Face 2601 vertex labels 4(9 19 39 29) and face 2637 vertex labels 4(9 29 39 19) share 4 vertices.
This mesh should only be used with faceDecomp finiteElement decomposition.
Further face-face warnings will be suppressed.
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2601 vertex labels 4(9 19 39 29) and face 2637 vertex labels 4(9 29 39 19) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2602 vertex labels 4(29 39 59 49) and face 2638 vertex labels 4(29 49 59 39) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2603 vertex labels 4(49 59 79 69) and face 2639 vertex labels 4(49 69 79 59) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2604 vertex labels 4(69 79 99 89) and face 2640 vertex labels 4(69 89 99 79) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2605 vertex labels 4(89 99 119 109) and face 2641 vertex labels 4(89 109 119 99) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2606 vertex labels 4(109 119 139 129) and face 2642 vertex labels 4(109 129 139 119) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2607 vertex labels 4(129 139 159 149) and face 2643 vertex labels 4(129 149 159 139) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2608 vertex labels 4(149 159 179 169) and face 2644 vertex labels 4(149 169 179 159) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2609 vertex labels 4(169 179 199 189) and face 2645 vertex labels 4(169 189 199 179) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2610 vertex labels 4(208 217 235 226) and face 2646 vertex labels 4(208 226 235 217) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2611 vertex labels 4(226 235 253 244) and face 2647 vertex labels 4(226 244 253 235) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2612 vertex labels 4(244 253 271 262) and face 2648 vertex labels 4(244 262 271 253) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2613 vertex labels 4(262 271 289 280) and face 2649 vertex labels 4(262 280 289 271) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2614 vertex labels 4(280 289 307 298) and face 2650 vertex labels 4(280 298 307 289) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2615 vertex labels 4(298 307 325 316) and face 2651 vertex labels 4(298 316 325 307) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2616 vertex labels 4(316 325 343 334) and face 2652 vertex labels 4(316 334 343 325) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2617 vertex labels 4(334 343 361 352) and face 2653 vertex labels 4(334 352 361 343) share too many vertices
bool primitiveMesh::checkDuplicateFaces(const label, const Map<label>&) const :
Face 2618 vertex labels 4(352 361 379 370) and face 2654 vertex labels 4(352 370 379 361) share too many vertices
--> FOAM Serious Error :
From function bool primitiveMesh::checkFaceFaces(const bool, labelHashSet*) const
in file meshes/primitiveMesh/primitiveMeshCheck.C at line 1927
18 duplicate faces found
Writing 36 faces with incorrect edges to set edgeFaces


Basic topo ok ...

Checking patch topology for multiply connected surfaces ...

Patch Faces Points Surface
aireizq 9 20 ok (not multiply connected)
inletoxizq 9 20 ok (not multiply connected)
inletoxder 9 20 ok (not multiply connected)
inletf 9 20 ok (not multiply connected)
aireder 9 20 ok (not multiply connected)
outlet 45 92 ok (not multiply connected)
frontAndBack 1296 1424 ok (not multiply connected)
wallpipe 54 80 multiply connected surface (shared edge)
dummy 18 40 ok (not multiply connected)
Written 32 conflicting points to set nonManifoldPoints


Patch topo ok ...
Topology check done.

Domain bounding box: min = (0 0 0) max = (3 0.015 2) meters.

Checking geometry...
Boundary openness in x-direction = 1.19262e-18
Boundary openness in y-direction = -3.18755e-17
Boundary openness in z-direction = -1.24683e-18
Boundary closed (OK).
Max cell openness = 1.38778e-17 Max aspect ratio = 46.9598. All cells OK.

Minumum face area = 4.5e-07. Maximum face area = 0.099467. Face area magnitudes OK.

Min volume = 2.49997e-08. Max volume = 0.001492. Total volume = 0.0686625. Cell volumes OK.

Mesh non-orthogonality Max: 8.53774e-07 average: 0
Non-orthogonality check OK.

Face pyramids OK.

Max skewness = 7.63284e-10 percent. Face skewness OK.

Minumum edge length = 3e-05. Maximum edge length = 0.59679.

All angles in faces are convex or less than 10 degrees concave.

Face flatness (1 = flat, 0 = butterfly) : average = 1 min = 1
All faces are flat in that the ratio between projected and actual area is > 0.8

Geometry check done.

Number of cells by type:
hexahedra: 648
prisms: 0
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 0
Number of regions: 1 (OK).
Failed 1 mesh checks.


Time = 0
No mesh.


End


thanks in advance,

V

mattijs September 6, 2007 16:28

What's to comment? You have 18
 
What's to comment? You have 18 baffles (face pairs) according to the 'error' messages.

(In the 1.4.1 checkMesh it doesn't throw them up as errors anymore (I think))

You can visualise the faceSet they've been put into with foamToVTK -faceSet.

torvic September 6, 2007 17:59

Hi Mattijs thanks for your
 
Hi Mattijs

thanks for your response, I'll try to do it in OF-1.4.1 and tell you.

As for the foamToVTK, thanks for the hint !.
I ran it and doesn't display errors. However, the pic appears somewhat unconnected, like "disperse patches". But with paraFoam, they appear as a wall. is it correct ?
sorry if it sounds naive/basic

thanks again !

best

V

torvic September 6, 2007 21:46

Hi again Mattijs, As you sa
 
Hi again Mattijs,

As you said, OF-1.4.1 does not report errors after running checkMesh:

~~~~~~~~~~~~~~~~~~~~
Nprocs : 1
Create time

Create polyMesh for time = constant

Time = constant

Mesh stats
points: 5452
edges: 13376
faces: 10565
internal faces: 5035
cells: 2600
boundary patches: 9
point zones: 0
face zones: 0
cell zones: 0

Number of cells of each type:
hexahedra: 2600
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.
Number of identical duplicate faces (baffle faces): 40
Face-face connectivity OK.
Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces ...
Patch Faces Points Surface
aireizq 20 42 ok (not multiply connected)
inletoxizq 15 32 ok (not multiply connected)
inletoxder 15 32 ok (not multiply connected)
inletf 15 32 ok (not multiply connected)
aireder 20 42 ok (not multiply connected)
outlet 85 172 ok (not multiply connected)
frontAndBack 5200 5452 ok (not multiply connected)
wallpipe 120 168 multiply connected surface (shared edge)
dummy 40 84 ok (not multiply connected)
<<Writing 76 conflicting points to set nonManifoldPoints

Checking geometry...
Domain bounding box: (0 0 0) (3 0.015 2)
Boundary openness (-3.3101e-19 7.39706e-15 -3.85597e-18) OK.
Max cell openness = 1.41726e-16 OK.
Max aspect ratio = 576.923 OK.
Minumum face area = 1.95e-06. Maximum face area = 0.00691875. Face area magnitudes OK.
Min volume = 4.875e-08. Max volume = 0.000103781. Total volume = 0.0686625. Cell volumes OK.
Mesh non-orthogonality Max: 8.53774e-07 average: 0
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 1.49182e-13 OK.
Min/max edge length = 0.00013 0.09225 OK.
All angles in faces OK.
Face flatness (1 = flat, 0 = butterfly) : average = 1 min = 1
All face flatness OK.

Mesh OK.

End

~~~~~~~~~~~~~~~~~~~~

I refined the mesh a little bit. As for VTK the pic again seems somewhat unconnected

thanks again Mattijs !

best

V

fabianpk March 19, 2008 07:18

I have the exact same problem.
 
I have the exact same problem. I think it is because you use the same vertice in inside1_down as in inside2_down. I have tried to add extra vertices to seperate the two, and it does get rid of the error message. However, it also creates new internal faces, as then no blocks can share vertices.

As I have understood it, the problem arises when one tries to create blocks in the following fashion:

*---*-----*
| A |--B-|
*---*----*
|C|||-D--|
*---*----*

if A's face between A and B shares any vertices with A's face between A and C, Foam will give you error messages if you try to merge the face between A and B AND the face between A and C. Any of the two faces can be merged on their own, but if you try to merge both, the second one will cause the error.
I don't see how it could be possible to do it in another way, since I assume that A's faces has to consist of the vertices used to create block A.

Did I miss something?

lakeat April 5, 2009 23:28

1 Attachment(s)
Dear Mattijs, and Dear all,

Quote:

Originally Posted by anger (Post 180103)
Here is the procedure:

1. create the mesh with blockMesh.
2. run faceSet -root -case. In the faceSetDict, give a name to the faceset, for example "wing". Running faceSet creates a directory called "sets" where the information on the face sets is stored.
3. modify the boundary file: change the number of boundaries from n to n+1 and add at the end an entry for your shiny new internal boundary. Here, it could read:
wing1
{
type wall;
nFaces 0;
startFace (sum of nFaces and startFace from previous entry)
}
4. call createBaffles -root -case wing wing1

I have a flate plate in a rectangular wind tunnel with attack angle of 30, what should I do, How to use faceSetDic, which option should I use to select the plate faces? Thank you.

Is the best way to achieve this goal using pointSet utility with surfaceToPoint? I'm lost. please help.

Attachment 127


Best Regards
Daniel

lakeat April 6, 2009 01:50

Hi again, I found the solution, use the normalToFace option in faceSetDic

Code:

    // Faces with normal to within certain angle aligned with vector.
    normalToFace
    {
        normal (0.309016994 0.951056516 0);    // Vector
        cos    0.000000001;      // Tolerance (max cos of angle)
    }

Note: as for zero thickness plate, set cos option a small one, (use foamToVTK -faceSet plateTmp to Check it).

What a nice day!

Daniel

sati March 19, 2015 09:21

It may seem weird to answer to a post so long after it was written, but as i fell on it today, i'm thinking that maybe i could help other people having this problem.

A very simple trick to create a thin wall in an internal face is to create a point with the same coordinates than on of those which are on the internal face. Then, define the faces and the blocks as if one of the points was on one side of the face, and the other point was on the other face. This way, the mesh is identical to the one created before, exept that there is no more an intern face, and defining a wall patch there becomes trivial.

Mojtaba.a December 15, 2015 02:06

Quote:

Originally Posted by sati (Post 537190)
It may seem weird to answer to a post so long after it was written, but as i fell on it today, i'm thinking that maybe i could help other people having this problem.

A very simple trick to create a thin wall in an internal face is to create a point with the same coordinates than on of those which are on the internal face. Then, define the faces and the blocks as if one of the points was on one side of the face, and the other point was on the other face. This way, the mesh is identical to the one created before, exept that there is no more an intern face, and defining a wall patch there becomes trivial.

Wouldn't this lead into a new block, which has absolute poor cells within it?

jorkolino February 6, 2020 18:25

Quote:

Originally Posted by mattijs (Post 180096)
Create a connected mesh and then use

createBaffles <root> <case> <faceset>

to convert internal faces into boundaries.

mergeOrSplitBaffles <root> <case>

does the opposite: detects boundary faces sharing points and merges them into an internal face.

Don't we need createBafflesDict for that purpose?


All times are GMT -4. The time now is 01:40.