Tank sloshing in ansys cfx
Hi,
I'm using 12.1 version and probably could move to 13. My goal is to model water sloshing in a storage tank under siesmic forces. I believe I should use VOF. Any suggestion on how to model this will be appreciated. Should I do this by changing the gravity vector or moving wall B.C. or moving mesh? Regrds; Hamed |
the wall need not be movable. If the tank has a symmetrical geometry, a plane of symmetry also has to be incorporated in the model, in short 1/4th or 1/2 of the tank need to be modeled. the mesh should be moving mesh at the plane of symmetry. for 3D slosh model, the moving mesh should be given from symmetry plane towards the wall but not essentially up to the wall.
|
This question has been asked many times before. Do a search to find previous posts.
But in short the easiest way is to move the gravity vector, but it only approximates the true motion so you have to assess whether the approximation is good enough. Moving mesh is the most correct way, but is much more computationally expensive. And sorry Haga, I have no idea what you are talking about. What have symmetry planes got to do with it? |
@ghorroks symmetry plane only for viewing the 2D slosh pattern. nothing else. am now trying different tank geometries. all are symmetric geometrically
|
Dear Ghorroks,
Thanks for your reply. Can you please help me on the moving mesh? I have a circular tank of 10m diameter and 6 meter height. Where should I specify the mesh motion? Should it be specified displacement with any particular equation? As Haga said can I model half of it and put symmetry BC or have to model all of it? For the gravity change, which you said is approximation, where can I apply the equation for the gravity change? I really appreciate your help. Regards; Hamed |
Hi again,
Sorry but I have two more questions. My tank is completely closed (no inlet and out let) so can I use moving wall for simulating the sloshing or as you said the best way is mesh motion? My second question: How can I know if I should use laminar or turbulent model? Any idea which turbulence model is better for this? Regards; |
No, make the entire tank a subdomain and move the subdomain to simulate the tank movement.
|
Thanks singer1812,
Can you please tell me how can I move the subdomain? Will this involve mesh motion? Regards; Hamed |
It is moving mesh, but you are moving the entire mesh (domain). Just create the subdomain, with your input function for mesh (tank) motion on the subdomain.
|
Dear Singer1812,
Thank you very much for your help. So if I have a tank which is fixed to ground which goes under a base movement of for example X=Asinwt, I should model the entire tank, put wall B.C on faces and create a subdoamin and put the mentioned equation for the sub domain as the mesh displacement input? Am i getting it right? Many thanks, |
That is the general idea. The mesh movement will work fine. If it is a high frequency movement, I am not sure how well or easy the simulation will run.
|
I usually just apply a general momentum source (on subdomain) with the known force definition. No mesh motion requred with this approach and no limitation on moving frequency.
"S=rho*a", where "a" denotes accerlation, =du/dt. Care should be taken with the sign of "a", it's opposite to the tank moving direction. |
Yes, this is a good approach, but note the application of an acceleration as a general momentum source is an approximation and may not be accurate for some types of flow. Need to assess whether it is suitable on a case-by-case basis.
|
@enghamed
check for any available experimental data on this
|
Quote:
Hello, i am also solving similar problem. circular tank under seismic load i have acc. vs frequency(example frequency converted in time period (5 sec. i have acc. value for that time period now i have to divide time period in 4 intervals of 1.25 each and simulteniously changing the direction of acceleration to simulate motion similar to to and fro motion) values i am loking for pressure on all walls due to seismic effect.I also want suggestion to solve it with dynamic mesh or with playing with acceleration values in operation conditons. |
Hello, i am also solving soloshing problem. circular tank under seismic load i have acc. vs frequency chart(floor spectrum)(example frequency converted in time period (5 sec. i have acc. value for that time period now i have to divide time period in 4 intervals of 1.25 each and simulteniously changing the direction of acceleration to simulate motion similar to to and fro motion) values i am loking for pressure on all walls due to seismic effect.I also want suggestion to solve it with dynamic mesh or with playing with acceleration values in operation conditons.
|
Quote:
|
I guess posting the same post three times is a quick way of getting your post count up.
To answer your question - you can solve it either by moving mesh or moving the gravity vector. Moving the gravity vector is simpler but does not account for all inertial effects - whether this is important in your case is up to you to decide. |
Quote:
|
This is th CFX forum, you won't get much Fluent help here. Try the fluent forum. And I do not give out my email to people on the forum. If you have a question or comment you can post it on the forum.
|
@ Glenn
Hi, pretty long time since I posted something here! Lateral sloshing can be simulated easily in CFX, but only managed to do so by lateral external excitation. How can the lateral slosh condition due to pitching be simulated?
|
With a moving mesh approach you can move the tank in any direction you like.
|
@ Glenn..
Yes, am trying to crack it that way. If you find something sometime pls add it up here. |
Help
Hi im new to CFD and i am trying to simulate tank sloshing for 10s but apparently my time does not run at all. It always get stuck at 0.0s even though the system is running. Can anyone help me with this? Help is greatly appreciated!
|
Please post your output file.
|
3 Attachment(s)
Hi as seen in the attached pictures, the water does not flow at all. The tank is moving at weird angles thou. Thanks for the help.
|
Your simulation is in Fluent. Try the fluent forum.
But two general comments - have you set the gravity vector? And have you run the simulation long enough that the fluid would move? |
10s is fair enough for simulation
|
Not necessarily, it depends on the length and viscosity scales (and a few other parameters, not sure what non-dimensional number that is). If the fluid is highly viscous it will take a while for the fluid to move enough that you will see it.
|
glenn is right..if viscosity, impulse time etc are high, 10s is insufficient
|
How to input 'sin' eqn as part of the operating conditon
Happy boxing day everyone. With reference to the sloshing tutorial, instead of moving the tank in -9.81m/s in the x direction, may i know how do i input the speed if my speed is in the form Asinwt where 'A= ampitute', 't = seconds' and 'w = 2*pi*f'. For example, how to input 2.5sin(80*pi)t where the tank is undergoing a vibratory motion in the x direction. Thanks for the help!
|
Replace the constant value with a CEL expression. Several CFX tutorials show how to use CEL expressions.
|
Quote:
Use CEL help to write functions.. 1st assign a func name say Gx.. and try as follows: Gx = 2.5 [mm] * sine((80 [rad/s] * pi()) * t [sec]) it depends on your omega, amp & timestep size. http://www.cfd-online.com/Forums/dat...AASUVORK5CYII= @ Glenn, Pl verify on the feasibility of this expression in CFX (actually I posted it without referring back)..so not sure if my memory is correct |
There are a few minor problems with the CEL, but they would stop it from working and end the simulation with an error:
1) The sine function is "sin", not "sine". 2) The pi variable is pi, not pi(). 3) The variable t is already in units of time. There is no need to define units for t as they are already defined. Note I have not checked these through CFX either, but hopefully they are correct. |
Thanks for the help, appreciate it! I will give it a try :)
|
Glenn, the CEL expressions have to be given such that each parameter is followed strictly by its unit in "[ ]"..otherwise you are correct.
Nathan, actually for acceleration as a variable expression, the 1st term in the sample excitation you asked would be steady state acceleration & not displacement. so the unit need to be "[mm/sec^2]" or so.. |
Quote:
|
here is a sample working expression
Gx = 2.5*sin(20*t[s]/1[s]) if after a particular time, this excitation has to stop, use step function for the value of Gx by giving it as a new expression. Then call it into the acceleration definition of the problem. |
I see, I was not aware an equation like that would even work.
Then I simply say it is bad practise. If the variable t is already a variable of time then the [s] is unnecessary, if the variable is of units other than time then I have no idea what it will do, but it sounds undefined. If you remove the [s] does it still return exactly the same result? |
if [s] is removed from t, then 1 [s] can also be removed, but there is inconsistency.
|
All times are GMT -4. The time now is 10:09. |