STAR-CCM+导出的温度分布数据如下表,含有节点坐标和温度。
| Temperature (K) | X (m) | Y (m) | Z (m) |
|---|---|---|---|
| 511.3283 | 0.721317 | -0.53667 | 1.1638 |
| 511.4594 | 0.7125 | -0.5275 | 1.1638 |
| 512.3228 | 0.7025 | -0.52753 | 1.1638 |
| 511.8328 | 0.7075 | -0.52753 | 1.1638 |
| ... | ... | ... | ... |
在ANSYS里根据结构模型划分网格(自己随便画的一个模型),使用以下命令流导出所有节点坐标。

121/prep72ALLS3*get,ncount,node,,COUNT !总节点数4*get,nnum,node,,num,MIN !最小节点编号5*cfopen,'node',csv !打开待输出文件6*cfwrite,'nx,ny' 7*do,i,1,ncount !依次写入节点坐标8*vwrite,nx(nnum),ny(nnum)9(f12.6,',',f12.6)10nnum=NDNEXT(nnum)11*enddo12*cfclos导出结果如下表所示:
| nx | ny |
|---|---|
| 0.9 | 0 |
| 0.899945 | -0.00999 |
| 0.899778 | -0.01998 |
| 0.899501 | -0.02997 |
| 0.899113 | -0.03995 |
| ... | ... |
将上述数据导入Matlab,如下scatteredInterpolant函数进行插值:
181% Xm,Ym,TemperatureK原始温度分布数据,构造插值函数2f=scatteredInterpolant(Xm,Ym,TemperatureK);3% 插值得到新节点的温度值4newTemperature=f(nx,ny);5subplot(1,2,1)6scatter(Xm,Ym,5,TemperatureK,'filled');7axis equal8xlim([-1,1]);9ylim([-1,1]);10subplot(1,2,2);11scatter(nx,ny,5,newTemperature,'filled');12axis equal13xlim([-1,1]);14ylim([-1,1]);15%写入文件16fid=fopen('node_temp.csv','wt');17fprintf(fid,'%f\n',newTemperature);18fclose(fid);得到原始温度分布与新节点的温度分布:

使用以下命令流再将上述得到的节点温度导入ANSYS:
111/prep72ALLS3*get,ncount,node,,COUNT4*get,nnum,node,,num,MIN5*dim,node_temp,array,ncount,16*vread,node_temp,'node_temp','csv',,ijk7(f12.6)8*do,i,1,ncount9bf,nnum,temp,node_temp(i)10nnum=NDNEXT(nnum)11*enddo得到导入的温度分布如下图所示:
