基于python腳本進行Maxwell自動化仿真

本文為博主進行Maxwell自動化研究過程的學習記錄,同時對Maxwell自動化腳本(pythonIron)實現方法進行分享。

文章目錄

  • 腳本使用方法
  • 腳本錄制與查看
  • 常用腳本代碼
      • 通用開頭
      • 定義項目
      • 調整設計變量
        • 軟件內對應位置
        • 腳本
      • 設置求解器
        • 軟件內對應位置
        • 腳本
      • 定義數據模塊
      • 使用“計算器”計算并導出數據
        • 軟件對應計算器位置
        • 腳本實現
      • 項目保存
      • 關閉腳本

腳本使用方法

  1. 創建一個pyhon文件,如”script.py“
  2. 點擊Maxwell?Tools?run script
    在這里插入圖片描述
  3. 選擇剛剛創建的腳本打開,即可運行*(注意去除腳本中中文內容)*
    在這里插入圖片描述

腳本錄制與查看

如圖點擊錄制腳本
在這里插入圖片描述
點擊選擇ironPython
在這里插入圖片描述
錄制后可以在同樣位置選擇結束錄制

但是博主的版本有bug,這一塊是灰色的。那也沒有關系,腳本是實時更新并保存在臨時目錄的。
即便版本正常,博主還是建議直接取臨時文件夾實時查看腳本錄制內容,這樣每進行一步操作即可知道對應的腳本代碼。臨時目錄的位置通常是:c盤用戶文件夾/AppData/Local/Temp。具體可以在maxwell軟件設置內查看:
在這里插入圖片描述
點擊后出現設置窗口,找到Temp對應位置:
在這里插入圖片描述
之后在文件管理器打開這個位置,可以看到最近錄制的腳本,使用編輯器或記事本打開,即可看到對應操作的代碼
在這里插入圖片描述

常用腳本代碼

如果你懶得進行錄制,或對錄制腳本做出一些簡單更改與補充,可以參考下面的一些常見代碼

通用開頭

import ScriptEnv
ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
oDesktop.RestoreWindow()

定義項目

oProject = oDesktop.SetActiveProject("MaxwellProject")
oDesign = oProject.SetActiveDesign("Maxwell2DDesign1")

此段分別定義了maxwell的項目、設計,此處名稱應對應maxwell項目目中的對應名稱:

在這里插入圖片描述

調整設計變量

軟件內對應位置

通常批量化、自動化操作需要對項目的設計變量進行設置,Maxwell中對應位置為
在這里插入圖片描述
點擊后即可看到變量設置窗口
在這里插入圖片描述

腳本

使用python腳本對變量進行設置:

