lammps案例:分子自由落体运动模拟
大家好,我是小马老师。
本文分享一个比较有意思的lammps案例:分子的自由落体运动。
lammps提供了fix gravity命令可设置分子或者原子的加速度。
语法规则为:
fix ID group gravity magnitude style args
如设置x方向的加速度为100(单位为Force/mass,与units有关),可写为:
fix 1 all gravity 100.0 vector 1 0 0
本文案例和原子沉积类似,在盒子上方随机产生一定数量的分子,经过自由落体后到达盒子底部。
在盒子底部设置一个“墙”,防止原子跑出盒子外面。
分子采用刚体设置,与底部墙碰撞后停止运动。
模拟效果如下图所示:
lammps in文件代码如下:
#模型基本设置
units si
boundary p p f
newton on
atom_style sphere
atom_modify map array sort 0 0
neighbor 0.42 bin
timestep 0.0001
#创建盒子
region reg block 0 120 0 60 0 85 units box
create_box 1 reg
#设置原子属性
fix prop all property/atom mol ghost yes
#势函数设置
pair_style gran/hooke/history 4e5 NULL 1e2 NULL 0.5 0
pair_coeff * *
#分组
group particles type 1
atom_modify first particles
group rigid type 1
neigh_modify every 1 delay 0 check yes exclude molecule/intra all
#热力学信息输出
thermo 1000
thermo_style custom step atoms ke
thermo_modify flush yes lost warn
comm_modify vel yes cutoff 3
#创建分子模型
molecule mymol molecule.data
region pourreg block 5 115 5 55 60 80 side in units box
#设置重力加速度
fix gravfix all gravity 9.8 vector 0 0 -1 disable
#定义分子为刚体
fix rigidfix all rigid/small molecule mol mymol gravity gravfix
#在pourreg区域内随机生成400个分子
fix pourfix all pour 400 0 1234 region pourreg mol mymol rigid rigidfix
#设置底部墙
fix zwall all wall/gran hooke/history 4000.0 NULL 100.0 NULL 0.5 0 zplane 0.1 NULL
#保存坐标文件
dump 1 all custom 1000 molecule_pour.xyz id type mass radius x y z fx fy fz
#启动运行
run 50000
如果在使用lammps过程中遇到什么问题,可到公众号或者QQ群留言。
公众号案例代码以及学习交流,请加QQ群:754749935
扫描关注微信公众号:lammps加油站。
lammps案例:分子自由落体运动模拟相关推荐
- 手把手教你用Python来模拟绘制自由落体运动过程中的抛物线(附源码)
前言 前几天有个叫[-berry]的粉丝在问了一道关于自由落体运动过程中产生的抛物线作图的问题,如下图所示. 当某个物体以初速度v水平抛出,其轨迹为一条抛物线,模拟绘制这条抛物线.用高中物理知识,我们 ...
- matlab 地形模拟程序,MATLAB模拟小球自由落体运动
大部分朋友学习MATLAB,需要一个学习示例用来参考,有一个比较经典的题目就是如何利用Matlab模拟小球自由落体运动,这可能会是你的某次课后作业,这个程序的编写过程可以分为三个步骤: 第一部分,设置 ...
- 模拟自由落体运动的小球
基于VS2019 EasyX插件 C/C++ 生成一个模拟自由落体运动的小球 #include <iostream> #include <graphics.h> #in ...
- Android模拟自由落体运动
最近想看看android的游戏开发,因此首先绘图方面得练练,突然就想到模拟一下自由落体运动.本例采用serfaceView实现,接下来上代码: 一.首先定义一个自定义控件 public class M ...
- matlab小球水平抛出,如何用Matlab制作小球自由落体运动的动画
第一堂课布置了一个Mission Impossible作业,要求学生们用Matlab制作一个动画,模拟小球的自由落体运动. 以下将整个任务的问题解决的过程分享如下: 步骤一,这是一个动画的制作过程,以 ...
- canvas动画:自由落体运动
经过前面的文章,我们已经能够在canvas画布上画出各种炫酷的图形和画面,但是这些画面都是禁止的,怎么样才能让他们动起来呢? 如何绘制基本图形可以参考:canvas基本图形绘制 如何对基本图形移动旋转 ...
- pygame里面物体闪烁运动_教师资格【试讲示范】高中物理试讲答辩——《自由落体运动》试讲稿答辩...
试讲备课纸 教学过程 各位考官: 大家好,我是高中物理组的***号考生,我试讲的题目是<自由落体运动>,下面开始我的试讲. 一.导入新课 同学们,老师手里现在拿着一个小笔记本和一张纸,现在 ...
- html画布实现小球沿直线下落,js+html5实现的自由落体运动效果代码
本文实例讲述了js+html5实现的自由落体运动效果.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: /p> "http://www.w3.org/TR/xhtm ...
- cocos2dx:重力加速度,自由落体:利用update()就能快速实现精灵自由落体运动
cocos2dx:重力加速度,自由落体:利用update()就能快速实现精灵自由落体运动 设备/引擎:Mac(11.6)/cocos 开发工具:Xcode(13.0) 开发需求:拖动精灵移动,在松手的 ...
最新文章
- bBank 开源Javascript框架(最后更新:2010-7-6)
- 【ARM】Tiny4412裸板编程之MMU封装
- 介绍这个库:C# Blazor中显示Markdown文件
- java调试案例_Spring-boot的debug调试代码实例
- 软件设计师考c语言,软件设计师教程考点精讲之C语言三大定律
- python copy
- 【JAVA面试】java面试题整理(4)
- 安卓电话和网络开发全解:电话硬件检测、电话服务信息、sim信息、网络服务信息、数据连接和数据传输信息、电话状态监听
- 二年级四则运算扩展,可以指定题目数量,并可支持真分数运算
- secoclient隧道保活超时或协商超时_绕不开的TCP之超时重传
- comsol 超声声场模拟_Comsol Multiphysics 声场仿真模块整体介绍
- Linux基础学习记录
- 记2021春季PAT乙级考试题解
- 地球人来源3-仙女座人接触者 Alex Collier爬虫族议程访谈
- signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);
- 七大数字经济重点产业!
- 找不到和chrome浏览器版本不同的chromedriver的解决方法
- 中兴通讯:远端射频模块(RRU)关键技术创新及发展趋势
- 【iOS开发系列】地图与定位
- Win11:无法枚举容器中的对象 访问被拒绝
热门文章
- “高频面经”,各大厂面经面题分享(已拿offer附攻略)
- 2022秋招前端面试题(一)(附答案)
- android 文字大小设计,为什么设计稿的文字大小和开发的不一致
- Oracle-12c新功能基于时间点recover table
- 后台管理制作首页组件及ui框架的使用
- Linux的快速使用_jdk安装_tomcat安装_mysql安装-尚学堂~百战程序员学习笔记
- 如何在Godot中使用自发光材质
- 《口袋侦探》闪退、打不开、玩不了的解决方式。
- 电力爱陆通公专一体模块,国网加密模块,国网硬件加密模块的工作原理
- Oracle 、SqlServer 根据日期逐日、逐月递增累加、逐行累加