[S0023] 指定された点列データを対象にフーリエ変換を実行する

 

グラフマネージャでは、計算結果を点列データとして管理しており、フーリエ変換などの加工を行うことができます。
トルクや電磁力などの時系列結果テーブルを、再計算や特別なデータ出力を行うことなく周波数成分で評価することができます。
このスクリプトでは、回路の電流に対してフーリエ変換を実行し、周波数系列のデータセットとグラフを作成します。

前提条件

  • 解析済みのスタディが1つ以上作成されていること
    このスクリプト例では、プロジェクトツリー上でアクティブな磁界過渡応答解析の計算結果に対して実行している

スクリプトにおける設定内容

  • 磁界過渡応答解析の回路の電流の計算結果テーブルをDataSetオブジェクトとして取得
  • 取得したデータセットに対してフーリエ変換を実行
    表示方法を振幅とし、範囲(X軸)を時間で最小値0.01、最大値0.015と設定
    その他のパラメータは、ライン選択タイプを全て、周期性を1/2、周波数倍率を0.5と設定
  • 正常に実行されると、フーリエ変換結果の周波数系列のデータセットとグラフが作成される
# Copyright (c) 2026 JSOL CORPORATION
#
# 本スクリプトはMITライセンスのもとで公開しています。
# ライセンス全文は以下を参照してください。
# https://www.jmag-international.com/jp/scriptlibrary/jmag_script_library_mit/

app = designer.GetApplication()

def fourierTransform(targetDataSet, type, axisType):
    """引数で渡されたデータセットに対し、フーリエ変換を行う"""
    fftParam = app.CreateFFTParameter(u"Fourier transform")
    fftParam.AddDataSet(targetDataSet)
    # ライン選択タイプ
    # 0:データセットを指定
    # 1:全データセットを指定
    fftParam.SetLineType(1)
    fftParam.SetType(type)
    fftParam.SetMin(u"0.01")
    fftParam.SetMax(u"0.015")
    # 周期性タイプ
    # 0:なし
    # 1:1/2
    fftParam.SetPeriodicity(1)
    fftParam.SetFrequencyMultiplier(u"0.5")
    fftParam.SetAxisType(axisType)
    return fftParam

study = app.GetCurrentStudy()
dataSet = study.GetDataSet(u"Circuit Current", 1)
type = u"Amplitude"
axisType = u"Time"
parameter = fourierTransform(dataSet, type, axisType)

dm = app.GetDataManager()
dm.CreateFFTWithParameter(parameter)

Download Python source code

ファイルご利用の注意点

JMAGスクリプトライブラリをご利用されるに際し、以下をよくお読みいただき、ご同意の上ご利用くださるようお願い申し上げます。

絞込み検索

  • カテゴリー 一覧

JMAG-Express Online
An engineer's diary