CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Native Meshers: blockMesh

help needed: connecting 2 blocks

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

Reply
 
LinkBack Thread Tools Display Modes
Old   November 11, 2009, 01:48
Default help needed: connecting 2 blocks
  #1
New Member
 
Alex Christantho
Join Date: Oct 2009
Posts: 10
Rep Power: 8
Lexa is on a distinguished road
I'm using buoyantPisoFoam solver for this case. I made 2 similar blocks, with 1 block adjacent to other.

Here is the blockMeshDict file:
FoamFile

{

version 2.0;

format ascii;

class dictionary;

object blockMeshDict;

}

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



convertToMeters 0.1;



vertices

(

(0 0 0)

(10 0 0)

(10 5 0)

(0 5 0)

(0 0 10)

(10 0 10)

(10 5 10)

(0 5 10)

(10 0 0)

(20 0 0)

(20 5 0)

(10 5 0)

(10 0 10)

(20 0 10)

(20 5 10)

(10 5 10)



);



blocks

(

hex (0 1 2 3 4 5 6 7) (20 10 20) simpleGrading (1 1 1)

hex (8 9 10 11 12 13 14 15) (20 10 20) simpleGrading (1 1 1)

);



edges

(

);



patches

(

wall floor

(

(0 4 7 3)

)

wall ceiling

(

(10 14 13 9)

)

wall fixedWalls

(

(3 7 6 2)

(2 6 5 1)

(1 5 4 0)

(0 3 2 1)

(4 5 6 7)

(11 15 14 10)

(8 12 15 11)

(9 13 12 8)

(8 11 10 9)

(12 13 14 15)

)

);



mergePatchPairs

(

);



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



the 0/T file is:

dimensions [0 0 0 1 0 0 0];

internalField uniform 300;

boundaryField
{
floor
{
type fixedValue;
value uniform 300;
}

ceiling
{
type fixedValue;
value uniform 320;
}

fixedWalls
{
type zeroGradient;
}
}



and part of the controlDict file is:
startFrom startTime;

startTime 0;

stopAt endTime;

endTime 1000;

deltaT 100;

writeControl timeStep;

writeInterval 1;


When I'm using the solver, i got the error message:

Maximum number of iterations exceeded#0 Foam::error::printStack(Foam::Ostream&) in "/home/alex/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"

#1 Foam::error::abort() in "/home/alex/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"

#2 Foam::hRhoThermo<Foam::pureMixture<Foam::constTran sport<Foam::specieThermo<Foam::hConstThermo<Foam:: perfectGas> > > > >::calculate() in "/home/alex/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"

#3 Foam::hRhoThermo<Foam::pureMixture<Foam::constTran sport<Foam::specieThermo<Foam::hConstThermo<Foam:: perfectGas> > > > >::correct() in "/home/alex/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libbasicThermophysicalModels.so"

#4 main in "/home/alex/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/buoyantPisoFoam"

#5 __libc_start_main in "/lib/libc.so.6"

#6 _start at /usr/src/packages/BUILD/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:116



From function specieThermo<thermo>::T(scalar f, scalar T0, scalar (specieThermo<thermo>::*F)(const scalar) const, scalar (specieThermo<thermo>::*dFdT)(const scalar) const) const

in file /home/dm2/henry/OpenFOAM/OpenFOAM-1.6/src/thermophysicalModels/specie/lnInclude/specieThermoI.H at line 68.



FOAM aborting



I try to change the endTime to 300 and the process was successful, but the paraFoam looks strange. I attach 4 files, in t=0,t=100, t=200, and t=300.

My questions are:
1. why I can't simulate until t=1000?
2. if I want to see the gradient of air temperature (different temperature inside the box, not an "uniform" color like this), what should I do?
3. what's going on with those pictures, specially for the last picture (t=300)?
4. how to delete the center wall that separate these 2 blocks? I try not to insert (2 6 5 1) and (8 12 15 11) in the patches, but there's a problem in generating the blockMesh..

Any help will be greatly appreciated.. Thanks!
Attached Images
File Type: png t_0.png (44.5 KB, 20 views)
File Type: png t_100.png (43.9 KB, 21 views)
File Type: png t_200.png (38.1 KB, 14 views)
File Type: png t_300.png (72.4 KB, 19 views)
Lexa is offline   Reply With Quote

Old   November 13, 2009, 06:14
Default
  #2
Senior Member
 
sega's Avatar
 
