找回密码
 注册
Simdroid-非首页
查看: 88|回复: 6

[命令和APDL] apdl 写出一个矩阵到文本(行列数不定)

[复制链接]
发表于 2014-4-4 15:40:54 | 显示全部楼层 |阅读模式 来自 中国
悬赏20仿真币未解决
本帖最后由 alsoran 于 2014-4-4 16:08 编辑

动力学分析得到一个矩阵dispmat(每个节点位置的时间历程),行数是所有节点的平移自由度(3*nodeNum),列数是计算的时间步数(timesteps)。
现在要把这个dispmat矩阵写入文本文件,行和列数都是不确定的大数字,该如何实现? 用*vwrite和*mwrite貌似也不能实现……

已有dispmat矩阵(假设1000列),目前使用的命令如下,该命令不能实现
*mwrite,dispmat,filedisp,txt,,KIJ
(1000F12.6)

发表于 2014-4-5 08:36:28 | 显示全部楼层 来自 上海
Simdroid开发平台
    使用 *vwrite 命令,一个一个自由度的写,每次写一个自由度的所有随时间变化的值,是可以做到的。
    但是,如 1000F12.6 这种格式,一行有1000 个浮点数的写法是不可取的,你自己都无法查看数据文件。
    如果把所有数据放到一个大矩阵 (大数组) 中,然后再写出去,ANSYS 软件可能承担不了。
回复

使用道具 举报

 楼主| 发表于 2014-4-7 12:43:39 | 显示全部楼层 来自 中国
htbbzzg 发表于 2014-4-5 08:36
使用 *vwrite 命令,一个一个自由度的写,每次写一个自由度的所有随时间变化的值,是可以做到的。
     ...

你好,*vwrite命令如何写一行1000个数?
*vwrite,a(1),a(2),......a(1000)
(1000F12.6)
这样写是不是太麻烦了?
回复

使用道具 举报

发表于 2014-4-7 14:34:10 来自手机 | 显示全部楼层 来自 上海
选择要输出得节点,用get获得节点数,然后vlen,1
回复

使用道具 举报

发表于 2014-4-7 14:37:16 | 显示全部楼层 来自 上海
本帖最后由 Flamsky 于 2014-4-7 14:41 编辑

选择要输出的节点,然后用*get,NNum,node,,,count获得节点数
然后编制循环,循环次数为3*NNum
用*vlen,1定义每次只输出一行
遍历循环,输出全部节点结果

PS,格式化输出本身就是个麻烦的事情,要经常查阅帮助中能获得的当前数据库信息。
回复

使用道具 举报

 楼主| 发表于 2014-4-7 15:39:28 | 显示全部楼层 来自 上海
htbbzzg 发表于 2014-4-5 08:36
使用 *vwrite 命令,一个一个自由度的写,每次写一个自由度的所有随时间变化的值,是可以做到的。
     ...

已经弄好,用以下命令
*mwrite,dispmat,filedisp,txt
(1000F12.6)

即不用指定KIJ格式,用默认的就行。另外该文件虽然很大,但是我不用去查看的,只是用于自己的后处理代码的输入文件。谢谢!
回复

使用道具 举报

 楼主| 发表于 2014-4-7 15:40:32 | 显示全部楼层 来自 上海
Flamsky 发表于 2014-4-7 14:37
选择要输出的节点,然后用*get,NNum,node,,,count获得节点数
然后编制循环,循环次数为3*NNum
用*vlen,1定 ...

谢谢回复

目前已经弄好,用以下命令
*mwrite,dispmat,filedisp,txt
(1000F12.6)
即不用指定KIJ格式,用默认的就行,*vlen命令也是思路,谢谢提醒
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-28 05:45 , Processed in 0.030871 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表