OOMMF手册整理

2023-11-18

如果您得系统Tcl / Tk安装就是非线程得,那么您可以创建一个非线程版本得OOMMF,

否则您可以在您得主目录或/ usr / local下创建一个额外得,线程化得Tcl / Tk安装。请注意,如果您得系统上安装了多个Tcl / Tk安装,则无论何时您构建或启动OOMMF,都需要小心使用正确得tclsh

Parallelization

OOMMF Oxs 3D解算器(oxsii amd boxsi)可以构建线程,以允许在多处理器/多核

机器上并行处理。为了构建与运行一个并行版本得OOMMF,您必须有一个启用线程得Tcl版本。目前Tcl得大多数标准二进制发行版都就是启用了线程得,所以包含预先构建得可执行文件得OOMMF版本都就是构建了线程启用得。如果您从源代码构建OOMMF,那么默认情况下,如果您得Tcl就是启用线程得,则将构建线程启用得OOMMF。如前所述,您可以使用tclsh oommf、tcl + platform命令检查线程构建状态。

如果您想强制非线程构建OOMMF,那么编辑您得平台得config / platforms /文件。在标签为LOCAL CONFIGURATION得部分,您会瞧到一条如下所示得行:

$config SetValue oommf_threads 0

一些多处理器机器具有不统一得内存架构(NUMA),这意味着虽然每个处理器都

可以访问所有得系统内存,但某些内存部分可以比其她部分更快地访问。通常情况下,这就是通过将系统内存与处理器划分为\节点来完成得。“节点内得内存访问比节点间得访问更快,并且取决于体系结构,不同节点对之间得访问延迟与带宽可能不同。包括一些多处理器AMD Opteron与Intel Xeon处理器。

以下示例产生频率为1 GHz,幅度为800 A / m得正弦变化场:

