CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   Oscillating blade in a stationary domain? (https://www.cfd-online.com/Forums/cfx/240754-oscillating-blade-stationary-domain.html)

ehsan.bakhtiari January 23, 2022 03:08

Oscillating blade in a stationary domain?
 
3 Attachment(s)
I want to simulate an oscillating blade in a stationary domain in CFX, which involves a mesh deformation process.

I set the "Mesh Deformation" option as "Regions of Motion Specified", and to set the oscillating velocity of the blade, the "Mesh Motion" option of the blade settings tab is defined as "Surface of Revolution".
Under the "Mass and Momentum" tab, the "Wall Velocity" is checked and the velocity component is specified.
I wrote an expression for the oscillating velocity function which consists of a "cos" function with time, i.e., "cos(2*pi*f*t)".
When I set a velocity component as the expression function the following error appears:

"
CEL error:
The dimensions of the argument to function 'cos' are inconsistent with expected dimensions.
Argument dimensions resolve to 's'; expected 'rad'.
"

My first question: is my approach to simulate an oscillating object wrong?
the 2nd question: how can I fix the units of "cos" function"?

Any help would be appreciated.
Kind Regards
Attachment 88091

Attachment 88092

Attachment 88093

ghorrocks January 23, 2022 03:26

There are many mistakes I can see in what you have done. Rather than explain them it would be better for everybody if you did the tutorial examples which use moving mesh. This is the best way to learn how to use moving mesh capabilities in CFX.

ehsan.bakhtiari January 23, 2022 11:29

Quote:

Originally Posted by ghorrocks (Post 820784)
There are many mistakes I can see in what you have done. Rather than explain them it would be better for everybody if you did the tutorial examples which use moving mesh. This is the best way to learn how to use moving mesh capabilities in CFX.

Thank you so much, Glenn, for your reply.
I'll follow your suggestion.
But I didn't understand; you mean that CFX is not capable of deforming such a mesh? Please let me know.

ghorrocks January 23, 2022 17:31

Yes, CFX can do it.

ehsan.bakhtiari January 26, 2022 15:44

2 Attachment(s)
Quote:

Originally Posted by ghorrocks (Post 820829)
Yes, CFX can do it.

Thank you again for your reply, but I faced some other issues, Glenn.
Firstly, I've defined a rigid body with zero mass and inertia for the oscillating blade.
Then, the mesh motion of the body is set as "Rigid Body Solution", and to assign the oscillation velocity, the "Wall Velocity" is selected so as the written expression.
Under these settings, the body does move, but I've encountered the following issues:
1. the solver manager reported a non-converging warning of the rotational degrees of freedom of the blade. What is this exactly? Is this connected to the stiffness value of the mesh? Should I alter this value regarding this issue? I've uploaded the associated screenshot.
2. the aim of this problem is to simulate the oscillation of the object at EVERY TIMESTEP, but the solver solves the mesh deformation in EVERY COEFFICIENT LOOP ITERATION. This sounds weird because the defined velocity expression is based on the flow time, so the mesh should not be moved in every ITERATION.
3. Besides, is the considered approach to move the blade true? Since I've found only two tutorials in the manual (Ball valve and the FSI plate), and I think this is the best way.

I'd like to thank any help in advance.
Kind Regards

Attachment 88131

Attachment 88132

ghorrocks January 26, 2022 16:46

Your questions:
1) Non-convergence means the equation it is solving to determine the body's position has not converged. This involves the flow field, the body, its interaction and the numerical settings associated with it. It has nothing to do with the mesh stiffness.

2) The solver needs to determine the position of the body each time step, and the position is a coupled equation between the flow field and the body's motion. Hence it needs to iterate towards a solution, and hence it calculates every coefficient loop.

3) I do not know what you are trying to do and what you are trying to achieve. Please explain what you are trying to do more fully. What motion do you expect? How big is the motion? How is the blade supported?

