| 查看: 685 | 回复: 1 | ||
| 【悬赏金币】回答本帖问题,作者王大大天将赠送您 15 个金币 | ||
[求助]
做CFD-PBM耦合的,不导入uDF的时候没有问题,导入以后出现了这样的问题,,万分感谢
|
||
|
导入以后初始化,开始计算还没计算一步,就出现了这个问题 received a fatal signal(segmentation fault) 如果有大佬知道 请求大佬帮帮我 万分感谢: |
» 猜你喜欢
【复旦大学】二维材料方向招收2026年博士研究生1名
已经有0人回复
北京纳米能源与系统研究所 王中林院士/曹南颖研究员课题组2026级硕/博/博后招生
已经有10人回复
物理学I论文润色/翻译怎么收费?
已经有227人回复
荷兰Utrecht University超快太赫兹光谱王海教授课题招收2026 CSC博士生
已经有23人回复
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
|
程序如下#include "udf.h" #include "math.h" #include "stdio.h" #include "mem.h" #include "global.h" #define total_N 31 #define delta_L 2.00E-06 #define Kvvv 0.866 #define Ka 5.196 #define Growth_Kg 21 #define Growth_Ea 41.6 #define Growth_R 0.008314 /* k J/mol */ #define Growth_g 1.9 #define minmod_theta 1.5 #define rho_c 1296 /* 仅在拟均相下使用 */ #define rho_l 789 #define M_paracetamol 151.17 /* g/mol */ #define M_ethanol 46.07 /* g/mol */ #define Diffu 7.09e-10 /* m2/s Stokes-Einstein assume constant T */ #define Mean_L 0.0001 /* use for the calculation of mass transfer Kd */ #define Dynam_visc 0.001201 /* Dynamic viscosity, N*s/m2 or Pa*s */ #define Nucleation_Kn 1.597e-10 /* primary nucleation kn #/(min*m3) */ #define Nucleation_n 2.276 /* primary nucleation n */ #define Nucleation_E 7e-20 /* can be regressed from later data(Ea,kg,g,e,gamma)*/ #define Nucleation_gamma 2.5e-3 /* surface tension J */ #define Diameter_molecular 7.18e-10 /* m */ #define k_Boltzmann 1.381e-23 /* J/K */ #define diffu_m 0 /* 扩散系数,此时为粒子,设为0 */ real source; real G_j1; real G_j2; real S_eq; real delta_S; real delta_C; real relative_S; real Nucleation_rate1; /* primary nucleation rate */ real Nucleation_rate2; /* second nucleation rate */ real Kd; real Moment_2; /* uds kg/kg */ real crystal_L[total_N] = { 0, 2.00E-06, 4.00E-06, 6.00E-06, 8.00E-06, 1.00E-05, 1.20E-05, 1.40E-05, 1.60E-05, 1.80E-05, 2.00E-05, 2.20E-05, 2.40E-05, 2.60E-05, 2.80E-05, 3.00E-05, 3.20E-05, 3.40E-05, 3.60E-05, 3.80E-05, 4.00E-05, 4.20E-05, 4.40E-05, 4.60E-05, 4.80E-05, 5.00E-05, 5.20E-05, 5.40E-05, 5.60E-05, 5.80E-05, 6.00E-05 }; /* 本udf平均离散*/ real min22(real a,real b) { if (a>b) return b; else return a; } real max22(real a,real b) { if (a<b) return b; else return a; } real minmod(real minmod_0,real minmod_1,real minmod_2) { real c; if (minmod_0>0 && minmod_1>0 && minmod_2>0) { c=min22(minmod_0,minmod_1); return min22(c,minmod_2); } else if (minmod_0<0 && minmod_1<0 && minmod_2<0) { c=max22(minmod_0,minmod_1); return max22(c,minmod_2); } else return 0; } DEFINE_SOURCE(fn_source,c,t,dS,eqn) { int i; real fdensitya; real fdensityb; real fdensityc; real fdensityd; real fdensitye; int k; int j=eqn-570+1; S_eq=0.0002955*exp(0.02179*C_T(c,t)); relative_S=C_YI(c,t,0)/S_eq; delta_S=C_YI(c,t,0)-S_eq; delta_C=delta_S*rho_l/M_paracetamol; if (delta_C>0) { G_j1=Growth_Kg*exp(-Growth_Ea/Growth_R/C_T(c,t))*pow(delta_C,Growth_g); G_j2=G_j1; } else { Kd=Diffu/Mean_L*(2+0.8*pow(C_D(c,t)*Mean_L*Mean_L*Mean_L*Mean_L/Dynam_visc/Dynam_visc/Dynam_visc,0.2)*pow(Dynam_visc/Diffu/rho_l,1/3)); G_j1 = Kd*Ka*M_paracetamol/3/Kvvv/rho_c*delta_C; G_j2=G_j1; } if (j==0||j==1) { Moment_2=0; for (k=0;k<(total_N-1);k++) {Moment_2+=rho_l*C_UDSI(c,t,k)*4/rho_c/Kvvv/(pow(crystal_L[k+1],4)-pow(crystal_L[k],4))*pow(crystal_L[k],2)*delta_L; } if ((C_YI(c,t,0)-S_eq) > 0) { Nucleation_rate1 = Nucleation_Kn*pow((C_YI(c, t, 0)-S_eq),Nucleation_n)/60; Nucleation_rate2 = Nucleation_E*Ka*Moment_2*Diffu/pow(Diameter_molecular,4)*exp(-3.1415*pow(Nucleation_gamma*Diameter_molecular*Diameter_molecular/k_Boltzmann/C_T(c,t),2)/log(relative_S)); } else { Nucleation_rate2 = 0; /* #/(m3*s) */ Nucleation_rate1 = 0; /* #/(m3*s) */ } } else { Nucleation_rate2=0; Nucleation_rate1=0; } if (j>=2 && j<=total_N-4) { fdensitya=C_UDSI(c,t,j-2)*4/rho_c/Kvvv/(pow(crystal_L[j-1],4)-pow(crystal_L[j-2],4)); fdensityb=C_UDSI(c,t,j-1)*4/rho_c/Kvvv/(pow(crystal_L[j],4)-pow(crystal_L[j-1],4)); fdensityc=C_UDSI(c,t,j)*4/rho_c/Kvvv/(pow(crystal_L[j+1],4)-pow(crystal_L[j],4)); fdensityd=C_UDSI(c,t,j+1)*4/rho_c/Kvvv/(pow(crystal_L[j+2],4)-pow(crystal_L[j+1],4)); fdensitye=C_UDSI(c,t,j+2)*4/rho_c/Kvvv/(pow(crystal_L[j+3],4)-pow(crystal_L[j+2],4)); } else if (j==1) { fdensitya=0; fdensityb=C_UDSI(c,t,j-1)*4/rho_c/Kvvv/(pow(crystal_L[j],4)-pow(crystal_L[j-1],4)); fdensityc=C_UDSI(c,t,j)*4/rho_c/Kvvv/(pow(crystal_L[j+1],4)-pow(crystal_L[j],4)); fdensityd=C_UDSI(c,t,j+1)*4/rho_c/Kvvv/(pow(crystal_L[j+2],4)-pow(crystal_L[j+1],4)); fdensitye=C_UDSI(c,t,j+2)*4/rho_c/Kvvv/(pow(crystal_L[j+3],4)-pow(crystal_L[j+2],4)); } else if (j==0) { fdensitya=0; fdensityb=0; fdensityc=C_UDSI(c,t,j)*4/rho_c/Kvvv/(pow(crystal_L[j+1],4)-pow(crystal_L[j],4)); fdensityd=C_UDSI(c,t,j+1)*4/rho_c/Kvvv/(pow(crystal_L[j+2],4)-pow(crystal_L[j+1],4)); fdensitye=C_UDSI(c,t,j+2)*4/rho_c/Kvvv/(pow(crystal_L[j+3],4)-pow(crystal_L[j+2],4)); } else if (j==total_N-3) { fdensitya=C_UDSI(c,t,j-2)*4/rho_c/Kvvv/(pow(crystal_L[j-1],4)-pow(crystal_L[j-2],4)); fdensityb=C_UDSI(c,t,j-1)*4/rho_c/Kvvv/(pow(crystal_L[j],4)-pow(crystal_L[j-1],4)); fdensityc=C_UDSI(c,t,j)*4/rho_c/Kvvv/(pow(crystal_L[j+1],4)-pow(crystal_L[j],4)); fdensityd=C_UDSI(c,t,j+1)*4/rho_c/Kvvv/(pow(crystal_L[j+2],4)-pow(crystal_L[j+1],4)); fdensitye=fdensityc; } else if (j==total_N-2) { fdensitya=C_UDSI(c,t,j-2)*4/rho_c/Kvvv/(pow(crystal_L[j-1],4)-pow(crystal_L[j-2],4)); fdensityb=C_UDSI(c,t,j-1)*4/rho_c/Kvvv/(pow(crystal_L[j],4)-pow(crystal_L[j-1],4)); fdensityc=C_UDSI(c,t,j)*4/rho_c/Kvvv/(pow(crystal_L[j+1],4)-pow(crystal_L[j],4)); fdensityd=fdensityc; fdensitye=fdensityc; } if (G_j1>=0) source=rho_l*rho_c*Kvvv/4/delta_L*(pow(crystal_L[j+1],4)-pow(crystal_L[j],4))* (-G_j2*(fdensityc+0.5*delta_L*minmod(minmod_theta/delta_L*(fdensityc-fdensityb),0.5/delta_L*(fdensityd - fdensityb), minmod_theta/delta_L*(fdensityd - fdensityc)))+G_j1*(fdensityb+0.5*delta_L*minmod(minmod_theta/delta_L*(fdensityb-fdensitya),0.5/delta_L*(fdensityc-fdensitya), minmod_theta/delta_L*(fdensityc - fdensityb)))+Nucleation_rate2/rho_l/2+Nucleation_rate1/rho_l/2); else if (G_j1<0) source=rho_l*rho_c*Kvvv/4/delta_L*(pow(crystal_L[j+1],4)-pow(crystal_L[j],4))* (-G_j2*(fdensityd-0.5*delta_L*minmod(minmod_theta/delta_L*(fdensityd-fdensityc),0.5/delta_L*(fdensitye -fdensityc), minmod_theta/delta_L*(fdensitye - fdensityd)))+G_j1*(fdensityc-0.5*delta_L*minmod(minmod_theta/delta_L*(fdensityc-fdensityb),0.5/delta_L*(fdensityd-fdensityb), minmod_theta/delta_L*(fdensityd -fdensityc)))); dS[eqn] = 0; return source; |
2楼2020-07-23 10:59:29













回复此楼