lammps中fix deform的理解

fix 5 all deform 1000x erate 0.002 units box   #设置沿x方向拉伸,应变率为0.002(1/ps)

fix ID group-ID deform N parameter args ... keyword value ...

N是每N步实施一次变形,如果这个数越大,那么每N步变形就越大,如果这个数较小,比如说是1,那么每跑一步就变形一次,这样模拟的更细,精度更高。总变形是由后面的参数确定的,N影响不了总变形。

fix 1 all deform 100 x erate 0.0001 units box remap x

run 40000

deform后面的N为1或100的区别在于,N为1时,是每运行1步,就变形1次;而N为100时,就是第一步变形了,第2-100步没有变形,第101步变形,第102-200步没有变形。

0.0001:应变速率为0.0001.

总应变是由erate=0.0001/ps、timestep=0.001ps、run 300000步三者决定,总应变为0.03,与deform后的N值无关!

upto关键字表示从当前时间步长开始直到指定的时间步长执行运行。例如。如果当前时间步长为10,000并且使用“运行100000 upto”,则将运行额外的90,000个时间步长。

(1)N=1时,意味着每运行一步,就变形一次,总共运行300000步要达到变形量0.03,也就是说每次运行的应变为10^-7(0.03/300000),即每运行一步,应变增加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 value = R
        R = engineering strain rate (1/time units)
      trate value = R
        R = true strain rate (1/time units)

  • change in length = deltaL = r * time
  • engineering strain = deltaL/L = r * time/L
  • engineering strain rate = strain per time = r/L
  • true strain = ln(1+ engineering strain) = ln(1+ r*time/L)
  • L = length of specimen in loaded direction; r = rate of loading
  • true (effective) strain rate varies with time = d(true strain)/dt = [ln(1+r*time2/L) - ln(1+r*time1/L)]/(time2-time1)
  • 剪切应变是无单位的,定义为偏移量/长度,其中长度是垂直于剪切方向的盒子长度(例如,用于xy变形的y盒子长度),偏移量是剪切方向上的位移距离(例如,用于xy变形的x方向) 从不受约束的方向。

原文地址:https://www.cnblogs.com/diaoqf/p/11610854.html

时间: 2024-11-13 09:25:06

lammps中fix deform的理解的相关文章

jquery中的mouseenter实现理解

说在前面:首先说一下两者之间的区别,假设当前元素为element,mouseover事件具有冒泡特性,也就是说无论鼠标是从别的元素移动到element或者是从element的子元素移动到element都会触发mouseover事件.对于mouseenter事件,该事件没有冒泡特性,也就是说只有鼠标穿过该事件的时候才会触发mouseenter,如果鼠标一直在element内部"游走",则不会触发mouseenter.具体的例子可以参考这个例子点击打开链接. 前提说完了,那么怎么使用mou

SQL SERVER 2005/2008 中关于架构的理解(二)

本文上接SQL SERVER 2005/2008 中关于架构的理解(一)      架构的作用与示例 用户与架构(schema)分开,让数据库内各对象不再绑在某个用户账号上,可以解决SQL SERVER 2000及以前版本中“用户离开公司"问题,也就是在拥有该对象的用户离开公司,或离开该职务时,不必要大费周章地更改该用户所有的对象属于新的用户所有.另外,也可让 DBA 在安装某个套装软件时,设置该套装软件所用的数据库对象都属于某个特定的架构,容易区别.也就是说,在单一数据库内,不同部门或目的的对

C#中Thread类中Join方法的理解(转载)

指在一线程里面调用另一线程join方法时,表示将本线程阻塞直至另一线程终止时再执行      比如 Java代码   using System; namespace TestThreadJoin { class Program { static void Main() { System.Threading.Thread x = new System.Threading.Thread(new System.Threading.ThreadStart(f1)); x.Start(); Console

JavaScript中的伪数组理解

看过jQuery源码的人都知道类数组对象,与我们熟知的arguments对象很像 构造一个类数组必须有两个条件 第一个条件:你必须给对象定义个splice方法,只要他是一个function就可以 第二个条件:就是赋值一个length属性,或者增加push,unshift,shift,pop其中任何一个方法,并且调用了一次. 当这两个条件同时满足那么当前的对象在控制台输出后跟数组的格式一模一样. 一般而言大部分都是这样构造一个类数组对象(jQuery就是这么干的).因为相比而言,这样更简洁,并且更

架构设计中服务层的简单理解

如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 在ddd设计中我们经常会提到服务层,服务层是什么?职责是什么?有什么好处?. 先看简单的层次图(注:这里并没有考虑其他多余的领域逻辑数据层存储,或者UOW这些细节) 我的理解是服务层是处于我的应用程序业务层和表现层之间的应用程序边界,边界可能是很薄的一层类设计或者是分布式服务网络跃点.它是一个与技术无关的名词.由表现层直接调用,契约,执行命令(修改状态(CUD))或者是查询返回dto(数据迁

ubuntu下关于profile和bashrc中环境变量的理解

(0) 写在前面 有些名词可能需要解释一下.(也可以先不看这一节,在后面看到有疑惑再上来看相关解释) 启动bash shell:就是启动一个bash shell进程,通常可以理解为打开一个终端.需要注意的是如果你在终端输入sh后会发现自己又进入另一个交互式界面,这个时候其实fork了一个shell 子进程,如果你在这个交互式界面又输入了一次sh,那么相当于fork的shell子进程又fork了一个shell子进程,这个时候就启动了三个bash shell进程. 输入exit或者ctrl-d可以退

Java中线程同步的理解 - 其实应该叫做Java线程排队

Java中线程同步的理解 我们可以在计算机上运行各种计算机软件程序.每一个运行的程序可能包括多个独立运行的线程(Thread). 线程(Thread)是一份独立运行的程序,有自己专用的运行栈.线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等. 当多个线程同时读写同一份共享资源的时候,可能会引起冲突.这时候,我们需要引入线程"同步"机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团. 同步这个词是从英文synchronize(使同时发生)翻译过来的.我也不明白为什么

android中Logcat的深层理解

Android的开发也可以归类为嵌入式设备的开发,即便不是嵌入式开发,依然要注意对内存和处理的使用.养成一个好的习惯对自己的帮助是很大的. 在Log的源码中可以看到这样的注释: The order in terms of verbosity, from least to most is * ERROR, WARN, INFO, DEBUG, VERBOSE. Verbose should never be compiled * into an application except during

专家坐堂:机器学习中对核函数的理解

专家坐堂:机器学习中对核函数的理解