CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   OpenFOAM 2.1.x - AMI (Arbitrary Mesh Interface) (https://www.cfd-online.com/Forums/openfoam-solving/95476-openfoam-2-1-x-ami-arbitrary-mesh-interface.html)

immortality February 6, 2013 09:13

thank you.I figured out the subject.a little thing i should correct is that sides are constant and i want to move channels in the middle altogether between ports that are stationary.

wiedangel February 6, 2013 09:28

yeah, it is not important what moves and not ;) only that you have partial overlapping in your geometry.

In GGI one can do that, but I know there is some kind of a sliding interface method to do that in OF. Some people who do combustion work with that a lot. I think you can find some help in checking some 1.6-ext tutorials.

wiedangel February 6, 2013 09:34

yeah, it is not important what moves and not ;) only that you have partial overlapping in your geometry.

In GGI one can do that, but I know there is some kind of a sliding interface method to do that in OF. Some people who do combustion work with that a lot. I think you can find some help in checking some 1.6-ext tutorials.

immortality February 6, 2013 13:39

should i install OpenFOAM extended version to use GGI or it can be compiled on ordinary version?

wiedangel February 8, 2013 03:04

if you want to use GGI you have to install the 1.6-ext version. Did you find any thing concerning sliding interfaces? I think there was a talk about it in the last OpenFoam workshop, but I am not sure. Here is the link:
http://www.openfoamworkshop.org/2012/OFW7.html
Good luck with your simulation.

timo_IHS February 11, 2013 04:23

Hello everyone,

I don't know if it is a bug, but I figured out following problem:
in a case with stationary-rotating-stationary part with rotating mesh (pimpleDyMFoam) and coupled with cyclicAMI in the first time step the interpolation weights are wrong.
This leads to a complete wrong pressure field in the first time step.

You can download a simple test case with a rotating pipe between stationary parts.

http://www.file-upload.net/download-...peBug.tgz.html

Best regards,
Timo

timo_IHS February 11, 2013 11:09

Bug is fixed:
http://www.openfoam.org/mantisbt/view.php?id=740

immortality April 29, 2013 16:35

Quote:

Originally Posted by timo_IHS (Post 407174)

hi
I downloaded and executed but this error occurs:
Code:

Build  : 2.2.0-b363e8d14789
Exec  : pimpleDyMFoam
Date  : Apr 30 2013
Time  : 01:05:16
Host  : "Ehsan-com"
PID    : 23171
Case  : /home/ehsan/Desktop/pipeBug
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

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

Create mesh for time = 0

Selecting dynamicFvMesh solidBodyMotionFvMesh
Selecting solid-body motion function rotatingMotion
Applying solid body motion to cellZone movingCells
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigSegv::sigHandler(int) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  in "/lib/x86_64-linux-gnu/libc.so.6"
#3  Foam::solidBodyMotionFvMesh::solidBodyMotionFvMesh(Foam::IOobject const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libdynamicFvMesh.so"
#4  Foam::dynamicFvMesh::addIOobjectConstructorToTable<Foam::solidBodyMotionFvMesh>::New(Foam::IOobject const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libdynamicFvMesh.so"
#5  Foam::dynamicFvMesh::New(Foam::IOobject const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libdynamicFvMesh.so"
#6 
 in "/opt/openfoam220/platforms/linux64GccDPOpt/bin/pimpleDyMFoam"
#7  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#8 
 in "/opt/openfoam220/platforms/linux64GccDPOpt/bin/pimpleDyMFoam"
Segmentation fault

why?

tehache June 19, 2013 09:55

Hi everybody,

As this thread has among other things also been about overlapping and not overlapping AMI's I hope not to be hijacking it by asking the following:

I would like to construct an AMI interpolation where on one side (say source patch) I have one patch, which is coupled to two other patches (say target patches), which together cover the source patch completely, and viceversa. The interface between the two patches will be sliding across the one patch.
Finally, this shall develop into a multi region coupling where a boundary between regions can slide along the boundary of a third region, probably by inheriting from AMI coupled patch and something like the temperatureCoupledBase patch field.

Currently I think I should perhaps join the two target patches, and use one of these constructors:

