24小时热门版块排行榜    

查看: 3369  |  回复: 6

leoluode

银虫 (小有名气)

[求助] Lammps拉伸应变计算 已有1人参与

请问大家,如果输入文件中timestep=0.001(ps),拉伸变形命令 fix 1 all deform 100 x erate 0.0001 units box remap x   , run 40000步,大家是怎么计算最终的应变的啊?

按目前我的看法是,工程应变速率为0.0001/ps,总共运行40000步,每步的时间为0.001ps,那么总应变为0.001ps*40000*0.0001/ps=0.0004=0.4%!但是感觉核deform后面的100没有啥关系啊,换成1000,总应变依然是0.4%!  所以我想问问大家对deform后面的100是如何理解的?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

追梦2016

铜虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
leoluode: 金币+20, ★★★很有帮助 2016-07-27 11:43:20
fix ID group-ID deform N parameter args ... keyword value ...
N是每N步实施一次变形,如果这个数越大,那么每N步变形就越大,如果这个数较小,比如说是1,那么每跑一步就变形一次,这样模拟的更细,精度更高。至于你说的百分之零点四,那是总变形吧,总变形是由后面的参数确定的,N影响不了总变形。
只要肯学,没有学不会的
2楼2016-07-25 11:42:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leoluode

银虫 (小有名气)

引用回帖:
2楼: Originally posted by 追梦2016 at 2016-07-25 11:42:49
fix ID group-ID deform N parameter args ... keyword value ...
N是每N步实施一次变形,如果这个数越大,那么每N步变形就越大,如果这个数较小,比如说是1,那么每跑一步就变形一次,这样模拟的更细,精度更高。 ...

哈哈,多谢一直的回答啊!
关于您说的,我还是有点疑问!
(1)deform后面的N是每N 步变形一次,那么这个N设为1,就是每1步变形一次、总共运行40000次,那么模型就变形4万次,总变形时间为40000*0.001ps=40ps,应变速率为0.0001/ps,则总变形为0.004;

如果N后面设为100,就是每100步变形一次,总共运行40000次,实际上变形只有400次,则总共变形时间为400*0.001ps=0.4ps,应变速率为0.0001/ps,则总变形为0.00004。

所以N是会影响总变形的;

(2)deform后面的N为1或100的区别在于,N为1时,是每运行1步,就变形1次;而N为100时,就是第一步变形了,第2-100步没有变形,第101步变形,第102-200步没有变形。第201步变形。。。。。。。
N为1或100区别就是变形后的弛豫时间步相同
不知道上面的理解您认为有问题没?
3楼2016-07-25 15:16:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leoluode

银虫 (小有名气)

引用回帖:
3楼: Originally posted by leoluode at 2016-07-25 15:16:16
哈哈,多谢一直的回答啊!
关于您说的,我还是有点疑问!
(1)deform后面的N是每N 步变形一次,那么这个N设为1,就是每1步变形一次、总共运行40000次,那么模型就变形4万次,总变形时间为40000*0.001ps=40ps,应 ...

上面“N为1或100区别就是变形后的弛豫时间步相同”写错了,应该是不相同
4楼2016-07-25 15:18:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

追梦2016

铜虫 (小有名气)

【答案】应助回帖

我和你的第2个理解类似。我理解的是速率不是一定的,他是由总变形和步数来决定的。步数越多,那么每步变形就越小。100步实现这么大的变形和10步实现同样的变形的速率应该是不一样的。
只要肯学,没有学不会的
5楼2016-07-25 16:20:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leoluode

银虫 (小有名气)

引用回帖:
5楼: Originally posted by 追梦2016 at 2016-07-25 16:20:21
我和你的第2个理解类似。我理解的是速率不是一定的,他是由总变形和步数来决定的。步数越多,那么每步变形就越小。100步实现这么大的变形和10步实现同样的变形的速率应该是不一样的。

追梦2016 你好,
通过近一段时间的实际模拟测试,我发现关于拉伸应变计算结果与你的解释是一致的!
对于timestep=0.001(ps),拉伸变形命令 fix 1 all deform N x erate 0.0001 units box remap x   , run 300000步,
总应变是由erate=0.0001/ps、timestep=0.001ps、run 300000步三者决定,总应变为0.03,与deform后的N值无关!
(1)N=1时,意味着每运行一步,就变形一次,总共运行300000步要达到变形量0.03,也就是说每次运行的应变为10^-7,即每运行一步,应变增加10^-7,运行到10000步时,总应变为10^-3;则在step=1~10000的过程中,总应变依次为10^-7,2*10^-7,3*10^-7.........,10^-3
(2)N =10000时,意味着每运行10000步,就变形一次,总共运行300000步要达到变形量0.03,亦即在每个10000th变形一次,且应变为10^-3;;则在step=1~10000的过程中,总应变依次为0,0 0,...,0,10^-3,step达到10000时,应变一下子就由0增加大10^-3。

上述分析说明,实际上N=1和N=10000时,模型的实际变形速率确实是不一致的,N=1是每一步变形,变形速率为10^-4/ps; N=10000时在10000步之前都保持0应变,而在每个10000 th时,直接变形达到规定值,变形速率为1/ps。N=10000时的实际变形速率是N=1的10000倍。

无论如何,erate后规定的应变速率是一样的(10^-4/ps),但是N改变时实际变形速率也改变了,只有当N=1时,erate规定的变形速率才与实际变形速率是一样的!那么变形速率我们在写论文时到底说采用哪一个呢?
还望“追梦2016”同学能继续交流啊,能够指出我理解上的错误
6楼2016-07-27 15:30:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

追梦2016

铜虫 (小有名气)

引用回帖:
6楼: Originally posted by leoluode at 2016-07-27 15:30:22
追梦2016 你好,
通过近一段时间的实际模拟测试,我发现关于拉伸应变计算结果与你的解释是一致的!
对于timestep=0.001(ps),拉伸变形命令 fix 1 all deform N x erate 0.0001 units box remap x   , run 300000 ...

好的,首先感谢对我的信任。
我的理解是,咱们所说的变形速率(或者说论文时体现的变形速率)应该是erate所规定的那个值。可能5楼解释的不太准确,这里N=1或=10000,只是告诉计算机,你多长时间(或者多少步)计算一次,但计算的依据是根据你说的erate、timestep和run共同决定的。只是说,如果N越小,我们就能得到越多的值,规律可能就越明显。举个例子,我们要找变形的中间规律,如果我们设定N=10000的话,那么用30000步得到0.03变形量我们得到30个数,可以画出变形规律,但如果N=1的话,那将得到30000个值,这样我们得到的规律就更准确。
所以,我认为,N值只是给计算机看的,他对我们研究的结论、属性没有什么关系。
当然,仅为个人见解,可能会有错误,希望多加讨论。
只要肯学,没有学不会的
7楼2016-07-27 16:07:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 leoluode 的主题更新
信息提示
请填处理意见