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 |
did you checked your mesh motion?
No skewed cells or whatever? |
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 |
Does it mean that you defined the fluid interior as rigid body?
Is your motion in accordance with your wish? |
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 |
Quote:
Quote:
|
1 Attachment(s)
Quote:
don't know what to... Thanks for your support! |
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 |
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; |
the fluid domain around your flap doesn't seem to move
|
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!
|
before turning on your udf, check your motion with a simple velocity profile.
|
1 Attachment(s)
New update, Mesh motion is correct now, but when I initialize the solution, everything goes wrong.
|
initialized with your udf or profile?
|
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 |
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.
|
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. |
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 |
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:
Thank you. Kind regards, mamadreza |
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! :) |
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 |
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.:( |
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 |
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? |
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 |
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 |
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 |
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 |
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?
|
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 |
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 |
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 |
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 |
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 |
I'm sorry... Mamad
Too many hours working... :) |
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 |
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 |
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. |