ANSYS HFSS FAQs

RescaleでHPCを使用してANSYS HFSSのジョブを送信する場合、ジョブが失敗した場合に備えてDEBUGファイルを収集しておくとよいでしょう。解析に失敗した場合、そのDEBUGファイルをRescaleサポートに提供することができます。問題が発生した場合は、弊社までご連絡ください。

ジョブ設定のソフトウェア設定ページのコマンドウィンドウで、通常実行するAnsys Electronics Desktopコマンドansysedtの前に、次のコマンドを追加します。以下に例を示します。

export DEBUG_LOG_DIR=`pwd`/debug_logmkdir 
$DEBUG_LOG_DIR 2>/dev/null
export ANSOFT_DEBUG_LOG=$DEBUG_LOG_DIR/debug
export ANSOFT_DEBUG_LOG_SEPARATE=1
export ANSOFT_DEBUG_LOG_THREAD_ID=1
export ANSOFT_DEBUG_LOG_TIMESTAMP=1
export ANSOFT_DEBUG_MODE=2
export ANSOFT_PASS_DEBUG_ENV_TO_REMOTE_ENGINES=1
ansysedt -auto -distributed -monitor -machinelist file=$HOME/machinefile.hfss -ng -batchsolve test.aedt

解析を実行するだけでなく、ワークディレクトリ内にdebug-logディレクトリを作成し、そこに生成されたすべてのログを格納します。ANSYS HFSS のジョブをバッチで投入する際には、毎回これらのコマンドを使用することをお勧めします。 

ANSYS Electronics Desktopは、XNUMX種類のHPCライセンスに対応しています。PackライセンスとPoolライセンスです。HFSSやMaxwellなどのScaleXプラットフォームを通じてバッチジョブを投入する場合、デフォルトのコマンドはHPC Packライセンスを使用するよう設定されています。HPCプールライセンスを使用するには、コマンドに次のフラグを追加する必要があります。

-バッチオプション "'HFSS/HPCLicenseType'='プール'"

HPCプールライセンス・フラグを含むHFSS実行コマンドのサンプルを以下に示します。

export TASKS_PER_NODE=-1 for host in `cat $HOME/machinefile`do     echo "$host:$TASKS_PER_NODE:$RESCALE_CORES_PER_NODE:90%" >> $HOME/work/machinefile.hfss done 
ansysedt -auto -distributed -monitor -machinelist file=$HOME/work/machinefile.hfss batchoptions "'HFSS/HPCLicenseType'='Pool'" -ng -batchsolve my-hfss-input-file.aedt

ANSYS Electronics Desktopは、XNUMX種類のHPCライセンスに対応しています。PackライセンスとPoolライセンスです。HFSSやMaxwellなどのScaleXプラットフォームを通じてバッチジョブを投入する場合、デフォルトのコマンドはHPC Packライセンスを使用するよう設定されています。HPCプールライセンスを使用するには、コマンドに次のフラグを追加する必要があります。

自動モード

このモードでは、ノードあたりの総コア数およびタスク数(したがってタスクあたりのコア数)を指定することができます。コマンドラインでは、環境変数TASKS_PER_NODEを「XNUMX」、「XNUMX」、「XNUMX」、「XNUMX」などに設定できます。さらに、-autoフラグを削除する必要があります。 例えば、あるジョブでXNUMXコアを使用し、ノードあたりのタスクをXNUMXと設定した場合、各タスクはXNUMXコアを必要とし、その結果、ホストあたり最大XNUMXつのタスクとなります。 上記の例では、Rescaleプラットフォームでのコマンドラインは以下のようになります。

export TASKS_PER_NODE=-1
for host in `cat $HOME/machinefile`; do ssh ${host} "ansoftrsmservice start; RegisterEnginesWithRSM.pl add;"; echo ${host}:${TASKS_PER_NODE}:${RESCALE_CORES_PER_NODE}:90% >> $HOME/work/machinefile.hfss; done
ansysedt -auto -distributed -monitor -machinelist file=$HOME/work/ machinefile.hfss -ng -batchsolve ansys-hfss-electronics-example.aedtz

マニュアルモード

このモードでは、ノードあたりの総コア数およびタスク数(したがってタスクあたりのコア数)を指定することができます。コマンドラインでは、環境変数TASKS_PER_NODEを「XNUMX」、「XNUMX」、「XNUMX」、「XNUMX」などに設定できます。さらに、-autoフラグを削除する必要があります。

例えば、あるジョブで8コアを使用し、ノードあたりのタスクを2と設定した場合、各タスクは4コアを必要とし、その結果、ホストあたり最大XNUMXつのタスクとなります。

上記の例では、Rescaleプラットフォームでのコマンドラインは以下のようになります。

