Fluent中利用UDF实现摆动

#include "udf.h"
#include "math.h"
DEFINE_SDOF_PROPERTIES(Moving_wall, prop, dt, time, dtime)
{
prop[SDOF_MASS] = 1.0;
prop[SDOF_IZZ] = 0.1;
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;
prop[SDOF_ZERO_ROT_Z] = FALSE;
real ang = DT_THETA(dt)[2];
real ang_vel = DT_OMEGA_CG(dt)[2];
real moment_z = 0;
if ( ang GOET 4.0 * 3.1415 / 9.0 - 3.1415 / 2.0)
{
moment_z = 0;
}
else if ( ang LOET 3.1415 / 9.0 - 3.1415 / 2.0)
{
moment_z = 0.8;
}
else if ( (ang LT 4.0 * 3.1415 / 9.0 - 3.1415 / 2.0) && (ang GT 3.1415 / 9.0 - 3.1415 / 2.0) && (ang_vel GT 0) )
{
moment_z = 0.8;
}
else
{
moment_z = 0.0;
}
prop[SDOF_LOAD_M_Z] = moment_z;
}