帮忙看一下呗
#include "udf.h"
static real ome_pre=0.0;
DEFINE_CG_MOTION(move,dt,vel,omega,time,dtime)
{
Thread *t;
face_t f;
real NV_VEC(A);
real PA;
real dome;
real L=0.0155, I=0.00004, Tr=0.2, sigma=0.02;
NV_S(vel, =, 0.0);
NV_S(omega, =, 0.0);
if (!Data_Valid_P())
return;
t=DT_THREAD(dt);
PA=0.0;
begin_f_loop(f,t)
{
F_AREA(A,f,t);
PA+=F_P(f,t)*NV_MAG(A);
}
end_f_loop(f,t)
dome=(2*PA*L+sigma*ome_pre-Tr)/I;
ome_pre-=dome*dtime;
omega[2]=ome_pre;
}
DEFINE_RW_FILE(writer,fp)
{
printf("Writing UDF data to data file...\n"
fprintf(fp,"%d",ome_pre); /* write out ome_pre to data file */
}
DEFINE_RW_FILE(reader,fp)
{
printf("Reading UDF data from data file...\n"
fscanf(fp,"%d",&ome_pre); /* read ome_pre from data file */
}
帮忙看一下呗
#include "udf.h"
static real ome_pre=0.0;
DEFINE_CG_MOTION(move,dt,vel,omega,time,dtime)
{
Thread *t;
face_t f;
real NV_VEC(A);
real PA;
real dome;
real L=0.0155, I=0.00004, Tr=0.2, sigma=0.02;
NV_S(vel, =, 0.0);
NV_S(omega, =, 0.0);
if (!Data_Valid_P())
return;
t=DT_THREAD(dt);
PA=0.0;
begin_f_loop(f,t)
{
F_AREA(A,f,t);
PA+=F_P(f,t)*NV_MAG(A);
}
end_f_loop(f,t)
dome=(2*PA*L+sigma*ome_pre-Tr)/I;
ome_pre-=dome*dtime;
omega[2]=ome_pre;
}
DEFINE_RW_FILE(writer,fp)
{
printf("Writing UDF data to data file...\n";
fprintf(fp,"%d",ome_pre); /* write out ome_pre to data file */
}
DEFINE_RW_FILE(reader,fp)
{
printf("Reading UDF data from data file...\n";
fscanf(fp,"%d",&ome_pre); /* read ome_pre from data file */
UDF写错了
帮忙看一下呗
#include "udf.h"
static real ome_pre=0.0;
DEFINE_CG_MOTION(move,dt,vel,omega,time,dtime)
{
Thread *t;
face_t f;
real NV_VEC(A);
real PA;
real dome;
real L=0.0155, I=0.00004, Tr=0.2, sigma=0.02;
NV_S(vel, =, 0.0);
NV_S(omega, =, 0.0);
if (!Data_Valid_P())
return;
t=DT_THREAD(dt);
PA=0.0;
begin_f_loop(f,t)
{
F_AREA(A,f,t);
PA+=F_P(f,t)*NV_MAG(A);
}
end_f_loop(f,t)
dome=(2*PA*L+sigma*ome_pre-Tr)/I;
ome_pre-=dome*dtime;
omega[2]=ome_pre;
}
DEFINE_RW_FILE(writer,fp)
{
printf("Writing UDF data to data file...\n"
fprintf(fp,"%d",ome_pre); /* write out ome_pre to data file */
}
DEFINE_RW_FILE(reader,fp)
{
printf("Reading UDF data from data file...\n"
fscanf(fp,"%d",&ome_pre); /* read ome_pre from data file */
}
你确定是主动运动?先搞清楚何为主动何为被动。其次是由何而动。最后就是udf的实现。另外,你这个图,估计除了你自己能看明白,没人能看明白。
UDF要和网格一起看的,你这个做旋转运动,你可以百度下滑移网格怎么做。或者找个书,例子很多
燃烧后的膨胀摆动,网格面畸形,一部分动,一部分没有动,
说错了是 被动型网格
帮忙看一下呗
#include "udf.h"
static real ome_pre=0.0;
DEFINE_CG_MOTION(move,dt,vel,omega,time,dtime)
{
Thread *t;
face_t f;
real NV_VEC(A);
real PA;
real dome;
real L=0.0155, I=0.00004, Tr=0.2, sigma=0.02;
NV_S(vel, =, 0.0);
NV_S(omega, =, 0.0);
if (!Data_Valid_P())
return;
t=DT_THREAD(dt);
PA=0.0;
begin_f_loop(f,t)
{
F_AREA(A,f,t);
PA+=F_P(f,t)*NV_MAG(A);
}
end_f_loop(f,t)
dome=(2*PA*L+sigma*ome_pre-Tr)/I;
ome_pre-=dome*dtime;
omega[2]=ome_pre;
}
DEFINE_RW_FILE(writer,fp)
{
printf("Writing UDF data to data file...\n";
fprintf(fp,"%d",ome_pre); /* write out ome_pre to data file */
}
DEFINE_RW_FILE(reader,fp)
{
printf("Reading UDF data from data file...\n";
fscanf(fp,"%d",&ome_pre); /* read ome_pre from data file */
帮忙看下写的被动型网格udf
,