CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Other Meshers: ICEM, Star, Ansys, Pointwise, GridPro, Ansa, ...

fluentMeshToFoam multidomain mesh conversion problem

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

Like Tree7Likes
  • 1 Post By bigphil
  • 5 Post By Attesz
  • 1 Post By waiter120

Reply
 
LinkBack Thread Tools Display Modes
Old   February 25, 2012, 15:41
Default fluentMeshToFoam multidomain mesh conversion problem
  #1
Senior Member
 
Attesz's Avatar
 
Attesz
Join Date: Mar 2009
Posts: 355
Rep Power: 8
Attesz is an unknown quantity at this point
Hi all,

I have an ICEM CFD mesh, I exported it to fluent .msh format, and now I want to covert it to OF format using fluentMeshToFoam. The mesh has 3 interfaces between Inlet-Rotor-Stator domains. The interface constists of 1 faces what belongs to both domains. Could it be the problem? Should I have two overlapping faces as interfaces?

Thank you,
Attila

Quote:
Create time

Dimension of grid: 3
Number of points: 3332780
Reading points
Number of cells: 12901447
Other readCellGroupData: 8f 1 1f6018 1 0
Reading mixed cells
Other readCellGroupData: 90 1f6019 8e94bd 1 0
Reading mixed cells
Other readCellGroupData: 91 8e94be c4dc47 1 0
Reading mixed cells
number of faces: 27794299
Reading mixed faces
Reading mixed faces
Reading mixed faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading mixed faces
Reading uniform faces
Reading mixed faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading mixed faces
Reading uniform faces
Reading mixed faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading uniform faces
Reading mixed faces
Reading uniform faces
Read zone1:143 nameOMAIN_INLET patchTypeID:fluid
Reading zone data
Read zone1:144 nameOMAIN_ROTOR patchTypeID:fluid
Reading zone data
Read zone1:145 nameOMAIN_OUTLET patchTypeID:fluid
Reading zone data
Read zone1:146 name:int_DOMAIN_INLET patchTypeID:interior
Reading zone data
Read zone1:147 name:int_DOMAIN_ROTOR patchTypeID:interior
Reading zone data
Read zone1:148 name:int_DOMAIN_OUTLET patchTypeID:interior
Reading zone data
Read zone1:149 name:HOUSING_INLET patchTypeID:wall
Reading zone data
Read zone1:150 name:STATORSHROUDIN patchTypeID:wall
Reading zone data
Read zone1:151 name:STATORBLADES patchTypeID:wall
Reading zone data
Read zone1:152 name:STATORSHROUDEDGES patchTypeID:wall
Reading zone data
Read zone1:153 name:ROTORSHROUD_GAP_INLET patchTypeID:wall
Reading zone data
Read zone1:154 name:ROTORSHROUD_ROTOR patchTypeID:wall
Reading zone data
Read zone1:155 name:ROTORHUB patchTypeID:wall
Reading zone data
Read zone1:156 name:ROTORBLADES patchTypeID:wall
Reading zone data
Read zone1:157 name:MOTOR_BACK patchTypeID:wall
Reading zone data
Read zone1:158 name:MOTOR_BACK_ROUNDS patchTypeID:wall
Reading zone data
Read zone1:159 name:MOTOR_BACK_PLATE_INSTATOR patchTypeID:wall
Reading zone data
Read zone1:160 name:STATORHUB_ROUNDS patchTypeID:wall
Reading zone data
Read zone1:161 name:STATORHUB_INNER patchTypeID:wall
Reading zone data
Read zone1:162 name:STATORHUB_BLADEROOT patchTypeID:wall
Reading zone data
Read zone1:163 name:STATORHUB_BACK patchTypeID:wall
Reading zone data
Read zone1:164 name:STATORHUB_ROUNDS_FINE patchTypeID:wall
Reading zone data
Read zone1:165 name:STATORBLADES_LE patchTypeID:wall
Reading zone data
Read zone1:166 name:STATORBLADES_TE patchTypeID:wall
Reading zone data
Read zone1:167 name:ROTORBLADES_LE patchTypeID:wall
Reading zone data
Read zone1:168 name:ROTORBLADES_TE patchTypeID:wall
Reading zone data
Read zone1:169 name:ROTORHUB_BLADEROOT patchTypeID:wall
Reading zone data
Read zone1:170 name:INTERFACEROTORSTATOR patchTypeID:interface
Reading zone data
Read zone1:171 name:MOTOR_BACK_PLATE_INROTOR patchTypeID:wall
Reading zone data
Read zone1:172 name:INTERFACE_INLET_ROTOR patchTypeID:interface
Reading zone data
Read zone1:173 name:ROTORSHROUD_INLET patchTypeID:wall
Reading zone data
Read zone1:174 name:OUTLETPIPEWALL patchTypeIDutlet-vent
Reading zone data
Read zone1:175 name:BOXTOPWALL patchTypeID:wall
Reading zone data
Read zone1:176 name:BOXLEFTWALL patchTypeID:wall
Reading zone data
Read zone1:177 name:BOXRIGHTWALL patchTypeID:wall
Reading zone data
Read zone1:178 name:BOXREARWALL patchTypeID:wall
Reading zone data
Read zone1:179 name:BOUNDARY_OUTLET patchTypeID:wall
Reading zone data
Read zone1:180 name:BOXBOTTOMWALL patchTypeID:wall
Reading zone data
Read zone1:181 name:BOUNDARY_INLET patchTypeID:wall
Reading zone data
Read zone1:182 name:OUTLETPIPEWALL_SHROUD patchTypeIDutlet-vent
Reading zone data
Read zone1:183 name:HOUSING_ROTOR patchTypeID:wall
Reading zone data
Read zone1:184 name:ROTORSHROUD_END patchTypeID:wall
Reading zone data
Read zone1:185 name:ROTORSHROUD_EDGE patchTypeID:wall
Reading zone data
Read zone1:186 name:HOUSING_GAP_INLET patchTypeID:wall
Reading zone data
Read zone1:187 name:HOUSING_GAP_ROTOR patchTypeID:wall
Reading zone data
Read zone1:188 name:ROTORSHROUD_GAP_FINE patchTypeID:wall
Reading zone data
Read zone1:189 name:HOUSING_STEP patchTypeID:wall
Reading zone data
Read zone1:190 name:INTERFACE_INLETROTOR_GAP patchTypeID:interface
Reading zone data
Read zone1:191 name:ROTORSHROUD_GAP_ROTOR patchTypeID:wall
Reading zone data