But you appear to have made two other fundamental mistakes:
1) You are using a rigid body solver, but I suspect you are trying to model a flexible body. This would be a FSI simulation, not a rigid body simulation.
2) You are trying to move your body by applying a wall velocity. This option does not move the wall, it just makes the fluid cells adjacent to the wall use a wall velocity for the wall shear calculations. It does not move the body.

ehsan.bakhtiari January 27, 2022 04:05

3 Attachment(s)
Quote:

Originally Posted by ghorrocks (Post 821042)
Your questions:
1) Non-convergence means the equation it is solving to determine the body's position has not converged. This involves the flow field, the body, its interaction and the numerical settings associated with it. It has nothing to do with the mesh stiffness.

2) The solver needs to determine the position of the body each time step, and the position is a coupled equation between the flow field and the body's motion. Hence it needs to iterate towards a solution, and hence it calculates every coefficient loop.

3) I do not know what you are trying to do and what you are trying to achieve. Please explain what you are trying to do more fully. What motion do you expect? How big is the motion? How is the blade supported?

But you appear to have made two other fundamental mistakes:
1) You are using a rigid body solver, but I suspect you are trying to model a flexible body. This would be a FSI simulation, not a rigid body simulation.
2) You are trying to move your body by applying a wall velocity. This option does not move the wall, it just makes the fluid cells adjacent to the wall use a wall velocity for the wall shear calculations. It does not move the body.

Thank you so much, Glenn, for your help.

No, it is not an FSI-based problem; the problem is to simulate the dynamic harmonic motion of the body and to investigate its resultant aerodynamical effects. It has nothing to do with the solid.
Surprisingly, the blade has been moved. I've attached the moved mesh.
I still wonder why CFX updates and solves the mesh displacement at each Coefficient Loop; I understand the solver should solve the mesh movement, as well, at each ITERATION, but I'd expect the mesh not to be moved within each TIMESTEP because the expected motion is based on a "cos" function in TIME; whereas the different residuals of the "mesh displacement" from a Coefficient Loop to another show that the mesh is moved at every iteration, too.
BTW, I faced another issue: the mesh is generated using TURBOGRID and the topology of the mesh at both hub and shroud (upper and bottom sides) are very similar; but when I see the moved mesh, the topology of the deformed mesh at the sides is different, especially at the bottom side where there is a potential risk of a negative element. Have you ever faced a similar situation? What should I do?
Is there a way to avoid the convergence warning of the rotational equation?

Note that I've already solved the steady simulation of the stationary case with no problem and the mesh size is nearly 700,000 (in this section, the vane; the overall elements of the entire geometry are 5.2 million) and the Mach number is slightly higher than unity.

Again, thank you so much in advance.
Regards

Attachment 88139

Attachment 88140

Attachment 88141

ghorrocks January 27, 2022 05:25

Sorry, I misunderstood a few things there.

You appear to be doing this with a rigid body solver. This should be just a moving mesh simulation. Moving mesh simulations calculate the mesh deformation once at the start of the iteration only, and not at each coefficient loop.

Have a look at the CFX tutorials on moving mesh simulations (where the motion is pre-defined) - not rigid body simulations (where the motion is coupled to the fluid flow).

The folding mesh is a common problem: https://www.cfd-online.com/Wiki/Ansy..._went_wrong.3F

ehsan.bakhtiari January 28, 2022 02:29

Thanks, Glenn.
Supposedly, I must write a user FORTRAN, including the function for blade movement.
Unfortunately, CFX 2021 tutorial guide contains only the rigid body solutions, and older versions contain two tutorials: the Ball Valve and the oscillating plate FSI.
For the Ball Valve in the older versions, a function is reportedly written named "ValveFSI_expressions.ccl" to move the Ball, but I cannot find or download it.
How can I find this file? The "examples" folder on my PC does not have it.
Thanks.

ghorrocks January 28, 2022 03:03

You are right, there does not seem to be any mesh motion only tutorials any more.

Please post your output file and I will try to point out the things you have to change.

Gert-Jan January 28, 2022 09:31

I guess this is one of the ways ANSYS is directing people towards Fluent.