template<class SourcePatch, class TargetPatch>Foam::AMIInterpolation<SourcePatch, TargetPatch>::AMIInterpolation ( const SourcePatch& srcPatch,
const TargetPatch& tgtPatch,...

--- or ----:

AMIInterpolation (const SourcePatch &srcPatch, const TargetPatch &tgtPatch, const autoPtr< searchableSurface > &surf, ...

However, I have not yet been able to figure out which types are allowable as SourcePatch/targetPatch - could that just be a list of faces? If so, I could just construct a faceList from my two target patches and use that for interpolation?

Or what about the second constructor: Could I construct a searchableSurface from the two target patches and use that for interpolation?

I could probably figure this out myself - but have to admit I am secretly hoping someone has already made some experience with this and would share the best way how to do this, or like to discuss it.
And, b.t.w., I would like to stick with the OpenCFD version, so GGI seems not to be an alternative. (Nothing against the ext version, but feels like a lot of trouble to live in both worlds :))

Himanshu_kpr December 4, 2013 19:52

Partial Overlap GGI
 
Hello everybody,

I am working on GGI for a project. I am unable to follow the concept of partial overlap GGI. Can somebody explain this ?

arashfluid January 2, 2014 07:43

AMI in pointwise mesh for airfoil
 
1 Attachment(s)
Hi
I want to use the AMI interpolation to interface between external and internal domain in airfoil mesh. Internal domain is O-type and external is rectangular shap (CinHmesh).I want to apply a non-conformal sliding interface in my work to take into account the pitching motion of the solid body.The central circular portion of the mesh is free to rotate around the z-axis.I use pimpleDyMFoam solver for flapping motion of airfoil.I have created grid using the pointwise software.
How do I define interface in pointwise?
How do I use AMI?

jvd.mechanic June 17, 2014 11:14

what is AMI ?
 
hi every body
I'm trying to solve my case with rhoPimpleDymFoam
When I write rhoPimpleDymFoam in terminal , my case solves correctly but when I want to solve by parallel situation,it give me this error in log.rhoPimpleDymFoam :
mpirun noticed that process rank 2 with PID 3543 on node jvd-K53SV exited on signal 8 (Floating point exception).

I don't understand any thing of this error.Can every body help me to solve this error?
a person said me that i must use the AMI approach.i don't know any thing about that and how i can use that.i ask from that person to say me that how i can use that but hi didn't answer me.can anybody help me pls ?
Thanks before
JVD

arashfluid June 17, 2014 13:43

Quote:

Originally Posted by jvd.mechanic (Post 497415)
hi every body
I'm trying to solve my case with rhoPimpleDymFoam
When I write rhoPimpleDymFoam in terminal , my case solves correctly but when I want to solve by parallel situation,it give me this error in log.rhoPimpleDymFoam :
mpirun noticed that process rank 2 with PID 3543 on node jvd-K53SV exited on signal 8 (Floating point exception).

I don't understand any thing of this error.Can every body help me to solve this error?
a person said me that i must use the AMI approach.i don't know any thing about that and how i can use that.i ask from that person to say me that how i can use that but hi didn't answer me.can anybody help me pls ?
Thanks before
JVD

Hi javad

You can use the following :

1. start with your mesh ... you have one wall for AMI_stator and one wall for AMI_rotor

1. checkMesh -->

1. use splitMeshRegions -makeCellZones -overwrite if the two regions are not connected (so the don't share any node)

post # 185
http://www.cfd-online.com/Forums/ope...ng-ami-10.html
1. checkMesh --> your mesh should now have 2 Regions

1. change your walls AMI_stator and AMI_rotor to

AMI_stator
{
type cyclicAMI;
inGroups 1(cyclicAMI); //comes from snappy...not important
nFaces number of faces (stands here automatically);
startFace 1; (stands here automatically)
matchTolerance 0.0001; // do not know if it is important ...never changed that
transform noOrdering;
neighbourPatch AMI_rotor;
}
AMI_rotor
{
type cyclicAMI;
inGroups 1(cyclicAMI);
nFaces number of faces (stands here automatically);
startFace 10; (stands here automatically)
matchTolerance 0.0001;
transform noOrdering;
neighbourPatch AMI_stator;
}

have also a look in the propeller tutorial in OpenFOAM ... .../tutorials/incompressible/pimpleDyMFoam/propeller

There are much more commands ... some you don't need if your mesh has two regions ...

if you are ready try the "solver" moveDynamicMesh --> only rotates the mesh and show you how good your AMI is ... the AMI weights should be around 1 ...if there is a problem and the min weights goes down to 0 ... you must start with a new mesh ...

have fun ;-)

shincoast March 8, 2016 09:54

Quote:

Originally Posted by arashfluid (Post 468366)
Hi
I want to use the AMI interpolation to interface between external and internal domain in airfoil mesh. Internal domain is O-type and external is rectangular shap (CinHmesh).I want to apply a non-conformal sliding interface in my work to take into account the pitching motion of the solid body.The central circular portion of the mesh is free to rotate around the z-axis.I use pimpleDyMFoam solver for flapping motion of airfoil.I have created grid using the pointwise software.
How do I define interface in pointwise?
How do I use AMI?

do you have any idea to do this now? i need the similar problem as you.

syavash June 2, 2016 09:03

Problem set up
 
Quote:

Originally Posted by arashfluid (Post 497437)
Hi javad

You can use the following :

1. start with your mesh ... you have one wall for AMI_stator and one wall for AMI_rotor

1. checkMesh -->

1. use splitMeshRegions -makeCellZones -overwrite if the two regions are not connected (so the don't share any node)

post # 185
http://www.cfd-online.com/Forums/ope...ng-ami-10.html
1. checkMesh --> your mesh should now have 2 Regions

1. change your walls AMI_stator and AMI_rotor to

AMI_stator
{
type cyclicAMI;
inGroups 1(cyclicAMI); //comes from snappy...not important
nFaces number of faces (stands here automatically);
startFace 1; (stands here automatically)
matchTolerance 0.0001; // do not know if it is important ...never changed that
transform noOrdering;
neighbourPatch AMI_rotor;
}
AMI_rotor
{
type cyclicAMI;
inGroups 1(cyclicAMI);
nFaces number of faces (stands here automatically);
startFace 10; (stands here automatically)
matchTolerance 0.0001;
transform noOrdering;
neighbourPatch AMI_stator;
}

have also a look in the propeller tutorial in OpenFOAM ... .../tutorials/incompressible/pimpleDyMFoam/propeller

There are much more commands ... some you don't need if your mesh has two regions ...

if you are ready try the "solver" moveDynamicMesh --> only rotates the mesh and show you how good your AMI is ... the AMI weights should be around 1 ...if there is a problem and the min weights goes down to 0 ... you must start with a new mesh ...

have fun ;-)

Dear Arash,

Could you send me your case of pitching airfoil? I have been struggling to set up my problem correctly but no success has been yielded!

Thanks

arashfluid June 3, 2016 02:25

Quote:

Originally Posted by syavash (Post 603082)
Dear Arash,

Could you send me your case of pitching airfoil? I have been struggling to set up my problem correctly but no success has been yielded!

Thanks

Dear syavash,

Unfortunately, The file size is 1.87 MB and exceeds the forum's limit of 195.3 KB. It can be sent via email.

syavash June 3, 2016 06:06

Quote:

Originally Posted by arashfluid (Post 603227)
Dear syavash,

Unfortunately, The file size is 1.87 MB and exceeds the forum's limit of 195.3 KB. It can be sent via email.

Arash,

Thanks for your kind reply,

My e-mail address is: s.airyaman@gmail.com

I really appreciate your help and kindness,

Syavash

mhd_mrt March 16, 2017 20:46

Dear All,

I know its been a long time since this was posted. But Im trying to simulate flow around a pitching (only) NACA0012 airfoil in OpenFOAM. I use blockMesh and then snappyHexMesh to generate mesh around the airfoil. I then use topoSet to assign a cylinder (two circular patches in front and back of the mesh). I run simpleFoam for the AOA 11deg (took 6000 iterations to converge) and then use mapField command to map the flow field for initializing the transient simulation. Couple of questions,

I am using the oscillatingRotatingMotion in the dynamicMesh, but when I increase the amplitude anything higher than (0 0 2.0) which should be 2 rad/s correct? It fails due to floating point error. I also defined omega to be 1 rad/sec (hoping it would be ~ 60deg /sec ) but it was way slow so I ended up bumping it up to ~ 50rad/sec. but regardless, I want to increase amplitude so I can see vortex shedding but I dont know how the amplitude works. Will appreciate if anyone can explain.
Thanks


Sent from my iPhone using CFD Online Forum mobile app

louisgag March 17, 2017 01:32

Hi Mehdi,
From the top of my head, it seems that you may have a mesh problem or an issue with the definition of the center of rotation. Have you looked at what happens to the mesh when it actually does work? Do the AMI zones move as expected? Feel free to share your case if you want me to look at it...
Regards,
-Louis

mhd_mrt March 17, 2017 09:52

OpenFOAM 2.1.x - AMI (Arbitrary Mesh Interface)
 
Quote:

Originally Posted by louisgag (Post 641086)
Hi Mehdi,
From the top of my head, it seems that you may have a mesh problem or an issue with the definition of the center of rotation. Have you looked at what happens to the mesh when it actually does work? Do the AMI zones move as expected? Feel free to share your case if you want me to look at it...
Regards,
-Louis

Dear Luis,

Thanks for your reply. I think I figured it out. It was a mesh interference issue. I should use AMI to prevent this in future.

Thanks anyways


All times are GMT -4. The time now is 06:37.