首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python在lammps中的调用

在lammps中调用python

记一下在lammps中调用python的方法和实例,下面主要是对lammps中python命令的说明文档的翻译,以及一些例子的解释。

调用python前期准备

PYTHON package must be installed

LAMMPS must be compiled as shared-library

(Optional)-DLAMMPS_EXCEPTIONS for better error handling

LAMMPS Python module (lammps.py) must be

installed

简单来说就是想要在lammps中调用python,必须在lammps中安装python包,具体的安装流程可以查看说明文档,一步一步跟着执行下来就可以了。安装完成之后就可以联合使用lammps和python了。

从上面的模式图中可以看出,可以在lammps中的输入文件中调用python,也可以在python的程序中调用lammps。本文主要讲如何在lammps中调用python。

1

python command 语法

pythonfunckeyword args ...

func是指调用的python函数名

keyword = invoke or input or return or format or length or file or here or exists or source

keyword中invoke只能单独使用,其他的keyword可以混合使用,下面主要解释input,return,format,file,here这几个用法

2

keyword解释

inputargs = N i1 i2 ... iN

N:输入参数个数

i1 i2 ... iN:具体输入的参数

returnarg = varReturn

返回一个变量到lammps,例如写return v_a,返回一个值到lammps输入文件中的变量a

formatarg = fstring with M characters

需要和input,return配合使用,用于说明input,return的数据类型。'i' = integer, 'f' = floating point, 's' = string, 'p' = SELF

例如:

python func input 1 v_a format f

python func input 2 v_a v_b return v_c format iii

filearg = filename

这个命令就比较简单粗暴了,直接调用你已经写好的python程序,例如:

python sample file sample.py

调用了sample.py中的sample函数

可以配合使用invoke,例如:

python sample file sample.py

python sample invoke

就会运行sample函数

herearg = inline

here大概就是表示接下来我要插入函数了

用法:

python func here """

def func():

函数内容

"""

python func invoke

3

例子及解释

python factorial &

input 1 v_n &

return v_fact &

format ii &

here """

def factorial(n):

if n == 1: return 1

return n*factorial(n-1)

"""

variable fact python factorial

阅读一下这个例子:

定义了一个factorial函数;输入参数为1个,变量n;返回值为fact;n,fact都是整型;variable调用python时得到fact值,返回到lammps中。

最近学习了一个新词:RTFM:Read The Fucking Manual!

Manual:这就是我给你的快落!!!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180829G1DKT700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券