问题描述
在ANSYS结构分析尤其是实验性的分析中,我们往往在不同的模型参数下进行分析,并导出相应分析结果文件。例如,对于一根梁的分析,两个基本的参数为长度L(10 m, 15 m)和边界条件(00,10,11)。
为了便于输出结果文件的管理,我们希望输出的结果文件以实现参数工况命名,例如B007_L10_BC00.dat
的形式。要实现这一目的,需借助于字符串操作技术。
技术要点
- 数字向字符的转换, str1 = chrval(num),将数字num 转换为字符参数 str1
- 字符串的叠加,str3 = strcat(str1,str2),将字符参数str1与str2合并为str3,注意strcat函数每次只能叠加两个字符参数
- 字符串作为命令代码执行,%str_cmd%,将str_cmd中的字符作为命令执行
程序示例
!---------------------------------------------------------------------
! 文件:B007.DAT
! 题目:字符串基本操作,按照设定的参数名称输出结果文件
! 要点:字符串构造
! 字符串合并
! 字符串导入命令流
! FRANK2015
! HIT
! 2015.06.17
!---------------------------------------------------------------------
fini $ /clear
! ---------------------- 建模参数 --------------------------
L_BEAM = 10.00 ! 长度
*dim,bc,,2 ! 边界条件
bc(1) = 1,1 ! 铰接00,刚接11,铰刚10
prefix = 'B007' ! 前缀
! ----------------------- 文件名构造 -------------------------------
ch_bc = strcat(chrval(bc(1)),chrval(bc(2))) ! 数字转换字符串
ch_bc = strcat('BC',ch_bc)
length = chrval(L_BEAM)
outname = ''
outname = strcat(outname,prefix) ! 字符串叠加
outname = strcat(outname,'_')
outname = strcat(outname,'L')
outname = strcat(outname,length)
outname = strcat(outname,'_')
outname = strcat(outname,ch_bc)
! ---------------------- 指定文件名输出 --------------------------
*CFOPEN,%outname%,DAT
*VWRITE,3.1415926
(F20.10)
*CFCLOS
结果输出

201.jpg-4.1kB
矩阵输出
*MWRITE,VOLTRES,%OUTNAME%,TXT ! 输出信号保存到TXT
(2F22.16)