Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

#include "udf.

h"
#include "unsteady.h"
#include "dynamesh_tools.h"
#include "math.h"

DEFINE_GRID_MOTION(dynamic,domain,dt,time,dtime)
{
Thread *tf = DT_THREAD(dt);
face_t f;
Node *v;
int n;
double x, y, y_ref_previous, y_ref;
SET_DEFORMING_THREAD_FLAG(THREAD_T0(tf));
begin_f_loop(f,tf) {
f_node_loop(f,tf,n) {
v = F_NODE(f,tf,n);
if (NODE_POS_NEED_UPDATE(v)) {
NODE_POS_UPDATED(v);
x = NODE_X(v);
real amplitude = 0.02 + 0.01*x + 0.1*x*x;
y_ref_previous = amplitude * cos(2*M_PI*x + 2*M_PI*0.8*(PREVIOUS_TIME));
y_ref = amplitude * cos(2*M_PI*x + 2*M_PI*0.8*(CURRENT_TIME));

if (NODE_Y(v) > y_ref_previous){


NODE_Y(v) = y_ref+fabs(NODE_Y(v)-y_ref_previous);
}
else
if (NODE_Y(v) < y_ref_previous){
NODE_Y(v) = y_ref-fabs(NODE_Y(v)-y_ref_previous);
}
else {
NODE_Y(v) = y_ref;
}
}
}
}
}
end_f_loop(f,tf);

You might also like