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/)
-   -   How to simulate a displacement sliding motion (https://www.cfd-online.com/Forums/openfoam-solving/112726-how-simulate-displacement-sliding-motion.html)

immortality February 4, 2013 05:50

How to simulate a displacement sliding motion
 
i want to simulate a displacement sliding motion.how to start?

immortality February 5, 2013 10:53

hi
could someone introduce me a tutorial or example or article to simulation of compressible flow sliding mesh?

wyldckat February 5, 2013 11:08

Hi Ehsan,

Firstly, I'll remind you of one of details mentioned at http://www.cfd-online.com/Forums/ope...-get-help.html
Quote:

Originally Posted by niklas (Post 351117)
Don't hijack other threads and don't post the same question multiple times.
I see that some people post new questions in active threads cause they think this will attract more readers. Do not do this, since it makes it really hard to search the forum.

Secondly, what kind of sliding mesh are you looking for? MRF, GGI or AMI?

Best regards,
Bruno

immortality February 5, 2013 12:44

1 Attachment(s)
hi dear wyldckat
threads are subjects anyone encounters and maybe is the problem of some of other people too.one thing that is considerable in threads are their subjects.maybe the subject is propounded many years ago and its beginner doesn't check the site at all or any other possibilities has occur to him.but the matter is alive.
im sorry my friend.when someone is propound something related to the thread its not hijacking because threads are not ownership documents for anyone.
let's allow people company freely without force them our mental rules.thanks.
I don't know which method is suitable for my case.there are some channels in the case that all move from bottom to up with constant specified velocity.there are 4 ports at 2 sides of channels the fluid flowing in or out of channels through them.channels are moving and ports are stationary.between those should be sliding mesh at each side.which method is suitable with OpenCFD version of OpenFOAM?why?

wyldckat February 5, 2013 17:47

Quote:

Originally Posted by immortality (Post 406156)
hi dear wyldckat
threads are subjects anyone encounters and maybe is the problem of some of other people too.one thing that is considerable in threads are their subjects.maybe the subject is propounded many years ago and its beginner doesn't check the site at all or any other possibilities has occur to him.but the matter is alive.
im sorry my friend.when someone is propound something related to the thread its not hijacking because threads are not ownership documents for anyone.
let's allow people company freely without force them our mental rules.thanks.

Good points... but still, I guess you'll only understand what I meant when you start seeing the results of your own actions ;)

By the way, have you tried the IRC (Internet Relay Chat) OpenFOAM group? A quick access is through openfoamwiki.net: http://openfoamwiki.net/index.php/Special:WebChat - I think it's easiest to access if you're logged in.
I remembered this from your description, because in a single IRC room there can be several conversations going on at the same time and in nearly real time!


Quote:

Originally Posted by immortality (Post 406156)
I don't know which method is suitable for my case.there are some channels in the case that all move from bottom to up with constant specified velocity.there are 4 ports at 2 sides of channels the fluid flowing in or out of channels through them.channels are moving and ports are stationary.between those should be sliding mesh at each side.which method is suitable with OpenCFD version of OpenFOAM?why?

:eek: Awesome simulation! Although I can't see the connections to all of the other questions you've made in the past few weeks...

Anyway, I remember a similar application to yours: http://www.cfd-online.com/Forums/ope...tml#post368540 - :confused: you already posted on that thread... did you get an answer on that one?

I also noticed that you posted at http://www.cfd-online.com/Forums/ope...interface.html - from what I read on that thread and from what I can understand from your case description, you'll need something as described here:
Quote:

Originally Posted by philippose (Post 336554)
@Sandeep: Yes.... as you know, I have been after this quest for "GGI with large overlaps" for a long time now :-)! With the uncovered parts being retained as wall-type.

I am quite sure now (after looking a little deeper into the code), that this feature is not present in the AMI interface.

Which means that neither AMI nor GGI have this. At least, not at that time when the posts were written.
AFAIK, neither AMI nor GGI have been updated since then.

Mmm... have you found this presentation? http://www.personal.psu.edu/dab143/O...ney_slides.pdf
And this related one: http://www.opencae.jp/raw-attachment...2011_Kenny.pdf - it's from here: http://www.opencae.jp/wiki/%E3%82%AA...6%E3%83%A02011 - search for "Using OpenFOAM-1.6-ext's "DynamicTopoFvMesh and Mesquite Motion Solver" libraries to solve prescribed boundary motion problems."

You'll find some instructions on how to install dynamicTopoFvMesh on OpenFOAM 2.1.x (should work with 2.1.1) here: http://www.cfd-online.com/Forums/ope...oam-2-1-x.html and here: https://github.com/smenon/dynamicTop....x/Install.txt
You'll find a tutorial for this library here: https://github.com/ogoe/OpenFOAM-1.6...circCylinder3d

As for closing and opening zones with this library... the presentation "Using the dynamicTopoFvMesh class in OpenFOAM" does talk about "Adaptive Mesh Reconnection", but later it also indicates the limitation of:
Quote:

Crushing Cells
  • Currently does not support cell “crushing”
  • Example: complete valve closure for cylinder simulations
  • Potentially performed via coupling with a GGI patch