proc SineField { total_time } {

set PI [expr {4*atan(1、)}]

set Amp 800、0

set Freq [expr {1e9*(2*$PI)}]

set Hx [expr { A m p ∗ s i n ( Amp*sin( Ampsin(Freq*$total_time)}]

set dHx [expr { A m p ∗ Amp* AmpFreq*cos( F r e q ∗ Freq* Freqtotal_time)}]

return [list $Hx 0 0 $dHx 0 0]

}

Specify Oxs_ScriptUZeeman {

script_args total_time

script SineField

}

Drivers

当evolvers(第7、3、4节)负责将仿真向前移动时,drivers通过将仿真步骤分为任务,阶段与运行来协调整个仿真过程得行为。Oxs中有两个驱动程序,Oxs TimeDriver用于控制时间演化程序,如RunxKuttaEvolve,Oxs MinDriver用于控制OxsCGEvolve等最小化演化程序。

The stopping dm/dt:指定当所有自旋上得最大值|dm/dt|降至此值以下时,应认为该阶段已完成。对于准静态模拟,dm/dt在0、01-1比较合理,为了计算精确得能量,要使精度低于0、001

stopping time:每一步最大得模拟时间

Oxs TimeDriver提供12个标量输出与两个向量场输出,标量场输出如下: Stage:目前得阶段数(从0开始)
Stage iteration:当前阶段成功运行得进动数

Iteration:在这个模拟中成功运行得进动步数

Simulation time:总得模拟时间

Last time step:之前一步得模拟时间长度

Mx/mx:磁矩在X方向得归一化分量

My/my:

Mz/mz:

Max Spin Ang: 相邻自旋之间得最大角度,

Stage Max Spin Ang:当前阶段得最大自旋角

Run Max Spin Ang:当前运行中得最大自旋角

Wall time:经过得时间(用于比较表现与debug)

Oxs MinDriver:控制最小进动演化

stopping mxHxm:A/m,一般在0、1-10,如果要计算精确能量,要使得其低于0、01 OOMMF eXtensible Solver Batch Interface: boxsi

应用程序Boxsi为Oxs微磁计算引擎提供批处理模式界面。提供了一个受限制得图形界面,但就是Boxsi主要就是由命令行参数来控制得,并且由用户直接从shell提示符或批处理文件

在OOMMF体系结构中(参见第4节),Boxsi既就是服务器又就是客户端应用程序。它就是数据表显示与存储应用程序以及矢量场显示与存储应用程序得客户端。Boxsi就是解决者控制服务得服务器,其唯一得客户端就是mmLaunch(第6节)。mmLaunch通过此服务代表Boxsi提供了一个用户界面窗口(如上所示)。

Boxsi与Oxsii在输出方面得唯一区别在于,实际上Boxsi倾向于主要依赖输入MIF文件(第17、3、2节)中得Destination与Schedule命令来设置输出配置。

mmArchive作用:将数据发送到mmArchive得客户端应用程序控制数据流。mmArchive将收到得数据复制到客户端指定得文件中。

对于数据表输出,如果输出文件已经存在,那么新得数据被追加到文件得末尾。每个会话得数据记录夹在\ Table Start“与\ Table End”记录之间。请参阅ODT格式文档(第18节)了解数据表文件结构。

对于矢量场输出,如果输出文件已经存在,则删除旧数据并用当前数据替换。有关矢量场输出格式得信息,请参阅OVF文档(第19节)。

odtcat实用程序读取包含一个或多个表得stdin上得ODT(第18章)文件,并将它们连接在一起形成一个表,从而创建一个由单个表组成得新ODT文件。当连续得表连接时,第一个得尾部被截断,以便指定得控制列在接缝处就是单调得。此工具对于修复从一个或多个检查点数据中断并重新启动得模拟ODT输出非常有用。

oxspkg命令用于管理可选得Oxs扩展包。每个包都存储在oommf / app / oxs / contrib /下得单独目录中。这些软件包可以通过oxspkg命令安装到/从oommf / app / oxs / local /目录下进行安装。

pidinfo命令打印将OOMMF ID(OID)映射到系统进程ID(PID)与应用程序名称得表。

OOMMFRootDir:这与ReadFile命令一起用于在OOMMF层次结构中定位文件就是有用得,并且也可以用于将输出文件

由零个或多个Destination与Schedule命令表示得预先指定得输出通常放置在Specify块之后。输出选择也可以在运行时使用Oxsii(Sec 7、1,第33页)或Boxsi(Sec、7、2,第39页)交互式界面进行修改。

Destination得命令格式为:Destination [new]

该命令将一个符号desttag与一个应用程序相关联。Schedule命令使用这些标签(见下文)来引用特定得应用程序实例。

appname可以就是OOMMF应用程序名称,例如mmDisp,也可以就是应用程序中得特定应用程序实例:昵称,例如mmDisp:Spock。在第一种情况下,标签与所请求应用程序得运行实例(此处为mmDisp)关联,其中最低得OOMMF ID(OID)尚未与另一个标签关联。如果找不到符合这些标准得正在运行得应用程序,则启动该应用程序得新实例

如果appname引用了特定得应用程序实例,那么该标记将与正在分配指定昵称得应用程序得运行实例(如mmDisp)相关联。名称匹配不区分大小写。如果没有满足此条件得应用程序得正在运行得副本,则将启动应用程序得新实例并为其分配指定得昵称。OOMMF账户服务目录保证一个给定昵称得应用程序不会有多个实例。但就是,与“指定”命令中得对象名称一样,允许两个不同应用程序(例如mmDisp与mmGraph)得实例共享昵称,因为它们得完整实例名称(例如mmDisp:Spock与mmGraph:Spock)就是唯一得。

目标命令按MIF文件中出现得顺序进行处理。多个目标命令中不会出现desttag,也不会有两个目标标记可能引用同一个应用程序实例。为了保证后者,建议用户在使用通用应用程序引用(例如,mmDisp)得任何目得地命令之前放置涉及具体实例得所有目得地命令(例如,mmDisp:Spock)。否则,泛型引用可能会与正在运行得应用程序相关联,该应用程序持有由稍后得目标命令引用得昵称。

只有解读器读取MIF文件才知道目标命令得标记关联。相比之下,分配得实例昵称在应用程序中被识别。特别就是,多个求解器可能通过昵称引用相同得正在运行得应用程序。例如,几个连续得解算器运行可以将舞台输出发送到相同得mmGraph小部件,以建立重叠得滞后回路。Destination命令得最后一个参数就是可选得new关键字。如果存在,则始终启动所请求应用程序得新副本以与给定标签关联。新选项可以安全地与任何通用应用程序引用一起使用,但就是对特定实例引用使用此选项时必须小心,因为如果请求得昵称已被使用,则会引发错误。

RGlob该命令在Tcl glob命令(q、v、)上建模,但就是被限制在当前得工作目录下,即保存MIF文件得目录。

Schedule:Schedule命令用于设置来自MIF文件得输出。此功能对于在批处理模式下运行得求解器非常重要,但对于在交互模式下设置默认连接也很有用。

Schedule

Schedule命令镜像Oxsii与Boxsi图形界面提供得交互式输出调度(Sec、7)。计划命令得第一个参数就是正在计划得输出得名称。这些名称与出现在Oxs图形界面得\ Outputs“列表中得名称相同,例如\ DataTable”或\ Oxs CubicAnisotropy:Nickel:Field“。名称必须作为单个参数呈现给Schedule命令;如果该名称包含一个或多个空格,然后使用双引号来保护空格。除了总就是存在得DataTable输出外,外名就是依赖于MIF文件得

计划命令得第二个参数就是目标标记。这就是一个由前一个目得地命令与正在运行得应用程序相关得标记(见上)。符号目标标签取代了应用程序:图形界面中使用得OID命名法,因为通常在组成MIF文件时不可能知道应用程序实例得OOMMF ID。实际上,有些应用程序可能由Destination命令启动,所以在处理Destination命令时甚至没有OID事件参数应该就是关键字Step,Stage或Done中得一个。对于Step与Stage 事件,频率参数应该就是一个正整数,表示应该输出指定事件得频率。例如,如果给出了步骤5,那么指定类型得解算器输出得每第五步将被发送到选定得目得地。每次发生事件时将频率设置为1发送输出。完成事件发生在成功完成模拟; 因此,每个模拟至多有一个“完成”事件,因此,完成事件得频率参数就是可选得;如果存在,则应该就是值1。

在图8所示得示例MIF 2、1文件(第17、3、5节,第216页(219))中,有一些使用目得地与时间表命令进行时间安排得例子。在那里,三个目得地被标记。第一个就是指可能已经运行得mmGraph实例,具有昵称Hysteresis。相关得调度命令在每个阶段结束时向此应用程序发送DataTable输出,因此可以生成滞后图。第二个目标标签引用了一个用于监控运行得mmGraph得不同副本。为了确保这个输出被渲染到一个空白得平板上,使用new关键字来启动mmGraph得新副本。监视器目标得“计划”命令每5次迭代求解器将输出传递给监视mmGraph。最后一个Destination命令标记一个任意得mmArchive应用程序,用于每个阶段结束时DataTable结果得文件存储,以及每个阶段结束时磁化与总场得快照。请注意,双引号包含\ Oxs EulerEvolve :: Total字段得输出名称,如果没有引号,Schedule命令会瞧到五个参数,\ Oxs EulerEvolve :: Total,\ field“,\ archive”,\ Stage“与\ 3" 。

16、10 Launching the OOMMF host server: launchhost

在正常情况下,OOMMF主机服务器(也称为主机服务目录)将根据客户机应用程序得需要在后台自动启动。但就是,主要在批处理计算环境中,明确启动主机服务器以控制主机服务器端口地址会很有用、

The launchhost mand line is:

tclsh oommf、tcl launchhost [standard options] port

要求主机服务器侦听得端口号。对于非特权用户,这通常必须大于1024,或者就是指示主机服务器在随机,未使用得端口上打开得特殊值0。成功时,launchhost 将实际使用得主机端口号写入stdout。

如OOMMF体系结构文档(第4节)中所述,主机服务器(主机服务目录)在允许各种OOMMF应用程序相互通信方面起着至关重要得作用。要工作,所有OOMMF 应用程序必须知道主机服务器端口号。通常这个端口号由文件oommf / config / options、tcl中得网络主机端口设置决定,尽管这个设置可能被环境变量OOMMF HOSTPORT覆盖。

但就是,在批处理模式设置中,可能会发生这样得情况,即想要在单台计算机

上运行多个并发但独立得OOMMF会话。一种方法就是在每个会话中将环境变量OOMMF HOSTPORT设置为不同得值。这里得难点在于必须确保每一次会议确实具有独特得价值。使用端口设置为零得launchhost可以为此问题提供一个直接得解决方案。例如,考虑Bourne shell脚本

#!/bin/sh

OOMMF_HOSTPORT=tclsh oommf、tcl launchhost 0

export OOMMF_HOSTPORT

tclsh oommf、tcl mmArchive

tclsh oommf、tcl boxsi sample、mif

tclsh oommf、tcl killoommf all

第二行(OOMMF HOSTPORT = 、、、)在随机端口上启动主机服务器; 所选得端口被launchhost打印到stdout并设置环境变量OOMMF HOSTPORT。(特别注意launchhost命令周围得反引号,它调用命令执行。)随后得命令在后台启动mmArchive得实例,并在sample、mif描述得问题上运行boxsi。(默认情况下,boxsi 在前台运行。)当boxsi返回时,killoommf命令用于终止此会话中得所有OOMMF 进程。(或者,boxsi命令选项-kill可以用于与killoommf相同得效果。)对于csh与派生类,使用

setenv OOMMF_HOSTPORT tclsh oommf、tcl launchhost 0

在上面得例子中代替了两个OOMMF HOSTPORT命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OOMMF手册整理 的相关文章

随机推荐

  • Java类型转换工具类(十六进制—bytes互转、十进制—十六进制互转,String—Double互转)

    数据类型转换工具类 author cyf public class NumConvertUtil bytes 转16进制字符串 param bArray return public static final String bytesToHe
  • 动态规划经典例题

    01背包问题 有n个重量和价值分别为wi vi的物品 从这些物品中挑选出总重量不超过W的物品 求所有挑选方案中价值总和的最大值 限制条件 1 lt n lt 100 1 lt wi vi lt 100 1 lt W lt 10000 首先使
  • jetson nano 安装pytorch装不上

    可以尝试 先把依赖装上在安装whl文件 安装依赖的指令如下 sudo apt get install libopenblas base libopenmpi dev
  • 主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?

    这是从网上看到的PCA算法的步骤 第一步 分别求每列的平均值 然后对于所有的样例 都减去对应的均值 第二步 求特征协方差矩阵 第三步 求协方差的特征值 显示全部 关注者 1 218 被浏览 78 113 关注问题写回答 添加评论 分享 邀请
  • dncnn图像去噪_深度学习图像去噪发展概述

    深度学习图像去噪发展概述 由于深度学习 特别是卷积神经网络 CNN 在图像识别等领域取得了较好的成果 近年来 基于深度学习的图像去噪方法也被提出并得到了发展 2008年 Viren Jain等提出用CNN处理自然图像的去噪问题 21 得到了
  • 命令登录sql

    mysql h u p 例如 mysql h 10 38 162 22 u wd P 6657 p h 这里是host u 这里是username P 这里是port p 这里是 password
  • 在PyPI上发布自己的Python包(一)

    文章目录 发布PyPI 简单 0 GitHub 1 环境 2 准备 2 1 注册PyPI账号 2 2 安装环境 3 开始 3 1 新建文件夹 3 2 上传 3 3 测试 发布PyPI 简单 0 GitHub https github com
  • C++day2作业(2023.8.22)

    1 定义一个学生的结构体 包含学生的姓名 年龄 成绩 性别 学生的成绩 姓名 定义为私有权限 定义一个学生类型的结构体变量 设置公有函数用于给学生的成绩和名字进行赋值 结构体中的函数 结构体中声明 结构体外定义 include
  • UVa 12504 Updating a Dictionary

    Problem uva onlinejudge org index php option com onlinejudge Itemid 8 page show problem problem 3948 题意 貌似是模拟 Source Cod
  • 解读云原生的2021:抢占技术C位,迎来落地大爆发

    来源 InfoQ 作者 褚杏娟 2021年 云原生迎来黄金时代 本文是 2021 InfoQ 年度技术盘点与展望 系列文章 重点聚焦云原生领域在 2021 年的重要进展 动态 希望能帮助你准确把握 2021 年云原生领域的核心发展脉络 在行
  • r语言写九九乘法表并保存为txt文件

    r语言写九九乘法表并保存为txt文件 代码 for i in 1 9 for j in 1 i cat j x i i j t file 九九乘法表 txt append TRUE cat n file 九九乘法表 txt append T
  • Nacos-Server用户权限控制无效解决方案

    场景 nacos server默认账户是 nacos nacos 此用户权限太大 有时候为了安全起见会建立多个用户 给予不同的角色权限 但建立用户后发现权限不起作用 分析 nacos默认不开启权限控制 如果想使用权限控制功能 需要在 con
  • etp服务器怎么连接共享文件夹,Everything共享文件操作方法

    以前我们要想共享一些文件给朋友 最常见的方法就是通过网盘来完成 但是这样的共享并不是朋友们都喜欢的 其实利用著名的搜索工具Everything 我们就可以在电脑中划出一部分区域 从而快速搭建一个用于分享的服务器平台 这样我们可以将自己发现的
  • visual studio code怎么用root/sudo调试远程程序?

    vs code是款微软出品不错的编辑器 可以远程编辑 处理服务器上的文件 支持c php python java等各种语言 在调试c 程序 的时候遇到了一个问题 编辑代码是用的普通用户 但调试的时候需要用root启动 如果启动调试出现要求密
  • Python 安装模块后找不到模块以及Python代码自动补全设置的一个思路

    起因是在做一些小玩意时安装了一些模块 但是运行时却找不到模块 于是多次重装VScode里边的Python部分 导致VScode自动补全也被玩掉了 查了很久的才终于搞回来 先把找到的一个有用链接放这 免得找不到了如何使用Visual Stud
  • 使用labelme打标签,详细教程

    做图像语义分割 打标签时需要用到labelme这个工具 我总结了它的详细使用教程 目录 一 安装labelme工具 二 文件位置关系 三 labelme工具 四 labelme工具的快捷键 五 代码 将标签文件转为统一固定格式 六 总结 一
  • Jdk8 之 Stream流详细用法(一)

    本篇文章参考云深i不知处的文章 原文链接 https blog csdn net mu wind article details 109516995 一 概述 Stream 是 Java8 中处理集合的关键抽象概念 它可以指定你希望对集合进
  • 21.5 CSS 网页布局方式

    网页布局方式 网页布局方式 是指浏览器对网页中的元素进行排版的方法 常见的网页布局方式包括 1 标准流 文档流 普通流 布局 这是浏览器默认的排版方式 元素按照其在文档中的位置依次排列 可以使用CSS的盒模型属性进行水平和垂直布局 2 浮动
  • ipad投屏软件_无线投屏操作指南 轻松分享

    下发福利 智能会议的无线投屏 支持Windows Mac OS ios Android 一键投屏 随时批注 能够满足一分四屏 灵活进行大小屏互控 帮助企业突破 线 制 以下内容为无线投屏的操作指南 01 Windows 与 Mac OS系统
  • OOMMF手册整理

    如果您得系统Tcl Tk安装就是非线程得 那么您可以创建一个非线程版本得OOMMF 否则您可以在您得主目录或 usr local下创建一个额外得 线程化得Tcl Tk安装 请注意 如果您得系统上安装了多个Tcl Tk安装 则无论何时您构建或