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

[K文件] 更改载荷曲线,小型重启动时,d3dump文件的选择【已解决】

[复制链接]
发表于 2012-3-16 19:44:55 | 显示全部楼层 |阅读模式 来自 广东广州
本帖最后由 yespin 于 2012-3-31 16:43 编辑

简单重启动时,是选择最后生成的d3dump文件。而在小型重启动时,例如,像我这样更改了加载曲线load curve的几个点的坐标,之前看过别的帖子,也进一步问了lojade版主等人,他们给的建议是查看messag里面的内容,大概估算一下时间,相应地选择是哪一个d3dump(我的模型大概53小时,生成11个d3dump文件)作为r文件。但这两天我一直在尝试,也没得出个清晰的结论。
这两天,我所做的尝试只能是最笨的方法,从最后生成的d3dump11开始,每次重启动时,逐个选择(依次为d3dump11、d3dump10、d3dump9...)作为r文件,已经花了相当长的时间了,但发现,每次用ls-prepost打开重启动计算后的d3plot文件,里面的模型并没有什么根据我所改的曲线load curve而发生变化,也就是说没有选择到正确的重启动文件!我也没可能这样一直试到第一个,所以想请教一下大家:
能具体讲述一下怎么选择d3dump文件么?或者说,是怎么根据messag里面的信息来大概估算时间从而选择相应的d3dump?是不是存在这种关系的——对应修改load curve的,会选择这个d3dump,而对应修改计算时间terminate的,又是会选择另一个d3dump?我是刚接触ls-dyna这软件,在理解概念等基础知识方面很不扎实,但我会努力地去提高,在此虚心请教各前辈。
发表于 2012-3-17 14:11:03 | 显示全部楼层 来自 湖南长沙
Simdroid开发平台
你修改了曲线以后,要增加*CHANGE_CURVE_DEFINITION 关键字。
message文件中搜索d3dump,会记录每一个d3dump输出的时间。
你把k文件传上来,我帮你改改。

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-17 20:33:15 | 显示全部楼层 来自 广东广州
本帖最后由 yespin 于 2012-3-19 21:23 编辑
lojade 发表于 2012-3-17 14:11
你修改了曲线以后,要增加*CHANGE_CURVE_DEFINITION 关键字。
message文件中搜索d3dump,会记录每一个d3dum ...


谢谢。关于k文件的说明:wanzheng luntai.k是原k文件, wanzheng_restart 1_wen.k是我修改过后的, 请你对照这两个文件,因为载荷曲线load curve的定义是在k文件的最末端,所以修改的地方也只是在k文件的最后那里,是按照你的说法,加了*CHANGE_CURVE_DEFINITION的。
我想问的,是怎么在messag里面估算每个d3dump的时间。

点评

对了,lojade版主,之前你说过会有message1、message2、...,但是我用ls-dyna计算后,一直也只有一个messag,你说的message文件,是否就是我所说的这个messag?  发表于 2012-3-17 20:44
回复 不支持

使用道具 举报

发表于 2012-3-19 12:40:12 | 显示全部楼层 来自 湖南长沙
yespin 发表于 2012-3-17 20:33
谢谢。关于k文件的说明:wanzheng luntai.k是原k文件, wanzheng_restart 1_wen.k是我修改过后的, 请你对 ...

重启动以后是messagen,n代表重启动的次数
回复 不支持

使用道具 举报

发表于 2012-3-19 12:54:02 | 显示全部楼层 来自 湖南长沙
*CHANGE_CURVE_DEFINITION的关键字后面还有card呀,你要把参数填上去,建议多看看关键字手册。
正确的应该是
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*CHANGE_CURVE_DEFINITION
$$$$$$$$$$$2代表的是你修改的那条曲线的ID号
2
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
至于你的重启动时间,应该是你曲线被修改的那个时间之前。
比如说你的应该是在0.13之前最接近0.13的输出的d3dumpn文件,n可以是1,2,3,。。。。。
message中有每一个d3dump文件的准确时间,你怎么就找不到了?奇怪...........
只能是之前的,不能是之后的。
如果之前没有输出d3dump文件。你就只能重新算了。
如果必须做重启动,建议在k文件中把d3dump输出的循环次数减小,这样你能够选择的d3dump文件也较多。