Sebastian Gatzka
Join Date: Mar 2009
Location: Frankfurt, Germany
Posts: 729
Rep Power: 12
sega is on a distinguished road
Quote:
Originally Posted by Lexa View Post
4. how to delete the center wall that separate these 2 blocks? I try not to insert (2 6 5 1) and (8 12 15 11) in the patches, but there's a problem in generating the blockMesh..
If the two areas should be "internal" you must not define them in patches!
Otherwise you have to specify a boundary condition which would make no sense inside your computational domain! Especially "wall" in your case!

If there is a problem with blockMesh (please tell us what kind of problem) without (2 6 5 1) and (8 12 15 11) you should have to take a careful look, there maybe something else whats wrong - but this is on you!

By the way: Why don't you use a single block?
__________________
Schrödingers wife: "What did you do to the cat? It's half dead!"
sega is offline   Reply With Quote

Old   November 15, 2009, 20:13
Default
  #3
New Member
 
Alex Christantho
Join Date: Oct 2009
Posts: 10
Rep Power: 8
Lexa is on a distinguished road
Thanks for your information, Sebastian..
I'm not using a single block, because my "real" project needs more than 2 blocks that connected each other. before i go into that more complex situation, i think it will be easier to simulate simpler condition first (by using 2 blocks like this).

after I used checkMesh, i got this information: there are 2 regions that not connected each other. and now i think this is the fundamental problem: I didn't connected them so each region will have its independent condition. am I right?
so my next questions, is is possible to make these 2 regions connected each other without changing the blockMeshDict file?

Thanks.
Lexa is offline   Reply With Quote

Old   November 20, 2009, 06:21
Default
  #4
Senior Member
 
sega's Avatar
 
Sebastian Gatzka
Join Date: Mar 2009
Location: Frankfurt, Germany
Posts: 729
Rep Power: 12
sega is on a distinguished road
Quote:
Originally Posted by Lexa View Post
so my next questions, is is possible to make these 2 regions connected each other without changing the blockMeshDict file?
I don't know.

But you can make the two blocks connect by altering the blockMeshDict if the "touching faces" are not declared as boundary patches!
__________________
Schrödingers wife: "What did you do to the cat? It's half dead!"
sega is offline   Reply With Quote

Old   November 20, 2009, 06:47
Default
  #5
Senior Member
 
sega's Avatar
 
Sebastian Gatzka
Join Date: Mar 2009
Location: Frankfurt, Germany
Posts: 729
Rep Power: 12
sega is on a distinguished road
One problem was that your vertices 1 and 8, 5 and 12, 6 and 15, 2 and 11 are identical.

So the skipping of (2 6 5 1) and (8 12 15 11) in the patch-part of blockMesh was not enough.
You even had to skip building the blocks out of different vertice numbers even if they are geometrically identical.
The connection of the blocks is obviously done by choosing identical vertice numbers!

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  1.6                                   |
|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.1;



vertices

(

(0 0 0)

(10 0 0)

(10 5 0)

(0 5 0)

(0 0 10)

(10 0 10)

(10 5 10)

(0 5 10)

(10 0 0)

(20 0 0)

(20 5 0)

(10 5 0)

(10 0 10)

(20 0 10)

(20 5 10)

(10 5 10)



);



blocks

(

hex (0 1 2 3 4 5 6 7) (20 10 20) simpleGrading (1 1 1)

hex (1 9 10 2 5 13 14 6) (20 10 20) simpleGrading (1 1 1)

);



edges

(

);



patches

(

wall floor

(

(0 4 7 3)

)

wall ceiling

(

(10 14 13 9)

)

wall fixedWalls

(

(3 7 6 2)

// (2 6 5 1)

(1 5 4 0)

(0 3 2 1)

(4 5 6 7)

(2 6 14 10)

// (8 12 15 11)

(9 13 5 1)

(1 2 10 9)

(5 13 14 6)

)

);



mergePatchPairs

(

);



// ************************************************** *********************** //
__________________
Schrödingers wife: "What did you do to the cat? It's half dead!"
sega 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
O-grid for cylinder with varying diameter and several blocks lama ANSYS Meshing & Geometry 4 December 21, 2009 09:57
Problems meshing wedge type blocks Alan OpenFOAM Native Meshers: blockMesh 0 July 27, 2009 20:05
Mesh Blocks a.etesam FLOW-3D 4 April 1, 2009 05:21
a dissertation in ETD needed very much LiQiang Main CFD Forum 0 March 11, 2005 04:09
Connecting blocks with multi-blocks methods Sebastien Perron Main CFD Forum 3 March 7, 2001 17:55


All times are GMT -4. The time now is 11:02.