如何通过命令行启动COMSOL的参数化、批处理和集群扫描

COMSOL提供参数化扫描功能,用户能够在单实例中运行多参数扫描,通过命令行或GUI获取同步解和累积探针表。COMSOL提供了丰富的功能,使得用户能够在顺序和分布式模式下灵活地控制和运行参数扫描。其中,参数化扫描是COMSOL Multiphysics®的特色功能之一,它允许用户在单个实例中运行包含多个参数实例的参数化研究。在研究中,软件会逐个处理这些参数实例,并充分利用分配给该实例的所有计算资源。通过命令行或图形用户界面,用户可以轻松地运行参数化扫描研究,并获取同步的解和累积探针表。

◉ 分布式参数化扫描

分布式参数化扫描结合集群节点实现并行处理,每个节点处理部分参数实例,结果可从输出文件或GUI获取。当参数化扫描研究在分布式内存并行环境中运行时,它可以与集群计算节点结合使用,作为"参数化扫描"节点。在分布式GUI实例中,例如通过comsol -nn 4 -nnhost 4启动的情况下(此时无需"集群计算"节点),或者是在调度程序的提交脚本启动的集群作业中,您可以使用"参数化扫描"的"研究扩展"栏中的分布式参数化扫描选项(或"稳态"研究步骤的分布参数化求解器选项)。启用此选项后,系统会将"参数化扫描"的参数实例分配给正在运行的计算进程。例如,在两个节点上运行四个参数实例时,每个节点将处理两个参数实例,并同时完成各自的任务。所有参数的参数化解都可从输出文件(批处理运行)或GUI(用于交互分布式COMSOL实例)中获得。

02批处理扫描及集群扫描

◉ 批处理扫描功能

批处理通过独立实例执行参数扫描,提供同步解和探针表选项,可通过命令行优化资源分配。与参数化扫描不同,批处理扫描使用多个COMSOL批处理实例来处理参数实例。这些实例从GUI中的"批处理扫描"研究启动,作为外部批处理作业运行。这些作业独立运行,彼此不受影响,即使其中一个作业失败,也不会影响其他作业及其结果。结果存储在相应的输出文件中。此外,"批处理扫描"节点的"批处理设置"栏还提供了同步解和同步累积探针表的选项,方便您在模型GUI中进行后处理。"批处理扫描"功能能够自动调整所使用内核数至最优状态,然而,您同样可以手动为作业配置资源。若希望外部作业仅占用部分可用的计算内核,您可在"作业配置"下的"批处理"节点中设定每个作业所使用的内核数,并在"批处理扫描"节点中设定并发作业的数量。请注意,这两个数值的乘积必须控制在可用内核数的范围内。

◉ 集群扫描功能

集群扫描提供专门接口与远程访问,包含批处理功能,支持同步解和探针表高级选项,适合分布式计算。特别是"集群扫描"节点的"批处理设置"栏中还提供了同步解和同步累积探针表等高级选项,为复杂计算任务提供了强大的支持。详情请参阅博客文章"如何使用 COMSOL Multiphysics® 中的集群扫描节点"。

03命令行启动指南

◉ 从命令行运行参数化扫描

用户可以通过命令行启动参数化扫描,指定输入输出文件和研究名称,实现各种参数组合的独立输出。您可以通过命令行轻松运行包含"参数化扫描"节点的研究。例如,要运行一个研究并指定输入和输出文件,以及要执行的研究名称,您可以调用以下命令:

```bash

comsol batch -inputfile mymodel.mph -outputfile out.mph -study std1

```

对于需要分布式处理的"参数化扫描",您可以通过启动以下命令来执行:

```bash

comsol batch -nn 4 -nnhost 4 -inputfile mymodel.mph -outputfile out.mph -study std1

```

请注意,在这些情况下,"参数化扫描"将按照模型中定义的参数值进行运行。

◉ 从命令行运行批处理及集群扫描

批处理和集群扫描命令行调用支持同步操作 ,通过模型方法控制实现复杂参数文件的扫描与处理。如果您希望从命令行直接指定扫描的参数集,您可以在模型文件中禁用"参数化扫描"节点,并使用特定的命令行标志来输入或读取参数。例如,使用-pname和-plist标志通过命令行直接设置或读取参数,或使用-paramfile标志从文件读取参数。请注意,如果您使用这些命令行方法,软件将为每个参数实例生成独立的输出文件,并且解不会同步到一个文件中。此外,通过模型方法控制参数化扫描也是可行的。这种方法涉及从输入文件中读取所需的参数。此命令行方法的一大优势在于,它支持从所有外部作业中获取包含同步解的输出文件,以供进一步后处理使用。

相关推荐
SL_staff9 小时前
私有化低代码不是妥协,而是企业级数字化的自主可控主航道
java
装不满的克莱因瓶9 小时前
【SpringAI Alibaba】ReactAgent结构化输出OutputType与OutputSchema实战
java·人工智能·ai·springai·springaialibaba
秋天的怀念_David10 小时前
算法一千零一夜 · 第二十八夜 注册
java·程序人生·算法
Java码农也是农10 小时前
Spring 事务详解:@Transactional 如何生效、何时回滚、传播行为怎么选
java·spring boot·spring·事务
学长毕设11 小时前
基于SpringBoot的游乐园管理系统-附源码
java·spring boot·后端
SimonKing11 小时前
震惊:怎么回事,opencode一轮对话耗尽免费额度
java·后端·程序员
装不满的克莱因瓶11 小时前
【SpringAI Alibaba】ReactAgent响应SSE实时流式传输案例实战
java·人工智能·ai·sse·springai
杨凯凡11 小时前
Spring Boot 文件上传怎么做才安全?流式落盘、路径校验与数据库一致性实战
java·spring boot·文件上传·后端安全·数据库一致性
这个昵称不容易12 小时前
旅游管理系统的设计与实现(SpringBoot + MySQL + Vue 前后端分离)
java·springboot·毕设
Rain的Java大神之路12 小时前
LeetCode 37 解数独面试攻略:回溯 + 位掩码 + MRV,从暴力到毫秒级求解
java·后端·leetcode