回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-19 16:46:02 | 显示全部楼层 来自 广东广州
lojade 发表于 2012-3-19 12:54
*CHANGE_CURVE_DEFINITION的关键字后面还有card呀,你要把参数填上去,建议多看看关键字手册。
正确的应该 ...

谢谢你的详细解答。关于messag中对d3dumpn的时间确定,我已经知道我之前错在哪了。
对于加关键字*CHANGE_CURVE_DEFINITION我没有输入曲线的ID号,是我对关键字理解不够。现在已经改过来了。
*CHANGE_CURVE_DEFINITION
         2
*DEFINE_CURVE
$HMNAME CURVES       2inflation                                                               
$HWCOLOR CURVES       2      55
$HMCURVE     1    3 curve1                                                                          
         2         0       1.0       1.0       0.0       0.0         0
                 0.0                 0.0
              0.0101                 0.0
                0.03                0.23
                0.13                0.23
                 0.6                 0.0
                10.0                 0.0
是上述这样吧?。
但当我重启动时,它却告知“Error reading load curve number for resetting”。难道是我在输入*CHANGE_CURVE_DEFINITION的变量 2 时又在哪个地方搞错了?
回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-20 11:00:55 | 显示全部楼层 来自 广东广州
lojade 发表于 2012-3-19 12:54
*CHANGE_CURVE_DEFINITION的关键字后面还有card呀,你要把参数填上去,建议多看看关键字手册。
正确的应该 ...

请问版主,我修改过后,是以下这种格式么?
*CHANGE_CURVE_DEFINITION
         2
*DEFINE_CURVE
$HMNAME CURVES       2inflation                                                               
$HWCOLOR CURVES       2      55
$HMCURVE     1    3 curve1                                                                          
         2         0       1.0       1.0       0.0       0.0         0
                 0.0                 0.0
              0.0101                 0.0
                0.03                0.23
                0.13                0.23
                 0.6                 0.0
                10.0                 0.0
回复 不支持

使用道具 举报

发表于 2012-3-22 18:22:25 | 显示全部楼层 来自 重庆
重新定义的曲线的数据点数目要和原来的一样多.否则会报错.
回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-22 23:16:43 | 显示全部楼层 来自 广东广州
lojade 发表于 2012-3-22 18:22
重新定义的曲线的数据点数目要和原来的一样多.否则会报错.

谢谢。关于这个曲线的点的数目不同的问题,我在前一个贴子也问过你的http://forum.simwe.com/thread-1026230-1-1.html    当时我问,在关键字手册里面,说更改后的曲线要和更改前的曲线的数目一样多的,而你说ls-dyna会忽略,那时候我也没深究了。 看来这是应该要重视的。 但问题是,前天当我也意识到这个问题的时候,也特意把那曲线的点的数目改成和原来的曲线的点的数目相同,但是进行重启动时还是提示有错。  
然后,今天下午,我试着自己重新构建一个新的输入文件,(名字为new),全部内容如下:
*KEYWORD
*CHANGE_CURVE_DEFINITION
         2
*DEFINE_CURVE
$HMNAME CURVES       2inflation                                                               
$HWCOLOR CURVES       2      55
$HMCURVE     1    3 curve1                                                                          
         2         0       1.0       1.0       0.0       0.0         0
                 0.0                 0.0
              0.0101                 0.0
                0.03                0.23
                0.13                0.23
                 0.6                 0.0
                10.0                 0.0
*END
而重启动文件d3dump,经过你的说明,我已经知道该怎么选择了。
然后就把上述的d3dump和new这两个文件输入进去进行重启动,结果竟然可以计算了。目前正在计算中。估计明天下午就能出结果了,看看到底问题能不能解决。如果到时结果成功的话,我再把这个帖子问题整理汇总一下。
谢谢你的指导。

