CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   FLUENT (https://www.cfd-online.com/Forums/fluent/)
-   -   Dynamic mesh, hinged flap (https://www.cfd-online.com/Forums/fluent/75553-dynamic-mesh-hinged-flap.html)

Randre April 28, 2010 12:52

Dynamic mesh, hinged flap
 
2 Attachment(s)
Hi

I'm simulating the reaction of a hinged flap to the ocean waves in 2D and 3D. 2D mesh is triangular and 3d is tetrahedral. My domain repesents only the fluid zone, with the following BC:
top - pressure outlet
left wall - velocity inlet
right wall - wall
bottom - wall
flap - wall

When I run the simulation without moving mesh, only to check the propagation of the waves with the flap stationary all is well and the solution converges.

However, when I activate dynamic mesh method for rigid body motion, naming smoothing, remeshing and 6DOF, the solution diverges even with a very (very!) refined mesh.

The 6DOF UDF with DEFINE_SDOF_PROPERTIES macro only permits rotation in z-axxis and the dynamic mesh zones are: Flap (6DOF solver options - ON) and interior fluid ((6DOF solver options - ON and PASSIVE) and body CG is also considered.

Multiphase model: VOF, open channel flow, implicit body force
Turbulence model: k-e realizable

Solution methods
scheme: PISO
pressure: PRESTO!
momentum: 3rd order MUSCL
rest: default

Time step is 0.01s with 20 iterations TS.

What I am missing???

Best regards

-mAx- April 29, 2010 01:09

did you checked your mesh motion?
No skewed cells or whatever?

Randre April 29, 2010 04:52

i've checked mesh motion for a determined number of TS. The statistics (and warnings) with a 2D very refined mesh are the following:

Updating...
Warning: dynamic mesh zone 1 (flap wall) with different CG uses 6DOF...
6DOF flap::libudf:: reference CG (1.00100002e+1, -2.00000000e+0.000)
6DOF flap::libudf:: different CG (1.00100002e+1, -2.00000000e+0.000)
and exactly same warning for fluid interior. What about this warning, CG is the same! What does it mean?

Dynamic mesh statistics
Minimum volume = 5.00011e-004
maximum volume = 1.25002e-003
Maximum Cell Skew = 4.71557e-001

Wich are the same for each TS. Please, check first post for refined mesh / flap detail.

Thank you

-mAx- April 29, 2010 05:00

Does it mean that you defined the fluid interior as rigid body?
Is your motion in accordance with your wish?

Randre April 29, 2010 06:07

I didn't saw any motion... while it was doing calculations my mesh disappear (I've got display mesh option checked).

edit: Now i've made some changes and previewed mesh motion and all of the domain rotate (fluid + flap) and then stopped : Negative cell volume detected and the right wall of the domain was all messed up.

2nd edit: Well, i've made a research within fluentusers files and noticed something in example of 2D store separation:

"DM philosophy:

- Move the zone fluid-bl and wall-store using rigid body motion.
- The fluid-bl zone is moved with the store in order to maintain a high quality boundary mesh around store. "


which means that one possible error is my definition in dynamic mesh zones, I'm applying rigid body motion to ALL fluid domain....

I'm going to create a boundary zone around flap to check if it works.

One more question: it is possible to be something wrong with the flap definition? I've suppressed it from fluid zone an bottom wall now has a little gap

-mAx- April 29, 2010 07:47

Quote:

Originally Posted by Randre (Post 256809)
which means that one possible error is my definition in dynamic mesh zones, I'm applying rigid body motion to ALL fluid domain....

yes you need to define the region surrounding your flap with sypecify continuum tool (eg: to treat it separately as the remaining fluid domain.

Quote:

Originally Posted by Randre (Post 256809)
One more question: it is possible to be something wrong with the flap definition? I've suppressed it from fluid zone an bottom wall now has a little gap

post a picture prior to iterations, and another one with this issue

Randre April 29, 2010 10:13

1 Attachment(s)
Quote:

Originally Posted by -mAx- (Post 256827)
region surrounding your flap with sypecify continuum tool (eg: to treat it separately as the remaining fluid

Is that available were? My pre-processing software is DM / Meshing from WB 12 . I defined a separate box in DM, then remeshed all domain, but when I tested mesh motion all of the box has moved... :mad:

don't know what to...

Thanks for your support!

-mAx- April 30, 2010 01:19

Continuum Tool is for gambit.
For DM, I don't know, but for sure there should be something like the one in gambit. (Look in boundary conditions, or something like that)
...
Just for information, in your picture the box which has moved, doesn't seem to be connected to the other domain. Else you should receive error regarding skewed cells, etc...
Or pehaps you are dealing with interfaces

Randre April 30, 2010 11:35

1 Attachment(s)
Hi again

Got a new development. Check attach. How do I avoid that? I will try to increase mesh refinement around fluid block.

My fluid block is connected to two BC:
Bottom, in white - Wall;
at back, in yellow - Symmetry.

Could that be the reason to this error? My fluid block cannot be connected to other BC that aren't in my dynamic mesh zones?

And seems that the flap is rotating by its CG. How do I restrict rotation for its foundations?

My UDF is very simple, and I guess that it would do what I want, any help?

DEFINE_SDOF_PROPERTIES(flap, prop, dt, time, dtime)


{
/* Define the mass matrix */

prop[SDOF_MASS] = 480.0;
prop[SDOF_IXX] = 0.066667;
prop[SDOF_IYY] = 0.000167;
prop[SDOF_IZZ] = 0.288;

/* Define the Degrees of Freedom allowed - Only z rotation is allowed */

prop[SDOF_LOAD_LOCAL] = TRUE; /* Determine wheter the forces and moments are expressed in terms of global coordinates(false) or body coordinates
(true) */

prop[SDOF_ZERO_TRANS_X] = TRUE;
prop[SDOF_ZERO_TRANS_Y] = TRUE;
prop[SDOF_ZERO_TRANS_Z] = TRUE;
prop[SDOF_ZERO_ROT_X] = TRUE;
prop[SDOF_ZERO_ROT_Y] = TRUE;

-mAx- May 3, 2010 01:01

the fluid domain around your flap doesn't seem to move

Randre May 3, 2010 05:00

I've changed Dynamic Mesh conditions and now seems that the fluid domain around the flap ajusts to the movement. But something is wrong, when I initialize the solution the flap starts to move immediately in the opposite direction of flow! I need the flap to move when pressure conditions around it changes. Is something wrong with my UDF? I don't apply any force or momentum to it!

-mAx- May 3, 2010 05:34

before turning on your udf, check your motion with a simple velocity profile.

Randre May 3, 2010 06:08

1 Attachment(s)
New update, Mesh motion is correct now, but when I initialize the solution, everything goes wrong.

-mAx- May 3, 2010 06:42

initialized with your udf or profile?

Randre May 3, 2010 08:08

I've got two UDF's. One is related to ocean waves, where linear ocean wave theory is applied. The other one is presented in this thread. I've initialized with a constant velocity of 2 m/s at the inlet zone, and the result is also wrong.

Don't know why but the flap moves right in the first TS of my simulation, and that's inconsistent with the distance of it from velocity inlet boundary - 10 meters. The flap doesn't move due to pressure difference. Are BC wrong?

Thank you

Coffstah August 29, 2010 21:47

I'm trying to do something very similar to this. I am simulating a heart valve and I want the leaflets to rotate in only one direction, and was hoping to use the built in 6-dof. I am very confused by this discussion though. Particularly the sample UDF you posted Randre. I don't see any evidence of the properties you used to constrain only z rotation (i.e. SDOF_ZERO_ROT_X) in the documentation. Do these properties actually exist? Is there any documentation of them I can see? Is it actually possible to do this with the built in 6-dof, or do I have to calculate the motion on my own.

Randre September 1, 2010 15:49

Do you know the work of K.Dumont from Gent University about numerical modeling of heart valve dynamics? Try a quick search in google and you'll find out information related to it.
To restrict a certain object to only one degree of freedom, you will need to use the built in 6DOF solver in dynamic mesh options and the following UDF:

#include "udf.h"
{
DEFINE_SDOF_PROPERTIES(flap, prop, dt, time, dtime)

prop[SDOF_MASS] = x;
prop[SDOF_IXX] = x;
prop[SDOF_IYY] = xx;
prop[SDOF_IZZ] = xxx;

prop[SDOF_ZERO_TRANS_X] = TRUE;
prop[SDOF_ZERO_TRANS_Y] = TRUE;
prop[SDOF_ZERO_TRANS_Z] = TRUE;
prop[SDOF_ZERO_ROT_X] = TRUE;
prop[SDOF_ZERO_ROT_Y] = TRUE;
}
And this will restrict the translation movement in x,y,z and rotation in x and y.

giov_ingr March 23, 2011 18:39

Help please
 
Hello
I have a question about the
SDOF_ZERO_TRANS e SDOF_ZERO_ROT properties.
When I try to compile the UDF with these strings FLUENT shows me that it cannot recognize these strings :confused:.

Could you help me please?
Here there is my UDF

#include <stdio.h>
#include <math.h>
#include "udf.h"

DEFINE_CG_MOTION(CG, dt, vel, omega, time, dtime)
{
real ampl,disp,omg,count;

/* reset velocities */
NV_S (vel, =, 0.0);
}

DEFINE_SDOF_PROPERTIES(eolico, prop, dt, time, dtime)
{

prop[SDOF_MASS] = 0.022;
prop[SDOF_IXX] = 3e-3;
prop[SDOF_IYY] = 2e-5;
prop[SDOF_IZZ] = 3.02e-3;

prop[SDOF_LOAD_LOCAL] = TRUE;
prop[SDOF_ZERO_TRANS_X] = TRUE;
prop[SDOF_ZERO_TRANS_Y] = TRUE;
prop[SDOF_ZERO_TRANS_Z] = TRUE;
prop[SDOF_ZERO_ROT_X] = TRUE;
prop[SDOF_ZERO_ROT_Y] = TRUE;


printf ("\n2d_eolico Updated 6DOF properties");
}

Thank you for your attention

mamyjooooon April 9, 2011 12:40

Hello giovanni and Randre and...
I have the some problem about the
SDOF_ZERO_TRANS e SDOF_ZERO_ROT properties.

i want to solve flow in a radial turbine wheel(with high RPM).
Because the flow work is done on the blades to make the blades rotating,I decided to use dynamics mesh with 6dof.
When I try to compile the UDF,FLUENT shows me:

..\..\src\stage.c(6) : error C2065: 'SDOF_ZERO_TRANS_X' : undeclared identifier
..\..\src\stage.c(7) : error C2065: 'SDOF_ZERO_TRANS_Y' : undeclared identifier
..\..\src\stage.c(8) : error C2065: 'SDOF_ZERO_TRANS_Z' : undeclared identifier
..\..\src\stage.c(9) : error C2065: 'SDOF_ZERO_ROT_X' : undeclared identifier
..\..\src\stage.c(10) : error C2065: 'SDOF_ZERO_ROT_Y' : undeclared identifier

Here there is my UDF
Quote:


#include"udf.h"

DEFINE_SDOF_PROPERTIES(stage, prop, dt, time, dtime)
{

/* Define the mass matrix */

prop[SDOF_MASS] = 0.02;
prop[SDOF_IXX] = 0.000067;
prop[SDOF_IYY] = 0.000067;
prop[SDOF_IZZ] = 0.000288;

/* Define the Degrees of Freedom allowed - Only z rotation is allowed */

prop[SDOF_ZERO_TRANS_X] = TRUE;
prop[SDOF_ZERO_TRANS_Y] = TRUE;
prop[SDOF_ZERO_TRANS_Z] = TRUE;
prop[SDOF_ZERO_ROT_X] = TRUE;
prop[SDOF_ZERO_ROT_Y] = TRUE;
printf (
"\nstage: updated 6DOF properties");
}


Could you help me please?
Thank you. Kind regards, mamadreza

giov_ingr April 9, 2011 12:53

Answer
 
hello mamyjoooon,
I have the answer...
The SDOF properties about the zero trans and zero rot are valid only for ansys fluent!! I think from the 10.0 version until 13.0 one.
I used my UDF on ANSYS FLUENT 13.0 and finally it works!!
If anybody knows how to set these properties on fluent 6.2 version please tell me.

Have a good work! :)

mamyjooooon April 12, 2011 04:03

hi giovanni
Thanks for your reply!
I have problem in the compiled UDF with ANSYS FLUENT 12!
I used visual studio 2008 to compile udf in fluent 6.3.26,but it can't find this version of fluent(12)
how can I compile udf in ANSYS FLUENT 12?
Thank you

giov_ingr April 12, 2011 16:58

Compiling UDF in ANSYS
 
Hi mamyjooon,
I can explain you how to start ANSYS FLUENT able to compile UDFs. I have never tried to start ANSYS WORKBENCH able to compile UDFs.

The answer to your question is:

>Start the Visual Studio 2008 Prompt Command windows.

>After that, you must go into the following directory (or something like that):

C:\Program Files\ANSYS Inc\V120\fluent\fluent12.0.0\launcher\ntx86

>Now, writing the command: launcher1 you will open the fluent startup windows. Set your configuration and launch the program.

Try to compile your UDFs.

Let me now if this post solve your problem. If not, contact me because it means that you need to set your environment variables. :D

Regards and apologize for my english.:(

mamyjooooon April 15, 2011 13:19

hi giovanni
thank you very much for reply
my problem is solved with your help.I used the environment variables.
but i have new problem,when i solved my case,after some time steps,my solution encountered with various errors like "skewness exceed 0.98 " and "negative volume detected" and "Divergence detected".
meantime I am using both smoothing and remeshing methods.
are errors because the mesh is too coarse,also can I use the Remeshing and Smoothing for structure mesh on Ansys Fluent 12?
can you help me to solve my problem and to remove my errors?
thanks for your attention

giov_ingr April 15, 2011 19:04

Reply
 
Hello mam,
after i sent the latest reply to your question, my ansys misteriously stopped to compile the UDFs and after 4 crazy days of work to fix it the result is that my windows crashed definitively :(
This is just to say that u must be happy that your machine works :D.

About your problem i need to know more about your geometry... you could post a mesh grid contour (only if it happens on a small region) after the skewness jumps to 0.98.

Anyways my idea is that there are 2 possible reasons:
1. The time step is too large
2. The sizing and remeshing start after a too large number of iterations.

In the Dynamic Mesh control panel between the options avaible on sizing, you could reduce the number of iterations and set a fixed values of maximum skewness value, forcing the mesh to be better.

Let me know about your progress.
Did you do Mesh Motion Preview? Have you looked properties of the blades to monitor the CG coordinates and velocities? Are they right?

regards...

PS. I have questions about your stuff? How many processors do you have and
how many volume cells there are in your case? What about your RAM?

mamyjooooon April 16, 2011 23:10

Hi dear giovanni
I use unstructured mesh in my geometry. the number of cells is about 300000 and
initial max skewness is 0.78. I think time step is small enough (1e-6 second), but
as you said the remeshing start after 50 iterations. In Dynamic Mesh control panel
i set number of iteration to default value (i.e. 10) and reduce the maximum skewness
value to 0.7; Since i constrained 5 DOF, there is no CG trans and it has rotation
only around z axis. These values remain logical and i checked them.
I use 4 processors and 4 GB memory of RAM.
I have previous problem yet, what's wrong?
I did'nt preview my mesh in mesh motion, is it necessary? can it help me?

Thanks
mamadreza

giov_ingr April 17, 2011 06:44

Reply
 
Hi dear mamadreza

I have no confidence with unstructured mesh, but 6dof works only with TETRAHEDRAL mesh.
The time step is small enough and for first instance i would set remeshing interval at 5 iterations.

About the mesh motion, it calculates the motion of the body without solve the NS equation for all the volume. It is a faster quality checker, and shows you the grid evolution until negative volume is checked.
I would set the max skewness value about 0.85 for 3d simulations, 0.75 is too restrictive and is lower than the value in input. (I don't know how this condition affects the remeshing).

About the dynamic mesh settings: What about ZONES PROPERTIES? I am sure you defined a stator zone, a deforming zone and a rigid wall. Have you thought about the possibility to set the deforming zones as rigid body and set it as passive? Does it affects the physics of your configuration?

Now I have a question for you. I am working with a very complex geometry and the best i have done until now is 6M elements with Gambit. Have you used ansys mesher or other programs or some particular method to obtain 0.3M elements?

Regards
giovanni

mamyjooooon April 17, 2011 23:24

hello dear giovanni

i have only a rigid zone(my rotor contains the twenty blades;which i defined all blades a rigid zone and fluid,inlet,outlet
are the stationry zone because of i defined nothing for their in the zone box,
although i'm not sure about this zones definition.

my friend,what's 0.3M elements or 6M elements?

meantime i am meshing with gambit 2.3.16
thanks

giov_ingr April 18, 2011 07:40

Dear friend,

M=10e6 :)
Anyways, about the zones, look up the dynamic mesh tutorials, like as the missile launch (not the silo launch) to understand the best settings for you case.
Definitively u need a zone between rotor blades and stationary because the remeshing and the sizing will not be applied to rigid or stationary zones, then the mesh fall into negative volume, cause to the movement of nodes on the blades faces.

When my laptot will be fixed i would like to start a comparative session of simulations to investigate dynamic mesh analisys, if you want.

Regards
Giovanni

qasimali April 18, 2011 16:16

hello guys, please help me out in my project. i wana know how to enter the inlet pressure in fluent as i am dealing with just 2d now, in practical suppose if i had 4 bar pressure at inlet then how much i mist give in fluent?

mamyjooooon April 20, 2011 15:23

Hi dear giovanni

I'm sorry for delay in reply.
I have the missile silo launch tutorial only and according to it i defiend
blade walls and fluid zone rigid body, and simulation has problem in remeshing yet.
My geometry has minimum cell volume equal to 10e-12 and maximum cell volume equal to 10e-10.
Dear friend, thanks for your suggestion. I become pleased to investigate
dynamic mesh analysis.
Thanks
mamadreza

giov_ingr April 25, 2011 11:07

Reply
 
Dear friend,

I'm sorry for the delay.

You should define the faces between rotor and stator as interfaces, they should be different and meshed with non-conformal mesh to avoid the sliding for the volumes during the simulation.

With gambit you can do this using the "split volume" command paying attention to the bidirectional and connect options... you must retain the subtracted volume wich must not be connected!!!

In boundary conditions now, you will find identical surfaces, but with different name, set them for stator and rotor and have a good work finally :)

Read on fluent manual how to set interfaces, is not difficult.

Regards
Giovanni

giov_ingr April 25, 2011 11:24

Reply Qasim
 
Dear Qasim

When you want to set a pressure conditions you must set the inlet edge as PRESSURE INLET and insert the value of pressure expressed in Pascal, or in bar if u change general settings, in the gauge total pressure value (i.e. 400000).

This implies that u will have a costant overpressure of 4 bar starting from the inlet and propagating over a domain with 1 atm pressure. (This affects the gas velocity as u can see in initializing solution panel)

If u want to set a general domain pressure of 4 bar (i.e. u want to analize an airfoil working at a different altitude (obviously in that case the pressure should decrease)) u must set the operating condition to 4 bar and set the over-under pressure in the inlet BC.

I hope to have been clear, if not send me a message.

Regards
Giovanni

mamyjooooon May 11, 2011 03:28

Dear Giovanni
Hi
I'm sorry for delay in reply.
I am simulating only a turbine rotor, so I haven't any interface
between rotor and stator.
I can't simulate my mesh yet. I'm challenging with negative volume
now. I tested several options in cell number and size, also different
dynamic mesh parameters. Also I reduced time step to 1e-6 seconds,
but I can't solve the problem.
I'm now trying about layering scheme.
please help me to solve my problem
Thanks for your help
Mamad reza

giov_ingr May 18, 2011 16:18

Dear Mamed,

To help you definitively i must see the geometry and the control volume, if you cannot show me the original ones, send me a draw or a scheme to completely understand the problem.
My personal email is giovanni.ingrassia@gmail.com.
I hope to have your news soon.

I am proud to announce you that my simulation started and the results looks like correct!

Regards,
Giovanni

giov_ingr May 18, 2011 16:27

I'm sorry... Mamad
Too many hours working... :)

mamyjooooon May 26, 2011 00:55

hi dear giovanni
i sent my simulation to your email
i am waiting for your reply
send for me as soon as possible,please
Thanks
mamadreza

mg.mithun February 25, 2014 01:21

Using 6dof for 3D turbine blade rotation
 
Hi, I am working on a problem where I have a turbine driven by the flow. My intention is to use 6dof and rotate the turbine along with the enclosed zone (similar to what we do in sliding mesh where layering, smoothing and remeshing will not take place).
The approach I am doing is
1. hooking 6dof to Turbine (which is defined as wall in BC) with 6dof-on, passive-off

2. Hooking 6dof to fluid Zone enclosing the turbine (which has all exterior surfaces defined as interface). The only wall inside the zone is turbine. here 6dof-on, passive-on

Will this kind of a strategy calculate fluid forces and moments on the turbine and rotate the turbine along with the zone enclosing it?

My axis of rotation is Y and I am restricting the all translation and x,z rotation using

prop[SDOF_LOAD_LOCAL] = TRUE;
prop[SDOF_ZERO_TRANS_X] = TRUE;
prop[SDOF_ZERO_TRANS_Y] = TRUE;
prop[SDOF_ZERO_TRANS_Z] = TRUE;
prop[SDOF_ZERO_ROT_X] = TRUE;
prop[SDOF_ZERO_ROT_Z] = TRUE;

Please discuss if you have some thoughts..
Mithun MG

shayegan August 9, 2014 10:40

Hi everyone

I have been working on moving projectile in barrel. I need udf for dynamic mesh(Six degree of freedom solver). can anyone help me?


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