ScideamPy チュートリアル¶
動作環境¶
- Windows 11(x86 64bit)
- Python 3.10 〜 3.14
- パッケージマネージャ: pip(Windowsグローバル)または uv
Warning
conda系はサポート対象外です。
インストール手順¶
ScideamPyの.whlファイルおよびサンプルコード(examples.zip)は、Scideamインストール時に以下のディレクトリへ同梱されます。
C:\Program Files\Scideam\ScideamPy
- 使用しているPythonのバージョンを確認します。
- 上記ディレクトリから、対応する
.whlファイルを確認します。 -
examples.zipを任意の場所(書き込み権限のあるフォルダ)にコピーし、エクスプローラーで右クリック →「すべて展開」で展開します。Warning
C:\Program Files\配下は書き込み権限が制限されているため、サンプル実行時の出力ファイル生成などに支障が出る可能性があります。展開先はユーザーディレクトリ配下などを推奨します。 -
PowerShellを起動し、以下のコマンドでインストールします。
# pip の場合
pip install "C:\Program Files\Scideam\ScideamPy\wheel_file.whl"
pip install matplotlib
# uv の場合
uv pip install "C:\Program Files\Scideam\ScideamPy\wheel_file.whl"
uv pip install matplotlib
Note
Windowsのパス区切り文字は\を使用します。また、C:\Program Files\...のようにスペースを含むパスは、上記のようにダブルクォートで囲んでください。
Note
matplotlibはグラフ出力に使用するライブラリであり、ScideamPy本体の動作に必須ではありません。グラフ出力が不要な場合はインストールを省略できます。ただし、examples/quick_start.pyの実行には必要です。
解析を始める前に¶
- Scideamで回路を作成し、ネットリストファイル(
.cvt2)を出力してください -
詳しくはCVTファイルの作成を参照してください。
-
使用しているライセンス種別(ノードロック・フローティング)をサポートセンターで確認してください。
Tip
Scideamで事前に回路を解析し、エラーが発生しないことを確認しておくことを推奨します。
Tip
examples(提供されているサンプルコード)を実行する場合は、ネットリストファイルが同梱されているため、すぐにお試しいただけます。
はじめての解析¶
以下は、降圧コンバータ回路に対してTransient解析を実行するサンプルコードです(examples/quick_start.pyより抜粋)。
# --- examples/quick_start.py より抜粋 ---
Converter.initialize(license_type=license_type)
with Converter() as conv:
conv.read_configuration(CVT2_FILE)
conv.transient_analysis(10e-3)
times = conv.get_times()
voltage = conv.output_data("R", OutputType.VOLTAGE)
current = conv.output_data("L.I", OutputType.CURRENT)
# ... グラフ描画 ...
サンプルの実行方法¶
すべてのサンプルコードは、ライセンス種別をコマンドライン引数で切り替えられます。コードを編集する必要はありません。
# フローティングライセンスで実行(デフォルト)
python examples/quick_start.py
# ノードロックライセンスで実行
python examples/quick_start.py --nodelock
| 引数 | 説明 |
|---|---|
-f, --floating |
フローティングライセンスを使用(デフォルト) |
-n, --nodelock |
ノードロックライセンスを使用 |
Note
ノードロックライセンスを使用する場合、サンプルコード内部ではNodeLockKey()コンテキストマネージャーによりライセンスキープロセスが自動で管理されます。
ポイント¶
Converter.initialize()はプロセス全体で1回だけ呼び出します。license_typeにはお使いのライセンス種別(LicenseType.FLOATINGまたはLicenseType.NODELOCK)を指定してください。with Converter() as conv:を使うことで、スコープを抜けた際にネイティブリソースが自動的に解放されます。read_configuration()で.cvt2ファイルを読み込みます。読み込みに失敗するとRuntimeErrorが発生します。transient_analysis()に解析時間(秒)を渡してTransient解析を実行します。
制約事項¶
ファイルパスに日本語などの非ASCII文字は使用できません
.cvt2ファイルや.prmファイルの保存先パス、およびPythonスクリプトのパスには、半角英数字のみを使用してください。
マルチスレッド処理はサポートしていません
Converterクラスはスレッドセーフではないため、Python 3.13以降のGIL無効化モードでのマルチスレッド実行には対応していません。