点评

期待心得  发表于 2012-3-23 08:19
回复 不支持

使用道具 举报

发表于 2012-3-23 13:10:40 | 显示全部楼层 来自 重庆
yespin 发表于 2012-3-22 23:16
谢谢。关于这个曲线的点的数目不同的问题,我在前一个贴子也问过你的http://forum.simwe.com/thread-1026 ...

那个贴上我搞错了。
回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-23 20:37:16 | 显示全部楼层 来自 广东广州
关于这次的帖子的相关几个问题,现在算是基本上解决了。归纳如下,不妥善地方请大家指正:
1,关于重启动文件d3dump选择的时间的判定,在messag文件里,它会有一大堆类似于
”...
145756 t 1.2867E-01 dt 8.83E-07 write d3dump02 file
147261 t 1.3000E-01 dt 8.83E-07 write d3plot file
  ...“
这样的叙述,其中,”t 1.2867E-01“”t 1.3000E-01“就是表示时间0.12867s 和 0.13s 。在更改载荷曲线load curve的某些点时,就要根据其x坐标对应的时间,选择在此时间之前的那个d3dump(具体例子后面讲述)。
2,小型重启动的输入文件(即I)的构建。之前我一直都是在原k文件上直接修改,然后再另存为新的文件(可以是k文件也可以是其他格式,这个没所谓)。但是我这几天在翻阅之前看过的一些帖子时,看到了这个http://forum.simwe.com/forum.php?mod=viewthread&tid=209409  于是试着自己重新构建一个重启动输入文件(名字就为 new 吧)。
我这次重启动的目的是更改了一条载荷曲线load curve的几个点。原来k文件中,那条载荷曲线inflation(ID为2)的定义是这样的:

*DEFINE_CURVE
$HMNAME CURVES       2inflation                                                               
$HWCOLOR CURVES       2      55
$HMCURVE     1    3 curve1                                                                          
         2         0       1.0       1.0       0.0       0.0         0
                 0.0                 0.0
              0.0101                 0.0
                0.03                0.23
                0.13                0.23
                 0.4                 0.0
                10.0                 0.0

我重新构建的小型重启动输入文件new,它的全部内容如下

*KEYWORD
*CONTROL_TERMINATION
$$  ENDTIM    ENDCYC     DTMIN    ENDENG    ENDMAS
      0.61         0       0.0       0.0       0.0
*CHANGE_CURVE_DEFINITION
        2
*DEFINE_CURVE
$HMNAME CURVES       2inflation                                                               
$HWCOLOR CURVES       2      55
$HMCURVE     1    3 curve1                                                                          
         2         0       1.0       1.0       0.0       0.0         0
                 0.0                 0.0
              0.0101                 0.0
                0.03                0.23
                0.13                0.23
                 0.6                 0.0
                10.0                 0.0
*END