FINISHED LEXING


dimension of grid: 3
Creating shapes for 3-D cells


--> FOAM FATAL ERROR:
Cannot find match for first face. cell model: tet first model face: 3(1 2 3) Mesh faces:
4
(
0()
0()
0()
0()
)


From function create3DCellShape(const label cellIndex, const labelList& faceLabels, const labelListList& faces, const labelList& owner, const labelList& neighbour, const label fluentCellModelID)
in file create3DCellShape.C at line 185.

FOAM aborting

#0 Foam::error:rintStack(Foam::Ostream&) in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::error::abort() in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2
in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/fluentMeshToFoam"
#3
in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/fluentMeshToFoam"
#4 __libc_start_main in "/lib64/libc.so.6"
#5
in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/fluentMeshToFoam"
Aborted (core dumped)
__________________
CFD= Cleverly Formatted Data
Attesz is offline   Reply With Quote

Old   February 26, 2012, 11:58
Default
  #2
Senior Member
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin,Ireland
Posts: 570
Rep Power: 19
bigphil will become famous soon enoughbigphil will become famous soon enough
Hi Attila,

you could try fluent3DMeshToFoam instead of fluentMeshToFoam.

Philip
callmetao likes this.
bigphil is offline   Reply With Quote

Old   February 26, 2012, 12:08
Default
  #3
Senior Member
 
Attesz's Avatar
 
Attesz
Join Date: Mar 2009
Posts: 355
Rep Power: 8
Attesz is an unknown quantity at this point
Hi,

thanks, I already tried it. Seems to me that fluentMeshToFoam doesn't handle multidomain mesh.

Now I can convert the mesh using fluent3DMeshToFoam. If I set the name of interface as "interface" OF recognizes and removes it so finally I have one domain. If I change the name of it to wall in ICEM, I'll have the wall inside the domain, but only one. I need 2 to use the AMI approach. Or am I wrong? What mesh manipulation utility can be used to double the interface and how?

Thank you in advance!
__________________
CFD= Cleverly Formatted Data
Attesz is offline   Reply With Quote

Old   February 26, 2012, 12:14
Default
  #4
Senior Member
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin,Ireland
Posts: 570
Rep Power: 19
bigphil will become famous soon enoughbigphil will become famous soon enough
Attila,

I am not sure how to split one wall into two.

I would export each region separately from ICEM to separate OpenFOAM cases and then merge them into one mesh (with two boundaries at the interface) using mergeMeshes.

Philip
bigphil is offline   Reply With Quote

Old   February 26, 2012, 12:25
Default
  #5
Senior Member
 
Attesz's Avatar
 
