CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   fluentMeshToFoam (http://www.cfd-online.com/Forums/openfoam/66876-fluentmeshtofoam.html)

preibie July 27, 2009 11:21

fluentMeshToFoam
 
Hallo,

I want to convert a Fluent msh File to OpenFoam. By using fluentMeshToFoam is a mistake (show below). Have anybody an Idea how I can concert a Fluent msh file to openFoam.

Thanks


/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Exec : fluentMeshToFoam brick.msh
Date : Jul 27 2009
Time : 17:15:35
Host : Fluent64-2
PID : 29859
Case : /home/preibisch/OpenFOAM/preibisch-1.5/run/brick
nProcs : 1

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Dimension of grid: 3
Number of points: 15410
Reading points
number of faces: 155152
Reading mixed faces
Reading mixed faces
8(c6d 18d8 4 3Reading mixed faces
Reading mixed faces
Reading mixed faces
Number of cells: 74714
Other readCellGroupData: 2 1 123da 1 2
Reading uniform cells
Read zone1:2 name:fluid patchTypeID:fluid
Reading zone data
Read zone1:3 name:periodic.1_shadow patchTypeID:shadow
Reading zone data
Read zone1:4 name:periodic.1 patchTypeID:periodic
Reading zone data
Read zone1:5 name:out patchTypeID:wall
Reading zone data
Read zone1:6 name:inner patchTypeID:wall
Reading zone data
Read zone1:8 name:default-interior patchTypeID:interior
Reading zone data


FINISHED LEXING


dimension of grid: 3
Creating shapes for 3-D cells
Building patch-less mesh...--> FOAM Warning :
From function polyMesh::polyMesh(... construct from shapes...)
in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 576
Found 11448 undefined faces in mesh; adding to default patch.
done.

Building boundary and internal patches.
Creating patch 0 for zone: 3 start: 1 end: 3180 type: shadow name: periodic.1_shadow


fluent patch type shadow not recognised.#0 Foam::error::printStack(Foam::Ostream&) in "/home/preibisch/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/preibisch/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 main in "/home/preibisch/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/fluentMeshToFoam"
#3 __libc_start_main in "/lib64/libc.so.6"
#4 __gxx_personality_v0 in "/home/preibisch/OpenFOAM/OpenFOAM-1.5/applications/bin/linux64GccDPOpt/fluentMeshToFoam"


From function fluentToFoam::main(int argc, char *argv[])
in file fluentMeshToFoam.L at line 1337.

FOAM aborting

Schag July 27, 2009 11:38

Hi,

it seems that OpenFOAM doesn't recognize the type Shadow from Fluent (Gambit?).
You can have a look at lines 1260 to 1340 of fluentMeshToFoam.L (thank you Henrik to make me open this file earlier today), shadow is not an option for a patch from fluent to openFoam.
What does "shadow" means for you? Is it an internal face, a patch, fan, wall...?

Regards,

Julien

preibie July 28, 2009 02:54

it is an internal wall i think, but how can I fix that problem?

Schag July 28, 2009 03:11

First, I don't think fluentMeshToFoam keeps internal faces (it didn't ever work for me, but I have to confess that I was not very persistent). Do you really need them?

Then, in Gambit, when creating boundary conditions, just choose another type than shadow (in this case, internal for example). If you don't need them, just don't mark them as boundary conditions.

Hope it helps...

Julien

preibie July 28, 2009 04:00

I found the "mistake": when you define a pair of two walls for periodic boundary conditions on gambit one of this two walls is a shadow wall. I defined them to a simple wall and fluentMeshToFoam run without problems.

But how I define a periodic boundary condition?:confused:

Schag July 28, 2009 04:02

Are you speaking about cyclic BC?

preibie July 28, 2009 04:19

I think yes. When a fluid element fly out of the domain by crossing one of this two walls. He comes in the domain again by crossing the other wall. Is this the definition for cyclic BC?

Schag July 28, 2009 04:31

I'm not familiar with cyclic BC, but I think this is the definition yes.

Maybe you should take a look there:
http://www.cfd-online.com/Forums/ope...-boundary.html

This topic seems to deal with your problem. I cannot do much more, sorry, I did not use cyclic BC yet. Good luck.

sivakumar October 4, 2012 15:13

Hi there,
I am trying to mesh the fan passage in gambit.
I dont know what is the problem in the mesh, its giving the following error.

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Dimension of grid: 3
Number of points: 808911
Reading points
number of faces: 2358500
Reading mixed faces
Reading mixed faces
8(fa1 1f40 4 3Reading mixed faces
Reading mixed faces
8(4651 6d60 6 5Reading mixed faces
Reading mixed faces
Reading mixed faces
Reading mixed faces
Reading mixed faces
Reading mixed faces
Reading mixed faces
Reading mixed faces
Reading mixed faces
Number of cells: 775000
Other readCellGroupData: 2 1 bd358 1 4
Reading uniform cells
Read zone1:2 name:fluid patchTypeID:fluid
Reading zone data
Read zone1:3 name:periodic_1_shadow patchTypeID:shadow
Reading zone data
Read zone1:4 name:periodic_1 patchTypeID:periodic
Reading zone data
Read zone1:5 name:periodic_2_shadow patchTypeID:shadow
Reading zone data
Read zone1:6 name:periodic_2 patchTypeID:periodic
Reading zone data
Read zone1:7 name:top_3 patchTypeID:wall
Reading zone data
Read zone1:8 name:top_2 patchTypeID:wall
Reading zone data
Read zone1:9 name:top_1 patchTypeID:wall
Reading zone data
Read zone1:10 name:center_2 patchTypeID:wall
Reading zone data
Read zone1:11 name:center_1 patchTypeID:wall
Reading zone data
Read zone1:12 name:fan patchTypeID:fan
Reading zone data
Read zone1:13 name:outlet patchTypeID:pressure-outlet
Reading zone data
Read zone1:14 name:inlet patchTypeID:velocity-inlet
Reading zone data
Read zone1:16 name:default-interior patchTypeID:interior
Reading zone data


FINISHED LEXING


dimension of grid: 3
Creating shapes for 3-D cells
Building patch-less mesh...--> FOAM Warning :
From function polyMesh::polyMesh(... construct from shapes...)
in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 614
Found 67000 undefined faces in mesh; adding to default patch.
done.

Building boundary and internal patches.
Creating patch 0 for zone: 3 start: 1 end: 4000 type: shadow name: periodic_1_shadow


--> FOAM FATAL ERROR:
fluent patch type shadow not recognised.

From function fluentToFoam::main(int argc, char *argv[])
in file fluentMeshToFoam.L at line 1344.

FOAM aborting

#0 Foam::error::printStack(Foam::Ostream&) in "/home/cerecam/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/cerecam/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2
in "/home/cerecam/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/bin/fluentMeshToFoam"
#3 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#4
in "/home/cerecam/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/bin/fluentMeshToFoam"
Aborted (core dumped)

I dont know what is the shadow, I didnt define anything like that.

can you please help me sort out this issue.

thanks and regards,
Siva

Bombolati October 4, 2012 18:02

Hi Siva, in my mesh the shadow patch was a patch that was coupled with an other one. For example you design a cylinder,to reduce the dimension of the file you do a clove of this cylinder. Now you have two sides that were the same surface before you do the clove,for example L1. In the mesher (as gambit) you assign a periodic boundary condition to L1 and its "brother". When you convert the mesh, OF sees L1 and L1_shadow. I hope that this hint will be useful.

sivakumar October 5, 2012 03:44

Hi Bombolati,
Thanks for your reply, i got the information regarding the shadow.
If it gives the full converted mesh then, i can edit the necessary files. but now its not converting the whole mesh, its giving the fatal error in between and it stopped converting the mesh.

see the message,

--> FOAM FATAL ERROR:
fluent patch type shadow not recognised.

From function fluentToFoam::main(int argc, char *argv[])
in file fluentMeshToFoam.L at line 1344.

FOAM aborting

#0 Foam::error::printStack(Foam::Ostream&) in "/home/cerecam/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/cerecam/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2
in "/home/cerecam/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/bin/fluentMeshToFoam"
#3 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#4
in "/home/cerecam/OpenFOAM/OpenFOAM-2.0.1/platforms/linux64GccDPOpt/bin/fluentMeshToFoam"
Aborted (core dumped)

what should i do now? please give me your idea.

Thanks and regards,
Siva

blacksquirrel October 5, 2012 03:54

Hello Siva,

You can try to simplify your boundary conditions in gambit, like using only velocity inlet, pressure outlet and wall for everything else (e.g. periodic boundarys).

And after you converted the mesh with Fluent(3D)MeshToFoam you can use the createPatch utility to create the patches you need from your "walls".

sivakumar October 5, 2012 04:01

Hi,
Thanks, nice idea. i will try now, then i will post result

thanks.

Siva

sivakumar October 5, 2012 06:47

Hi blacksquirrel,
As per you idea, I have generated the mesh with wall boundary condition.
Now i wan to use the createPatch utility, can you please explain it.
In which folder i need to execute the command?

blacksquirrel October 5, 2012 07:18

Hello Siva,

You execute createPatch from your "case" folder. It reads everything from the createPatchDict (http://openfoamwiki.net/index.php/CreatePatch) in the "case"/system folder.

What kind of boundaries do you want to create? Cyclic boundaries? I explained it in this thread:
http://www.cfd-online.com/Forums/ope...patchdict.html

wyldckat October 5, 2012 08:34

Greetings to all!
Quote:

Originally Posted by blacksquirrel (Post 385062)
What kind of boundaries do you want to create? Cyclic boundaries? I explained it in this thread:
http://www.cfd-online.com/Forums/ope...patchdict.html

FYI, I've moved that thread to here: http://www.cfd-online.com/Forums/ope...patchdict.html - I think it's easier to find it in the future, if it's located in the right sub-forum ;)

Best regards,
Bruno

sivakumar October 5, 2012 10:28

Hi there,
I have converted the .msh in to foam.
I got 2 errors,
firstly as follows,

--> FOAM FATAL ERROR:
face 6439 area does not match neighbour by 0.0103693% -- possible face ordering problem.
patch:OLR0 my area:0.000199448 neighbour area:0.000199427 matching tolerance:0.0001
Mesh face:1370739 fc:(0.0966635 -0.0215988 0.729129)
Neighbour fc:(0.0967883 -0.5304 0.500736)
If you are certain your matching is correct you can increase the 'matchTolerance' setting in the patch dictionary in the boundary file.
Rerun with cyclic debug flag set for more information.

then I have increased the matchTolerance 0.0001 to 0.001
then executed paraFoam

after that I am getting the error as follows,



--> FOAM FATAL ERROR:
More than six unsigned transforms detected:
6(((0 0 0) (1 1.57813e-06 -0.000193506 -0.000137946 0.707107 -0.707107 0.000135714 0.707107 0.707107) 1) ((0 0 0) (0.999999 3.64383e-05 -0.00152133 -0.00110151 0.707109 -0.707104 0.00104998 0.707105 0.707108) 1) ((0 0 0) (0.999996 7.7863e-05 -0.00275828 -0.00200544 0.707113 -0.707098 0.00189536 0.7071 0.707111) 1) ((0 0 0) (0.999992 0.000140037 -0.00401223 -0.00293604 0.70712 -0.707087 0.00273811 0.707093 0.707115) 1) ((0 0 0) (1 -0.000137946 0.000135714 1.57813e-06 0.707107 0.707107 -0.000193506 -0.707107 0.707107) 1) ((0 0 0) (0.999999 -0.00110151 0.00104998 3.64383e-05 0.707109 0.707105 -0.00152133 -0.707104 0.707108) 1))

From function void Foam::globalIndexAndTransform::determineTransforms ()
in file primitives/globalIndexAndTransform/globalIndexAndTransform.C at line 225.

can you guys help me.

Thanks,
Siva

blacksquirrel October 8, 2012 03:40

hello Siva,

I assume these errors occur while using the createPatch utility?

Then look in your createPatchDict. What is written in the "transform" options?
(e.g.
transform rotational;
rotationAxis (1 0 0);
rotationCentre (0 0 0); )

You maybe don't need to transform anything, so you can delete/comment the transform options.

sivakumar October 8, 2012 07:10

Dear blacksquirrel,
I am giving you the createPatchDict and my boundary file.
please have a look.
my createPatchDict :

// Patches to create.
patches
(
{
// Name of new patch
name ILR0;

// Dictionary to construct new patch from
patchInfo
{
type cyclic;
neighbourPatch ILR1;

// Optional non-default tolerance to be able to define cyclics
// on bad meshes
matchTolerance 1E-3;
}

// How to construct: either from 'patches' or 'set'
constructFrom patches;

// If constructFrom = patches : names of patches. Wildcards allowed.
patches (ILR_shadow);

}
{
// Name of new patch
name ILR1;

// Dictionary to construct new patch from
patchInfo
{
type cyclic;
neighbourPatch ILR0;

// Optional non-default tolerance to be able to define cyclics
// on bad meshes
matchTolerance 1E-3;
}

// How to construct: either from 'patches' or 'set'
constructFrom patches;

// If constructFrom = patches : names of patches. Wildcards allowed.
patches (ILR);

}
{
// Name of new patch
name OLR0;

// Dictionary to construct new patch from
patchInfo
{
type cyclic;
neighbourPatch OLR1;

// Optional non-default tolerance to be able to define cyclics
// on bad meshes
matchTolerance 1E-3;
}

// How to construct: either from 'patches' or 'set'
constructFrom patches;

// If constructFrom = patches : names of patches. Wildcards allowed.
patches (OLR_shadow);

}
{
// Name of new patch
name OLR1;

// Dictionary to construct new patch from
patchInfo
{
type cyclic;
neighbourPatch OLR0;

// Optional non-default tolerance to be able to define cyclics
// on bad meshes
matchTolerance 1E-3;
}

// How to construct: either from 'patches' or 'set'
constructFrom patches;

// If constructFrom = patches : names of patches. Wildcards allowed.
patches (OLR);

}
);

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

my boundary file is:

FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "1/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

12
(
fan
{
type wall;
nFaces 2800;
startFace 1357300;
}
top2
{
type wall;
nFaces 5600;
startFace 1360100;
}
top1
{
type wall;
nFaces 800;
startFace 1365700;
}
top0
{
type wall;
nFaces 2800;
startFace 1366500;
}
center1
{
type wall;
nFaces 5600;
startFace 1369300;
}
center0
{
type wall;
nFaces 2800;
startFace 1374900;
}
outlet
{
type patch;
nFaces 2000;
startFace 1377700;
}
inlet
{
type patch;
nFaces 2000;
startFace 1379700;
}
ILR0
{
type cyclic;
nFaces 3500;
startFace 1381700;
matchTolerance 0.001;
neighbourPatch ILR1;
}
ILR1
{
type cyclic;
nFaces 3500;
startFace 1385200;
matchTolerance 0.001;
neighbourPatch ILR0;
}
OLR0
{
type cyclic;
nFaces 7000;
startFace 1388700;
matchTolerance 0.001;
neighbourPatch OLR1;
}
OLR1
{
type cyclic;
nFaces 7000;
startFace 1395700;
matchTolerance 0.001;
neighbourPatch OLR0;
}
)

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

please help me to sort out this problem,

And what are the further steps I need to follow?

Thank you,
Siva

blacksquirrel October 8, 2012 07:41

I'm sorry, for me those two files look fine. Can you post a picture of your gambit mesh? Your error message said, that ILR and ILR_shadow (or OLR with shadow) doesn't match exactly. I had a similar error once and had to rotate one patch to match the other one.


All times are GMT -4. The time now is 13:17.