These are in essence... very advanced OpenFOAM (related) features, some of which aren't even implemented yet!

edit: read this thread as well, since it has some additional info that might be helpful for you: http://www.cfd-online.com/Forums/ope...w-1-6-ext.html

Best regards,
Bruno

immortality February 5, 2013 18:40

ok.thanks.

immortality February 8, 2013 12:07

Hi again
I read an article briefly said that "topoChangerFvMesh" class and its subclass:"linearValveFvMesh" are usefull and suitable for my sliding mesh case.
they are part of the OpenCFD version OpenFOAM itself not any external library.
where can i find a probable tutorial or guidance?does it mean that there is no need to GGI or something like that?

immortality February 8, 2013 15:27

thank you very much dear Bruno for this complete explaination.i have to ask so that can find a solution to problems as well as other my efforts.good friends always remain in minds after difficulties although they were very far away.

philippose February 8, 2013 15:42

Hello there,

A Good Evening to you!

I thought its probably time to clear up some of the questions in this post.

So.... to summarize what I have understood so far, you want to simulate a system which requires a sliding interface, where there are a large number of uncovered faces which during the simulation change into internal faces, and vice versa.

The uncovered faces need to be considered as normal walls, whereas the internal faces have to be part of the active flow region in the simulation.

In order to simulate something of this nature with OpenFOAM, you currently have only one option:

** the Sliding Interface ** which is present in the OpenFOAM-extend line of the software.

As of now, neither the AMI (Arbitrary Mesh Interface) nor the GGI (Generalized Grid Interface) implementations present in OpenFOAM support simulations which contain a large number of dynamically changing uncovered faces.

In principle, AMI and GGI are one and the same..... AMI is the name used in the mainstream OpenFOAM release from ESI, and GGI is the name used in the OpenFOAM-extend line of releases.


The dynamicTopoFvMesh library (with the Mesquite library) modified / improved by Sandeep Menon also does not support the kind of simulation you want to run.


As for the sliding interface...... There have been mixed reactions to this system. There are many people who seem to be successfully using the Sliding Interface, specially for simulating combustion engines. However, I have had a lot of issues with the Sliding Interface, because it has not been very robust / reliable in the simulations I have tried.


If you want to look into the Sliding Interface, I suggest you start by looking into the engine simulation tutorial cases already present in the OpenFOAM-extend releases.

As you have already seen, there is a linear valve library which uses the sliding interface to simulate valves (originally, valves in combustion engines). This might work as a good starting point from which you will have to modify the source code to fit your particular requirements (unless ofcourse, it works straight off in your case without any changes).


In any case, the Sliding Interface is very sensitive to the mesh you use, and since I am limited to using pure tetrahedral meshes, I have had only very limited success with this library.


Hope this helps you look in the right spots :-)!

Have a nice evening ahead!

Philippose

immortality February 9, 2013 05:57

thanks.then i should switch into extended version,right?
I have also a question about meshing.what does mean uncovered mesh you mentioned(when it is wall it will be uncovered)?how can i make outer part that is fixed?(especially when its wall).
I have been trying to do that with groovyBC but values at ports(especially outlet ports at right hand of mesh) goes very high and continuity explode abruptly.then it seems i have no way other than moving into sliding mesh.

philippose February 10, 2013 06:21

Hi again,

Good Afternoon!

In the geometry you had posted in another of your posts, the left and right sides of the geometry would be the inlet and outlet sides of the Wave-rotor.

Now, the inner moving part (the actual wave rotor part) is a set of horizontal channels which need to move up (or down depending on your simulation) as a whole (rigid body motion).

The interface between the wave rotor part and the inlet and outlet ports would need to keep alternating between boundary types "wall" and "internal face" as the wave rotor moves.

This means, that when you run a transient simulation, at different points in time, different parts of the interface will have to switch between wall and internal faces.

You will not be able to simulate this using grooveBC, because its not as simple as just changing the type of the patch.... you also need to handle all the variables be solved, and specially, if you are dealing with turbulent simulations, then things become a lot more complicated.

I think the only way you can do it as of now, is with the sliding mesh. I think you should be able to get it working for your case, because the actual sliding interfaces are flat surfaces, and if you can create hexahedral meshes, then the sliding interface library should be robust enough.

On the other hand, I think you will have to be very careful with the simulation and the meshing, because the wave-rotor essentially works by reflecting pressure waves between the two sides of the rotor.... This means you will have to deal with relatively high pressure gradients in the parts of the mesh which will be modified by the sliding interface, leading possibly to instablity and divergence in the solution.

Hope this helps!

Philippose

immortality February 10, 2013 16:54

very thanks to you phillipose.you have find out the essentials of wave rotor precisely.i surprised of that!
Then whats better to do with high gradiant at the end of channels in your opinion.does the finer mesh help or some works else?
Could you have a look at my groovyBC i have developed until now.
I change the boundary condition from ports to wall and viceversa.have a look may help not to start from zero on sliding mesh.thanks.


All times are GMT -4. The time now is 09:51.