Attesz
Join Date: Mar 2009
Posts: 355
Rep Power: 8
Attesz is an unknown quantity at this point
Hi, thank you for your reply!

I made it on a testcase, but I'm getting errors.

I exported the two separate meshes as Fluent format, converted using fluent3DmeshToFoam and typed:
mergeMeshes OFsimulation OFsimulation2

executed from the root directory of these cases.




Quote:
Master: "OFsimulation" region region0
mesh to add: "OFsimulation2" region region0

Create Times
Reading master mesh for time = 0
Create mesh

Reading mesh to add for time = 0
Create mesh

Writing combined mesh to 1e-05
patch names:
6
(
INLET
WALL1
CYCLICAMI1
WALL2
OUTLET
CYCLICAMI2
)

patch types:
6
(
patch
wall
wall
wall
patch
wall
)

point zone names:
0
(
)

face zone names:
2
(
int_DOM1
int_DOM2
)

cell zone names:
2
(
DOM1
DOM2
)

Copying old patches
Adding new patches.


--> FOAM FATAL ERROR:
Illegal zoneID 1 for face 56180

From function resetZones(const polyMesh&, polyMesh&, labelListList&labelListList&, labelListList&)
in file polyTopoChange/polyTopoChange/polyTopoChange.C at line 1651.

FOAM aborting

#0 Foam::error:rintStack(Foam::Ostream&) in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::error::abort() in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 Foam:olyTopoChange::resetZones(Foam:olyMesh const&, Foam:olyMesh&, Foam::List<Foam::List<int> >&, Foam::List<Foam::List<int> >&, Foam::List<Foam::List<int> >&) const in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libdynamicMesh.so"
#3 Foam:olyTopoChange::changeMesh(Foam:olyMesh&, bool, bool, bool, bool) in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libdynamicMesh.so"
#4
in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/mergeMeshes"
#5
in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/mergeMeshes"
#6 __libc_start_main in "/lib64/libc.so.6"
#7
in "/software/oss/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/mergeMeshes"
Aborted (core dumped)
__________________
CFD= Cleverly Formatted Data
Attesz is offline   Reply With Quote

Old   February 26, 2012, 12:31
Default
  #6
Senior Member
 
Attesz's Avatar
 
Attesz
Join Date: Mar 2009
Posts: 355
Rep Power: 8
Attesz is an unknown quantity at this point
I've started over, and now I have the merged mesh, but in the directory belongs to the first time step. Do you know why? Should I copy the results to the constant/ploymesh directory?

Thank you very much!
__________________
CFD= Cleverly Formatted Data
Attesz is offline   Reply With Quote

Old   February 26, 2012, 12:42
Default
  #7
Senior Member
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin,Ireland
Posts: 570
Rep Power: 19
bigphil will become famous soon enoughbigphil will become famous soon enough
Quote:
Originally Posted by Attesz View Post
I've started over, and now I have the merged mesh, but in the directory belongs to the first time step. Do you know why? Should I copy the results to the constant/ploymesh directory?
Yes, mergeMeshes puts the new merged meshes in a new time directory so you can copy the new mesh to constant/polyMesh.

Philip
bigphil is offline   Reply With Quote

Old   February 26, 2012, 12:43
Default
  #8
Senior Member
 
Attesz's Avatar
 
Attesz
Join Date: Mar 2009
Posts: 355
Rep Power: 8
Attesz is an unknown quantity at this point
Thank you Philip, it should be OK now.

Have a nice day,
Attila
__________________
CFD= Cleverly Formatted Data
Attesz is offline   Reply With Quote

Old   February 26, 2012, 18:27
Default
  #9
Senior Member
 
Attesz's Avatar
 
Attesz
Join Date: Mar 2009
Posts: 355
Rep Power: 8
Attesz is an unknown quantity at this point
And indeed, the method is working perfectly. So for other who are interested:

1. Create the mesh in icem, using 1 face as interface
2. save every domain separately by deleting the other parts for instance. save with the interfaces, by rename it to AMI1 for example. The other domain will have AMI2 obviously
3. export the mesh using fluent V6 format
4. create separate case directories, put the .msh files there
5. run fluent3DMeshToFoam for every directories
6. run mergeMeshes masterDict Slavedict command as many times as much domains you have
7. modifiy the files in constant, system and 0 directory as usual (by using the propeller tutorial for instance)

and it should work.

Thanks again to Philip.
__________________
CFD= Cleverly Formatted Data
Attesz is offline   Reply With Quote

Old   April 3, 2012, 12:00
Default
  #10
Senior Member
 
