【LAMMPS学习】八、基础知识(6.3)使用 LAMMPS GUI

2024-05-12 21:12

本文主要是介绍【LAMMPS学习】八、基础知识(6.3)使用 LAMMPS GUI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

8. 基础知识

此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。

8.1.通用基础知识

8.2. 设置入门

8.3. 分析入门

8.4. 力场入门

8.5. 软件包入门

8.6.操作教程

8.6.1.将 CMake 与 LAMMPS 结合使用

8.6.2. LAMMPS GitHub 教程

8.6.3.使用 LAMMPS GUI

本文档介绍 LAMMPS GUI 版本 1.5。


LAMMPS GUI 是一个图形文本编辑器,用于编辑链接到 LAMMPS 库的 LAMMPS 输入文件,因此可以使用编辑器文本缓冲区的内容作为输入直接运行 LAMMPS。它可以在 LAMMPS 运行时检索和显示信息,显示使用 dump image 命令创建的可视化效果,并且专门用于通过文本完成和重新格式化来编辑 LAMMPS 输入文件,以及链接到在线 LAMMPS 文档以了解已知的 LAMMPS 命令和样式。

注:适用于 Linux(Ubuntu 20.04LTS 或更高版本且兼容)、macOS(版本 11 又名 Big Sur 或更高版本)和 Windows(版本 10 或更高版本)的预编译、即用型 LAMMPS GUI 可执行文件可供下载。如果它们需要已发布版本中尚未提供的功能,它们可能会链接到 LAMMPS 的开发版本。还包括相同 LAMMPS 版本的串行 LAMMPS 可执行文件。 LAMMPS GUI 的源代码包含在 LAMMPS 源代码中,可以在 tools/lammps-gui 文件夹中找到。使用 CMake 编译时,可以与 LAMMPS 一起编译。

LAMMPS GUI 尝试提供类似于人们传统上使用命令行窗口运行 LAMMPS 的体验:

  • 使用文本编辑器编辑输入

  • 使用选定的命令行标志在输入上运行 LAMMPS

  • 然后使用或从创建的文件中提取数据并将其可视化

该过程对于熟练使用命令行的人来说非常有效,因为这允许他们使用工具来执行他们最熟悉的各个步骤。在高性能计算设施上运行 LAMMPS 时通常需要它。

使用 LAMMPS GUI 应用程序的主要好处是,许多基本任务可以直接从 GUI 完成,无需切换到文本控制台窗口或使用外部程序,更不用说编写脚本来从生成的输出中提取数据了。它还与图形桌面环境很好地集成。

因此,LAMMPS GUI 使初学者可以更轻松地开始运行简单的 LAMMPS 模拟。它非常适合 LAMMPS 教程,因为您只需要学习如何使用单个程序来完成大多数任务,因此可以节省时间,人们可以专注于学习 LAMMPS。当您决定切换到功能齐全的独立编程编辑器和更复杂的可视化和分析工具并从命令行运行 LAMMPS 时,它还可以降低障碍。

以下文字详细介绍了 LAMMPS GUI 的特性和功能。

始终欢迎对新功能的建议和错误报告。为此,您可以使用与 LAMMPS 本身相同的通道。


主窗口

当 LAMMPS GUI 启动时,它将显示一个主窗口,其中包含空缓冲区或已加载文件的内容。在后一种情况下,它可能如下所示:

_images/lammps-gui-main.png

顶部是典型的菜单栏,然后​​是主编辑器缓冲区,底部是状态栏。输入文件内容在左侧显示行号,并且根据 LAMMPS 输入文件语法对输入进行着色。状态栏在左侧显示 LAMMPS 执行的状态(例如空闲时的“就绪”),在右侧显示当前工作目录。缓冲区中当前文件的名称显示在窗口标题中;如果缓冲区编辑尚未保存到文件中,则会添加“已修改”一词。主窗口的大小将在退出时被存储并在再次启动时恢复。

打开文件

LAMMPS GUI 应用程序将尝试将第一个命令行参数作为 LAMMPS 输入脚本打开,其他参数将被忽略。当没有给出参数时,LAMMPS GUI 将以空缓冲区启动。还可以通过 File 菜单或将文件从图形文件管理器拖放到编辑器窗口中来打开文件。一次只能打开一个文件,因此打开缓冲区已满的新文件将关闭缓冲区。如果缓冲区有未保存的修改,系统会要求您取消操作、放弃更改或保存它们。

运行 LAMMPS

在 LAMMPS GUI 主窗口中,可以使用 Run LAMMPS from Editor Buffer 条目从 Run 菜单、通过键盘快捷键 Ctrl-Enter(macOS 上的 Command-Enter)或通过单击状态栏中的绿色“运行”按钮。所有这些操作都会导致 LAMMPS 处理整个输入脚本,其中可能包含多个运行或最小化命令。

LAMMPS 在单独的线程中运行,因此 GUI 保持响应能力,并且能够与正在运行的计算进行交互并访问其生成的数据。值得注意的是,以这种方式运行 LAMMPS 是使用输入缓冲区的内容进行运行(通过 LAMMPS C 库接口的 lammps_commands_string() 函数),而不是从中读取的原始文件。因此,如果缓冲区中有未保存的更改,则会使用它们。作为替代方案,也可以通过从 Run LAMMPS from File 菜单项或使用 Ctrl-Shift-Enter 读取文件内容来运行 LAMMPS。在极少数情况下,可能需要此选项,其中输入使用某些与从字符串缓冲区运行 LAMMPS 不兼容的功能。为了保持一致性,缓冲区中任何未保存的更改都必须保存到文件中或撤消,然后才能从文件运行 LAMMPS。

_images/lammps-gui-running.png

LAMMPS 运行时,状态栏的内容会发生变化。左侧有一个文本指示 LAMMPS 正在运行,如果在 Preferences 对话框中选择了线程并行加速,该文本还将显示活动线程的数量。右侧显示进度条,显示当前运行命令的估计进度。

此外,当前执行的命令的行号将以绿色突出显示。

_images/lammps-gui-run-highlight.png

如果发生错误(在下面的示例中,命令标签错误地大写为“Label”),将显示错误消息对话框,并且触发错误的输入行将突出显示。状态栏中 LAMMPS 的状态将设置为“失败”。而不是“准备好”。

这篇关于【LAMMPS学习】八、基础知识(6.3)使用 LAMMPS GUI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983748

相关文章

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

flask库中sessions.py的使用小结

《flask库中sessions.py的使用小结》在Flask中Session是一种用于在不同请求之间存储用户数据的机制,Session默认是基于客户端Cookie的,但数据会经过加密签名,防止篡改,... 目录1. Flask Session 的基本使用(1) 启用 Session(2) 存储和读取 Se

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

Spring AI使用tool Calling和MCP的示例详解

《SpringAI使用toolCalling和MCP的示例详解》SpringAI1.0.0.M6引入ToolCalling与MCP协议,提升AI与工具交互的扩展性与标准化,支持信息检索、行动执行等... 目录深入探索 Spring AI聊天接口示例Function CallingMCPSTDIOSSE结束语