CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (https://www.cfd-online.com/Forums/fluent-udf/)
-   -   UDF for Vortex-Induced Vibrations debug (https://www.cfd-online.com/Forums/fluent-udf/134956-udf-vortex-induced-vibrations-debug.html)

Entwistle May 7, 2014 07:54

UDF for Vortex-Induced Vibrations debug
 
Hello to everybody;

Now I am investigating about VIV using tappered cylinders (3D); I am using 2-way FSI but the calculations are so slow (LES-WALE model in CFD and non-linear calculation in Transient Structural). I really need to do these calculations faster, so I think in use an UDF for VIV.

Searching in the web, I found the next code, originally for a 2D problem:

Quote:

#include "udf.h"
static real v_prev = 0.0;

DEFINE_CG_MOTION(osc, dt, vel, omega, time, dtime)
{
Thread *t;
Domain *d = Get_Domain(1);
real x_cg[3], force[3], moment[3];
real accl, dv;
real mass = 0.022;
real wn = 3.0;
real k = mass*wn*wn;
real c = 2*mass*wn*0.0; /*no damping*/
int i;

NV_S(vel, =, 0.0);
NV_S(omega, =, 0.0);
t = DT_THREAD(dt);
for (i=0;i<3;i++)
x_cg[i]=DT_CG(dt)[i];

Compute_Force_And_Moment(d, t, x_cg, force, moment, TRUE);
force[1] += -k*x_cg[1] - c*vel[1];

accl = -force[1]/mass;
dv = accl*dtime;
v_prev+=dv;
vel[1] = v_prev;
printf("Computed force: %g \n", force[1];
printf("Velocity: %g \n", vel[1]);
}

DEFINE_CG_MOTION(osc_inert, dt, vel, omega, time, dtime)
{
vel[0] = 0.0;
vel[1] = v_prev;
}
First of all, when I try to interpret this UDF in my 3D problem the debugger send me a parse error on the line 2; I think that it is not possible to have any error on this line (I wrote all the code by myself using the original file as a reference, so I think that there is not any syntax bug), so it will be greatfull if any could help me about this point.

The second issue is a simple question: Is it possible to use this code in my 3D problem, or I will have to adapt the code?

Thank you very much.

Bests regards.

bestniaz February 22, 2016 05:50

Quote:

Originally Posted by Entwistle (Post 490364)
Hello to everybody;

Now I am investigating about VIV using tappered cylinders (3D); I am using 2-way FSI but the calculations are so slow (LES-WALE model in CFD and non-linear calculation in Transient Structural). I really need to do these calculations faster, so I think in use an UDF for VIV.

Searching in the web, I found the next code, originally for a 2D problem:

First of all, when I try to interpret this UDF in my 3D problem the debugger send me a parse error on the line 2; I think that it is not possible to have any error on this line (I wrote all the code by myself using the original file as a reference, so I think that there is not any syntax bug), so it will be greatfull if any could help me about this point.

The second issue is a simple question: Is it possible to use this code in my 3D problem, or I will have to adapt the code?

Thank you very much.

Bests regards.

Dear Friend
I am also looking for UDF for 2D and 3D case... If you found the solution please share... n_bkhan@yahoo.com
Thanks
Regards
Niaz

esho_adelaide March 15, 2016 18:07

Hi, I know this is an old problem, but the problem you may have had is trying to interpret the udf. Some macros such as those for dynamic meshes do not interpret, but rather are compiled.
On that note, if you got it to work, could you please share your UDF with me?
I am attempting this problem as well to get familiar with dynamic meshing.
Thank you in advance.

bestniaz March 15, 2016 23:02

Quote:

Originally Posted by esho_adelaide (Post 589901)
Hi, I know this is an old problem, but the problem you may have had is trying to interpret the udf. Some macros such as those for dynamic meshes do not interpret, but rather are compiled.
On that note, if you got it to work, could you please share your UDF with me?
I am attempting this problem as well to get familiar with dynamic meshing.
Thank you in advance.

Thanks dear for your response.


I used the UDF

#include "udf.h"

static real v_prev = 0.0;

DEFINE_CG_MOTION(osc,dt,vel,omega,time,dtime)
{
Thread *t;
Domain *d = Get_Domain(1);
real x_cg[3], force[3], moment[3];
real accl, dv;
real mass = 0.2;
real wn = 12.0;
real k= mass * wn*wn;
real c = 2*mass*wn*0.00;
int i;

NV_S(vel, =, 0.0);
NV_S(omega, =, 0.0);
t = DT_THREAD(dt);
for(i=0;i<3;i++)
x_cg[i]=DT_CG(dt)[i];

Compute_Force_And_Moment(d, t, x_cg, force, moment, TRUE);
force[1] += -k*x_cg[1] - c*vel[1];

accl = force[1]/mass;
dv = accl*dtime;
v_prev+=dv;
vel[1] = v_prev;
printf("Computed force: %g \n", force[1]);
printf("Velocity: %g\n", vel[1]);
}


DEFINE_CG_MOTION(osc_inert,dt,vel,omega,time,dtime )
{
vel[0] = 0.0;
vel[1] = v_prev;
}



Yes you are right the issue is with the intrepret. I successfully run the udf using compiler for 2D problem but i dont know whether it will run on 3D or not. I have 2 more questions
1. how to change the above UDF to forced oscillation to find VIV forces

2. How to measure amplitude and forces... I know the above mentioned UDF calculate the forces(printf("Computed force: %g \n", force[1];
printf("Velocity: %g \n", vel[1]);) but I dont know where it will be available in FLUENT ...

I am also very beginner to the dynamic mesh study. My problem is exactly same like your problem.

We can share study with each other if you agree.
My name is niaz and email n_bkhan@yahoo.com

Thanks in advance.
Best Regards
Niaz

rahilvalani May 19, 2016 02:49

Hi esho_adelaide, were you able to get this working? I am trying this udf for VIV of a 2D cylinder but the cylinder is not moving?

Naeem.rahman47 November 23, 2017 13:46

Quote:

Originally Posted by Entwistle (Post 490364)
Hello to everybody;

Now I am investigating about VIV using tappered cylinders (3D); I am using 2-way FSI but the calculations are so slow (LES-WALE model in CFD and non-linear calculation in Transient Structural). I really need to do these calculations faster, so I think in use an UDF for VIV.

Searching in the web, I found the next code, originally for a 2D problem:

First of all, when I try to interpret this UDF in my 3D problem the debugger send me a parse error on the line 2; I think that it is not possible to have any error on this line (I wrote all the code by myself using the original file as a reference, so I think that there is not any syntax bug), so it will be greatfull if any could help me about this point.

The second issue is a simple question: Is it possible to use this code in my 3D problem, or I will have to adapt the code?

Thank you very much.

Bests regards.

Sir how you are simulating this project with fluent and transient structural. If so then what constraint are you using for transient structural for fsi?

Thanks, please help me


All times are GMT -4. The time now is 03:27.