CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (http://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   From Pointwise to OpenFoam 2.1 cyclicAMI... (http://www.cfd-online.com/Forums/openfoam-meshing/98034-pointwise-openfoam-2-1-cyclicami.html)

lordvon March 1, 2012 14:34

From Pointwise to OpenFoam 2.1 cyclicAMI...
 
Hello all,

I have been using 1.5-dev ggi and I wanted to give 2.1 AMI a try.

I made a test unstructured mesh of a flat plate rotating in freestream using Pointwise 'T-Rex' boundary layer unstructured meshing technique.

Before I get into errors, could someone detail a procedure for starting up an AMI case from scratch? Given that I have an AMI tutorial case and my custom polyMesh files.

DE25VT March 16, 2012 02:36

How to use AMI
 
OpenFOAM Version 2.1
How to use cyclicAMI.

Assume that inlet and outlet are the patches you want to use as AMI.

1. Change the boundary-file in the constant/polymesh directory according to:

inlet
{
type cyclicAMI;
startFace 241031;
nFaces 318;
matchTolerance 0.0001;
neighbourPatch chamber_wall_shell;
transform noOrdering;
}

the same has to be done in the neighbourPatch.

2. In the 0-file change the pointMotion or pointDisplacement field or whatever you have given from the patch of the AMI to:
inlet
{
type cyclicAMI;
value &internalField;
}

3. Make faceSets out of the patchFields with the command:
setSet
faceSet AMI new patchToFace inlet
faceSet AMI add patchToFace outlet
quit

setsToZones -noFlipMap

4. Run the case

I hope this helps and is working.

jiejie June 13, 2012 03:50

Quote:

Originally Posted by lordvon (Post 347143)
Hello all,

I have been using 1.5-dev ggi and I wanted to give 2.1 AMI a try.

I made a test unstructured mesh of a flat plate rotating in freestream using Pointwise 'T-Rex' boundary layer unstructured meshing technique.

Before I get into errors, could someone detail a procedure for starting up an AMI case from scratch? Given that I have an AMI tutorial case and my custom polyMesh files.

Hi lordvon

Did you manage to get the case running? I am working with OF1.6-ext at the moment. Since my particle dynamics were implemented in the OF2.1.x, I would like to give AMI a try. However, the procedure to set up an AMI case was not well documented. It will be great if you can share some insight.

Thanks

Jie

jiejie June 13, 2012 03:54

Quote:

Originally Posted by DE25VT (Post 349772)
OpenFOAM Version 2.1
How to use cyclicAMI.

I hope this helps and is working.

Hi DE25VT

Can you share some advice if I want to set up the case as the followings instead of having inlet and outlet as AMI interface?

The flat bar is inside a rotating inner cylinder and the outer cylinder is stationary, the interface between the inner and outer cylinders are the AMI interface. How should we set it up in this case?

Thanks

Jie

KYPCK444 September 18, 2013 08:40

Quote:

Originally Posted by DE25VT (Post 349772)
OpenFOAM Version 2.1
How to use cyclicAMI.

Assume that inlet and outlet are the patches you want to use as AMI.

1. Change the boundary-file in the constant/polymesh directory according to:

inlet
{
type cyclicAMI;
startFace 241031;
nFaces 318;
matchTolerance 0.0001;
neighbourPatch chamber_wall_shell;
transform noOrdering;
}

the same has to be done in the neighbourPatch.

2. In the 0-file change the pointMotion or pointDisplacement field or whatever you have given from the patch of the AMI to:
inlet
{
type cyclicAMI;
value &internalField;
}

3. Make faceSets out of the patchFields with the command:
setSet
faceSet AMI new patchToFace inlet
faceSet AMI add patchToFace outlet
quit

setsToZones -noFlipMap

4. Run the case

I hope this helps and is working.

hi,

could someone explain a bit more about the third point? why is it necessary to run setSet?

I succesfully used cyclicAMI with inlet/outlet (see last post: http://www.cfd-online.com/Forums/ope...ber-faces.html), but the inlet and outlet fields I obtain are not good.
I just edited boundary file as suggested above, changed the 0/.... files, and ran the simulation.
am I missing something?

thanks

eRzBeNgEl January 17, 2014 11:08

1 Attachment(s)
I have also a problem with cyclicAMI Interfaces. I am simulating a 3D finite cylinder (see the picture of clipped domain in the attachement). Cyclic Interfaces should be top wall and bottom wall.

I followed all the instructions in this thread above:
Quote:

Assume that inlet and outlet are the patches you want to use as AMI.


1. Change the boundary-file in the constant/polymesh directory according to:


inlet
{
type cyclicAMI;
startFace 241031;
nFaces 318;
matchTolerance 0.0001;
neighbourPatch chamber_wall_shell;
transform noOrdering;
}


the same has to be done in the neighbourPatch.


2. In the 0-file change the pointMotion or pointDisplacement field or whatever you have given from the patch of the AMI to:
inlet.....


My log file results in following:
Quote:

reate time


Create mesh for time = 0


Reading transportProperties


Reading field p


Reading field U


Reading/calculating face flux field phi


AMI: Creating addressing and weights between 15372 source faces and 18669 target faces
--> FOAM Warning :
From function AMIInterpolation<SourcePatch, TargetPatch>::checkPatches(const SourcePatch&, const TargetPatch&)
in file lnInclude/AMIInterpolation.C at line 111
Source and target patch bounding boxes are not similar
source box span : (60 60 4.47063e-15)
target box span : (60 60 0)
source box : (-30 -30 -2.52093e-15) (30 30 1.94971e-15)
target box : (-30 -30 10) (30 30 10)
inflated target box : (-34.2426 -34.2426 5.75736) (34.2426 34.2426 14.2426)
^[OH


--> FOAM FATAL ERROR:
Unable to find initial target face


My U File and p file also boundary file are:
U:
Quote:

dimensions [0 1 -1 0 0 0 0];


internalField uniform (10 10 10);


boundaryField
{
in
{
type freestream;
freestreamValue $internalField;
}


out
{
type freestream;
freestreamValue $internalField;
}


cyl
{
type fixedValue;
value uniform (0 0 0);
}


top
{
type cyclicAMI;
value $internalField;
}


bottom
{
type cyclicAMI;
value $internalField;
}


p:
Quote:



dimensions [0 2 -2 0 0 0 0];


internalField uniform 0;


boundaryField
{
in
{
type freestreamPressure;
}


out
{
type freestreamPressure;
}


cyl
{
type zeroGradient;
}


top
{
type cyclicAMI;
value $internalField;
}


bottom
{
type cyclicAMI;
value $internalField;
}


boundary:
Quote:

5
(
bottom
{
type cyclicAMI;
nFaces 15372;
startFace 5081181;
matchTolerance 0.0001;
neighbourPatch top;
//transform translational;
//separationVector (0 0 1);
}
cyl
{
type wall;
nFaces 7497;
startFace 5096553;
}
in
{
type patch;
nFaces 4200;
startFace 5104050;
}
out
{
type patch;
nFaces 4200;
startFace 5108250;
}
top
{
type cyclicAMI;
nFaces 18669;
startFace 5112450;
matchTolerance 0.0001;
neighbourPatch bottom;
//transform translational;
//separationVector (0 0 -1);
}


Any ideas?


Thanks a lot

eRzBeNgEl January 27, 2014 08:38

I am struggling with this case for weeks, so I am open and grateful for any advice

Jetfire August 13, 2014 00:43

Hi,

Did anyone succeed in using the cyclicAMI Interface ?
I am trying to simulate flow over a rotating cylinder using MRF with cyclicAMI, any leads on how to define the AMI interface for this case?

effi December 29, 2014 16:08

Quote:

Originally Posted by eRzBeNgEl (Post 471961)
I am struggling with this case for weeks, so I am open and grateful for any advice

@eRzBeNgEl
Did you have any success? I'm now, too, running into the foam fatal error you got there

holodeck10 February 9, 2015 16:08

@eRzBeNgEl:

I think you need to give a transformation rule in the boundary file. In your case it should be translational. Then, for the separationVector, the z component should be the distance between both AMI patches. for the top patch it is -z and for the bottom patch z. Actually, very close to your boundary file without //, but maybe not 1 or -1 ...

Good luck!


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