Opaque January 28, 2022 13:27

Still, I am not clear what you are trying to achieve with your model.

There is a tutorial, Fourier Transformation Blade Flutter, which shows how to do this kind of simulation: blade vibrating at a specified frequency. If you do not need the pitch change model, just do not activate it.

Are the mesh deformation equations being solved every coefficient loop? or solved at the start of the timestep and iteratively converged before the flow equations are solved? The latter is the default behavior if I recall correctly. Even for a finite deformation w/o any function of time, the equations are solved iteratively (read documentation for details)

ehsan.bakhtiari January 28, 2022 14:06

Quote:

Originally Posted by Opaque (Post 821190)
Still, I am not clear what you are trying to achieve with your model.

There is a tutorial, Fourier Transformation Blade Flutter, which shows how to do this kind of simulation: blade vibrating at a specified frequency. If you do not need the pitch change model, just do not activate it.

Are the mesh deformation equations being solved every coefficient loop? or solved at the start of the timestep and iteratively converged before the flow equations are solved? The latter is the default behavior if I recall correctly. Even for a finite deformation w/o any function of time, the equations are solved iteratively (read documentation for details)

Thanks.
No, it is not basically a TBR (transient blade row) model.
As shown in my previously uploaded pictures, the blade must be oscillating in a stationary domain. The domain at which the blade is present is physically static. So only the blade's wall mush be moved and the mesh must be definitely deformed.
Since I activated a Rigid Body solution, the mesh equations are being solved at every coefficient loop; but, supposedly, I just need to define deformation functions for the blade's wall BC, so that the mesh is being deformed within every timestep, not at every iteration. Sadly, I've found nothing in the tutorials in this regard. Thus, I wrote couple functions (based on a rotational matrix with respect to the secondary coordinate frame at the blade's edge as shown in the picture) for the "Specified Displacement" tab at which cartesian components can be set via the written expressions; but the mesh is badly twisted near the center of the rotation.

ehsan.bakhtiari January 28, 2022 14:08

Quote:

Originally Posted by ghorrocks (Post 821154)
You are right, there does not seem to be any mesh motion only tutorials any more.

Please post your output file and I will try to point out the things you have to change.

Thank you so much, Glenn.
Your consideration is deeply appreciated.
Do you mean the *.res file as the "output file"? It is actually a big file, almost 2GB...

ehsan.bakhtiari January 28, 2022 14:19

Quote:

Originally Posted by Gert-Jan (Post 821182)
I guess this is one of the ways ANSYS is directing people towards Fluent.

Agree. This is an easy-peasy task for FLUENT; the "DEFINE_CG_MOTION" macro can easily do this. But all of my previous data and performance maps have been calculated by CFX, so switching to FLUENT seems to be frustrating, all of the obtained *.res files by CFX should be again solved by FLUENT......

Opaque January 28, 2022 19:13

Quote:

Originally Posted by ehsan.bakhtiari (Post 821193)
Thanks.
No, it is not basically a TBR (transient blade row) model.
As shown in my previously uploaded pictures, the blade must be oscillating in a stationary domain. The domain at which the blade is present is physically static. So only the blade's wall mush be moved and the mesh must be definitely deformed.
Since I activated a Rigid Body solution, the mesh equations are being solved at every coefficient loop; but, supposedly, I just need to define deformation functions for the blade's wall BC, so that the mesh is being deformed within every timestep, not at every iteration. Sadly, I've found nothing in the tutorials in this regard. Thus, I wrote couple functions (based on a rotational matrix with respect to the secondary coordinate frame at the blade's edge as shown in the picture) for the "Specified Displacement" tab at which cartesian components can be set via the written expressions; but the mesh is badly twisted near the center of the rotation.

I think you need to do a few tutorials, and get more experience with the use of the software. Either you have not explained the model correctly, or you have not gained enough expertise to solve this problem using Ansys CFX.

The problem as described should be trivial, barring mesh folding issues. You should not need to write a single function, not even CEL expressions.


All times are GMT -4. The time now is 00:12.