[S9173] 直流重畳電流点列を作成し電流条件に設定するスクリプト

 

スクリプトで直流重畳電流点列を作成し電流条件に設定したい。

Pythonスクリプトでの例は次の通りです。

本サンプルでは、直流重畳電流点列を1つ作成し、指定した各電流条件に設定しています。
# -*- coding: utf-8 -*-

import numpy as np

#作成パラメータ設定

amp = 15 #電流振幅

frequency = 100 #周波数[Hz]

div = 100 #周波数1周期当たりの点列分割数

DCBias = 30 #直流バイアス
#点列を設定する電流条件名を指定

CurrentconName = ["I1","I2"] #list型で指定する
app = designer.GetApplication()

NowStudy = app.GetCurrentStudy()
#点列を格納するための配列を0で初期化して作成

data = np.zeros([int(div) * 3 + 1, 2]) #[div*3]により3周期分の配列を作成
#点列を作成

T = 1 / frequency #周波数1周期を算出

dt = T / div #点列の時間刻みを算出

for j in range(int(div)*3 + 1): #行ごとに点列を作成

    if  j==0:

        data[j][0] = 0.0 #点列の最初の時刻に0を代入

    else:

        data[j][0] = data[j-1][0] + dt #2行目以降の時刻を計算して代入

    t = data[j][0] #時刻を変数tに格納

    data[j][1] = DCBias + amp * np.sin(2 * np.pi * frequency * t) #電流値を計算して代入
#作成するデータセットの名前を指定

name = u"frequency" + str(int(frequency)) + u"_amp" + str(int(amp)) + u"_DCBias" + str(int(DCBias))

#点列からデータセットを作成

DataSet = app.GetDataManager().CreatePointArray(u"point_array/currentvstime")

DataSet.SetName(name) #データセットの名前を指定名に変更

DataSet.SetTable(data) #データセットに点列データを代入
#作成したデータセットを電流条件に設定

for j in range(len(CurrentconName)):

    NowStudy.GetCondition(CurrentconName[j]).SetValue("FunctionType",0)

    NowStudy.GetCondition(CurrentconName[j]).SetTableProperty("Time",DataSet)

ファイルご利用の注意点

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