oDesign.ChangeProperty(["NAME:AllTabs",["NAME:LocalVariableTab",["NAME:PropServers", "LocalVariables"],["NAME:ChangedProps",["NAME:currents1",  #變量名"Value:="		, str(s)+"A"  #變量值(若有單位則加上單位)]]]])

設置求解器

軟件內對應位置

在這里插入圖片描述
點擊后出現求解器設置窗口,此處為穩態求解類型,若為頻域或瞬態可能有差異
在這里插入圖片描述

腳本

設置方法如下,根據需要設置的字段按照如下方式設置

oModule.EditSetup("Setup1", ["NAME:Setup1","Enabled:="		, True,["NAME:MeshLink","ImportMesh:="		, False],"MaximumPasses:="	, 10,"MinimumPasses:="	, 2,"MinimumConvergedPasses:=", 1,"PercentRefinement:="	, 30,"SolveFieldOnly:="	, True,"PercentError:="	, 1,"SolveMatrixAtLast:="	, True,"UseNonLinearIterNum:="	, False,"NonLinearResidual:="	, 0.001,"SmoothBHCurve:="	, False,["NAME:MuOption","MuNonLinearBH:="	, True]])

定義數據模塊

通常自動化腳本用于數據的導出。故使用模塊“FieldsReporter”

oModule = oDesign.GetModule("FieldsReporter")

使用“計算器”計算并導出數據

軟件對應計算器位置

在這里插入圖片描述
點擊后打開計算器窗口
在這里插入圖片描述

關于計算器的使用方法本文不過多介紹,具體使用可參考其他網絡教程。

腳本實現

由于計算器的操作類型很多,下面列舉幾個操作的腳本例子,可根據代碼形式類推:

  1. 輸入求解值,此處向計算器輸入了磁場B的求解結果
oModule.EnterQty("B")  
  1. 對當前計算器內容施加操作,此處操作取出向量第一個分量
oModule.CalcOp("ScalarX")
  1. 施加求解區域,此處選擇幾何 0_1
oModule.EnterVol("0_1")
  1. 輸入常數,此處輸入2
oModule.EnterScalar(2)
  1. 施加運算,此處施加除法運算
oModule.CalcOp("/")
  1. 導出結果至文件 ,此處定義setup求解結果項“LastAdaptive”,和設計變量currents1 為100A
oModule.CalculatorWrite("E:\\maxwellData\\1.fld", ["Solution:="		, "Setup1 : LastAdaptive"], ["currents1:="		, "100A"])
  1. 清除計算器中內容
oModule.CalcStack("clear")

項目保存

oProject.Save()

關閉腳本

ScriptEnv.Shutdown()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/85122.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/85122.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/85122.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

pikachu通關教程-RCE

目錄 RCE(remote command/code execute)概述: exec "ping" 管道符 亂碼問題 RCE(remote command/code execute)概述: RCE漏洞,可以讓攻擊者直接向后臺服務器遠程注入操作系統命令或者代碼,從而控制后臺系統 分為遠程代碼和遠程命令兩種.當…

JavaScript性能優化全景指南

JavaScript性能優化全景指南 Ⅰ. 加載性能優化 1.1 代碼分割與懶加載 動態導入(ES2020) javascript // 路由級代碼分割 const ProductPage () > import(/* webpackChunkName: "product" */ ./ProductPage.vue); // 交互驅動加載 document.querySelector(#char…

BaseTypeHandler用法-筆記

1.BaseTypeHandler簡介 org.apache.ibatis.type.BaseTypeHandler 是 MyBatis 提供的一個抽象類,通過繼承該類并實現關鍵方法,可用于實現 Java 類型 與 JDBC 類型 之間的雙向轉換。當數據庫字段類型與 Java 對象屬性類型不一致時(如&#xff…

t015-預報名管理系統設計與實現 【含源碼!!!】

項目演示地址 摘 要 傳統辦法管理信息首先需要花費的時間比較多,其次數據出錯率比較高,而且對錯誤的數據進行更改也比較困難,最后,檢索數據費事費力。因此,在計算機上安裝預報名管理系統軟件來發揮其高效地信息處理的…

Day12 - 計算機網絡 - HTTP

HTTP常用狀態碼及含義? 301和302區別? 301:永久性移動,請求的資源已被永久移動到新位置。服務器返回此響應時,會返回新的資源地址。302:臨時性性移動,服務器從另外的地址響應資源,但…

【python深度學習】Day 40 訓練和測試的規范寫法

知識點回顧: 彩色和灰度圖片測試和訓練的規范寫法:封裝在函數中展平操作:除第一個維度batchsize外全部展平dropout操作:訓練階段隨機丟棄神經元,測試階段eval模式關閉dropout 作業:仔細學習下測試和訓練代碼…

亡羊補牢與持續改進 - SRE 的安全日志、審計與事件響應

亡羊補牢與持續改進 - SRE 的安全日志、審計與事件響應 如果說我們之前討論的安全措施(如 IAM、網絡策略、密鑰管理、漏洞補丁)是為我們的“數字城堡”修筑堅固的城墻、設置精密的門鎖、定期檢查和修補潛在的裂縫,那么安全日志就像是遍布城堡內外的監控攝像頭和出入登記簿,…

CppCon 2014 學習第2天:Using Web Services in C++

概述 這是一個會議或演講的概述內容,主要介紹一個關于C Rest SDK的分享,翻譯和理解如下: 翻譯 概述 先介紹什么是典型的Web服務結構和它的特征講講調用這些Web服務的幾種方式重點介紹自己團隊開發的一個C庫(C Rest SDK&#xf…

【OpenHarmony】【交叉編譯】使用gn在Linux編譯3568a上運行的可執行程序

linux下編譯arm64可執行程序 一.gn ninja安裝二.交叉編譯工具鏈安裝1.arm交叉編譯工具2.安裝arm64編譯器 三. gn文件添加arm及arm64工具鏈四.編譯驗證 本文以gn nijia安裝中demo為例,將其編譯為在arm64(rk_3568_a開發板)環境下可運行的程序 一.gn ninja安裝 安裝g…

【開發心得】AstrBot對接飛書失敗的問題探究

飛書與AstrBot的集成使用中,偶爾出現連接不穩定的現象。盡管不影響核心功能,但為深入探究技術細節并推動后續優化,需系統性記錄該問題。先從底層通信機制入手,分析連接建立的邏輯與數據交互流程。基于實際現象,明確問題發生的具體場景和表現特征,進而梳理潛在影響因素,為…

Spring Boot 3.5.0中文文檔上線

Spring Boot 3.5.0 中文文檔翻譯完成,需要的可收藏 傳送門:Spring Boot 3.5.0 中文文檔

7.atlas安裝

1.服務器規劃 軟件版本參考: https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-release-2.2?hlzh-cn 由于hive3.1.3不完全支持jdk8,所以將hive的版本調整成4.0.1。這個版本沒有驗證過,需要讀者自己抉擇。 所有的軟件都安裝再/op…

c# 獲取電腦 分辨率 及 DPI 設置

using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices;/// <summary> /// 這個可以 /// </summary> class Program {static void Main(){//設置DPI感知try{SetProcessDpiAwareness(…

LangChain表達式(LCEL)實操案例1

案例1&#xff1a;寫一篇短文&#xff0c;然后對這篇短文進行打分 from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder from langchain_core.runnables import RunnableWithMessageHist…

OleDbParameter.Value 與 DataTable.Rows.Item.Value 的性能對比

OleDbParameter.Value 與 DataTable.Rows.Item.Value 的性能對比 您提到的兩種賦值操作屬于不同場景&#xff0c;它們的性能和穩定性取決于具體使用方式。下面從幾個維度進行分析&#xff1a; 1. 操作本質對比 &#xff08;1&#xff09;OleDbParameter.Value 用途&#xf…

【Opencv+Yolo】Day2_圖像處理

目錄 一、圖像梯度計算 圖像梯度-sobal算子&#xff1a; Scharr&#xff1a;權重變化更大&#xff08;線條更加豐富&#xff0c;比Sobel更加細致捕捉更多梯度信息&#xff09; Laplacian算子&#xff1a;對噪音點敏感&#xff08;可以和其他一起結合使用&#xff09; 二、邊…

STM32通過rt_hw_hard_fault_exception中的LR寄存器追溯程序問題?

1. 問題現象 程序運行導致rt_hw_hard_fault_exception 如圖 顯示錯誤相關代碼 struct exception_stack_frame {uint32_t r0;uint32_t r1;uint32_t r2;uint32_t r3;uint32_t r12; uint32_t lr; // 鏈接寄存器 (LR)uint32_t pc; // 程序計數器 (PC)uint32_t psr; // 程序狀態…

Mac安裝配置InfluxDB,InfluxDB快速入門,Java集成InfluxDB

1. 與MySQL的比較 InfluxDBMySQL解釋BucketDatabase數據庫MeasurementTable表TagIndexed Column索引列FieldColumn普通列PointRow每行數據 2. 安裝FluxDB brew update默認安裝 2.x的版本 brew install influxdb查看influxdb版本 influxd version # InfluxDB 2.7.11 (git: …

【spring】spring中的retry重試機制; resilience4j熔斷限流教程;springboot整合retry+resilience4j教程

在調用三方接口時&#xff0c;我們一般要考慮接口調用失敗的處理&#xff0c;可以通過spring提供的retry來實現&#xff1b;如果重試幾次都失敗了&#xff0c;可能就要考慮降級補償了&#xff1b; 有時我們也可能要考慮熔斷&#xff0c;在微服務中可能會使用sentinel來做熔斷&a…

(21)量子計算對密碼學的影響

文章目錄 2??1?? 量子計算對密碼學的影響 &#x1f30c;&#x1f50d; TL;DR&#x1f680; 量子計算&#xff1a;密碼學的終結者&#xff1f;? 量子計算的破壞力 &#x1f510; Java密碼學體系面臨的量子威脅&#x1f525; 受影響最嚴重的Java安全組件 &#x1f6e1;? 后…