export TASKS_PER_NODE=2
for host in `cat $HOME/machinefile`; do ssh ${host} "ansoftrsmservice start; RegisterEnginesWithRSM.pl add;"; echo ${host}:${TASKS_PER_NODE}:${RESCALE_CORES_PER_NODE}:90% >> $HOME/work/machinefile.hfss; done
ansysedt -distributed -monitor -machinelist file=$HOME/work/ machinefile.hfss -ng -batchsolve ansys-hfss-electronics-example.aedtz

Rescale プラットフォームの ANSYS Electronics のデフォルトコマンドラインには、プレースホルダがあります。このプレースホルダに設計オプションの種類を指定するには,式を引用符で囲みます.

  • "[designName]"- は、プロジェクトの下で指定された名前を持つデザインのすべてのセットアップを一括して解決します。
  • "[designName]:Nominal" - プロジェクトの下で指定された名前の設計のすべてのノミナルセットアップをバッチで解決します。
  • "[designName]:Optimetrics" - プロジェクトで指定された名前のデザインのOptimetricsセットアップをすべて一括で解決します。
  • "[designName]:Nominal:[setupname]"と入力します。- は、プロジェクトの下で指定された名前の設計のための指定されたノミナル・セットアップを一括して解決します。setupnameは大文字と小文字を区別しません。
  • "[designName]:Optimetrics:[setupname] - プロジェクトで指定された名前のデザインに対して、指定された Optimetrics セットアップを一括で解決します。セットアップ名は、大文字と小文字を区別しません。

ANSYS HFSSのバッチ例で示された問題で,2つ目の設計「pcie_gen3_fab3_cutout」のNominal部分を解く場合,コマンドラインは次のようになります.

export TASKS_PER_NODE=-1
for host in `cat $HOME/machinefile`; do ssh ${host} "ansoftrsmservice start; RegisterEnginesWithRSM.pl add;"; echo ${host}:${TASKS_PER_NODE}:${RESCALE_CORES_PER_NODE}:90% >> $HOME/work/machinefile.hfss; done
ansysedt -auto -distributed -monitor -machinelist file=$HOME/work/machinefile.hfss -ng -batchsolve "pcie_gen3_fab3_cutout:Nominal" ansys-hfss-electronics-example.aedtz

バッチジョブのコマンドラインに-batchextractフラグを追加し、その後にマクロファイルを追加します。以下の例を参照してください。

export TASKS_PER_NODE=-1 
for host in `cat $HOME/machinefile` do ssh ${host} "ansoftrsmservice start; RegisterEnginesWithRSM.pl add;" echo ${host}:${TASKS_PER_NODE}:${RESCALE_CORES_PER_NODE}:90% >> $HOME/work/machinefile.hfss done 

ansysedt -auto -distributed -monitor -machinelist file=$HOME/work/machinefile.hfss -batchextract Sparameter_extract.py -batchoptions "" -ng -batchsolve ansys-hfss-electronics-example.aedtz

ここで、

Sparameter_extract.py HFSS GUI に記録された後処理マクロです。

ansys-hfss-electronics-example.aedtz HFSS入力ファイルです

このフラグはHFSSモデルタイプにのみ有効で、XNUMXDレイアウトモデルタイプには有効でないことに注意してください。

Mercury、Sunstone、Ferrite などのコアタイプで HFSS/Maxwell を実行する場合は、ansys コマンドラインの前に IB 環境変数を設定し、バッチオプション (-batchoption " '/MPIVendor'='Intel' ") を追加指定する必要があります。

export I_MPI_DAPL_PROVIDER=ofa-v2-ib0
export I_MPI_DYNAMIC_CONNECTION=0
export I_MPI_DAPL_UD=0
export I_MPI_DAPL_TRANSLATION_CACHE=0
export I_MPI_FABRICS=shm:dapl
export TASKS_PER_NODE=-1
for host in `cat $HOME/machinefile`; do ssh ${host} "ansoftrsmservice start; RegisterEnginesWithRSM.pl add;"; echo ${host}:${TASKS_PER_NODE}:${RESCALE_CORES_PER_NODE}:90% >> $HOME/work/machinefile.hfss; done
ansysedt -auto -distributed -monitor -machinelist file=$HOME/work/ machinefile.hfss -batchoption ” ‘HFSS/MPIVendor’=‘Intel’ ” -ng -batchsolve ansys-hfss-electronics-example.aedtz

HFSS 2020R1より、エレクトロニクス製品の機能は、Electronics Pro、Premium、Enterpriseとなりました。elec_solve_hfssなど、このライセンス体系が有効でないと利用できない機能があります。

この機能を有効にするには、-batchoptionsフラグに -useelectronicsppe引数を追加する必要があります。ansysedtの実行でこの機能を使用する例を以下に示します。

ansysedt -auto -distributed -monitor -machinelist file=$HOME/work/machinefile.hfss -batchoptions "'HFSS/UseLegacyElectronicsHPC'=0" -useelectronicsppe -ng -batchsolve QDD112_DFM0831_RowD_PlugR5b_HostV5_Statistical_20200901_3_Case4.aedt