【LAMMPS翻译系列】units命令

units命令用来定义模拟过程中使用的单位类型,它决定了所有输入脚本、数据文件和所有输出到屏幕、日志文件以及dump文件中物理量的单位。

使用语法

units style
  • style可取:lj/real/metal/si/cgs/electron

使用举例

units metal
units lj

使用介绍

该命令用来设置模拟中使用的单位类型。它决定了所有输入脚本、数据文件和所有输出到屏幕、日志文件以及dump文件中物理量的单位。一般来说,该命令用在输入脚本最开始的位置。

除了lj类型之外,其他所有的单位类型所用到的物理常量都来自网站:www.physics.nist.gov。real类型中Kcal的定义,LAMMPS使用热力学卡=4.184J。

LJ类型

对于lj类型,所有的物理量都是没有单位的。不失一般性,LAMMPS将基本量mass、sigma、epsilon和波尔兹曼常数设为1。你所指定的质量、距离、能量就是这些基本量的倍数。下面给出了无单位量(用*标出)与有单位量之间的换算关系。基于此,你可以将lj模拟无单位量转换为正常的物理量。

  • mass = mass or m
  • distance = sigma, where x* = x / sigma
  • time = tau, where tau = t* = t (epsilon / m / sigma^2)^1/2
  • energy = epsilon, where E* = E / epsilon
  • velocity = sigma/tau, where v* = v tau / sigma
  • force = epsilon/sigma, where f* = f sigma / epsilon
  • torque = epsilon, where t* = t / epsilon
  • temperature = reduced LJ temperature, where T* = T Kb / epsilon
  • pressure = reduced LJ pressure, where P* = P sigma^3 / epsilon
  • dynamic viscosity = reduced LJ viscosity, where eta* = eta sigma^3 / epsilon / tau
  • charge = reduced LJ charge, where q* = q / (4 pi perm0 sigma epsilon)^1/2
  • dipole = reduced LJ dipole, moment where *mu = mu / (4 pi perm0 sigma^3 epsilon)^1/2
  • electric field = force/charge, where E* = E (4 pi perm0 sigma epsilon)^1/2 sigma / epsilon
  • density = mass/volume, where rho* = rho sigma^dim

需要注意的是,lj单位类型下,通过命令thermo_style设置的热力学信息的输出是将能量对原子数量进行了归一化,即能量/原子。这可以通过命令thermo_modify norm进行修改。

real类型

  • mass = grams/mole
  • distance = Angstroms
  • time = femtoseconds
  • energy = Kcal/mole
  • velocity = Angstroms/femtosecond
  • force = Kcal/mole-Angstrom
  • torque = Kcal/mole
  • temperature = Kelvin
  • pressure = atmospheres
  • dynamic viscosity = Poise
  • charge = multiple of electron charge (+1.0 is a proton)
  • dipole = charge*Angstroms
  • electric field = volts/Angstrom
  • density = gram/cm^dim

metal类型

  • mass = grams/mole
  • distance = Angstroms
  • time = picoseconds
  • energy = eV
  • velocity = Angstroms/picosecond
  • force = eV/Angstrom
  • torque = eV
  • temperature = Kelvin
  • pressure = bars
  • dynamic viscosity = Poise
  • charge = multiple of electron charge (+1.0 is a proton)
  • dipole = charge*Angstroms
  • electric field = volts/Angstrom
  • density = gram/cm^dim

si类型

  • mass = kilograms
  • distance = meters
  • time = seconds
  • energy = Joules
  • velocity = meters/second
  • force = Newtons
  • torque = Newton-meters
  • temperature = Kelvin
  • pressure = Pascals
  • dynamic viscosity = Pascal*second
  • charge = Coulombs
  • dipole = Coulombs*meters
  • electric field = volts/meter
  • density = kilograms/meter^dim

cgs类型

  • mass = grams
  • distance = centimeters
  • time = seconds
  • energy = ergs
  • velocity = centimeters/second
  • force = dynes
  • torque = dyne-centimeters
  • temperature = Kelvin
  • pressure = dyne/cm^2 or barye = 1.0e-6 bars
  • dynamic viscosity = Poise
  • charge = statcoulombs or esu
  • dipole = statcoul-cm = 10^18 debye
  • electric field = statvolt/cm or dyne/esu
  • density = grams/cm^dim

electron类型

  • mass = atomic mass units
  • distance = Bohr
  • time = femtoseconds
  • energy = Hartrees
  • velocity = Bohr/atomic time units [1.03275e-15 seconds]
  • force = Hartrees/Bohr
  • temperature = Kelvin
  • pressure = Pascals
  • charge = multiple of electron charge (+1.0 is a proton)
  • dipole moment = Debye
  • electric field = volts/cm

不同的单位类型,也设置了默认的时间步和领域表层距离,如下:

  • For style lj these are dt = 0.005 tau and skin = 0.3 sigma.
  • For style real these are dt = 1.0 fmsec and skin = 2.0 Angstroms.
  • For style metal these are dt = 0.001 psec and skin = 2.0 Angstroms.
  • For style si these are dt = 1.0e-8 sec and skin = 0.001 meters.
  • For style cgs these are dt = 1.0e-8 sec and skin = 0.1 cm.
  • For style electron these are dt = 0.001 fmsec and skin = 2.0 Bohr.

使用限制

该命令不能在模拟盒子被定义(使用命令read_datacreate_box)之后使用。

默认设置

units lj

标签: lammps, lammps翻译

相关文章推荐

添加新评论 (无需注册,可直接评论)

已有 7 条评论

  1. 张帅

    楼主,给你点赞。我想问问关于金属的玻尔兹曼常数该如何取?

  2. 无下限HENTAI

    博主您好,请问在real模式下,pressure的单位atmospheres应该怎么理解呢?看着都是几千上万的数值,不可能是大气压吧。

  3. 刘柱

    最近计算介电常数的时候换算单位给搞混了,求前辈详细解答,感激不尽。
    在lammps real单位制下,密度的计算公式为mass(all)10/(6.022vol),得到的密度单位是gram/cm^dim,数值和单位都是对的,请问为什么此处Avogadro取值为6.022呢?而不是6.022e-23呢?期间经过了怎么的换算呢?
    对于介电常数,epsilon=dipole^2/(volkBT), 此处kB为Boltzmann常数,实际为1.38*10^-23,那么在lammps中kB应该如何取值呢,谢谢前辈答复

    1. 刘柱

      已理解此问题,添麻烦了
      lammps real单位制下,玻尔兹曼常数kB此时取8.6173324eV/K, 介电常数没有单位

  4. 阿喀琉斯

    再次请教博主一个问题,假如模拟体系中有两种LJ势的原子A和B,那长度单位distance=sigma A or sigma B?

  5. 阿喀琉斯

    感谢博主慷慨奉献。请问博主如果一次模拟中既有lj,也使用eam势,那应该如何定义呢?

    1. admin

      看看这个命令:pair hybride
      链接:http://lammps.sandia.gov/doc/pair_hybrid.html