mahdi abdollahzadeh
Join Date: Mar 2011
Location: Covilha,Portugal
Posts: 149
Rep Power: 6
mm.abdollahzadeh is on a distinguished road
Quote:
Originally Posted by Attesz View Post
And indeed, the method is working perfectly. So for other who are interested:

1. Create the mesh in icem, using 1 face as interface
2. save every domain separately by deleting the other parts for instance. save with the interfaces, by rename it to AMI1 for example. The other domain will have AMI2 obviously
3. export the mesh using fluent V6 format
4. create separate case directories, put the .msh files there
5. run fluent3DMeshToFoam for every directories
6. run mergeMeshes masterDict Slavedict command as many times as much domains you have
7. modifiy the files in constant, system and 0 directory as usual (by using the propeller tutorial for instance)

and it should work.

Thanks again to Philip.
Dear Attesz

I have tried using chtMultiregionFoam for conjucate heat transfer. when you tranfoem the grid from fluent to openfoam and try SpiltRegions utility, it creates an interface between the two zones. on that interface , there is one boundary condition in Zone1 and another boundary Condition for Zone2.

but imagine if i have a solid block in the flow stream which two of two of its faces are insulated and the remainging are conductive. in that case how can i define a boundary condition?!!! ( the interface between solid and liquid will be one patch).

Best
Mehdi
mm.abdollahzadeh is offline   Reply With Quote

Old   April 12, 2012, 08:19
Default
  #11
Senior Member
 
Attesz's Avatar
 
Attesz
Join Date: Mar 2009
Posts: 355
Rep Power: 8
Attesz is an unknown quantity at this point
I'm not experienced in it, sorry. Do you really need two patches on the fluid-solid interface? In this case it should be consistent, I mean same heat flux etc. If you want it insulated, you can use heat flux = 0 BC as well, but I really don't have experience with it in OpenFOAM.

Good luck
__________________
CFD= Cleverly Formatted Data
Attesz is offline   Reply With Quote

Old   December 25, 2012, 11:08
Default
  #12
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 676
Rep Power: 8
sharonyue is on a distinguished road
Quote:
Originally Posted by Attesz View Post
And indeed, the method is working perfectly. So for other who are interested:

1. Create the mesh in icem, using 1 face as interface
2. save every domain separately by deleting the other parts for instance. save with the interfaces, by rename it to AMI1 for example. The other domain will have AMI2 obviously
3. export the mesh using fluent V6 format
4. create separate case directories, put the .msh files there
5. run fluent3DMeshToFoam for every directories
6. run mergeMeshes masterDict Slavedict command as many times as much domains you have
7. modifiy the files in constant, system and 0 directory as usual (by using the propeller tutorial for instance)

and it should work.

Thanks again to Philip.

Hi Attesz

I do the similar things with you , but I just delete the interface shell mesh and delete the interface surface. I do nothing with AMI, while Openfoam still can run and the velocity is satisfactory... why is this happen?
sharonyue is offline   Reply With Quote

Old   May 2, 2013, 10:52
Default
  #13
New Member
 
Join Date: Sep 2011
Posts: 14
Rep Power: 5
waiter120 is on a distinguished road
Hello, for everyone. I want share my solution of converting ICEM CFD hex mesh to OpenFOAM mesh.
This was found thanks to this amazing forum and all of its users.

So my recipe is like that.

1. Prepare mesh in ICEM CFD with all name selections
2. Export it to FLUENT_V6 (for my present experience, you don’t need specify BC in Output -> Boundary Condition (If I am wrong, please correct me))
3. Read mesh in FLUENT
4. Modify names of BC
4a. If you case is multi region (like chtMultiregionFoam). In FLUENT change type of coupled wall. From Wall to Interior (+ add interior- prefix to its name)
5. Change write-type to ascii “file/ binary-files? no”
6. Write .cas file
7. In OpenFOAM work directory
7a. fluentMeshToFoam –wrireZones fluent.cas
7b. splitMeshRegions -cellZones -overwrite

That’s ALL )))
vasava likes this.
waiter120 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
2D Mesh Generation Tutorial for GMSH aeroslacker Open Source Meshers: Gmsh, Netgen, CGNS, ... 12 January 19, 2012 04:52
[ICEM] Problem making structured mesh on a surface froztbear ANSYS Meshing & Geometry 4 November 10, 2011 09:52
Mesh Conversion Problem ms903 OpenFOAM Running, Solving & CFD 0 October 16, 2006 13:39
The problem with GAMBIT - using two mesh sizes. Owen FLUENT 2 June 22, 2005 05:16
unstructured vs. structured grids Frank Muldoon Main CFD Forum 1 January 5, 1999 11:09


All times are GMT -4. The time now is 14:36.