CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Pre-Processing

topoSet is not generating the correct number of interfaces

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

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 8, 2025, 07:01
Default topoSet is not generating the correct number of interfaces
  #1
New Member
 
hasanjk's Avatar
 
Hasan
Join Date: Jan 2025
Location: Saudi Arabia
Posts: 1
Rep Power: 0
hasanjk is on a distinguished road
Hi,

I want to model the temperature impact of a fluid in a tube on the outer domain and am using the blockMeshDict and topoSetDict below.

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

scale   1;

vertices
(
    (0 0 0) //0
    (0.108 0 0) //1
    (0.122 0 0) //2
    (1 0 0) //3
    (1 0.108 0) //4
    (1 1 0) //5
    (0.086 1 0) //6
    (0 1 0) //7
    (0 0.122 0) //8
    (0 0.108 0) //9
    (0.076 0.076 0) //10
    (0.086 0.086 0) //11

    (0 0 10) //12
    (0.108 0 10) //13
    (0.122 0 10) //14
    (1 0 10) //15
    (1 0.108 10) //16
    (1 1 10) //17
    (0.086 1 10) //18
    (0 1 10) //19
    (0 0.122 10) //20
    (0 0.108 10) //21
    (0.076 0.076 10) //22
    (0.086 0.086 10) //23
);

blocks
(
    hex (12 13 1 0 12 21 9 0) (5 5 10) simpleGrading (1 1 1)
    hex (13 14 2 1 21 20 8 9) (5 5 10) simpleGrading (1 1 1)
    hex (14 15 3 2 23 16 4 11) (5 5 10) simpleGrading (1 1 1)
    hex (23 16 4 11 18 17 5 6) (5 5 10) simpleGrading (1 1 1)
    hex (20 23 11 8 19 18 6 7) (5 5 10) simpleGrading (1 1 1)

);

edges
(
arc 1 9 (0.076 0.076 0)
arc 13 21 (0.076 0.076 10)
arc 2 8 (0.086 0.086 0)
arc 14 20 (0.086 0.086 10)
);

boundary
(
    inlet
    {
        type patch;
        faces
        (
            (0 1 9 0) 
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (12 13 21 12) 
        );
    }
    symmetryFacesFluid
    {
        type patch;
        faces
        (
            (12 13 1 0) (12 21 9 0)
        );
    }
    symmetryFacesDomain
    {
        type patch;
        faces
        (
            (14 15 3 2) (15 16 4 3) (16 17 5 4) (18 17 5 6) (19 18 6 7) (20 19 7 8) (2 3 4 11) (11 4 5 6) (8 11 6 7) (14 15 16 23) (23 16 17 18) (20 23 18 19)
        );
    }
    Casing
    {
        type wall;
        faces
        (
            (13 14 20 21) (1 2 8 9) (13 14 2 1) (21 20 8 9) (14 20 8 2) //(13 21 9 1)
        );
    }
);


// ************************************************************************* //
topoSetDict:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2212                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

actions
(
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//tube
    {
        name    tube; 
        type    cellSet;
        action  new;
        source  cylinderToCell;
        point1  (0 0 0);
        point2  (0 0 10);
        radius  0.108;
        innerRadius 0.0;
    }
    
    {
        name    tube;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {set tube;}
    }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//metal
    {
        name    metal; 
        type    cellSet;
        action  new;
        source  cylinderToCell;
        point1  (0 0 0);
        point2  (0 0 10);
        radius  0.122;
        innerRadius 0.108;
    }
    
    {
        name    metal; 
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {set metal;}
    }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//whole domain
    {
        name    domain;
        type    cellZoneSet;
        action  clear;
    }
    {
        name    domain;
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {set metal;}
    }
    {
        name    domain;
        type    cellSet;
        action  add;
        source  cellToCell;
        sourceInfo
        {set tube;}
    }
    {
        name    domain;
        type    cellSet;
        action  invert;
    }
    {
        name    domain;
        type    cellZoneSet;
        action  new;
        source  setToCellZone;
        sourceInfo
        {set domain;}
    }    

);

// ************************************************************************* //
I then use the splitMeshRegions using the command "splitMeshRegions -cellZones -overwrite" to generate the split mesh. I am only getting one interface, between regions 0 and 1, whereas I am expecting another interface between regions 1 and 2.

splitMeshRegions log file:
Code:
Create time

Create mesh for time = 0

Creating single patch per inter-region interface.

Trying to match regions to existing cell zones.


Number of regions:3

Writing region per cell file (for manual decomposition) to "/home/hasan/openFoam/cryogenicInjection/cryogenicinjection_modified/constant/cellToRegion"

Writing region per cell as volScalarField to "/home/hasan/openFoam/cryogenicInjection/cryogenicinjection_modified/0/cellToRegion"

Region	Cells
------	-----
0	250
1	250
2	750

Region	Zone	Name
------	----	----
0	(0)	tube
1	(1)	metal
2	(2)	domain

Sizes of interfaces between regions:

Interface	Region	Region	Faces
---------	------	------	-----
0		0	1	50

Reading volScalarField: cellToRegion


Adding patches


Adding patches

For interface between region tube and metal added patches
    6	tube_to_metal
    7	metal_to_tube

Region 0
-------- 
Creating mesh for region 0 tube
Writing dummy "tube/fvSchemes"
Writing dummy "tube/fvSolution"
Mapping fields
Mapping field cellToRegion
Deleting empty patches
Writing new mesh
Writing addressing to base mesh
Writing map pointRegionAddressing from region0 points back to base mesh.
Writing map faceRegionAddressing from region0 faces back to base mesh.
Writing map cellRegionAddressing from region0 cells back to base mesh.
Writing map boundaryRegionAddressing from region0 boundary back to base mesh.

Region 1
-------- 
Creating mesh for region 1 metal
Writing dummy "metal/fvSchemes"
Writing dummy "metal/fvSolution"
Mapping fields
Mapping field cellToRegion
Deleting empty patches
Writing new mesh
Writing addressing to base mesh
Writing map pointRegionAddressing from region1 points back to base mesh.
Writing map faceRegionAddressing from region1 faces back to base mesh.
Writing map cellRegionAddressing from region1 cells back to base mesh.
Writing map boundaryRegionAddressing from region1 boundary back to base mesh.

Region 2
-------- 
Creating mesh for region 2 domain
Writing dummy "domain/fvSchemes"
Writing dummy "domain/fvSolution"
Mapping fields
Mapping field cellToRegion
Deleting empty patches
Writing new mesh
Writing addressing to base mesh
Writing map pointRegionAddressing from region2 points back to base mesh.
Writing map faceRegionAddressing from region2 faces back to base mesh.
Writing map cellRegionAddressing from region2 cells back to base mesh.
Writing map boundaryRegionAddressing from region2 boundary back to base mesh.
End
Any help in this regards would be appreciated.

H
hasanjk is offline   Reply With Quote

Reply

Tags
interface, splitmeshregions, toposetdict

Thread Tools Search this Thread
Search this Thread:

Advanced Search
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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Foam::error::PrintStack almir OpenFOAM Running, Solving & CFD 92 May 21, 2024 08:56
SimpleFoam & Theater jipai OpenFOAM Running, Solving & CFD 3 June 18, 2019 11:11
Moving mesh Niklas Wikstrom (Wikstrom) OpenFOAM Running, Solving & CFD 122 June 15, 2014 07:20
[blockMesh] --> foam fatal error: lillo763 OpenFOAM Meshing & Mesh Conversion 0 March 5, 2014 11:27
Doxygen documentation Tanay OpenFOAM Installation 9 September 23, 2011 12:40


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