ansys网格模型导入SYSNOISE
ANSYS Workbench 模型导入与网格划分(吴淑芳)
u v
a1 a7
a2 a8
x x
a3 a9
y y
a4 x2 a5 xy a6 y2 a10 x2 a11xy a12 y 2
网格划分基础
1.网格类型及单元阶次
三维网格
网格划分基础
1.网格类型及单元阶次
网格划分基础
2.网格划分原则
• (1)网格数量 • (2)网格疏密 • (3)单元形状及评价 • (4)单元阶次 • (5)网格质量 • (6)网格分界面和分界点 • (7)位移协调性 • 网格• 划(分8)没有细定节式处,理只能根据经验划分网格,宽广的有限元知识和丰富的经验是保证
选用高阶单元可进步计算精度,由于高阶单元的曲线或曲面边界能够更好地 逼近结构的曲线和曲面边界,所以当结构外形不规则、应力分布或变形很复杂时 可以选用高阶单元。
但高阶单元的节点数较多,在网格数目相同的情况下由高阶单元组成的模型 规模要大得多,因此在使用时应权衡考虑计算精度和时间。
网格划分基础
2.网格划分原则
(2)网格疏密 划分疏密不同的网格主要用于应力分析(包括静应力和动应力),而
计算固有特性时则趋于采用较均匀的钢格形式。这是由于固有频率和 振型主要取决于结构质量分布和刚度分布,不存在类似应力集中的现 象。同样,在结构温度场计算中也趋于采用均匀网格。
网格划分基础
2.网格划分原则
机械与动力工程学院CAD/CAM工程技 术研究中心
ANSYS Workbench
模型导入与网格划分
主讲:吴淑芳
2014年11月
主要内容
一、模型导入
网格划分基础
二、网格划分
全局网格控制 局部网格控制
ansys计算的位移结果导入sysnoise详细步骤
Ansys中计算的响应位移结构导入sysnoise(例子中用到的ansys为9.0版;sysnoise为5.5版)1、网格模型的导出将ANSYS中划好的网格模型,用cdwrite命令(命令格式如下)进行导出。
cdwrite,all,file-name,cbd如图4-1-4所示:图4-1-1其中:file-name为输出文件的文件名;cbd为输出的文件格式,无须改动。
运行命令后,ANSYS会在C:\Documents and Settings\用户名下生成两个如上文件名的文件,分别为cbd格式和iges格式,在此要用到的是cbd格式的文件。
2、响应结果的导出在对板件进行完谐响应分析后,将网格模型每个节点的响应结果输出,同样是在ANSYS软件界面上方Ansys Commond Prompt命令栏中输入如下命令流:/post1nfreq=(freqe-freqb)/df+1*get,nnod,node,,count*dim,r,array,nnod,7,nfreq*do,i,1,nfreq,1set,,i*get,nd,node,,num,min*do,j,1,nnod,1r(j,1,i)=ndr(j,2,i)=ux(nd)r(j,4,i)=uy(nd)r(j,6,i)=uz(nd)nd=ndnext(nd)*enddoset,,i,,1*get,nd,node,,num,min*do,j,1,nnod,1r(j,3,i)=ux(nd)r(j,5,i)=uy(nd)r(j,7,i)=uz(nd)nd=ndnext(nd)*enddo*enddo*cfopen,result,fre*do,i,1,nfreq,1*vwrite,'SYSNOISE',' DISPLAC','EMENTS','FILE' (a,a,a7,a4)*vwrite,'Rev 5.5 ','IBM P2ES','SL 20-AP','R-04' (a,a,a,a4)*vwrite,'Displace','_Structu','re'(a,a,a2)*vwrite,' 20-APR-','2004 10:','07:13'(a,a,a5)*vwrite,'FREQUENC','Y'(a,a1)freq=freqb+(i-1)*df*vwrite,freq(e20.8)*vwrite,'NODAL DI','SPLACEME','NT V ALUE','S' (a,a,a,a1)*do,j,1,nnod,1nseq=chrval(j)a=r(j,1,i)nd=chrval(a)uxr=r(j,2,i)uxi=r(j,3,i)uyr=r(j,4,i)uyi=r(j,5,i)uzr=r(j,6,i)uzi=r(j,7,i)*vwrite,' ',nseq,' ',nd,uxr,uxi,uyr(a2,a8,a2,a8,e20.8,e20.8,e20.8)*vwrite,'','','',uyi,uzr,uzi(a8,a8,a4,e20.8,e20.8,e20.8)*vwrite,'','','',0,0,0(a8,a8,a4,e20.8,e20.8,e20.8)*vwrite,'','','',0,0,0(a8,a8,a4,e20.8,e20.8,e20.8)*enddo*enddo*cfclos需要注意的是:nfreq=(freqe-freqb)/df+1一句中,freqe为要提取的截止频率,freqb为起始频率,两频率都不能超出之前在ansys中分析的频率。
基于ANSYS和SYSNOISE的弹性结构噪声分析
t
( 湖南 工 业 大 学 机 械 学 院 ,湖 南
要: 对弹性结构的噪声 分析过程 中, 结构表 面的声学量很 难精 确求解 , 结构的形貌往往 需要优化.利
用声 学分析软件 s No s 可 以计算 结构表 面及任 意点 的辐射 声场 ,提 出了将有限元分析软件A YS Ys IE NS 得到的
学 一 y
院
璐
Ab t a t I e c u s f h o s n l s s n t ee a tcsr cu e t ea o si o u f h tu t r l s r c : n t o r eo en iea a y i l si tu t r . h c u t v l meo e s c u a h t o h c t r
中图 分 类 号 :T 5 2 H12 B 3 ,T 2 文 献 标 识 码 :A 文 章 编 号 :1 7— 3 42 1)l0 4一 4 6 27 0 (0 1O -0 l0
城 锄
市 C
No s ieAna y i fEl si t u t eba e nA NSYS a d Y S OI l sso a tc S r c ur s d O n S N SE
LIS u XI h n, ONG o g- n Y n ga g
( Co lg fM e h nis Hu n Un v ri f e h oo y Z z o , n n41 0 8 Chia le eo c a c , na ie st o T c n lg , hu h u Hu a 2 0 , y n)
随着 人 们生 活水 平 的提 高 ,噪声 污染 越来 越 严 重 ,特 别 是 中 、低 频 噪声 倍 受关 注 .弹性 结构
扩张式消声器消声特性理论研究和实验分析
wave form.The noise attenuation performance of the muffler is improved by mending the muffler. Key words:acoustics;Sysnoise;finite element simulation;expansion muffler;insertion loss
3)对原有结构改进的有限元分析中可知,改进 后消声器的消声特性明显优于原有结构。从而表明 双扩张式消声器消声特性优于单扩张式的;并得出 消声器的扩张比是影响消声器消声特性的主要参 数,而消声器扩张腔长度、直径大小、入口腔和扩张 腔间圆角大小、人口和出口轴线的错开多少都不同 程度地影响消声效果,为进一部改进设计奠定了基 础。
第1期
蹒1 单扩张式消声器漓声特性的瑷论分析曲线豳
出现后,消声腔消声作用已大大降低,易形成径向平 面波,一维平西波翡分拼结果就不准确,使消声器消 声分析在高频失效。
2基于有限元的仿真分析
由于以上理论分析方面存在一定缺陷,而有限 元三维数值仿真解法只要处理好边值问题,在求解 域蠹可以较耩灌地算出复杂清声器声学模型在任俺
扩张式消声器消声特性理论研究和实验分析
105
文章编号:1006—1355(2008)01-0105-03
扩张式消声器消声特性理论研究和实验分析
张晓龙,李功宇
(昆明理工大学机电工程学院,昆明650093)
摘要:对某工业消声器进行了理论研究和实验分析,通过分析试验得到这类消声器的消声特性,指出在实际
ANSYSIMPORT
ANSYSIMPORT
通过UG可以用多种文件格式导入ANSYS,如:prt、model、iges、x_t等,不同格式导入的模型时,可能在ANSYS系统内修复的工作不尽相同,不能说那种格式一定就好,所以多试试不同的接口,但IGES通常问题较多,推荐不采用。
复杂模型导入时,如果一次性导入全部实体,困难较大,而且划分网格也很困难,所以推荐拆分后导入,如果导入实体有困难可以考虑先导入面模型,然后再在ANSYS里面想办法生成体。
但这里面也有问题,
分几次导入的实体,要想在ANSYS里面进行布尔操作,经常会遇到问题,不如CAD系统里面那么容易,所以模型怎么拆分导入,导面还是导体,这个就需要自己去权衡。
总之,复杂模型导入ANSYS时,花在前处理的时间较多,可能需对模型进行修复和重构,不过复杂模型多做几个的话,你的前处理能力将肯定会有大大的提高,祝你顺利!
直接将UG倒入也不很不错。
不过导入后,记住存一下盘,这样会加快速度。
另外导入后,采用/facet,normal,可以将面和体正常显示出来
我做复杂模型时多用solidworks做,然后用sat格式导入ansys,目前还未发现有数据丢失的问题。
利用ANSYS谐响应分析结果导入LMS Virtual lab中进行声学分析步骤
1.前期用ANSYS对模型进行动力学分析,然后保存结果文件.rst格式的,然后导入到Vrituallab12中进行声学分析,可能步骤有些长,大家尽量慢慢看,如果有不明白的,或者我的步骤有错误的,大家可以指正,还有我的VL版本是12的,12的版本和以前的微有不同,在后边大家会发现的。
我的Q1728993717.2.进入声学模块:开始—Acoustics—Acoustics Harmonic BEM ;3.导入Ansys分析结果文件.rst格式:文件—Import—默认即可,看好单位,与模型统一;4.更改文件名称,便于后续操作:在特征树中点开Nodes and Elements—右键点其子选项(就是带有齿轮标志那个)—属性—特征属性—更改名称—StructuresMesh.5.提取声学面网格:开始—Structures—Cavity Meshing—插入—Pre/Acoustics Meshers—Pre/Acoustics Meshers—Skin Meshers,出现一下图框,在Grid to Skin 区域选择结构网格即:StructuresMesh,其余都默认不用改,之后点击应用,Close。
6.在次回到声学模块:开始—Acoustics—Acoustics Harmonic BEM ;7.命名声学网格:点开特征树中的Nodes and Elements—右键Skin Meshpar1.—属性—特征属性—改名称—AcousticsMesh;到这步之后为了方便起见,可以将结构网格StructuresMesh隐藏:右键StructuresMesh—Hide/Show;8.设定分析类型:工具—Edit the Model Type Definitions—点击“是”出现对话框如下:按照图所示设置即可;9.设置网格类型:工具—Set Mesh parts Type:之后,在左边选中StructuresMesh,然后点右边的Set as Structures;同理,选中AcousticsMesh点击右边Set as Acoustics;然后确定即可;10.声学网格前处理:插入—Acoustic Mesh Prepocessing set 出现如下:在Mesh Parts 中选声学网格AcousticsMesh—确定即可;11.定义材料:插入—Materials—New Materials—New Fluid Materials按下图选着填写即可:其实就更改个Materials ID为Air 其余就都是默认即可,不用更改什么,然后点击确定。
SolidWorks与ANSYS之间的数据交换方法研究
4结语利用宏程序编写非圆曲线程序,不但节省了使用软件造型、自动编程、程序传输等方面的时间,而且使程序的可读性、简洁性和合理性大大增加,减少了加工的准备工作时间,从而提高了生产效率。
宏程序在一些三维曲面的编程中也得到了广泛的应用,对于不同的数控系统,宏程序的编写指令和格式有所差异,但编写的总体方法和思路基本相同。
随着数控系统的发展,二次开发功能将不断得到加强和完善,宏程序功能也会得到进一步的加强。
参考文献:[1]陈银清.宏程序编程在数控加工中的应用研究[J ].机床与液压,2009(5):42-45.[2]王荣兴.加工中心培训教程[K ].北京:机械工业出版社,2006.作者简介:倪贵华(1980-),江苏南通人,南京理工大学,机械电子工程专业,实验师,数控铣床高级技师,加工中心高级技师,从事数控技术领域编程加工与数控技术维修,电子信箱:04sk323@.责任编辑:武伟民收稿日期:2011-02-01煤矿机械Coal Mine MachineryVol.32No.09Sep.2011第32卷第09期2011年09月!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!引言SolidWorks 软件是世界上第1个基于Windows 开发的三维CAD 系统,其功能强大,用途广泛,是一款智能型高级CAD/CAE/CAM 组合软件。
ANSYS 软件是集结构、流体、电场、磁场、声场、热分析于一体的大型通用有限元分析软件,由世界上最大的有限元分析软件公司之一的美国ANSYS 公司开发,其完善的有限元分析功能已为全球业界所广泛接受。
因此,如何把2个软件结合起来,将在SolidWorks 中建立的复杂模型完整地导入到ANSYS 中去,进而完成所需的有限元分析则成为问题的关键所在。
1SolidWorks 与ANSYS 之间的数据交换ANSYS 提供的与多数CAD 软件的专用接口,实现数据的共享和交换,如Pro/E,NASTRAN,Alo -gor,I-DEAS,AutoCAD 等,而SolidWorks 又能输出IGES 、Parasolid 等格式的文件,这使两软件之间的数据交换成为可能。
ANSYS的基本步骤讲解
ANSYS的基本步骤讲解1.问题定义:在使用ANSYS之前,您需要明确要解决的问题。
定义问题包括确定您要分析的物理现象,所使用的材料,边界条件和所需的结果等。
2.创建几何模型:根据问题定义,您需要创建一个几何模型来表示分析的对象。
ANSYS 提供了各种建模工具,可以用于创建二维和三维的几何形状。
您可以使用ANSYS自带的CAD工具或导入其他CAD软件创建的模型。
3.划分网格:对几何模型进行网格划分是进行仿真分析的关键步骤。
ANSYS提供了各种网格划分工具,可以根据需要选择不同的划分技术和网格密度。
良好的网格划分可以提高仿真的准确性和效率。
4.材料属性定义:根据问题定义,您需要为模型中的不同部分定义适当的材料属性。
ANSYS提供了一个材料库,可以选择多种不同的材料,并根据需要定义其属性参数,如弹性模量,热导率等。
5.添加约束条件:在仿真中,机械结构通常受到约束条件的限制。
您需要添加适当的约束条件来代表物理世界中的限制。
ANSYS提供了各种约束选项,包括固定支撑、自由支撑、弹簧等。
通过添加这些约束条件,您可以更准确地模拟实际场景。
6.应用载荷:在仿真中,您需要明确地定义作用在模型上的载荷。
这可能是一个力,一个压力,一个温度或者其他物理效应。
您需要在模型的相关位置上添加适当的载荷。
ANSYS提供了各种载荷选项,可以精确描述应用的载荷。
7.设置仿真参数:在进行仿真之前,您需要设置一些模拟参数。
这些参数可以控制仿真过程和结果的精度。
例如,您可以设置时间步长、迭代次数、收敛标准等。
8.运行仿真:配置完所有参数后,可以开始运行仿真。
ANSYS将根据所设置的仿真参数对模型进行计算。
这可能需要一段时间,具体取决于模型的大小和复杂程度。
9.结果分析:仿真运行结束后,可以进行结果分析。
ANSYS提供了丰富的结果可视化和后处理工具,可以帮助您更好地理解和解释结果。
您可以查看模型的位移、应力、应变、温度分布等结果。
10.结果验证:最后,您需要对仿真结果进行验证。
[原创]图文并茂详解如何在ANSYS 12 Workbench中导入ICEM网格进行分析--ripperjack
ansys11 workbench如何使用icem生成网格大家也许比较熟悉了,但是12里面如何导入icem 的网格一直没有一个详细的教程,本人折腾了很久终于成功搞定,特此分享一下。
首先新建一个static strutural 分析,在geometry上依次右键transfer data from new-finite element modeler(FEM)。
如下图:双击新生成的FEM,选择需要导入的.uns 网格文件后进入FEM,如下:在FEM中我们可以在component里面看到ICEM中定义好的各个面,如下图中的IN、OUT、WALL三个面接着,右键geomery synthesis-insert-initial geometry ,如下图但是结果却令人失望,似乎wall这个面有些问题,如下图所示继续,在intial geometry 右键选covert to parasolid我们可以看到,新生成的parasolid geometry只有两个面,周围的面丢失了。
为什么会这样本人也不清楚,具体原因有待高手解答,既然导入ICEM的component不行那么就试试看skin detection tools。
首先,先把刚才生成的parasolid 和initial geometry删除,并且同时删除wall、in、out这三个ICEM中定义好的component,接着对skin detection tools 右键-create skin components,如下图所示:FEM自动检测到的面如下:接下来,重复上面的步骤,insert initial geometry,并且生成parasolid geometry,这时候的结果如下图,我们发现,parasolid里面全是面,没有实体。
接着,对parasolid geometry右键-add a sew tool选中这个立方体的6个面apply这时候我们已经把这六个面缝合成一个实体了保存FEM返回Workbench,点updata project,workbench会自动把FEM中的几何与网格导入static strutural导入后如下图:static strutural中的setup查看导入的几何与网格,OK!。
ansys与sysnoise转换问题
ansys与sysnoise转换问题ansys与sysnoise转换问题看到大家都比较关心这个问题,为此提供一种采用ansys命令流直接生成sysnoise的fre文件(振动模态表面位移),以供参考。
!从ANSYS中导出模态频率及振型数据/Post1*get,nodenum,node,,num,max !读取节点数*set,modenum,20 !指定模态的阶数*Cfopen,modefile_ansys,fre !打开文件*Vwrite('SYSNOISE MODES STRUCTURE FILE') !头文件*Vwrite('Rev 5.5 Windows NT 30NOV2000')*Vwrite('SYSNOISE Default Model')*Vwrite('23-JUN-2008 10:22:59')*Do,i,1,modenum,1*Vwrite('REAL MODE FREQUENCY EIGENVALUE')*Get,modefq,mode,i,freqbb='%i%'modeanglefq = modefq*modefq*2*2*3.141593*3.141593 *Vwrite, bb, modefq, modeanglefq(A10,2e20.8)*Vwrite('DISPLACEMENT VALUES')set,1,i*Do,ii,1,nodenum,1*Get,modeshpx,node,ii,u,x*Get,modeshpy,node,ii,u,y*Get,modeshpz,node,ii,u,z*Get,modeshprx,node,ii,rot,x*Get,modeshpry,node,ii,rot,y*Get,modeshprz,node,ii,rot,zbb1 ='%ii%'bb2 =' '*vwrite,bb1,bb1,modeshpx,modeshpy,modeshpz(2A10,3e20.8)*vwrite,bb2,modeshprx,modeshpry,modeshprz(A20,3e20.8)*Enddo*Enddo*cfclosFINISH或者参考haohaosir的原创帖/doc/976957018.html,/forum/thread-10954-1-1.html/POST26NSOL,2,10,U,Y,UY_2 ! 定义第二个变量为UY_2,值为10号节点Y 方向的位移,节点可任选,但要保证其值非0 XVAR,1 ! 定义时间变量为坐标横轴PLVAR,2*GET,num_var,VARI,0, NSETS ! 将变量长度值赋给变量num_var k=num_var*DIM,SYSNOISE_TITLE,CHAR,5,4SYSNOISE_TITLE(1,1)='SYSNOISE 'SYSNOISE_TITLE(1,2)=' ACCELER 'SYSNOISE_TITLE(1,3)='ATIONS 'SYSNOISE_TITLE(1,4)=' FILE'SYSNOISE_TITLE(2,1)='Rev 5.5 'SYSNOISE_TITLE(2,2)=' IBM P2E 'SYSNOISE_TITLE(2,3)='SSL 11'SYSNOISE_TITLE(2,4)='-AUG-02 'SYSNOISE_TITLE(3,1)='ACCELERA'SYSNOISE_TITLE(3,2)='TION_St'SYSNOISE_TITLE(3,3)='ructure 'SYSNOISE_TITLE(4,1)='11-AUG-2002 'SYSNOISE_TITLE(4,2)=' 10:07 'SYSNOISE_TITLE(4,3)=':13 'SYSNOISE_TITLE(5,1)='TIME'*CFOPEN,ACCE,fre ! 定义数据结果文件,ACCE.fre*VWRITE,SYSNOISE_TITLE(1,1) ,SYSNOISE_TITLE(1,2) ,SYSNO ISE_TITLE(1,3) ,SYSNOISE_TITLE(1,4)%C%C%C%C*get,nmax,node,,num,max, !得到节点编号的最大数*DIM,T_U,ARRAY,k,4! 定义保存时间历程结果的矩阵T_U,有num_var行,4列VGET,T_U(1,1,1),1 ! 矩阵的第一列保存第一个时间历程变量(默认为TIME)*dim,num_t,,1,5 !定义一个数组*DIM,SYSNOISE_SUBT1,CHAR,1,4SYSNOISE_SUBT1(1,1)='NODAL AC'SYSNOISE_SUBT1(1,2)='CELERATI 'SYSNOISE_SUBT1(1,3)='ON VALU'SYSNOISE_SUBT1(1,4)='ES'*do,i,1,k,1num_t(1,1)=T_U(i,1,1) !按次序取TIME值*VWRITE,num_t(1,1)%20.8E*VWRITE,SYSNOISE_SUBT1(1,1) ,SYSNOISE_SUBT1(1,2) ,SYS NOISE_SUBT1(1,3) ,SYSNOISE_SUBT1(1,4) %C%C%C%C *do,j,1,nmax,1NSOL,2,j,U,X,UX ! 定义第二个变量为UX,值为j号节点X方向的位移DERIV,3,2,1,,,,,1 ! 将位移对时间求导,得到速度,存为变量3DERIV,4,3,1,,,,,1 ! 将速度对时间求导,得到加速度,存为变量4 VGET,T_U(1,2,1),4 ! 矩阵的第2列保存第四个时间历程变量,j号节点X方向的加速度时间历程结果num_t(1,2)=T_U(i,2,1) !将与i对应的j节点的X加速度值赋给num_t的第2列NSOL,5,j,U,Y,UY ! 定义第5个变量为UY,值为j号节点Y方向的位移DERIV,6,5,1,,,,,1 ! 将位移对时间求导,得到速度,存为变量6DERIV,7,6,1,,,,,1 ! 将速度对时间求导,得到加速度,存为变量7 VGET,T_U(1,3,1),7 ! 矩阵的第3列保存第7个时间历程变量,j号节点Y方向的加速度时间历程结果num_t(1,3)=T_U(i,3,1) !将与i对应的j节点的Y加速度值赋给num_t的第3列NSOL,8,j,U,Z,UZ ! 定义第8个变量为UZ,值为j号节点Z方向的位移DERIV,9,8,1,,,,,1 ! 将位移对时间求导,得到速度,存为变量9DERIV,10,9,1,,,,,1 ! 将速度对时间求导,得到加速度,存为变量10 VGET,T_U(1,4,1),10 ! 矩阵的第4列保存第10个时间历程变量,j 号节点Z方向的加速度时间历程结果num_t(1,4)=T_U(i,4,1) !将与i对应的j节点的Z加速度值赋给num_t的第4列num_t(1,5)=j*VWRITE,num_t(1,5),num_t(1,5),num_t(1,2),0,num_t(1,3) ! 将时间历程结果数据写到数据结果文件中,0为虚部及旋转加速度值%10I%10I%20.8E%20.8E%20.8E*VWRITE,0,num_t(1,4),0(20X,E20.8,E20.8,E20.8)*VWRITE,0,0,0(20X,E20.8,E20.8,E20.8)*VWRITE,0,0,0(20X,E20.8,E20.8,E20.8)*enddo*IF,i,EQ,k,THEN*EXIT*ENDIF*VWRITE,SYSNOISE_TITLE(1,1) ,SYSNOISE_TITLE(1,2) ,SYSNO ISE_TITLE(1,3) ,SYSNOISE_TITLE(1,4)%C%C%C%C*enddo*CFCLOSFINISH原创]第2种方法将Ansys计算结果(比如加速度值)写为fre文件的命令流/POST26NSOL,2,231,U,Z,UY_2 ! 定义第二个变量为UY_2,值为10号节点Y方向的位移,节点可任选,但要保证其值非0XVAR,1 ! 定义时间变量为坐标横轴PLVAR,2*GET,num_var,VARI,0, NSETS ! 将变量长度值赋给变量num_var k=num_var*DIM,SYSNOISE_TITLE,CHAR,5,4SYSNOISE_TITLE(1,1)='SYSNOISE 'SYSNOISE_TITLE(1,2)=' ACCELER 'SYSNOISE_TITLE(1,3)='ATIONS 'SYSNOISE_TITLE(1,4)=' FILE'SYSNOISE_TITLE(2,1)='Rev 5.5 'SYSNOISE_TITLE(2,2)=' IBM P2E 'SYSNOISE_TITLE(2,3)='SSL 11'SYSNOISE_TITLE(2,4)='-AUG-02 'SYSNOISE_TITLE(3,1)='ACCELERA'SYSNOISE_TITLE(3,2)='TION_St'SYSNOISE_TITLE(3,3)='ructure 'SYSNOISE_TITLE(4,1)='11-AUG-2002 'SYSNOISE_TITLE(4,2)=' 10:07 'SYSNOISE_TITLE(4,3)=':13 'SYSNOISE_TITLE(5,1)='TIME'*CFOPEN,ACCE1,fre ! 定义数据结果文件,ACCE.fre*VWRITE,SYSNOISE_TITLE(1,1) ,SYSNOISE_TITLE(1,2) ,SYSNO ISE_TITLE(1,3) ,SYSNOISE_TITLE(1,4) %C%C%C%C*get,nmax,node,,num,max, !得到节点编号的最大数kk=nmax*3+1*DIM,T_U,ARRAY,k,kk! 定义保存时间历程结果的矩阵T_U,有num_var行,kk列VGET,T_U(1,1,1),1 ! 矩阵的第一列保存第一个时间历程变量(默认为TIME)*dim,num_t,,1,5 !定义一个数组*DIM,SYSNOISE_SUBT1,CHAR,1,4SYSNOISE_SUBT1(1,1)='NODAL AC'SYSNOISE_SUBT1(1,2)='CELERATI 'SYSNOISE_SUBT1(1,3)='ON VALU'SYSNOISE_SUBT1(1,4)='ES's=1*do,j,1,nmax,1NSOL,2,j,U,X,UX ! 定义第二个变量为UX,值为j号节点X方向的位移DERIV,3,2,1,,,,,1 ! 将位移对时间求导,得到速度,存为变量3DERIV,4,3,1,,,,,1 ! 将速度对时间求导,得到加速度,存为变量4 s=s+1VGET,T_U(1,s,1),4 ! 矩阵的第s列保存第四个时间历程变量,j号节点X方向的加速度时间历程结果NSOL,5,j,U,Y,UY ! 定义第5个变量为UY,值为j号节点Y方向的位移DERIV,6,5,1,,,,,1 ! 将位移对时间求导,得到速度,存为变量6DERIV,7,6,1,,,,,1 ! 将速度对时间求导,得到加速度,存为变量7 s=s+1VGET,T_U(1,s,1),7 ! 矩阵的第s列保存第7个时间历程变量,j号节点Y方向的加速度时间历程结果NSOL,8,j,U,Z,UZ ! 定义第8个变量为UZ,值为j号节点Z方向的位移DERIV,9,8,1,,,,,1 ! 将位移对时间求导,得到速度,存为变量9DERIV,10,9,1,,,,,1 ! 将速度对时间求导,得到加速度,存为变量10 s=s+1VGET,T_U(1,s,1),10 ! 矩阵的第s列保存第10个时间历程变量,j 号节点Z方向的加速度时间历程结果*enddo*do,i,1,k,1num_t(1,1)=T_U(i,1,1) !按次序取TIME值*VWRITE,num_t(1,1)%20.8E*VWRITE,SYSNOISE_SUBT1(1,1) ,SYSNOISE_SUBT1(1,2) ,SYS NOISE_SUBT1(1,3) ,SYSNOISE_SUBT1(1,4) %C%C%C%C s=1*do,j,1,nmaxs=s+1num_t(1,2)=T_U(i,s,1) !将与i对应的j节点的X加速度值赋给num_t的第2列s=s+1num_t(1,3)=T_U(i,s,1) !将与i对应的j节点的Y加速度值赋给num_t的第3列s=s+1num_t(1,4)=T_U(i,s,1) !将与i对应的j节点的Z加速度值赋给num_t的第4列num_t(1,5)=j*VWRITE,num_t(1,5),num_t(1,5),num_t(1,2),0,num_t(1,3) ! 将时间历程结果数据写到数据结果文件中,0为虚部及旋转加速度值%10I%10I%20.8E%20.8E%20.8E*VWRITE,0,num_t(1,4),0(20X,E20.8,E20.8,E20.8)*VWRITE,0,0,0(20X,E20.8,E20.8,E20.8)*VWRITE,0,0,0(20X,E20.8,E20.8,E20.8)*enddo*IF,i,EQ,k,THEN*EXIT*ENDIF*VWRITE,SYSNOISE_TITLE(1,1) ,SYSNOISE_TITLE(1,2) ,SYSNO ISE_TITLE(1,3) ,SYSNOISE_TITLE(1,4)%C%C%C%C*enddo*CFCLOSFINISH该方法与上次传的相比:计算量大大减少、因此速度要快!因为第一种方法每写一步数据,变量需要计算一次。
