ҚОСЫМША А
/*UDF for moving the blades for the FLUENT Introductory Workshop #5 */
/*This assumes there are 4 blades, each 1.0m radius from the axis*/
/*UDF can be run Interpreted. No need for a C++ Compiler*/
#include "udf.h"
DEFINE_ZONE_MOTION(motion_ypos,omega,axis,origin,velocity,time,dtime)
{
real ang_vel_outer = 4.0; /* Өзектегі айналу жылдамдығы*/
real x1,y1,x2,y2,current_angle,next_angle ;
real offset_angle = 0.0; /*Пышқтың сағат тіліне қарсы Радиан позициясы*/
current_angle = ang_vel_outer * (CURRENT_TIME ) + offset_angle ;
next_angle = ang_vel_outer * (CURRENT_TIME + CURRENT_TIMESTEP) + offset_angle ;
x1= -1.0*sin(current_angle);
y1= 1.0*cos(current_angle);
x2= -1.0*sin(next_angle);
y2= 1.0*cos(next_angle);
velocity[0] = (x2 - x1) / CURRENT_TIMESTEP;
velocity[1] = (y2 - y1) / CURRENT_TIMESTEP;
origin[0] = x2;
origin[1] = y2;
*omega = ang_vel_outer / 2.0;
return;
}
DEFINE_ZONE_MOTION(motion_xpos,omega,axis,origin,velocity,time,dtime)
{
real ang_vel_outer = 4.0; /*Өзектегі айналу жылдамдығы*/
real x1,y1,x2,y2,current_angle,next_angle ;
real offset_angle = -M_PI/2.0;; /*пышақтың сағат тіліне қарсы Радиан позициясы*/
current_angle = ang_vel_outer * (CURRENT_TIME ) + offset_angle ;
next_angle = ang_vel_outer * (CURRENT_TIME + CURRENT_TIMESTEP) + offset_angle ;
x1= -1.0*sin(current_angle);
y1= 1.0*cos(current_angle);
x2= -1.0*sin(next_angle);
y2= 1.0*cos(next_angle);
velocity[0] = (x2 - x1) / CURRENT_TIMESTEP;
velocity[1] = (y2 - y1) / CURRENT_TIMESTEP;
origin[0] = x2;
origin[1] = y2;
*omega = ang_vel_outer / 2.0;
return;
}
DEFINE_ZONE_MOTION(motion_yneg,omega,axis,origin,velocity,time,dtime)
{
real ang_vel_outer = 4.0; /*Өзектегі сұйық ортаның айналу жылдамдығы*/
real x1,y1,x2,y2,current_angle,next_angle ;
real offset_angle = M_PI; /*Пыша?ты? орналасуы, радианмен, са?ат тіліне ?арсы айналымы*/
current_angle = ang_vel_outer * (CURRENT_TIME ) + offset_angle ;
next_angle = ang_vel_outer * (CURRENT_TIME + CURRENT_TIMESTEP) + offset_angle ;
x1= -1.0*sin(current_angle);
y1= 1.0*cos(current_angle);
x2= -1.0*sin(next_angle);
y2= 1.0*cos(next_angle);
velocity[0] = (x2 - x1) / CURRENT_TIMESTEP;
velocity[1] = (y2 - y1) / CURRENT_TIMESTEP;
origin[0] = x2;
origin[1] = y2;
*omega = ang_vel_outer / 2.0;
return;
}
DEFINE_ZONE_MOTION(motion_xneg,omega,axis,origin,velocity,time,dtime)
{
real ang_vel_outer = 4.0; /*қалақшалардың ості айналу жиілігі*/
real x1,y1,x2,y2,current_angle,next_angle ;
real offset_angle = M_PI/2.0; /*Қалақшалардың сағат тіліне қарасы Радиан позициясы*/
current_angle = ang_vel_outer * (CURRENT_TIME ) + offset_angle ;
next_angle = ang_vel_outer * (CURRENT_TIME + CURRENT_TIMESTEP) + offset_angle ;
x1= -1.0*sin(current_angle);
y1= 1.0*cos(current_angle);
x2= -1.0*sin(next_angle);
y2= 1.0*cos(next_angle);
velocity[0] = (x2 - x1) / CURRENT_TIMESTEP;
velocity[1] = (y2 - y1) / CURRENT_TIMESTEP;
origin[0] = x2;
origin[1] = y2;
*omega = ang_vel_outer / 2.0;
return;
}
Достарыңызбен бөлісу: |