比较修改前后的曲线,发现x坐标在0.13之后的点就改变了。我这次重启动时还是大意出错了,选择了d3dump06,它对应的时间是“399996 t 3.5290E-01 dt 8.79E-07 write d3dump06 file”中的0.3529s,因为我以为,修改的是曲线中x坐标为0.4(改为0.6)的点,所以只要选择的重启动文件d3dump在0.4s之前就可以了,但是重启动完了之后检查才发现出问题了。
我思索后,问题出在,要选择的时间应该是在0.13s(而不是0.4s)之前,因为原来k文件,曲线中整整的一段时间(0.13s~0.4s)都已经定义了的,如果重启动时,只是从0.3529s(d3dump06)开始算,那么之前的一段时间(0.13s~0.3529s)就并没有被重新计算,这就和我原本要修改曲线的目的不相符了。
因此,正确的做法(我觉得)是选择重启动文件d3dump02,它对应的时间是0.12867s,在0.13s之前,这样,就能把完整的一段时间(0.13s~0.4s)的曲线全都修改成新的一段曲线(0.13s~0.6s)。需要注意的是,修改前后的两条曲线的点的数目是要相同的,这个在关键字手册里也有强调。
最后,选择以上的两个文件——重启动文件(R)选择d3dump02,输入文件(I)选择new(文件类型在下拉菜单中选择ALL)。
目前运算正在进行,结果还没定,但应该就是这样的了。
对于构建小型重启动的输入文件,这次是我的第一次尝试(并不是直接在原k文件修改后另存为的),在基础概念上的把握还很欠缺,对于上述的我所构建的 new 文件,如果大家觉得不妥,一定要指出来!!此外,毕竟还有其它很多种小型重启动的情形,我的对重启动的认识还有很多地方要学。诚如lojade版主所说的。我这段时间已经开始比较系统地看赵海鸥的那本ls-dyna的书了,而且对关键字的手册也在结合软件自带的那些EXAMPLES一块学习。
新手的路走的比较艰难,而且现实生活中也没有人能很全心意指导自己,幸好在这论坛上遇到各位热心的前辈。途中的每一点小成就都会让自己百倍兴奋。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2012-3-24 15:22:27 | 显示全部楼层 来自 重庆
yespin 发表于 2012-3-23 20:37
关于这次的帖子的相关几个问题,现在算是基本上解决了。归纳如下,不妥善地方请大家指正:
1,关于重启动文 ...

因为lsdyna会对载荷曲线重新进行插值,因此应该根据插值后的曲线选择没有修改的进行重启动。重新插值后的数据在d3dsp中可以查看到。
这两天我也从中学到不少,大家一起进步。

点评

谢谢斑竹!  发表于 2012-3-24 21:55
回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-26 09:55:06 | 显示全部楼层 来自 广东广州
问题还是没能彻底解决。
依照11#的归纳,新问题出现了。在更改载荷曲线后(即在0.13s处修改),用lspp查看,ASCII中的matsum,模型(以模型中的同一部分为例)的合位移曲线的衔接出现问题。具体看下图(请结合11#的载荷曲线的修改情况来听我说一下问题)。明显地,图中的曲线大概在0.13s处出现了跳跃。那究竟是不是有这种可能:我这样改了曲线之后,它不是把之前的曲线那些点的插值覆盖掉,而是在原来的数值上叠加呢?要不然,按理来说,位移曲线应该接着0.4s继续上升的才对啊(而不是这种突然转折跳跃的,如下图)。这样,说到底,似乎问题又有些倒退了。这个难道还是如lojade版主最后所说的,修改曲线时选择插值没改变的点来进行重启动吗?我觉得应该也不是吧。。。
请问,上述这种情况,是不是还是当时所修改的载荷曲线出现问题了?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2012-3-26 10:07:31 | 显示全部楼层 来自 湖南湘潭
yespin 发表于 2012-3-26 09:55
问题还是没能彻底解决。
依照11#的归纳,新问题出现了。在更改载荷曲线后(即在0.13s处修改),用lspp查看 ...

出现这个问题,是因为你把所有的计算结果都放在一个文件夹里了,导致结果有重复。
重新建立一个文件中,再算吧
回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-26 12:46:37 | 显示全部楼层 来自 广东广州
长脚 发表于 2012-3-26 10:07
出现这个问题,是因为你把所有的计算结果都放在一个文件夹里了,导致结果有重复。
重新建立一个文件中, ...

