本帖最后由 transient 于 2014-4-28 14:28 编辑
各位前辈, 大家好!我在做一个耦合场分析,先是热场(线圈通电产生热),接着通过载荷传递将温度传递到流场(流场流动散去一部分热量,导致降温),接着流场的分析结果再将温度传递到下一个载荷步的热场,如此循环下去。简易的命令流如下: 1建模略 2 设置热场分析选项 toffst,273 !定义初始温度 !nsel,all !IC,ALL,TEMP,tf !TUNIF,20 ESEL,ALL !设定耦合电压 !入口 ESEL,S,MAT,,6 NSLE,S,ALL NSEL,R,LOC,Y,0 cp,1,VOLT,ALL NSEL,ALL !出口 ESEL,S,MAT,,6 NSLE,S,ALL NSEL,R,LOC,Y,180 cp,2,VOLT,ALL D,4881,VOLT,0 NSEL,ALL !耦合温度 !外层 ESEL,S,MAT,,6 NSLE,S,ALL nsel,R,LOC,X,R9 CP,3,TEMP,all !CPSGEN,3,100,1 NSEL,ALL !中间层 ESEL,S,MAT,,6 NSLE,S,ALL nsel,R,LOC,X,(R9+R3)/2 CP,4,TEMP,all NSEL,ALL !里层 ESEL,S,MAT,,6 NSLE,S,ALL nsel,R,LOC,X,R3 CP,5,TEMP,all NSEL,ALL ESEL,ALL !加载 !F,1,AMPS,10*3.415 F,5451,AMPS,120*3.415 !对流条件 nsel,s,LOC,X,R8 !nsel,a,LOC,X,R7 nsel,A,LOC,Z,0 nsel,A,LOC,Z,h1 SF,ALL,CONV,10,20 !求解 ANTYPE,trans KBC,1 trnopt,full OUTRES,,ALL ALLSEL,ALL !AUTOTS,ON DELTIM,0.2,0.2,0.2,on !TIME,1 !一个时间步的时间 physics,write,thermal !physics,clear !save finish 3 设置流场分析选项 /PREP7 lsclear,all physics,clear !流场分析 et,1,FLUID142 !参量 PREP=10 !材料 !定义热传导率 MP,KXX,2,1 MP,KXX,3,81 MP,KXX,4,50.2 MP,KXX,5,1 MP,KXX,6,400 !COILS MP,KXX,7,237 MP,KXX,1,0.54 !非流体材料属性 MP,DENS,1,1e3 MP,DENS,2,2e3 MP,DENS,3,7.8e3 MP,DENS,4,7.8e3 MP,DENS,5,1.35e3 MP,DENS,6,8.9e3 MP,DENS,7,2.7e3 !比热 MP,C,1,4.2e3 MP,C,2,600 MP,C,3,444 MP,C,4,450 MP,C,5,1e3 MP,C,6,385 MP,C,7,880 !流体参数 RHO=1e3 MU=1.005e-03 K=0.54 CP=4.2e3 !边界条件 !水道两侧 nsel,s,LOC,X,R6 nsel,a,LOC,X,R7 D,ALL,VY,0 D,ALL,VX,0 NSEL,ALL !上壁面温度 !nsel,s,LOC,Y,R1 !d,all,temp,ts !NSEL,ALL !入口压强,温度 NSEL,S,LOC,X,R6,R7 NSEL,R,LOC,z,h1 D,ALL,VX,0 D,ALL,Vy,0 !D,all,vz,0.5 D,ALL,PRES,10 d,all,temp,tf NSEL,ALL !对称面边界 !NSEL,S,LOC,y,0 !NSEL,r,LOC,y,180 !D,ALL,VX,0 !D,ALL,Vy,0 !D,ALL,Vz,0 !NSEL,ALL !出口压强 NSEL,s,LOC,X,R6,R7 NSEL,r,LOC,z,0 D,ALL,VX,0 D,ALL,Vy,0 D,ALL,PRES,0 NSEL,ALL !对流边界条件 nsel,s,LOC,X,R8 !nsel,a,LOC,X,R7 nsel,A,LOC,Z,0 nsel,A,LOC,Z,h1 SF,ALL,CONV,10,20 allsel FINISH /SOLU toffst,273 !LDREAD,TEMP,,,,2,,RST !LDREAD,HGEN,,,,,,RST !流场求解设置 FLDATA,ITER,EXEC,300 !定义迭代次数 FLDATA,ITER,CHEC,10 !CHECKPOINT FREQUENCY !FLDATA,TEMP,NOMI,tf !REFERENCE TEMPERATURE FLDATA,PROT,DENS,RHO FLDATA,PROT,VISC,MU FLDATA,PROT,COND,K FLDATA,PROT,SPHT,CP !FLDATA,OUTP,TAUW,T FLDATA4,TIME,STEP,0.2 !每一步(是子步吗?)的时间间隔 FLDATA1,SOLU,TRAN,T !FLDATA4,TIME,ISTEP,10 FLDATA4,TIME,NUMB,10 !子步数 FLDATA4,TIME,glob,50 FLDATA4A,STEP,APPE,1 !deltim,10,1,10 !ddele,all,temp nsel,all !SOLVE !温度场求解 !FLDATA,SOLU,enrg,T FLDATA,ITER,EXEC,50 FLDATA,SOLU,TEMP,T FLDATA,SOLU,FLOW,t FLDATA,RELX,TEMP,0.8 nsel,all !SOLVE FINISH physics,write,fluid 4 设置耦合分析选项,如下 !开始求解 *do,i,1,2 time=time+2 physics,read,thermal /solu *if,i,eq,1,then nsel,all IC,ALL,TEMP,tf ! initial temperature *else !ldread,temp,last,,,,,rst !ldread,temp,,,,2,,rst !read thermal analysis temperatures,是否准确? antype,trans,rest,i,1 !ldread,temp,i,,,2,,rfl !此命令没用 ldread,temp,last,,,2,,rfl !上一步的流场分析温度作为初状态 *endif time,time solve ! solve harmonicanalysis finish !读入流场 physics,read,fluid /assign,esav,fluidd,esav ! redirect files for use in thermalrestart /assign,emat,fluidd,emat /solu parsav,scalar,parameter,sav !save parameters before multiframe restart *if,i,gt,1,then !FLDATA32,REST,LSTP,0 ! thermal restart !FLDATA32,REST,time,i*2 FLDATA32,REST,LSTP,0 *endif parres,new,parameter,sav !FLDATA4,TIME,TEND,time !*if,i,eq,1,then ! ldread,temp,,,1,2,,rst !apply coupled joule heating load from !*else ! ldread,temp,last,,,2,,rst ! apply coupled joule heating load from ! *endif ldread,temp,i,,,2,,rst ! apply coupled joule heating loadfrom 有问题 esel,all solve finish /assign,esav ! reassign files to default /assign,emat *enddo ! end of solutionlooping finish save 在我试算了2个载荷步后发现 1 第一个载荷步是正确的,流场分析前热场分析的温度结果作为初始状态了 2 第二个载荷步开始,热场分析的初始温度不是第一步的流场分析结果而是第一步的热场分析结果的温度,这就不对了。 请教大家应该怎么设置? 多谢!!! |