资源描述
首先,是用AutoCAD或ANSYS将轨道的几何模型建好,转成IGES格式,保存成文件,这一步工作比较繁琐但没有技术麻烦,为了方便大家,现将其上传。见附件。
217052-RAIL60.IGES (0.0k)
接着建模型导入ANSYS: File>Import>IGES
定义单元1:Mesh200-----用于对平面的单元划分,注意要在Options中设置单元为4节点平面单元(QUAD 4-NODE)
定义单元2:Solid45------用于实体的单元类型。
单元的形成是二维拖拉成三维!
定义轨道材料常数:弹性模量210GPa,泊松比0.3。
进行平面单元划分之前,先进行合并重节点及压缩节点操作。操作完毕后,平面的线如图所示。
轨道的受力主要在轨头上,故而上面的单元密度应该控制细一点。另外,由于轨道结构比较长(本例采用5跨来分析),二维单元不能太细,否则总的单元数将是极其惊人的。
尝试过用自由网格划分的办法,可是拖拉后,三维单元效果不理想。不是畸变单元太多就是总的单元数太大。最终决定用映射方法进行网格划分。
总体的思路就是将轨道分成三部分:轨头,腹肋和底座。先将现有的面积删除然后重新定义两根线,再由线重新定义面积。同时将L1和L15一分为二!如图所示。
对线进行网格划分控制,采用设置等分分数的方法。设置数据如下:
10
1 1
4 4
4 4 4
10 10
4
2 2
4 4
2 2
16
然后将设置线的关联。
对轨头部分:上面三条线关联起来,下面三条线也关联起来,大概就是上下等分数为12,左右等分数为4。
对腹肋部分:上下等分数为4,左右等分数为10。
对支座部分:上面五条线关联起来,上下等分数为16,左右等分数为2。
设置好后,用映射方法划分网格,如图所示。
接下来是将二维网格拖拉成三维。再做这一步之前,要切记做一件非常非常重要的事情:就是将刚才对线的关联取消!否则拖拉操作将不能成功。将二维网格保存成rail_2Dmesh.db。
由于下面的工作具有很强的规律性,故而采用命令流方法。二维生成三维模型,并对轨枕处施加固定约束的命令流如下:
RESUME,rail_2Dmesh,db
/prep7
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
EXTOPT,ESIZE,30,-0.3
EXTOPT,ACLEAR,0
EXTOPT,ATTR,0,0,0
MAT,1
REAL,_Z4
ESYS,0
VOFFST,1,568,
VOFFST,2,568,
VOFFST,3,568,
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
EXTOPT,ESIZE,20,
EXTOPT,ACLEAR,0
EXTOPT,ATTR,0,0,0
MAT,1
REAL,_Z4
ESYS,0
VOFFST,1,-568,
VOFFST,2,-568,
VOFFST,3,-568,
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
VGEN,2,4, , ,1136
VGEN,2,5, , ,1136
VGEN,2,6, , ,1136
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
VGEN,2,4, , ,-568
VGEN,2,5, , ,-568
VGEN,2,6, , ,-568
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
VGEN,2,4, , ,1704
VGEN,2,5, , ,1704
VGEN,2,6, , ,1704
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
VGEN, ,ALL, , ,-284, , , , ,1
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
NSEL,S,LOC,X,199,369
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
NSEL,S,LOC,X,767,937
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
NSEL,S,LOC,X,1335,1420
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
NSEL,S,LOC,X,-369,-199
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
NSEL,S,LOC,X,-937,-767
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
NSEL,S,LOC,X,-1420,-1335
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
SAVE,rail_3Dmesh_withoutLoad,db
FINISH
三维轨道单元模型如图所示:
到此,建模工作已完成。本人认为最重要的部分是在后处理中,本分析的后处理涉及到结果数据的获取及数据文件的输出(不是List命令那样哦,是按照自己想要的格式写到文件中,供其他软件进行进一步数据读写及数据处理)。
时间过得真快,肚子都饿了。暂时先到这里吧!看看有没有人感兴趣,而且也想看看斑竹的意见。免得做一堆无用功,浪费大家的时间。
想要继续的朋友,顶一顶吧。
RESUME,rail_2Dmesh,db ! 重新开始,导入二维网格划分后的模型
/prep7 ! 进入前处理
NUMMRG,ALL, , , ,LOW ! 合并重节点,保留低编号
NUMCMP,ALL ! 压缩编号
EXTOPT,ESIZE,30,-0.3 ! 拖拉设置,在拖拉方向产生30个单元,
! 最小的单元是最大单元的0.3,
! 负号表示中间的单元小,两头的单元大
EXTOPT,ACLEAR,0 ! 拖拉后不删除原来的面
EXTOPT,ATTR,0,0,0
MAT,1 ! 拖拉后,体的材料特性
REAL,_Z4 ! 拖拉后,体的实常数(默认)
ESYS,0 ! 单元坐标系(默认)
VOFFST,1,568, ! 将面1向正法线方向拖拉568个单位
VOFFST,2,568, ! 将面2向正法线方向拖拉568个单位
VOFFST,3,568, ! 将面3向正法线方向拖拉568个单位
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
EXTOPT,ESIZE,20, ! 拖拉设置,在拖拉方向产生20个单元,
! 各个单元大小相等
EXTOPT,ACLEAR,0
EXTOPT,ATTR,0,0,0
MAT,1
REAL,_Z4
ESYS,0
VOFFST,1,-568, ! 将面1向负法线方向拖拉568个单位
VOFFST,2,-568, ! 将面2向负法线方向拖拉568个单位
VOFFST,3,-568, ! 将面3向负法线方向拖拉568个单位
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
VGEN,2,4, , ,1136 ! 体复制,将4号体复制一份到沿正法线方向
! 1136单位处(以现在位置为起点的相对距离)
VGEN,2,5, , ,1136 ! 体复制,将5号体复制一份到沿正法线方向
! 1136单位处(以现在位置为起点的相对距离)
VGEN,2,6, , ,1136 ! 体复制,将6号体复制一份到沿正法线方向
! 1136单位处(以现在位置为起点的相对距离)
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
VGEN,2,4, , ,-568 ! 体复制,将4号体复制一份到沿负法线方向
! 568单位处(以现在位置为起点的相对距离)
VGEN,2,5, , ,-568 ! 体复制,将5号体复制一份到沿负法线方向
! 568单位处(以现在位置为起点的相对距离)
VGEN,2,6, , ,-568 ! 体复制,将6号体复制一份到沿负法线方向
! 568单位处(以现在位置为起点的相对距离)
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
VGEN,2,4, , ,1704
VGEN,2,5, , ,1704
VGEN,2,6, , ,1704
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
VGEN, ,ALL, , ,-284, , , , ,1 ! 体平移,将所有体沿负法线方向平移
! 284个单位(以现在位置为起点的相对距离)
NUMMRG,ALL, , , ,LOW
NUMCMP,ALL
NSEL,S,LOC,X,199,369 ! 轨枕处的约束
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
NSEL,S,LOC,X,767,937
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
NSEL,S,LOC,X,1335,1420
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
NSEL,S,LOC,X,-369,-199
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
NSEL,S,LOC,X,-937,-767
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
NSEL,S,LOC,X,-1420,-1335
NSEL,R,LOC,Y,-79
D,ALL,ALL
ALLSEL,ALL
SAVE,rail_3Dmesh_withoutLoad,db ! 保存数据库为文件格式
FINISH
既然大家感兴趣,现在继续!
我要算的是轨道的等效翻转刚度,初步设想就是在中跨(这里一共有5跨)的跨中位置施加一组横向的力,得到一条P-D曲线,然后对载荷位移曲线进行分析、拟合,求取等效翻转刚度。
本人的思路、方法具有一定的创新性,正式的论文会在不久的将来在铁路或力学相关的学术期刊上发表,在此之前,希望大家尊重作者的版权,仅供参考,不可剽窃。
第一步:先将中跨跨中位置轨头上的节点表列出来,以便对节点施加载荷。
第二步:根据表列节点极其位置,施加载荷。
第三步:开始求解。
中跨跨中轨头上面的节点如图所示。根据实际的轮轨接触关系,只取轨头一侧的节点作为加载节点,命令流如下所示:
RESUME,rail_3Dmesh_withoutLoad,db ! 重新开始分析,恢复rail_3Dmesh_withoutLoad.db
NSEL,S,LOC,X,0 ! 选择中跨跨中位置
NSEL,R,LOC,Y,94,100 ! 选择中跨跨中位置的轨头节点
NSEL,R,LOC,Z,-25.330,0 ! 选择中跨跨中位置的一侧轨头节点
/PNUM,NODE,1 ! 显示节点编号
/VIEW,1,-1 ! 视图方向控制
/ANG,1
/REPLOT ! 图形重画
NPLOT ! 节点重画
ALLSEL,ALL ! 选择所有
如图所示。
加载节点的节点信息表列出来,如图所示。它有助于后面的等效刚度换算。
接着是加载求解:为了得到P-D曲线,进行一次求解后,应该将加载节点的位移值予以保存。
篇幅问题,只对400号节点的加载及求解情况详细介绍,作为示范。其他的节点情况类似处理。
/SOLU ! 进入求解器
F,400,FY,-105 !对加载节点施加竖向载荷
F,400,FZ,50 !对加载节点施加横向载荷
SOLVE !求解
FINISH
/POST1 ! 进入通用后处理器。
SET,LIST !读入结果数据
*GET,D_50,NODE,400,U,Z !将加载节点的横向位移保存为标量参数D_50
FINISH
/SOLU
FDELE,400,FZ
F,400,FZ,45
SOLVE
FINISH
/POST1
SET,LIST
*GET,D_45,NODE,400,U,Z
FINISH
/SOLU
FDELE,400,FZ
F,400,FZ,40
SOLVE
FINISH
/POST1
SET,LIST
*GET,D_40,NODE,400,U,Z
FINISH
/SOLU
FDELE,400,FZ
F,400,FZ,35
SOLVE
FINISH
/POST1
SET,LIST
*GET,D_35,NODE,400,U,Z
FINISH
/SOLU
FDELE,400,FZ
F,400,FZ,30
SOLVE
FINISH
/POST1
SET,LIST
*GET,D_30,NODE,400,U,Z
FINISH
/SOLU
FDELE,400,FZ
F,400,FZ,25
SOLVE
FINISH
/POST1
SET,LIST
*GET,D_25,NODE,400,U,Z
FINISH
/SOLU
FDELE,400,FZ
F,400,FZ,20
SOLVE
FINISH
/POST1
SET,LIST
*GET,D_20,NODE,400,U,Z
FINISH
/SOLU
FDELE,400,FZ
F,400,FZ,15
SOLVE
FINISH
/POST1
SET,LIST
*GET,D_15,NODE,400,U,Z
FINISH
/SOLU
FDELE,400,FZ
F,400,FZ,10
SOLVE
FINISH
/POST1
SET,LIST
*GET,D_10,NODE,400,U,Z
FINISH
/SOLU
FDELE,400,FZ
F,400,FZ,5
SOLVE
FINISH
/POST1
SET,LIST
*GET,D_5,NODE,400,U,Z
FINISH
/SOLU
FDELE,400,FZ
F,400,FZ,0
SOLVE
FINISH
/POST1
SET,LIST
*GET,D_0,NODE,400,U,Z
SAVE,rail_FN400,db ! 保存数据库
FINISH
对命令流的一个补充说明:
*GET,D_50,NODE,400,U,Z
*GET表示获取数据,为ANSYS的内部命令;
D_50是保存所获取数据的参数的名称,命名格式与ANSYS文件的命令要求是相同的,就是要求英文字母开头,只能是英文字母、数字和下划线的组合,而且还有长度限制;
NODE表示获取的是与节点相关的数据;
400表示节点的编号;
U表示获取的是节点位依结果;
Z表示是Z方向的位移结果。
将这一系列的标量参数提取出来,就可以划去P-D(载荷-位移)曲线了。本人用Matlab对这些数据进行处理,结果如图所示。
上图中,下面由5行文字、公式,分别是加载节点的编号、偏移轨道中心距离以及对应不同加载节点的D_P曲线拟合公式。
由图很容易知道在横向位移与横向力之间存在着一种非常明显的线性关系。直线的斜率对应公式的载荷常数,直线的截距对应的是竖向载荷所引起的横向位移(偏心载荷效应)。
另一方面,直线的斜率刚好就是轨道的等效柔度了!注意:是轨道等效柔度!!!
由振动力学知识知道,刚度是柔度的倒数,因此,轨道的等效刚度就算是计算出来了。(注意:这里用了“算是”一词,是有其深刻含义的,敬请继续关注)
补充一点:上面给出的等效柔度、等效刚度是经过平均化处理了的。严格说来对应每一个位置都可以得到一个等效值。
西南交大的校训里面有“严谨治学”四个字,这是极其重要的!
注意到我们施加的载荷是集中载荷,且就是加在载荷节点上面。由弹性力学的基本知识,马上就会有一个反应:集中载荷在作用点处会不会产生应力集中效应呢?一旦应力集中发生了,那该点的结果就肯定包含了较大的误差成分,对结果的影响将是难以意料的。所以,在后处理中,将加载节点位置的变形进行放大,仔细观察,如图所示。
由图可知,应力集中问题比较突出,轨道变形在加载节点位置有局部失真。这说明前面所拟合出来的D-P曲线包含一定的误差成分了。
科学研究的过程就是这样的一个:问题出现-->解决问题-->新问题出现--->解决新问题......反复的过程。
该如何解决这个问题?
注意到轨道是钢轨,具有很大的刚度,实际中局部发生大的突变的可能性不会很大。将变形的结果映射到钢轨的某一连续直线位置,然后通过拟合再求得突变(计算结果)位置的结果,这样就能较好地解决这种突变的问题,保证整体的连续性!
因此,接下来就是对结果的路径操作!
由于上面特定的原因,路径的定义就不应该是随意的了。很显然,路径应该定义成沿轨道方向,在同一Y(竖向高度)、Z(横向位置)的一系列的点所组成的直线。
再回顾建立三维模型的过程,我们是用拖拉操作实现的,那么加载节点经过拖拉后不是刚好形成一条直线吗?Good,That is it!
就取中跨两端轨头上的节点来定义路径。
选取中跨轨头上面加载节点一侧的所有节点,并显示其编号,如图所示。
NSEL,S,LOC,X,-284,284
NSEL,R,LOC,Y,94,100
NSEL,R,LOC,Y,-25.330,0
/PNUM,NODE,1
NPLOT
说明:上面这个图是经过了动态模式显示的,或许这样的显示容易使人迷失方向感,不知道那些节点对应那些位置。解决这个问题的办法也很简单,只需将这些节点用表列出来即可。
NLIST,ALL, , ,XYZ,Y,Z,X
如图所示。
FINISH
/CLEAR,NOSTART
RESUME,rail_3Dmesh_withoutLoad,db
!/VIEW,1,1,1,1
!GPLOT
/SOLU
F,ARG1,FY,ARG2
F,ARG1,FZ,ARG3
SOLVE
FINISH
/POST1
*DIM,DATAP1,,31,2
*DIM,P1,,31,1
P1(1,1)=7
*GET,DATAP1(1,1),NODE,P1(1,1),LOC,X
*GET,DATAP1(1,2),NODE,P1(1,1),U,Z
*DO,IP,2,30
P1(IP,1)=IP+384
*GET,DATAP1(IP,1),NODE,P1(IP,1),LOC,X
*GET,DATAP1(IP,2),NODE,P1(IP,1),U,Z
*ENDDO
P1(31,1)=385
*GET,DATAP1(31,1),NODE,P1(31,1),LOC,X
*GET,DATAP1(31,2),NODE,P1(31,1),U,Z
*DIM,DATAP2,,31,2
*DIM,P2,,31,1
P2(1,1)=9
*GET,DATAP2(1,1),NODE,P2(1,1),LOC,X
*GET,DATAP2(1,2),NODE,P2(1,1),U,Z
*DO,IP,2,30
P2(IP,1)=IP+842
*GET,DATAP2(IP,1),NODE,P2(IP,1),LOC,X
*GET,DATAP2(IP,2),NODE,P2(IP,1),U,Z
*ENDDO
P2(31,1)=835
*GET,DATAP2(31,1),NODE,P2(31,1),LOC,X
*GET,DATAP2(31,2),NODE,P2(31,1),U,Z
*DIM,DATAP3,,31,2
*DIM,P3,,31,1
P3(1,1)=10
*GET,DATAP3(1,1),NODE,P3(1,1),LOC,X
*GET,DATAP3(1,2),NODE,P3(1,1),U,Z
*DO,IP,2,30
P3(IP,1)=IP+871
*GET,DATAP3(IP,1),NODE,P3(IP,1),LOC,X
*GET,DATAP3(IP,2),NODE,P3(IP,1),U,Z
*ENDDO
P3(31,1)=836
*GET,DATAP3(31,1),NODE,P3(31,1),LOC,X
*GET,DATAP3(31,2),NODE,P3(31,1),U,Z
*DIM,DATAP4,,31,2
*DIM,P4,,31,1
P4(1,1)=11
*GET,DATAP4(1,1),NODE,P4(1,1),LOC,X
*GET,DATAP4(1,2),NODE,P4(1,1),U,Z
*DO,IP,2,30
P4(IP,1)=IP+900
*GET,DATAP4(IP,1),NODE,P4(IP,1),LOC,X
*GET,DATAP4(IP,2),NODE,P4(IP,1),U,Z
*ENDDO
P4(31,1)=837
*GET,DATAP4(31,1),NODE,P4(31,1),LOC,X
*GET,DATAP4(31,2),NODE,P4(31,1),U,Z
*DIM,DATAP5,,31,2
*DIM,P5,,31,1
P5(1,1)=12
*GET,DATAP5(1,1),NODE,P5(1,1),LOC,X
*GET,DATAP5(1,2),NODE,P5(1,1),U,Z
*DO,IP,2,30
P5(IP,1)=IP+929
*GET,DATAP5(IP,1),NODE,P5(IP,1),LOC,X
*GET,DATAP5(IP,2),NODE,P5(IP,1),U,Z
*ENDDO
P5(31,1)=838
*GET,DATAP5(31,1),NODE,P5(31,1),LOC,X
*GET,DATAP5(31,2),NODE,P5(31,1),U,Z
*DIM,DATAP6,,31,2
*DIM,P6,,31,1
P6(1,1)=13
*GET,DATAP6(1,1),NODE,P6(1,1),LOC,X
*GET,DATAP6(1,2),NODE,P6(1,1),U,Z
*DO,IP,2,30
P6(IP,1)=IP+958
*GET,DATAP6(IP,1),NODE,P6(IP,1),LOC,X
*GET,DATAP6(IP,2),NODE,P6(IP,1),U,Z
*ENDDO
P6(31,1)=839
*GET,DATAP6(31,1),NODE,P6(31,1),LOC,X
*GET,DATAP6(31,2),NODE,P6(31,1),U,Z
*CFOPEN,ARG4,TXT
*VWRITE,DATAP1(1,1),DATAP1(1,2)
(31F16.9)
*CFOPEN,ARG5,TXT
*VWRITE,DATAP2(1,1),DATAP2(1,2)
(31F16.9)
*CFOPEN,ARG6,TXT
*VWRITE,DATAP3(1,1),DATAP3(1,2)
(31F16.9)
*CFOPEN,ARG7,TXT
*VWRITE,DATAP4(1,1),DATAP4(1,2)
(31F16.9)
*CFOPEN,ARG8,TXT
*VWRITE,DATAP5(1,1),DATAP5(1,2)
(31F16.9)
*CFOPEN,ARG9,TXT
*VWRITE,DATAP6(1,1),DATAP6(1,2)
(31F16.9)
FINISH
看到这么多的朋友关注“铁路轨道有限元分析”这一话题,非常高兴!前段时间由于忙于硕士论文及开班ANSYS培训班,荒废对这一话题的后续关注,是在抱歉。在此先向关注此话题的朋友道个谦。
以下给出后续的分析:
在前面的分析基础上,将分析过程中建模后,施加约束完毕,生成一个“rail_3Dmesh_withoutLoad.db”数据库文件。这一文件为加载(力载荷)前的整个模型的数据库文件。
以下命令为宏命令“RAIL.mac”的内容:
FINISH
/CLEAR,NOSTART
RESUME,rail_3Dmesh_withoutLoad,db
!/VIEW,1,1,1,1
!GPLOT
/SOLU
F,ARG1,FY,ARG2
F,ARG1,FZ,ARG3
SOLVE
FINISH
/POST1
*DIM,DATAP1,,31,2
*DIM,P1,,31,1
P1(1,1)=7
*GET,DATAP1(1,1),NODE,P1(1,1),LOC,X
*GET,DATAP1(1,2),NODE,P1(1,1),U,Z
*DO,IP,2,30
P1(IP,1)=IP+384
*GET,DATAP1(IP,1),NODE,P1(IP,1),LOC,X
*GET,DATAP1(IP,2),NODE,P1(IP,1),U,Z
*ENDDO
P1(31,1)=385
*GET,DATAP1(31,1),NODE,P1(31,1),LOC,X
*GET,DATAP1(31,2),NODE,P1(31,1),U,Z
*DIM,DATAP2,,31,2
*DIM,P2,,31,1
P2(1,1)=9
*GET,DATAP2(1,1),NODE,P2(1,1),LOC,X
*GET,DATAP2(1,2),NODE,P2(1,1),U,Z
*DO,IP,2,30
P2(IP,1)=IP+842
*GET,DATAP2(IP,1),NODE,P2(IP,1),LOC,X
*GET,DATAP2(IP,2),NODE,P2(IP,1),U,Z
*ENDDO
P2(31,1)=835
*GET,DATAP2(31,1),NODE,P2(31,1),LOC,X
*GET,DATAP2(31,2),NODE,P2(31,1),U,Z
*DIM,DATAP3,,31,2
*DIM,P3,,31,1
P3(1,1)=10
*GET,DATAP3(1,1),NODE,P3(1,1),LOC,X
*GET,DATAP3(1,2),NODE,P3(1,1),U,Z
*DO,IP,2,30
P3(IP,1)=IP+871
*GET,DATAP3(IP,1),NODE,P3(IP,1),LOC,X
*GET,DATAP3(IP,2),NODE,P3(IP,1),U,Z
*ENDDO
P3(31,1)=836
*GET,DATAP3(31,1),NODE,P3(31,1),LOC,X
*GET,DATAP3(31,2),NODE,P3(31,1),U,Z
*DIM,DATAP4,,31,2
*DIM,P4,,31,1
P4(1,1)=11
*GET,DATAP4(1,1),NODE,P4(1,1),LOC,X
*GET,DATAP4(1,2),NODE,P4(1,1),U,Z
*DO,IP,2,30
P4(IP,1)=IP+900
*GET,DATAP4(IP,1),NODE,P4(IP,1),LOC,X
*GET,DATAP4(IP,2),NODE,P4(IP,1),U,Z
*ENDDO
P4(31,1)=837
*GET,DATAP4(31,1),NODE,P4(31,1),LOC,X
*GET,DATAP4(31,2),NODE,P4(31,1),U,Z
*DIM,DATAP5,,31,2
*DIM,P5,,31,1
P5(1,1)=12
*GET,DATAP5(1,1),NODE,P5(1,1),LOC,X
*GET,DATAP5(1,2),NODE,P5(1,1),U,Z
*DO,IP,2,30
P5(IP,1)=IP+929
*GET,DATAP5(IP,1),NODE,P5(IP,1),LOC,X
*GET,DATAP5(IP,2),NODE,P5(IP,1),U,Z
*ENDDO
P5(31,1)=838
*GET,DATAP5(31,1),NODE,P5(31,1),LOC,X
*GET,DATAP5(31,2),NODE,P5(31,1),U,Z
*DIM,DATAP6,,31,2
*DIM,P6,,31,1
P6(1,1)=13
*GET,DATAP6(1,1),NODE,P6(1,1),LOC,X
*GET,DATAP6(1,2),NODE,P6(1,1),U,Z
*DO,IP,2,30
P6(IP,1)=IP+958
*GET,DATAP6(IP,1),NODE,P6(IP,1),LOC,X
*GET,DATAP6(IP,2),NODE,P6(IP,1),U,Z
*ENDDO
P6(31,1)=839
*GET,DATAP6(31,1),NODE,P6(31,1),LOC,X
*GET,DATAP6(31,2),NODE,P6(31,1),U,Z
*CFOPEN,ARG4,TXT
*VWRITE,DATAP1(1,1),DATAP1(1,2)
(31F16.9)
*CFOPEN,ARG5,TXT
*VWRITE,DATAP2(1,1),DATAP2(1,2)
(31F16.9)
*CFOPEN,ARG6,TXT
*VWRITE,DATAP3(1,1),DATAP3(1,2)
(31F16.9)
*CFOPEN,ARG7,TXT
*VWRITE,DATAP4(1,1),DATAP4(1,2)
(31F16.9)
*CFOPEN,ARG8,TXT
*VWRITE,DATAP5(1,1),DATAP5(1,2)
(31F16.9)
*CFOPEN,ARG9,TXT
*VWRITE,DATAP6(1,1),DATAP6(1,2)
(31F16.9)
FINISH
将此宏命令文件放在ANSYS搜索目录下(最典型的就是放在ANSYS的工作目录下),然后就可以以ANSYS命令的格式来调用它了!
宏命令的调用格式为:
RAIL,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8,ARG9
命令参数如下:
RAIL - 宏文件名称
ARG1 - 第一个参数:加载节点号
ARG2 - 第二个参数:FY
ARG3 - 第三个参数:FZ
ARG4 - 第四个参数:路径1数据保存文件名
ARG5 - 第五个参数:路径2数据保存文件名
ARG6 - 第六个参数:路径3数据保存文件名
ARG7 - 第七个参数:路径4数据保存文件名
ARG8 - 第八个参数:路径5数据保存文件名
ARG9 - 第九个参数:路径6数据保存文件名
其中ARG4~ARG9为字符型参数,必须输入字符型,而且得遵从ansys文件的命名规则。
典型的调用格式为:
RAIL,400,-50,50,'D50_400_P1_50','D50_400_P2_50','D50_400_P3_50','D50_400_P4_50','D50_400_P5_50','D50_400_P6_50'
典型调用应用例子:
! x=222.07896mm截面:半轨道的3/4位置
RAIL,413,-50,50,'D50_413_P1_50','D50_413_P2_50','D50_413_P3_50','D50_413_P4_50','D50_413_P5_50','D50_413_P6_50'
RAIL,413,-50,45,'D50_413_P1_45','D50_413_P2_45','D50_413_P3_45','D50_413_P4_45','D50_413_P5_45','D50_413_P6_45'
RAIL,413,-50,40,'D50_413_P1_40','D50_413_P2_40','D50_413_P3_40','D50_413_P4_40','D50_413_P5
展开阅读全文