嗯,谢谢长脚版主。
我之前也考虑 “结果有重复” 这个可能,但是另一方面我又觉得,正如之前有帖子说到的,重启动后会覆盖之前计算的结果,所以我就想,后一次的重启动应该会把前一次重启动的结果完全覆盖掉(当然,前提是重启动开始的时间点要选择正确)。
因为按照之前11#我所说的,一开始时大意把重启动时间选错了,所以在重启动计算完之后,我就直接在这个基础上再进行第二次重启动了,按理说,第二次正确的选择重启动时间(0.12867s~0.6s)应该会把第一次重启动时错误的时间段(0.13s~0.4s)都覆盖掉,怎么会有“之前的结果影响后面的结果”这种可能?
我现在正在进行的是直接计算0~0.6s的,想先看一下完整的正确的样子。等明天算完了之后,再按照长脚版主说的,另外备份一个原始数据的文件夹,再试一下重启动。
多谢版主的热心帮助了。
回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-28 22:15:08 | 显示全部楼层 来自 广东广州
长脚 发表于 2012-3-26 10:07
出现这个问题,是因为你把所有的计算结果都放在一个文件夹里了,导致结果有重复。
重新建立一个文件中, ...

版主。今天我按照你的建议,把结果备份,重新做了一遍。具体步骤是这样的:
1)我把之前第一次计算好的所输出的所有结果文件(包括d3dump系列文件、d3hsp、d3plot系列、matsum、lspost.cfile、status.out等等)全部都复制到另外一个新的文件夹(名字是new restart)里面;
2)重启动时,R 文件就选择文件夹new restart里面的d2dump02,输入文件I还是选择之前自己构建好的new。
可是问题依然存在,应该还是如你之前所说的,结果有重复,之前的结果还是影响到重启动后的计算结果。
我就怀疑,是不是上述第1)步里面,我把不应该复制的结果文件给复制了?所谓的“计算结果”文件只是指matsum等之前已经由*DATABASE_等关键字设定好的这一类文件么?

点评

我在尝试把这些计算结果文件逐个复制过去。现在刚尝试到,只是把d3dump02、d3hsp、d3plot复制到新文件夹new restart,目前重启动正常计算  发表于 2012-3-28 22:24
回复 不支持

使用道具 举报

发表于 2012-3-28 22:51:49 | 显示全部楼层 来自 湖南湘潭
你分析的有道理,重复的文件依然在,所以你的问题还在那里。
回复 不支持

使用道具 举报

 楼主| 发表于 2012-3-28 23:14:33 | 显示全部楼层 来自 广东广州
本帖最后由 yespin 于 2012-3-31 16:42 编辑
长脚 发表于 2012-3-28 22:51
你分析的有道理,重复的文件依然在,所以你的问题还在那里。


嗯。谢谢版主。我按照上述所说的,只是把其中某些个结果文件复制到新文件夹,然后重启动。现在计算到大概0.137s(重启动是在0.13s之前),用lspp查看,发现还没有发生重复的现象了!!如果继续算下去也没有发生之前的结果重复的现象的话,那就证明我的想法是对的了。。。
在 对各种计算结果的复制情况尝试了几回后,算是得出了自己的结论:1)需要复制备份到新文件夹进行重启动的文件包括d3hsp(模型信息文件)和根据时间点所正确选择的重启动文件d3dumpxx 这两个。至于d3plotxx等(图形输出文件),暂时不用复制。
2)当重启动计算进行后,新的文件夹中就会陆续输出d3plotxx,而它们的编号会依次生成(比如,我的是d3plot07、d3plot08、...),这时候就可以把原来文件夹的计算结果中的d3plot、d3plot01、...、d3plot06复制到新文件夹中,这样,用lspp等观看结果动画时,就不会断续了。
3)需要注意的就是,原来文件中的matsum、glstat等ASCII文件千万不能复制到新文件夹,否则会导致结果受影响(新结果不会完全覆盖原来的结果的),出现我之前贴图中所说的问题。
最后,留个探讨的话题给自己(各位如果有了解的也可以告知我一声)——当我重启动计算成功之后,结果出来了。用lspp查看相关曲线,发现,在History里查看的曲线是正确的而且是完整的,但是直接用ASCII查看的同一part的曲线就并非如此。因此,可能有时间要看一下lspp相关教程,究竟用History和用ASCII查看位移变化等曲线区别在哪。
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 17:17 , Processed in 0.066185 second(s), 20 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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