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/)
-   -   Multiple boundary conditions in one block (http://www.cfd-online.com/Forums/openfoam-meshing-blockmesh/119475-multiple-boundary-conditions-one-block.html)

EOC June 18, 2013 05:54

Multiple boundary conditions in one block
 
Hi everyone!

I am new to OpenFOAM and also I just started using this platform. My question is that I want to use just one block with six faces, (a cube). So if I want to put a boundary condition to a face such that the boundary condition applies at certain region of the face and not all over it. For example if I want some Heat flux at the centre of a face in a circular region. Do I need to create blocks and faces whenever I need to put a boundary condition ?

Simply putting , I want to know how can I put multiple boundary conditions at the same face such that certain regions of the face have different boundary conditions and certain regions have other boundary conditions.

I will be very thankful for the help :)

colinB June 18, 2013 09:14

Hi EOC,

the utility you are looking for is named

setFields

With a setFieldsDict stored in the system folder you can specify
the patch/Region which you want to be changed.

The damBreak tutorial gives you an example of the usage
with a region in the domain specified other than its surroundings
by using the parameter alpha1 which is needed for
multiphase flow.

However this should also work with patches according to the manual
and other fields than alpha1.

I hope that helps
regards

EOC June 19, 2013 14:45

setFields
 
Thank you so much for the help.
I started learning how to use setFields.
Just one more thing. Which option should I use (from boxtocell to surfacetoface)
The condition is I have a wall and some portion of it is heated. The heated portion can be defined by some co-ordinates and it will be a closed surface.
I would have used boxtocell but it only performs the function for a square shaped heated region in my case.

I shall be very thankful for the help. :)

colinB June 21, 2013 06:12

Hi

I have no idea how it works in particular with
faces, since I only use the boxToCell option
for my cases and just read in the description
that it is also possible to use this tool for faces as well.

But using some common sense I would say
boxToFace is your option. To figure out how it works
you might want to have a look
here:

Code:

/opt/openfoam220/application/utilities/preProcessing/setFields
this is all I know about it

regards

Artur July 10, 2013 05:22

Check the wigley hull tutorial in multiphase/LTSInterFoam where the inlet patch has a calculated BC and some of it is set as water (alpha1 field = 1) and some of it as air (alpha1 filed = 0).

I think it should work the same way for you judging from the description you've given.

didamiamia July 15, 2013 10:36

hi,
can some one tell me where i have do an error in this blockMesh
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1;

vertices
(
(-1 -1 0)
(1 -1 0)
(1 1 0)
(-1 1 0)
(-1 -1 0.1)
(1 -1 0.1)
(1 1 0.1)
(-1 1 0.1)
(0.4 -0.1 0)
(0.6 -0.1 0)
(0.6 0.1 0)
(0.4 0.1 0)
(0.4 -0.1 0.1)
(0.6 -0.1 0.1)
(0.6 0.1 0.1)
(0.4 0.1 0.1)
(-1 -0.1 0)
(1 -0.1 0)
(1 0.1 0)
(-1 0.1 0)
(-1 -0.1 0.1)
(1 -0.1 0.1)
(1 0.1 0.1)
(-1 0.1 0.1)
//add
(0.4 -1 0)
(0.6 -1 0)
(0.6 1 0)
(0.4 1 0)
(0.4 -1 0.1)
(0.6 -1 0.1)
(0.6 1 0.1)
(0.4 1 0.1)
);

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


);

edges
(

);

boundary
(
innerwall
{
type wall;
faces
(
(11 15 12 8)
(10 14 13 9)
//(11 10 14 15)
(11 15 14 10)

(8 12 13 9)

);
}
outerwall
{
type wall;
faces
(
(3 7 23 19)
(19 23 20 16)
(16 20 4 0)
(2 6 22 18)
(18 22 21 17)
(17 21 5 1)
(0 4 28 24)
(24 28 29 25)
(25 29 5 1)
(3 7 31 27)
(27 31 30 26)
(26 30 6 2)
);
}

frontAndBack
{
type empty;
faces
(
(0 24 8 16)
(24 25 9 8)
(25 1 17 9)
(16 8 11 19)
(9 17 18 10)
(19 11 27 3)
(11 10 26 27)
(10 18 2 26)
(4 28 12 20)
(28 29 13 12)
(29 5 21 13)
(20 12 15 23)
(13 21 22 14)
(23 15 31 7)
(15 14 30 31)
(14 22 6 30)
//(0 3 2 1)
//(4 5 6 7)
);
}
);

mergePatchPairs
(
);

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


i have this error :

Create time

Creating block mesh from
"/home/linda/Simulations/caseFI/partie_11/Noconforming_Mesh/P11_move_SRFP/constant/polyMesh/blockMeshDict"
Creating curved edges
Creating topology blocks
Creating topology patches

Creating block mesh topology

Check topology

Basic statistics
Number of internal faces : 8
Number of boundary faces : 32
Number of defined boundary faces : 32
Number of undefined boundary faces : 0
Checking patch -> block consistency

Creating block offsets
Creating merge list

--> FOAM FATAL ERROR:
Inconsistent number of faces between block pair 0 and 1

From function blockMesh::calcMergeInfo()
in file blockMesh/blockMeshMerge.C at line 221.


thank you for answers

Yosmcer July 20, 2013 05:42

Hello,

I think you should have posted a new thread. I do not see the ling between your error and the usage of setFields.

Your error says there is a problem between your two first blocks:

Code:

hex (0 24 8 16 4 28 12 20) (50 50 1) simpleGrading (1 1 1)
 hex (24 25 9 8 28 29 13 12) (20 30 1) simpleGrading (1 1 1)

You defined 50 meshing blocks in y direction for the first block, and 30 for the second one.
This mean that blockMesh cannot connect perfectly theses blocks.

didamiamia July 22, 2013 12:18

Quote:

Originally Posted by Yosmcer (Post 440934)
Hello,

I think you should have posted a new thread. I do not see the ling between your error and the usage of setFields.

Your error says there is a problem between your two first blocks:

Code:

hex (0 24 8 16 4 28 12 20) (50 50 1) simpleGrading (1 1 1)
 hex (24 25 9 8 28 29 13 12) (20 30 1) simpleGrading (1 1 1)

You defined 50 meshing blocks in y direction for the first block, and 30 for the second one.
This mean that blockMesh cannot connect perfectly theses blocks.

you're right I'll post again a new thread for a new topic :)
thank you for your answer.


All times are GMT -4. The time now is 22:27.