| ²é¿´: 1825 | »Ø¸´: 3 | |||
| µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû | |||
ľżСÌì½ð³æ (СÓÐÃûÆø)
|
[ÇóÖú]
¸ÕÌ帽½üÍø¸ñËæ¸ÕÌåÒ»ÆðÔ˶¯ ÒÑÓÐ1È˲ÎÓë
|
||
|
ÀûÓÃudf¼ÆËã¶¯Íø¸ñÎÊÌ⣬ÎÒÏëÒª×öµÄÊÇʹµÃ½á¹¹Ì帽½üµÄÍø¸ñËæ¸ÕÌåÒ»ÆðÔ˶¯¡£ udf½éÉÜ£º¸ÃudfʹÓÃnewmarkËã·¨½øÐв¢ÐÐÔËË㣬ʹÓÃÁËdefine cg motion,²¢½«¸ÕÌåÔ˶¯ºóµÄ×ø±êÊä³öµ½txtÎļþÖС£ ÎÊÌ⣺±àдµÄudfûÓÐÎÊÌ⣬Äܹ»Ê¹µÃ½á¹¹ÌåÔ˶¯£¬µ«Êǵ±°Ñ¸½½üÍø¸ñ£¨´Ë²¿·ÖÍø¸ñÒѾµ¥¶À»®·Ö²¢ÃüÃûΪfb£©£¬½«¸ÃÍø¸ñÉèÖÃΪrigid body ʹÓÃͬһ¸öudf£¬·¢ÏÖ³öÏÖÔËÐдíÎó¡£Ò²¾ÍÊDz»ÉèÖÃfbΪrigid bodyʱºò¿ÉÒÔÔËÐУ¬ÉèÖóÉrigid bodyʱºò²»ÄÜÔËÐС£ ÎÄÏ×ÖÐÌáµ½£¬ÊÇÒª±àдÁ½¸öudfÀ´ÊµÏÖ¡£ ÇóÖúµÚ¶þ¸öudf¸ÃÔõôд£¿ |
» ±¾ÌûÒÑ»ñµÃµÄºì»¨£¨×îÐÂ10¶ä£©
» ²ÂÄãϲ»¶
308Çóµ÷¼Á
ÒѾÓÐ10È˻ظ´
285Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
070300Ò»Ö¾Ô¸211£¬312·ÖÇóµ÷¼ÁԺУ
ÒѾÓÐ11È˻ظ´
¿¼ÑÐÉúÎïÓëÒ½Ò©µ÷¼Á
ÒѾÓÐ6È˻ظ´
»·¾³¹¤³Ì 085701£¬267Çóµ÷¼Á
ÒѾÓÐ13È˻ظ´
08¿ªÍ·¿´¹ýÀ´£¡£¡£¡
ÒѾÓÐ5È˻ظ´
086000µ÷¼Á
ÒѾÓÐ5È˻ظ´
070300»¯Ñ§×¨Òµ279µ÷¼Á
ÒѾÓÐ7È˻ظ´
±¾2Ò»Ö¾Ô¸C9-333·Ö£¬²ÄÁÏ¿ÆÑ§Ó빤³Ì£¬Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
328Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´

b380324212
ͳæ (СÓÐÃûÆø)
- Ó¦Öú: 1 (Ó×¶ùÔ°)
- ½ð±Ò: 146.7
- Ìû×Ó: 70
- ÔÚÏß: 63.5Сʱ
- ³æºÅ: 1442182
- ×¢²á: 2011-10-14
- רҵ: ½á¹¹¹¤³Ì
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
ľżСÌì: ½ð±Ò+10 2016-07-08 20:53:23
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
ľżСÌì: ½ð±Ò+10 2016-07-08 20:53:23
|
#include <stdio.h> #include <math.h> #include "udf.h" #define WALLID 44 #define NUM_CALLS 7 DEFINE_CG_MOTION(cylinder, dt, vel, omega, time, dtime) { FILE *fp=NULL; char filename[]="out.txt"; Domain *domain=Get_Domain(1); Thread *t=Lookup_Thread(domain, WALLID); face_t f; static real lift=0.0,drag=0,lift_coeff=0.0,drag_coeff=0.0; static real a0=0.0,a1=0.0,a2=0.0,a3=0.0,a4=0.0,a5=0.0,a6=0.0,a7=0.0,KK=0.0,DeltT=0.0; static real Y=0.0,YY=0.0,Y1=0.0,YY1=0.0,YYY=0.0,PPt=0.0,Y0=0.0,YY0=0.0,YYY0=0.0; static int last_call=0; static int calls=0; int i; real rho=998.2, U=0.015, Dia=0.01; real m=0.2, k=0.710612, c=0; real Beta=0.25, Gama=0.5; real A[ND_ND],press_forces[ND_ND],viscous_forces[ND_ND]; real x_force=0.0, y_force=0.0; if ((++calls)==NUM_CALLS) last_call=1; if (last_call) { NV_S(A,=,0.0); begin_f_loop(f,t) { F_AREA(A,f,t); press_forces[0]+=F_P(f,t)*A[0]; press_forces[1]+=F_P(f,t)*A[1]; viscous_forces[0]+=F_STORAGE_R_N3V(f,t,SV_WALL_SHEAR)[0]; viscous_forces[1]+=F_STORAGE_R_N3V(f,t,SV_WALL_SHEAR)[1]; } end_f_loop(f,t) drag=press_forces[0]-viscous_forces[0]; lift=press_forces[1]-viscous_forces[1]; drag_coeff=drag/(0.5*rho*U*U*Dia); lift_coeff=lift/(0.5*rho*U*U*Dia); DeltT=dtime; a0 =1/(Beta*DeltT*DeltT); a1=Gama/(Beta*DeltT); a2=1/(Beta*DeltT); a3=1/(2*Beta)-1; a4=Gama/Beta-1; a5=(Gama/(2*Beta)-1)*DeltT; a6=(1-Gama)*DeltT; a7=DeltT*Gama; KK=k+a0*m+a1*c; PPt=lift+m*(a0*Y0+a2*YY0+a3*YYY0)+c*(a1*Y0+a4*YY0+a5*YYY0); Y=PPt/KK; YYY=(Y-Y0)*a0-a2*YY0-YYY0*a3; YY=YY0+(1-Gama)*DeltT*YYY0+Gama*DeltT*YYY; Y0=Y; YY0=YY; YYY0=YYY; Message("\n ===================================================================================" ;Message("\n %-12s %-12s %-12s %-12s %-12s %-12s ","Flow_time","Y","lift_coeff","drag_coeff","lift","drag" ;Message("\n %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f ",time,Y,lift_coeff,drag_coeff,lift,drag); if ((fp=fopen(filename,"a" )==NULL)Message("\n Warning: Unable to open %s for writing!!!\n",filename); else { Message("\n Writing datas to %s...",filename); fprintf(fp,"%12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f \n",time,Y,lift_coeff,drag_coeff,lift,drag,PPt,KK); fclose(fp); Message("\n Done!" ;Message("\n ===================================================================================" ;} calls=0; last_call=0; } vel[0]=0.0; vel[1]=YY; } |
3Â¥2016-07-08 10:00:52
СºÚţС°×æ¤
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 90.3
- Ìû×Ó: 28
- ÔÚÏß: 28.7Сʱ
- ³æºÅ: 5647955
- ×¢²á: 2017-02-19
- רҵ: ÖÆÔìϵͳÓë×Ô¶¯»¯
4Â¥2018-07-18 15:01:29














»Ø¸´´ËÂ¥
СºÚţС°×æ¤
;