comsol multiphysics reference manual バー … manual ~ capter22: running comsol multiphysics ~...

52
COMSOL Multiphysics Reference Manual Capter22: Running COMSOL Multiphysics 22章抜粋・日本語訳版

Upload: dotruc

Post on 29-Aug-2018

382 views

Category:

Documents


2 download

TRANSCRIPT

COMSOL Multiphysics Reference Manual

~ Capter22: Running COMSOL Multiphysics ~

22章抜粋・日本語訳版

COMSOL Multiphysics Reference Manual

~ Capter22: Running COMSOL Multiphysics ~

22章抜粋・日本語訳版 (バージョン 5.3a)

© 1998–2017 COMSOL

www.comsol.com/patentsに掲載している特許第 7,519,518号、第 7,596,474 号、第 7,623,991 号、第 8,457,932号、第

8,954,302 号、第 9,098,106 号、第 9,146,652 号、第 9,323,503 号、第 9,372,673号、および第 9,454,625号で保護。特許出願中。

本書および本書に記載されているプログラムは、COMSOLのソフトウェア使用許諾契約 (www.comsol.com/comsol-

license-agreement) に基づいて提供されており、使用許諾契約の条項に従う場合にのみ、使用または複製をすることができま

す。

COMSOL、the COMSOL logo、COMSOL Multiphysics、COMSOL Desktop、COMSOL Server、および

LiveLinkは、COMSOL ABの登録商標または商標です。その他の商標は全て、それぞれの所有者の所有物であり、

COMSOL ABおよびその子会社、製品は、これらの商標の所有者とは無関係であり、推奨、後援または支援を受けていませ

ん。これらの商標の所有者のリストについては、www.comsol.com/trademarksを参照してください。

バージョン: COMSOL 5.3a

日本語訳:計測エンジニアリングシステム株式会社

※もし日本語訳と原文(英語版)に差違がある場合は、原文を正とします。

お問い合わせ

一般的なお問い合わせ、技術サポートのお問い合わせ、住所および電話番号の検索については、www.comsol.com/contact

にアクセスしてください。

住所および連絡先情報については、www.comsol.com/contact/officesでも確認できます。

サポート窓口へのお問い合わせについては、www.comsol.com/support/case の COMSOL Access ページにあるリクエスト

フォームを送信してください。

その他の有用なリンク:

• サポートセンター: www.comsol.com/support

• 製品のダウンロード: www.comsol.com/product-download

• 製品のアップデート: www.comsol.com/support/updates

• COMSOL ブログ: www.comsol.com/blogs

• フォーラム: www.comsol.com/community

• イベント: www.comsol.com/events

• COMSOLビデオギャラリー: www.comsol.com/video

• サポートナレッジベース: www.comsol.com/support/knowledgebase

部品番号: CM020005

22章 COMSOL Multiphysics の実行 | 1441

22

COMSOL Multiphysics の実行

この章では、クライアントサーバおよび分散メモリアーキテクチャを含む専用コンピュータで

COMSOL Desktop® グラフィカルユーザインタフェースを実行し、さらに COMSOL Multiphysics® ソフトウェアを実行するさまざまな方法の概要を説明しています。 COMSOL Server™と COMSOL アプリケーションのクライアントとしての実行については、COMSOL

Server Manualを参照してください。 COMSOL Multiphysics と COMSOL Server はクラウドコンピューティングをサポートしています。https://www.comsol.com/running-comsol-software-in-the-cloud を参照してください。

以下に、この章の構成を示します。

• COMSOL Multiphysics の実行

• COMSOL Multiphysics クライアントサーバアーキテクチャ

• COMSOL Multiphysics クライアントサーバモードの実行

• COMSOL の並列実行

• COMSOL コマンド

1442 | 22章 COMSOL Multiphysics の実行

COMSOL Multiphysics の実行

COMSOL Multiphysics の機能にアクセスする主要な方法としては、COMSOL デスクトップを使います。このセクションでは、バッチモードで異なるクライアントサーバ構成で COMSOL Multiphysics を実行するといったような、COMSOL ソフトウェア機能にアクセスするための代替手段が記載されています。

Windows とクロスプラットフォームデスクトップ

COMSOL Multiphysics は、デフォルトで起動されるWindows®グラフィカルユーザインタフェースを備えています。 また、クロ

スプラットフォームのグラフィカルユーザインタフェースもあり、これはWindows、Linux、およびmacOS 上のいずれの場合も同様です。COMSOL のインストールディレクトリの bin\win64 のフォルダ内のファイル comsolxpl.exe をダブルクリックして、Windows 上でクロスプラットフォームのインタフェースを起動することができます。Linux およびmacOS 上では、クロスプラットフォームのインタフェースだけが利用可能です。

COMSOL Multiphysics のクライアントサーバキテクチャ

COMSOL Multiphysics のクライアントサーバのアーキテクチャを使用すると、別のプロセスとして COMSOL Multiphysics サーバ —COMSOLの計算エンジン— にアクセスできます。 COMSOL Multiphysics サーバは、同じユーザによる複数の接続を可能にするシングルユーザサーバです。

COMSOL Multiphysics サーバ、および別のコンピュータ上での COMSOL Multiphysics クライアントを実行するには、フローティングネットワークライセンス(FNL)が必要です。COMSOL Multiphysics の有効なライセンスがあれば、同じコンピュータ上でMultiphysics クライアントとMultiphysics サーバを実行することができます。

Windows での COMSOL Multiphysics サーバを起動するには、単に、[スタート]メニューの COMSOL Multiphysics インストールの下のClient Server フォルダにある COMSOL Multiphysics Server をクリックするだけです。Linux およびmacOS上では、COMSOL Multiphysicsのサーバを起動するためのコマンド comsol mphserver を入力します。

COMSOL Multiphysics のサーバを起動するためのさらに多くのオプションについては、COMSOL コマンド のセクションでご使用されるプラットフォームの該当箇所を参照してください。また、クライアントサーバのオプションの詳細な一般情報については、

COMSOL Multiphysics クライアントサーバモードの実行のセクションを参照してください。

ライセンスサーバは、COMSOL Multiphysics サーバと同じではありません。ライセンスマネージャは、COMSOL デスクトップや COMSOL Multiphysics サーバとは別のコンピュータ上で実行することができます。

COMSOL Multiphysics での並列計算

COMSOL Multiphysics では、クラスタのサポートを含め、共有メモリ並列動作と分散メモリ並列動作の二つの並列動作の相互モードをサポートしています。

共有メモリ並列モード

共有メモリ並列モードは、現代のマルチコアやマルチプロセッサコンピュータ上で COMSOL Multiphysics を実行するのに適しています。この並列モードの動作は、全てのプラットフォームと全てのライセンスタイプで使用することができます。デフォルトでは、

COMSOL Multiphysics は共有メモリ並列モードを使用し、コンピュータ上の全てのコアを割り当てます。

使用するコア数を制御するためのオプションやその他のオプションについては、 COMSOL コマンドのセクションでご使用されるプラットフォームの該当箇所を参照してください。また、詳細な一般情報については、共有メモリ並列 COMSOL のセクションを参照してください。

22章 COMSOL Multiphysics の実行| 1443

分散メモリ並列モード

分散メモリ並列モードでは、Windows HPC クラスタまたは Linux クラスタで COMSOL Multiphysics を実行することができます。

Windows と Linux クラスタを含む並列アーキテクチャで COMSOL ソフトウェアを実行する場合の詳細については、分散メモリ並列 COMSOL を参照してください。コマンドラインによるクラスタで COMSOL Multiphysics を実行する方法の詳細オプションについては、COMSOL コマンドのセクションでご使用されるプラットフォームの該当箇所を参照してください。

LiveLink for MATLAB

LiveLink™ for MATLAB®を使って、MATLAB から COMSOL Multiphysics へのアクセスが可能になります。MATLAB プロ

ンプトから、COMSOL Multiphysics サーバへのクライアントサーバ接続を介して COMSOLモデルにアクセスします。COMSOL API とMATLAB での Java®インタフェースを介してモデルにアクセスします。さらに、MATLAB の Figure ウィンドウを使用してグラフィックスを表示したり、モデルオブジェクトからデータをフェッチ(fetch)するといったようなタスクを実行する際に役立つM フ

ァイルのラッパー(Wrapper)関数があります。モデルは、MATLAB と同じサーバに接続されたクライアントモードで実行されてい

る COMSOL デスクトップから同時にアクセスすることができます。詳細については、LiveLink™ for MATLAB®のマニュアルを参照してください。

LiveLink for Excel

LiveLink™ for Excel®を使って、Excel から COMSOL Multiphysics へのアクセスが可能になります。Excel シートから、COMSOL Multiphysics サーバへのクライアントサーバ接続を介して COMSOL モデルにアクセスします。モデルは、Excel と同じサーバに接続されたクライアントモードで実行されている COMSOL デスクトップから同時にアクセスすることができます。詳細については、LiveLink™ for Excel®のマニュアルを参照してください。

COMSOL バッチ

COMSOL Multiphysics のバッチモードによって、グラフィカルユーザインタフェースなしに COMSOL Multiphysics を実行することが可能になります。COMSOL のバッチモードではMPH ファイルと Java(クラスファイル)のコンパイルされたモデルファイルの両方を実行することができます。

モデルビルダーのスタディノードから、バッチモードの COMSOL ソフトウェアを実行するためのオプションを制御することができます。バッチ機能を有効にするには、表示ボタン( )をクリックして、詳細スタディオプションを選択します。その後、モデルビルダー

でスタディノードを右クリックしてバッチを選択します。また、1249 ページの Batch (Job Configurations)も参照してください。

また、1465 ページの COMSOL Batch Commands(Windows)および COMSOL Batch Commands(Linux)で説明されているように、コマンドラインインタフェースを使用して COMSOL バッチを実行することもできます。

バッチモードでは、フォームの情報としてログに記録されたメモリ使用量をモニターすることができます。

メモリ: RAM/MAXRAM VIRT/MAXRAM

ここで、RAM はMB での現在のメモリ使用量であり、VIRT はMB での現在の仮想メモリ使用量です。それぞれの最大測定使

用量は、MAXRAM とMAXVIRT に記録されています。ログには、単にメモリ使用量に対する変更が記録されています。また、フォームのログ情報として記録されている現在の進捗状況をモニターすることができます。

現在の進捗状況: 53%

ここで、%は現在の推定進捗状況が表示されています。

バッチコマンドを制御するためのオプションについては、COMSOL コマンドのセクションでご使用されるプラットフォームの該当箇所を参照してください。

フローティングネットワークライセンスにおける COMSOL バッチ

フローティングネットワークライセンスを取得している場合、COMSOL Multiphysics の GUI と同時に"バッチジョブ"を実行すること

が許されます。そのようなバッチジョブであれば、モデルへの変更が単にパラメータへの変更だけならば、複数のコンピュータでパ

ラメトリックスイープを実行する能力を持っています。このバッチライセンス機能は、クラスタコンピューティングとクラスタスイープの

ノードでのみ使用可能で、クラスタコンピューティングとクラスタスイープのノード設定ウィンドウでバッチライセンス使用のチェックボ

1444 | 22章 COMSOL Multiphysics の実行

ックスを選択する必要があります。Multiphysics の GUI とバッチジョブのために、同じユーザアカウントを使用する必要はありません。しかし、同じアカウントがバッチジョブの全てのプロセスインスタンスによって使用されなければなりません。追加された各フロ

ーティングネットワークライセンスを使用すると、複数のコンピュータ上で(異なるモデルで)別々の独立したバッチジョブを実行する

ことができます。

COMSOL API

COMSOL API は、COMSOL Multiphysics のための Java ベースのプログラミングインタフェースです。 COMSOL API は、COMSOL の機能に基づくスタンドアロンアプリケーションの開発、COMSOL デスクトップからの Java のモデルファイル実行、あるいは利用可能なバッチコマンドの使用など、さまざまな目的に使用することができます。

COMSOL デスクトップからの Java のモデルファイルを実行するには、それを COMSOL のコンパイルコマンドを使用してコンパイルします。このコマンドは、Windows®上では comsolcompile、他のプラットフォーム上では comsol compile です。コンパイルによって、Java のモデルファイルに対応するモデルクラスファイルが取得されます。 [ファイル]メニューの[開く]を選択し、ファ

イル名でモデルクラスファイルを指定することで、モデルクラスファイルを起動します。

COMSOL API を使用してスタンドアロンアプリケーションを作成するには、テキストベースまたは GUI ベースのインタフェース機能を開発し、COMSOL のコンパイルコマンドを使用してそれをコンパイルする必要があります。アプリケーションは、(シングルプロセスとして)COMSOL コードに直接 Java®アプリケーションをリンクするスタンドアロンモードで実行することができます。また、COMSOL Multiphysics のサーバに接続することで、クライアントサーバモードでアプリケーションを実行することを選択できます。

Javaファイルをコンパイルするためのオプションについては、COMSOLコマンドでご使用されるプラットフォームの該当箇所を参照してください。 COMSOL APIについてのより包括的な情報については、COMSOL Programming Reference Manual と

Application Programming Guideを参照してください。

セキュリティ設定

COMSOL ソフトウェアには、主にアプリケーションビルダーを使用して作成されるアプリケーションで使用するための、例えば、システムプロパティ、ファイルシステム、およびメソッドと外部ライブラリからのランタイムセキュリティ設定へのアクセスを制御するため

のセキュリティ設定が用意されています。

COMSOL のソフトウェアをインストールする際に、アプリケーションのために恒久セキュッリティポリシーを設定のチェックボックスをオンにすると、これらのセキュリティ設定が利用できなくなります。

次のセキュリティ設定は、環境設定ダイアログボックスのセキュリティページで使用することができます。

• バッチジョブを許可するには、バッチジョブを許可のチェックボックスを選択します。この制限は、COMSOL デスクトップモデルツリーでバッチ、バッチスイープ、クラスタコンピューティング、およびクラスタスイープのノードに影響を与えます。

• アプリケーションにコンピュータ上での外部プロセスの起動を許可するには、外部プロセスを許可チェックボックスを選択します。

これは、組み込みメソッド executeOS( ) を使用することを含みます。MATLAB ( LiveLink™ for MATLAB®が必要 )で書かれた関数を呼び出すには、このチェックボックスを選択する必要があります。また、この設定によって、アプリケーション内のメソ

ッドから外部 C ライブラリを呼び出すことも許可されます。

外部プロセスのセキュリティ設定は、メソッドコードが、COMSOL またはその LiveLink 製品がヘルパー実行可能ファイルを起動するのではなく、任意の実行可能ファイルを起動できることを示しています。

• アプリケーションのメソッドから外部 C ライブラリを呼び出すには、外部ライブラリを許可チェックボックスをオンにします。

• MATLAB で記述された関数を呼び出すには、外部 MATLAB®関数を許可のチェックボックスをオンにします( LiveLink™ for MATLAB®が必要です )。 この環境設定を変更する場合は、MATLAB 関数を呼び出す解析を実行する前に、MATLAB関数ノードの設定ウィンドウで関数消去をクリックします。

• メソッドを含む実行中のアプリケーションを可能にするには、アプリケーションメソッドの実行を許可チェックボックスを選択しま

す。このチェックボックスをオフにした場合は、アプリケーションでメソッドを実行することはできません。

22章 COMSOL Multiphysics の実行| 1445

• 一般的に、実行中のアプリケーションを可能にするには、アプリケーションの実行を許可を選択します。このチェックボックスをオ

フにした場合、どのアプリケーションも実行することはできません。

デフォルトでは、上記のうちの外部プロセスを許可、外部」ライブラリを許可、および外部MATLAB®関数を許可のチェックボックス以外が全て選択されています。

次に、メソッドと Java ライブラリの下にある項目について示します。

• セキュリティ制限を強制のチェックボックスはデフォルトで選択されています。このチェックボックスが選択された場合は、メソッド

および Java ライブラリ上で次の制限が適用されます。

- COMSOL Multiphysics が現在使用するコア数の決定に使われる System.getProperty("cs.np") のようなシステムプロパティの値を読み書きするには、システム特性へのアクセスを許可のチェックボックスを選択します。

- 例えば、クラスローダを変更することによって、メソッドおよび Java ライブラリにランタイムシステムの変更を許可するには、ランタイムシステムへの変更を許可のチェックボックスを選択します。

- 単にそのファイルへのアクセス権だけを持つように メソッドと Java ライブラリを制限するには、ファイルシステムアクセスのリストからテンポラリおよびアプリケーションファイル(デフォルト)を選択します。または、ファイルシステム上でアクセス権を持

っている全てのファイルのアクセスをメソッドと Java ライブラリに許可するには、全ファイルを選択します。

- ネットワークアクセスのためのソケットを開くメソッドおよび Java ライブラリを許可するには、ネットワークソケットへのアクセスを許可のチェックボックスを選択します。

- 使用されるネットワーク認証方法を制御するメソッドおよび Java ライブラリを許可するには、ネットワーク認証方法の管理を許可のチェックボックスを選択します。

- リフレクションを通じてクラス内の全てのメンバーへのアクセスを許可するには、リフレクションを通してのクラスへのアクセス

を許可のチェックボックスを選択します。

- セキュリティ設定にアクセスするメソッドおよび Java ライブラリを許可するには、ランタイムセキュリティ設定へのアクセスを許可のチェックボックスを選択します。

上記の全てのチェックボックスは、これらのセキュリティ制限が強制されるように、デフォルトでクリアされています。

COMSOL と Java ヒープ領域

COMSOL 実行可能プログラムは Java アプリケーションであり、限られた量のメモリしか使用できません。この制限( Java ヒープ領域 )は、アプリケーションの起動時に指定されます。デフォルトでは、COMSOL は 2 GB の Java ヒープ領域メモリーを割り振り、ほとんどの場合は十分なはずです。大規模で複雑な COMSOL モデルにおいて、Java メモリー不足エラーが発生した場合は、Java 仮想マシン(JVM)のパラメータ -Xmx を指定して、Java ヒープのサイズを大きくすることができます。このパラメータは、COMSOL インストールのプラットフォームディレクトリにある全ての COMSOL プログラムのコンフィギュレーション設定ファイル(* .ini)にあります。例えば、COMSOL Multiphysics メインデスクトッププログラムの場合:

C:\Program Files\COMSOL\COMSOL53a\Multiphysics\bin\win64\comsol.ini

そのファイルで、 -Xmx2g の行を -Xmx3g に変更して、例えば Java ヒープ領域を 2GB から 3GB に増やします。

1446 | 22章 COMSOL Multiphysics の実行

COMSOL Multiphysics クライアントサーバアーキテクチャ

スタンドアロンでの COMSOL の実行

COMSOL Multiphysics を実行する最も簡単な方法は、スタンドアロンアプリケーションとしての実行です。

コンピュータ

プロセス

COMSOL デスクトップ

(スタンドアロンモード)

クライアントサーバモードでの COMSOL Multiphysics の実行

COMSOL Multiphysics のクライアントおよびサーバのアプリケーションは、全てのプラットフォームで利用可能です。

同一のコンピュータ上での COMSOL MULTIPHYSICS クライアントサーバの実行

COMSOL Multiphysics のクライアントおよび COMSOL Multiphysics のサーバは、シングルユーザライセンス(NSL)、CPU ロックライセンス(CPU)、フローティングネットワークライセンス(FNL)といった全てのライセンスタイプを使用して同一のコンピュータ上で実行することができます。

異なるコンピュータ上での COMSOL MULTIPHYSICS クライアントサーバの実行

また、COMSOL Multiphysics のクライアントおよび COMSOL Multiphysics のサーバは、異なるコンピュータ上で実行することもできます。しかし、この構成にはフローティングネットワークライセンス(FNL)が必要です。

MATLAB または Excel による COMSOL の実行

COMSOL は、クライアントサーバキテクチャを使用して、同じマシン上でMATLAB や Excel と一緒に実行することができます。この構成の起動は、コマンド comsol mphserver matlab によります。コマンド comsol matlab は、単にクライアントを

シングルコンピュータ

プロセス

COMSOL デスクトップ

(クライアントモード)

COMSOL Multiphysics

サーバ

プロセス

コンピュータ

プロセス

コンピュータ

プロセス

COMSOL デスクトップ

(クライアントモード)

COMSOL Multiphysics サーバ

22章 COMSOL Multiphysics の実行| 1447

起動してリモートサーバに接続するために使用されます。Excel によって、モデルを開く際に COMSOL Multiphysics のサーバを起動することができます。 詳細については、LiveLink™ for MATLAB®および LiveLink™ for Excel®Excel® のマニュアル

を参照してください。

COMSOL Multiphysics サーバ

プロセス プロセス

コンピュータ

1448 | 22章 COMSOL Multiphysics の実行

COMSOL Multiphysics クライアントサーバモードの実行

COMSOL デスクトップは、COMSOL Multiphysics サーバのクライアントとして別のプロセスで実行することができます。

COMSOL デスクトップクライアントは、COMSOL Multiphysics サーバに接続するために TCP/ IP 接続を使用しています。クライアントとサーバは、同じプラットフォーム上で実行する必要はありません。COMSOL Multiphysics のサーバと別のコンピュータの COMSOL Multiphysics のクライアントを実行するには、フローティングネットワークライセンス(FNL)を持っている必要があります。

LiveLink™ for MATLAB® と LiveLink™ for Excel® を使用する場合、COMSOL Multiphysics のクライアントは、MATLAB や Excel 内で実行され、通常は自動的に開始されている COMSOL Multiphysics のサーバに接続します。

COMSOL Multiphysics のクライアントサーバモードを使用する利点

大規模モデルの求解

COMSOL Multiphysics のクライアントサーバ構成では、専用のコンピュータにジョブを送って長い計算をさせることによって、自分のデスクトップコンピュータを計算から解放することができます。一般的に、COMSOL Multiphysics のサーバを実行するコンピュータは、より多くのメモリとデスクトップコンピュータよりも高速な CPU を持っています。モデルのほとんど全てのデータは、サ

ーバに保存されます。クライアントが保持する唯一大量のデータは、サーバ上に作成されてクライアントに送信されるレンダリング

データとテーブルコンテンツです。ファイルはクライアント上で読み書きされますが、サーバとのやりとりがストリーミング配信されま

す。

同じコンピュータ上で個別に COMSOL Multiphysics のサーバと COMSOL Multiphysics のクライアントを実行すると、問題の求解のために利用可能なメモリの合計が増加します。特に興味深いのは、アドレス指定

可能なメモリの 32ビット制限が大規模なモデルの制限要因であるという点です。COMSOL Multiphysics のサーバコンポーネントは、サーバ上の実際の計算のためにそのメモリを解放し、グラフィカルユーザインタフェー

スに必要なメモリを使用しません。

クロスプラットフォーム接続

クライアントとサーバは、同じプラットフォーム上で実行する必要はありません。例えば、Linux またはmacOS のサーバ上のCOMSOL Multiphysics のサーバに接続して、クライアントとしてWindows® 上で COMSOL デスクトップを実行することができます。このようにして、インタラクティブにさらに強力なリモートコンピュータにアクセスすることができます。

複数の接続

単一のグラフィカルユーザインタフェースを、指定の時間に COMSOL Multiphysics サーバに接続することができます。しかし、追加のクライアントを LiveLink™ for MATLAB®、LiveLink™ for Excel®、または COMSOL API を使用しているスタンドアロンのクライアントから同じサーバに接続することができます。例えば、COMSOL デスクトップは、COMSOL Multiphysics サーバに接続している場合に COMSOL Multiphysics のクライアントとして動作することができ、MATLAB セッションを LiveLink™ for MATLAB® を使用する同じサーバに接続することができます。

COMSOL Multiphysics クライアントサーバモードの実行

COMSOL MULTIPHYSICS サーバの起動

• Windows®デスクトップへのアクセス権を持っている場合、[スタート]メニューから、COMSOL Multiphysics サーバを起動します。[すべてのプログラム]に移動し、COMSOL Multiphysics 5.3a の次に Client Server を選択し、COMSOL Multiphysics 5.3a Server を選択します。Windows でのターミナルウィンドウから COMSOL Multiphysics サーバを起動する場合は、コマンド<COMSOL Multiphysics installation directory>\bin\win64\comsolmphserver.exe を使用します。

22章 COMSOL Multiphysics の実行| 1449

• Linux® では、comsol mphserver コマンドを使用して COMSOL Multiphysics サーバを起動します。

• MacOS OS X では、COMSOL Multiphysics サーバのアプリケーションを使用するか、あるいは別のコンピュータからMacOS OS X に接続する場合にターミナルウィンドウで comsol mphserver コマンドを使用します。

COMSOL MULTIPHYSICS サーバの初期化

コンピュータで COMSOL Multiphysics サーバを初めて起動した場合、ユーザ名とパスワードの入力を求められます。デフォルトでは、ユーザ名とハッシュ化されたパスワードは、コンピュータのハードドライブに保存されます。COMSOL Multiphysics サーバのコマンドに-passwd nostore というターゲットオプションを指定することにより、ディスク上のユーザ名とパスワードを保存しないようすることができます。 COMSOL Multiphysics サーバを起動すると、サーバはポート番号を表示します。また、サーバは、クライアントからログインするたびにメッセージを表示します。

デスクトップからの接続と切断

MULTIPHYSICS サーバへの接続

COMSOL デスクトップからMultiphysics サーバに接続するには、ファイル > COMSOL Multiphysics Server > サーバに

接続 ( ) を選択します。また、Windows ユーザの場合、クイックアクセスツールバーをカスタマイズしてサーバに接続のボタンをクリックします。

その後、サーバに接続のダイアログボックスで、サーバフィールドにサーバのホスト名を指定します。ポートリストの設定には、サー

バの TCP/ IP ポート番号を指定します。デフォルトのポート番号を使用する場合はデフォルトを選択し、以下のフィールドにポート番号を指定する場合はマニュアルを選択します。その後、ユーザーの下でユーザ認証情報を入力します。

それを起動する際に、サーバによってポート番号が表示されます。例えば、同じコンピュータ上で同時に実行されているいくつかの

COMSOL Multiphysics のサーバがある場合、ポート番号を変更することができます。各サーバには、それ自身の個別のポート番号が割り当てられます。ユーザ名とパスワードは、サーバを初めて起動したときに使用されるものです。

サーバに接続すると、現在のモデルを保存するか否かの問い合わせがあります。yes を回答して、サーバに転送されるモデルの最新バージョンを取得することをお勧めします。no を答えた場合には、そのモデルの最近保存されたコピーがサーバに転送されます。

サーバに接続すると、デフォルトとして、モデルはサーバに転送されます。既にそのモデルがサーバにある場合、デスクトップの現

在のモデルで作業するか、サーバ上のモデルで作業するかの問い合わせがあります。

COMSOL Multiphysics サーバからの切断

サーバまたはMATLAB への接続を閉じるには、ファイル > COMSOL Multiphysics Server > サーバから切断 ( ) を選

択します。Windows ユーザの場合、クイックアクセスツールバーをカスタマイズし、サーバから切断のボタンをクリックします。

サーバから切断すると、サーバから COMSOL デスクトップへ現在のモデルが転送され、もはやクライアントとしては動作しなくなります。デフォルトでは、-multi オプションが auto に設定されています。これは、サーバを継続して実行するかどうかを選択することができるオプションです(COMSOL デスクトップ以外のクライアントを使用する場合、サーバはデフォルトで終了します)。また、常に終了するには -multi off に設定することもできます。切断後にサーバを継続して実行するには、-multi オプションを指定してサーバを起動します。-multi オプションを使用した場合、またはデフォルトオプションを使用してサーバを実行し続けることを選択した場合、モデルはサーバのメモリーに保持され、後で別のクライアントからモデルにアタッチすることができます。サーバに

接続したときに COMSOL デスクトップを閉じると、クライアントサーバセッションは自動的に切断され、-multi on を指定した場合、サーバーはメモリ内のモデルを使用して実行を継続します。

64 ページのWindows Toolbars and Menus

1450 | 22章 COMSOL Multiphysics の実行

終了と切断のための環境設定

環境設定ダイアログボックスでは、COMSOL Multiphysics クライアントから COMSOL Multiphysics クライアントを終了するとき、およびサーバから切断するときに、ソフトウェアが COMSOL Multiphysics Server をどのように処理するかを制御するために、クライアントサーバーページで次の設定を使用できます。

• COMSOL Multiphysics クライアントから切断時のリストから聞く(デフォルト)を選択すると、COMSOL Multiphysics クライアントを終了するときに COMSOL Multiphysics Server をシャットダウンするかどうかの問い合わせが表示されます。 サ

ーバーの計算を継続を選択すると、クライアントを切断するが COMSOL Multiphysics Server の実行は継続されます。 ま

たはサーバー終了を選択すると、COMSOL Multiphysics Server をシャットダウンします。

• サーバーから切断時のリストから聞く(デフォルト)を選択すると、サーバから切断するときに COMSOL Multiphysics Serverをシャットダウンするかどうかの問い合わせが表示されます。 サーバーの計算を継続を選択すると、サーバを切断するが

COMSOL Multiphysics Server の実行は継続されます。 またはサーバー終了を選択すると、切断時に COMSOL Multiphysics Server をシャットダウンします。

MATLAB、EXCEL、および COMSOL API による作業

COMSOL Multiphysics のサーバから接続と切断を行う各コマンドModelutil.connect とModelutil. disconnect を、MATLAB から使用することができます。モデルをアクセスして操作するには、サーバへの接続が必要です。

MATLAB(および COMSOL API)から、ModelUtil.create とModelUtil.model コマンドを使用して複数のモデルを作成することができます。

サーバからのアプリケーションのインポート

いくつかのアプリケーションがサーバ上に存在している場合、特定のアプリケーションへのアクセスを取得するには、ファイル >

COMSOL Multiphysics Server > サーバからモデルをインポート ( ) を選択します。また、Windows ユーザの場合、クイックアクセスツールバーをカスタマイズし、サーバからモデルをインポートのボタンをクリックします。

サーバからのアプリケーションの削除

ModelUtil を使って作られたアプリケーションを削除するには、ファイル > COMSOL Multiphysics Server > アプリケーショ

ンをサーバから削除 ( )を選択します。また、Windows ユーザの場合、クイックアクセスツールバーをカスタマイズし、アプリケーションをサーバから削除のボタンをクリックします。

共有ライブラリ

Java アプリケーションで実行、あるいはMATLAB から実行している場合、COMSOL Multiphysics のクライアントは Java のみを使用し、共有ライブラリをロードしません。 COMSOL デスクトップが COMSOL Multiphysics のクライアントとして動作している場合には、いくつかの共有ライブラリをロードします。

64 ページのWindows Toolbars and Menus

22章 COMSOL Multiphysics の実行| 1451

COMSOL の並列実行

COMSOL は、並列動作の二つの相互モードをサポートしています。

• 分散メモリモデルは、Linux® またはWindows® クラスタ上のいくつかのノードで実行されます。分散メモリ並列 COMSOLを参照してください。

• 並列共有メモリモデル。

共有メモリ並列 COMSOL

最新のコンピュータハードウェアは共有メモリモデルをサポートしているため、メモリ内のデータに全ての CPU コアがアクセスでき

ます。 クラスタ上で実行している場合、COMSOL Multiphysics は各ノードで共有メモリ並列処理を使用し、クラスタノード間で分散並列処理が可能です。 COMSOL Multiphysics のソルバ、アセンブリ、およびメッシングは、共有メモリの並列処理が有効です。 デフォルトでは、COMSOL ソフトウェアは、共有メモリ並列処理のためのマシン上で使用可能な全てのコアを使用しています。

共有メモリ並列モードでの COMCOL 実行の利点

不完全 LU 以外の反復ソルバとスムーザが並列化されます。いくつかのスムーザには、ブロックバージョンの設定があります。通

常、ブロックバージョンを設定した場合は、設定しない非ブロックバージョンよりも並列実行による大きな効果が得られます。また、

有限要素アセンブリも並行実行されます。通常、高速化は解析サイズに依存し、解析に大量のメモリを使用すればスピードアップ

になります。

PARDISO と SPOOLES スパース線形ソルバの直接法とMUMPS 直接法ソルバは全て並列に実行されます。

正規直交のヌル空間関数は並列実行されます。

3D でのフリーメッシャーは、メッシュが切られるジオメトリオブジェクトのフェイスやドメインに渡って並列実行されます。このため、

いくつかのプロセッサ上で実行する場合の高速化は、対応するジオメトリのドメインパーティションに強く依存します。一つの CAD部品がインポートされ、単に一つのドメインとしてジオメトリのメッシュを作成するような場合は、ほとんど全く高速化されません。一

方、多くの部品がアセンブリされた CADがインポートされ、いくつかのドメインとしてジオメトリのメッシュを作成するような場合に

は、かなりの高速化になり得ます。メッシュ内の要素の数が多い場合は、特にスピードアップとなります。

全てのプロットタイプの評価部分が並行して実行されます。 さらに、コンタ―、等値面、および流線の計算は並行して実行されま

す。

計算における並列高速化の重要なポイントとしては、BLAS タイプの機能(基本的な線形代数サブプログラム; 次のセクション参照)があります。ソフトウェアを並列実行する場合、使用する BLAS ライブラリが並列処理をサポートしていることが重要です。このBLAS ライブラリは、COMSOL Multiphysics に同梱されています。

通常、並列実行すると余分なメモリを必要とします。メモリ不足の状態で実行している場合には、COMSOL Multiphysics

Installation Guideで説明しているように、使用コア数を低くしてみてください。高速化はプロセッサの負荷に依存します。例えば、

もしシステムがm 個のプロセッサを有しており、そのうちの n 個が他のアクティブなプログラムで使われている場合、プロセッサ数をm-n より大きい数に設定しないでください。なぜならば、そのプログラムが同じリソースのために競合し、それら全体がかなり遅くなってしまうからです。

COMSOL と BLAS

BLAS は、基本的な線形代数演算の関数群です。ベンダーは、多くの場合、自社のハードウェア用に最適化された BLAS ライブラリを提供しています。 COMSOL Multiphysics の計算エンジンの大部分は、BLAS に依存しています。COMSOL Multiphysics には、デフォルトの BLAS ライブラリとして、MKL(Math Kernel Library)という BLAS ライブラリが備わっています。また、AMD プロセッサの場合、COMSOL Multiphysics には SSE2 をサポートした AMD プロセッサ用に最適化された

ACML(AMD Core Math Library)という BLAS ライブラリが含まれており、いくつかのケースでパフォーマンスが向上する可能性があります。また、ご使用のハードウェア用に最適化された別の BLAS ライブラリを供給することも可能です。デフォルトのBLAS ライブラリ(MKL)をオーバーライドする方法については、COMSOL Multiphysics Installation Guideを参照してくださ

1452 | 22章 COMSOL Multiphysics の実行

い。使用したいライブラリが利用できないか、あるいは正しくインストールされていない場合には、COMSOL Multiphysics はデフォルトの BLAS ライブラリに切り替わります。

分散メモリ並列 COMSOL

クラスタの基本コンセプト

クラスタコンピューティングおよび共有メモリ並列コンピューティングのためのハードウェアを説明する際に、次の用語が頻繁に登

場します。

• コンピュートノード: 分散コンピューティングを起動する場合のコンピュートノードです。 COMSOL インスタンスは、各コンピュートノードに属し、MPI(message-passing interface)を使用して他のコンピュートノードと通信します。 コンピュートノードは

オペレーティングシステム上で動作するプロセスであり、複数のコンピュートノードを単一のホスト上で実行するように割り当てる

ことができます。

• ホスト: ホストは、ネットワークアダプタと固有のネットワークアドレスを持つハードウェアの物理的なマシンです。 クラスタは、ネ

ットワークで接続された複数のホストで構成されます。 ホストは、時々、物理ノードと呼ばれることもあります。

• コア: 1つまたは複数の物理プロセッサコアが、マルチコアプロセッサを搭載したホスト上で動作する計算ノードによって共有メ

モリ並列処理で使用されます。 例えば、二つのクアッドコアプロセッサを搭載したホストには、八つの使用可能なコアがありま

す。

ノード数とホスト上のプロセス数にはいくつかの違いがあります。

• ノード数: クラスタジョブ実行時に全ホストに作成されたコンピュートノードの総数。 これはアクティブなMPI プロセスの数でもあります。

• ホストファイル: ホストファイルは、各ホストの IP アドレスまたはホスト名を含むプレーンテキストファイルです。 COMSOL の適切なホストファイルには、各 IP アドレスが 1 回だけ表示され、各エントリは別の行に表示されます。

• ホスト上のプロセス数: 各ホスト上で実行されるコンピュートノードの数。

少なくとも 1つのコンピュートノードは各ホスト上で実行する必要があります。 特定のハードウェアと解決される COMSOL Multiphysics モデルに応じて、ホストごとに二つ以上の計算ノードを割り当てると有効です。

COMSOL Multiphysics の Linux® およびWindows® のバージョンでは、分散メモリモードをサポートしています。分散モードでは、ユーザによって設定された複数の計算ノードを起動します。各々の計算ノードは、COMSOL のインスタンスを実行する別プロセスです。計算ノードは物理ノード(コンピュータ)と同じではありませんが、一致し得ます。分散モードで動作している場合、

COMSOL Multiphysics は分散環境でのプロセス間通信のためのMPI を使用しています。

図 22-1: 各々に 4 プロセッサを備えた 3 つのホスト(物理ノード)を持つクラスタの概略図。

22章 COMSOL Multiphysics の実行| 1453

分散メモリモードは、COMSOL Multiphysics の機能と組み合わせて、共有メモリモデルによる効果が得られるようにすることができます。COMSOL Multiphysics が実行可能な全てのモードで、分散メモリモードを使用することができます。

クライアントサーバモードでは、サーバとして動作しているコンピュータやクラスタが TCP/ IP 接続を介してクライアントからアクセスできる必要があります。サーバに接続できない場合、クラスタ上でモデルを解析したりパラメト

リックスイープを行うには、COMSOL バッチジョブを使用します。また、GUI から COMSOL バッチジョブを設定するには、クラスタコンピューティングのスタディを使用します。

図 22-1 の概略図において、1 から 12 までの計算ノードの任意の数を選択することができます。各ノードは、4 から 1 個のプロセッ

サコアを共有メモリ用に使用することができます。 COMSOL Multiphysics は、デフォルトで、共有メモリ並列処理のために各物

理ノード上で利用可能なプロセッサ数と同じくらい多くのプロセッサを使用します。もし、計算ノード数が物理ノード数と同じでない場

合は、最適には及びません。 コア数を明示的に設定することをお勧めします。 概略の例では、もし 6 の計算ノードを実行した場

合、コンピュートノードあたりのコア数の最適値ま 2 になります。 使用されるコアの総数は、6・2 = 12 になります。

同様の例において、計算の期間中にそのシステムの唯一のユーザであり、その解析には多くのメモリが必要であると仮定すると、4

の共有メモリのコアそれぞれについて 3 の計算ノードを使用します。

分散メモリモデルを利用することによって、クラスタを使わずにその恩恵を受けることができます。マルチプロセッサコンピュータで

は、複数の計算ノードを使用することができます。これは、例えば、小規模なパラメトリックスイープに有用です。計算ノードの回数

とプロセッサ数の乗算値が利用可能なプロセッサ数を超えないことを確認してください。そうしないと性能が著しく劣化します。

COMSOL を分散モードで実行するメリット

分散モードで実行している COMSOL Multiphysics では、次のダイレクトソルバがサポートされています。

• MUMPS

• SPOOLES

PARDISO は分散モードではサポートされません。Parallel Direct Sparse Solver for Clusters のチェックボックスが選択されている場合は、クラスタ用のインテルMKL の Parallel Direct Sparse Solver(疎行列連立一次方程式の直接法ソルバ)が代わりに使用されます。それ以外の場合は、代わりにMUMPS が使用されます。

次の反復ソルバがサポートされています。

• 反復ソルバ: iCGStab、CG、GMRES、および FGMRES

• スムーザとプレコンディショナー: SOR、SOR ゲージ、SOR ライン、SORT ベクトル、SCGS、および Vanka

• ジオメトリのマルチグリッド

• 代数マのルチグリッド

• ドメインの分割

全ての非線形または定常の分離、時間依存、パラメトリック、固有値、および最適化ソルバは、分散モードで並列に実行されます。

また、アセンブリも分散モードで並列に行われます。さらに、正規直交のヌル空間関数も分散モードで並列に実行されます。 主な

利点としては、COMSOL Multiphysics が非分散モードで実行された場合よりもノードあたりのメモリ使用量が低くなります。そのため、いくつかのコンピュータノードに分散されたクラスタにおいて分散モードで COMSOL Multiphysics を実行する場合は、非分散モードで実行した場合に比べて、より大きな問題を解決することができます。

また、COMSOL Multiphysics は、分散モードを使用してパラメトリックスイープを実行することができます。この設定は、詳細スタディオプションがアクティブな場合、全てのパラメトリックソルバーで使用できます。 分散パラメトリックスイープを開始する最も簡

単な方法は、クラスタコンピューティングの設定ウィンドウのクラスタ設定セクションで、分散パラメトリックスイープのチェックボック

スを選択することです。既存のモデルを修正する最も簡単な方法は、クラスタコンピューティングのスタディを追加して、スタディノー

ドの設定ウィンドウで計算を選択します。分散モードでパラメトリックスイープを実行すると、依然として、メモリ使用量はシングルコ

ンピュータノードのメモリサイズによって制限されます。問題が並列に解かれるので、シングルコンピュータノード上での求解に比べ

て、より高速に全てのパラメータ値が解かれます。

分散パラメトリックスイープと分散ソルバからの利点を組み合わせたい場合には、スイープ中に分散されるグループの最大数を制

限することができるハイブリッドモードでの実行が可能です。 この設定にアクセスするには、デフォルトソルバー表示のコマンドを使

用します。 この設定は、パラメトリックソルバーノードの設定ウィンドウのクラスター設定セクションにあります。

1454 | 22章 COMSOL Multiphysics の実行

クラスタでの COMSOL並列実行

モデルビルダーのスタディノードから、クラスタで COMSOL Multiphysics を実行するためのオプションを制御します。クラスタコンピューティング機能を有効にするには、表示ボタン( )をクリックして詳細スタディオプションを選択します。その後、モデルビル

ダでスタディノードを右クリックしてクラスタコンピューティング ( )を選択します。分散メモリ並列モードで COMSOL Multiphysics を実行するには、フローティングネットワークライセンス(FNL)を取得している必要があります。

1077 ページの Cluster Computing およびクラスタライセンス処理

クラスタのインストールについては、COMSOL Multiphysics Installation Guide の Cluster Installation も

参照してください。

The Micromixer — Cluster Version and Joule Heating of a Microactuator — Distributed Parameter

Version のモデルでは、クラスタ上で並列にCOMSOL Multiphysicsを実行するためのモデル設定方法を示しています。あるケースでは、分散メモリコンピューティングを使用する大規模な流体流れモデルにおいて1ノード当

たりのメモリ使用量が減少させる場合、第2のケースでは、分散パラメータスイープの求解を高速化する場合で

す。

次のセクションでは、Windows および Linux でクラスタジョブを実行する方法について説明しています。

WINDOWS でのクラスタジョブの実行

このセクションでは、Windows®のクラスタジョブを実行するための主な手順の概要を説明しています。開始する前に、COMSOL Multiphysics のインストールがこれらのガイドラインに従っていることを確認してください。

• COMSOL のインストールディレクトリが、全てのコンピュートノードと共有ネットワークディスク上のヘッドノード間で共有されていることを確認してください。

• ライセンスマネージャが利用可能であり、稼働していることを確認してください。

• 推奨されるデスクトップ PC 上で作業している場合、そのローカル PC 上で COMSOL のソフトウェアをインストールします。また、開始する前に、デスクトップ PC 上のWindows HPC Pack をインストールします。 Windows HPC Pack によって、ワークステーションからクラスタにアクセスできるようになります。それは、無料でMicrosoft® HPC Server 2008,2002、および 2016 に付属しています。 最新バージョンはMicrosoft からダウンロードできます。 代替としては、例えば、リモートデスク

トップ経由でクラスタにログインします。

COMSOL デスクトップでのクラスタジョブの実行

COMSOL デスクトップを使用してクラスタジョブを実行するには、次の手順を実行します。

1 COMSOL Multiphysics.を起動します。

2 完成したモデルでスタディノードを右クリックし、クラスタコンピューティング ( ).を選択します。

3 クラスタコンピューティングのための設定ウィンドウで、クラスタタイプリストから HPCS 2008/2012/2016 を選択します。これによって、クラスタと通信するために必要な全てのパラメータへのアクセスが可能となります。

4 ジョブを投入するには、計算 ( )をクリックします。

5 ジョブコンフィギュレーション ( )の下でクラスタコンピューティングノード( )の設定ウィンドウで詳細を定義することができま

す。ジョブを投入すると、COMSOL Multiphysics は、クラスタコンピューティングノードを追加します。最初のジョブを投入する前にその設定を変更したり検査する場合には、スタディノード( )を右クリックし、デフォルトソルバ表示 ( )を選択します。

6 クラスタにジョブを投入した後で、進捗ウィンドウとログウィンドウ内の進捗状況をモニターすることができます。進捗ウィンドウに

は、バッチデータと外部プロセスの進捗状況が表示されます。また、ログウィンドウには、例えば、パラメータスイープの各パラメ

ータのソルバ操作に関するログ情報が含まれています。また、HPC Pack で提供されているWindows Job Manager のクラスタジョブに関する詳細情報を入手することができます。

22章 COMSOL Multiphysics の実行| 1455

コマンドラインからのクラスタジョブの実行

例えば、スケジューラのスクリプトを使用して、コマンドラインから同じクラスタのシミュレーションを行うことができます。 この場合、

クラスタコンピューティングノードは必要ありません。

このコマンドは、スケジューラを伴わないクラスタ上 COMSOL MPI ジョブを起動します:

mpiexec -n 2 comsolclusterbatch.exe -inputfile comsoltest.mph -outfile output.mph -batchlog b.log

Windows のスケジューラで COMSOL Multiphysics を起動するには、 job submit コマンドを使用することができます。

コマンドラインからクラスタで COMSOL Multiphysics を実行する場合の追加情報については、COMSOL CLUSTER コマンドのセ

クションのWindows 用を参照してください。

LINUX でのクラスタジョブの実行

始める前に、ライセンスマネージャが起動し、実行し、全てのコンピュートノードとヘッドノードから通信可能であることを確認してくだ

さい。

COMSOLデスクトップでのクラスタジョブの実行

COMSOL デスクトップを使用してクラスタジョブを実行するには、以下の手順を実行します。 クラスタジョブを開始するマシン上で

COMSOL Multiphysics を実行している場合は、手順 1 と 3 をスキップしてください。

1 コマンド comsol mphserver によって Linux® システムで COMSOL Multiphysics サーバを起動します。表示されているポート番号に注意してください(例えば、COMSOL 5.3a started listening on port 2036)。

2 デスクトップコンピュータ上で COMSOL Multiphysics を開始します。

3 ファイルメニューから、COMSOL Multiphysics server > サーバに接続 ( ) を選択します。サーバに接続のダイアログ

ボックスで、COMSOL Multiphysics サーバの起動時に入力されたログイン認証情報を使用します。

4 完成したモデルでスタディノードを右クリックし、クラスタコンピューティング ( ) を選択します。

5 クラスタコンピューティングのための設定ウィンドウで、Linux クラスタのためのスケジューラータイプリストから一般を選択します。これによって、クラスタと通信するために必要な全てのパラメータへのアクセスが可能となります。

6 ジョブを投入するには、計算 ( ) をクリックします。

7 ジョブコンフィギュレーション ( ) の下でクラスタコンピューティングノード( ) の設定ウィンドウで詳細を定義することがで

きます。ジョブを投入すると、COMSOL Multiphysics は、クラスタコンピューティングノードを追加します。最初のジョブを投入する前にその設定を変更したり検査する場合には、スタディノード( ) を右クリックし、デフォルトソルバ表示 ( ) を選択し

ます。

8 クラスタにジョブを投入した後で、進捗ウィンドウとログウィンドウ内の進捗状況をモニターすることができます。進捗ウィンドウに

は、バッチデータと外部プロセスの進捗状況が表示されます。また、ログウィンドウには、例えば、パラメトリックスイープの各パ

ラメータのソルバ操作に関するログ情報が含まれています。

コマンドラインからのクラスタジョブの実行

例えば、スケジューラのスクリプトを使用して、コマンドラインから同じクラスタのシミュレーションを行うことができます。 この場合、

クラスタコンピューティングノードは必要ありません。

このコマンドは、スケジューラを伴わないクラスタ上 COMSOL MPI ジョブを起動します:

comsol -nn 2 batch -inputfile comsoltest.mph -outfile output.mph -batchlog b.log

コマンドラインからクラスタで COMSOL Multiphysics を実行する場合の追加情報については、COMSOL CLUSTER コマンド

のセクションの Linux 用を参照してください。

クラスタスイープの実行

スタディに追加するクラスタスイープノードは、パラメトリックスイープノードとクラスタコンピューティングサブノードの組み合わせとし

て、ジョブコンフィギュレーションの下で表示できます。 各パラメータタプルによって、クラスタコンピューティングジョブが開始されま

す。 従って、ほとんどの設定はこれらの二つから得られます。 主な追加内容は、バッチ設定セクションの次のオプションです。

• スイープ前: モデルを保存する前に行うことを指定するメッシュ消去と解消去チェックボックス。

• スイープ中: 元のモデルにどのデータを挿入するかを指定する解を同期と累積プローブテーブルを同期チェックボックス。

1456 | 22章 COMSOL Multiphysics の実行

• スイープ後: バッチジョブがモデルファイルを保存するかどうかを制御するモデルをファイルに出力チェックボックス。

クラスタライセンス処理

(クラスタ上の)分散メモリ並列モードで COMSOL Multiphysics のシミュレーションを実行するには、フローティングネットワークライセンス(FNL)を持っている必要があります。ライセンスファイル内のキーワード CLUSTERNODE を探します。クラスタジョブを実行する場合、COMSOL Multiphysics では、次のライセンスコンポーネントとライセンスのチェックアウト手順を使用します。

• ヘッドノードでは、COMSOL および COMSOL GUI フィーチャーの一つのシートが、各々チェックアウトされています。

• 各コンピュートノードでは、一つの CLUSTERNODE フィーチャーだけがチェックアウトされ、それはカウントされていません。これは、フローティングネットワークライセンスの全てのシート(ジョブ)に利用可能なクラスタノードの数に制限があることを意味し

ます。

• スケジューラを介してバッチジョブを実行する場合、COMSOL ライセンスマネージャは、分散プロセスのいずれか一つから、クラスタ化されていない COMSOL ライセンスキー(COMSOL、COMSOLGUI、CADIMPORT、CHEM など)をチェックアウトし

ます。バッチジョブの他の全てのプロセスは、単に CLUSTERNODE ライセンスキーをチェックアウトします。そのため、どこでスケジューラがプロセスを開始するかに応じて、クラスタ内の任意の物理ノードからライセンスキーをチェックアウトすることができ

ます。

クラスタジョブまたはバッチジョブを実行している求解処理の停止と出力

例えば、モデルをバッチモードでクラスタ上で実行している場合、ソルバのログを監視することができます。ソルバが発散し始める

ていることに気付いた際に、求解処理のプロセスを停止して利用可能なソリューションを出力したいことがあります。そうするために

は、次のいずれかのコマンドを使用します。例えば、求解処理をキャンセルするには、

echo "Cancel" > outputfile.mph.status

または、進捗レベル 2 での求解処理を停止するには、

echo "Stop 2" > outputfile.mph.status

すぐに停止するには、

echo "Stop"

これらのコマンドでは、別々の出力ファイルが指定されていない場合は、出力ファイルと入力ファイルを置き換えてください。

COMSOL Multiphysics でのグリッドコンピューティングとリモートコンピューティング

クラスタスイープとクラスタコンピューティングのスタディでは、他のマシンで COMSOL Multiphysics シミュレーションを開始するように構成することができます。これは、パラメトリックスタディを実行したい際に、自由に使える複数のマシンを持っている場合(多

くの場合、これはグリッドコンピューティングと呼ばれる)、または COMSOL Multiphysics シミュレーションを提出したいジョブスケジューラによるクラスタを持っている場合に有用です。COMSOL のソフトウェアは、多くの COMSOL の構成をサポートしています。主な要件は、シミュレーションを実行するマシン上で COMSOL Multiphysics を開始できることと、サポートされている方法の一つがマシンにアクセスするために使用することができることです。いくつかの構成(設定)例は以下の通りです。

• COMSOL Multiphysics がデスクトップコンピュータにインストールされており、COMSOL Multiphysics がインストールされているクラスタ上で実行する。

• COMSOL Multiphysics がデスクトップコンピュータにインストールされており、例えばセキュアシェルプロトコル(SSH)を使用して、ログインアクセス権のある他のコンピュータ上でシミュレーションを開始する。

• クライアントサーバ接続を介したリモートコンピュータへのアクセス権を持っており、リモートコンピュータからにログイン可能なコ

ンピュータ上でシミュレーションを開始する。

• リモートコンピュータへジョブをスケジュールすることが可能なジョブスケジューラを有している。

最初のケースでは、クラスタジョブのサブミットノードにログインするには、クラスタコンピューティングまたはクラスタスイープのスタ

ディのリモートおよびクラウドアクセスセクションを設定します。また、スケジューラを設定するには、バッチ設定セクションを使用し

ます。クラスタへのログインがローカルにインストールされる SSH クライアントを使用可能な場合は、ログインする SSH キーファイ

ルのペアを使用することができます。また、独自のログインコマンドを設定することができます。セキュアコピー(セキュアシェルに

基づいた SCP)を使用するか、リモートディレクトリにローカルディレクトリからファイルをコピーするためのコマンドを設定します。リモートホストセクションでクラスタログインノードのホスト名を設定する必要があります。バッチ設定セクションでは、ローカルマシン

の設定とリモートマシンの設定を区別することが重要です。外部 COMSOL バッチディレクトリパス指定がリモートマシンを参照し

22章 COMSOL Multiphysics の実行| 1457

ている間、ディレクトリ設定はローカルマシンに適用されます。パスは、それぞれのコンピュータにアクセス可能でなければなりませ

ん。リモートマシン上のインストールパスがローカルマシン上と異なる場合には、COMSOL Multiphysics を開始するために外部 COMSOL インストールディレクトリパス指定を使用します。使用するジョブスケジューラを選択するには、スケジューラタイプ設定を使用します。

上記の 2番目のケースでは、他のコンピュータにログインするには、クラスタコンピューティングまたはクラスタスイープのスタディの

リモートおよびクラウドアクセスセクションを設定します。また、他のコンピュータで使用するスタートコマンドを設定するには、バッチ

設定セクションを使用します。クラスタへのログインがローカルにインストールされる SSH クライアントを使用可能な場合は、ログイ

ンする SSH キーファイルのペアを使用することができます。また、独自のログインコマンドを設定することができます。SCP を使用するか、リモートディレクトリにローカルディレクトリからファイルをコピーするためのコマンドを設定します。リモートコンピュータのホ

スト名は、リモートおよびクラウドアクセスセクションのリモートホストのリストで設定する必要があります。バッチ設定では、ローカル

マシンの設定とリモートマシンの設定を区別することが重要です。外部 COMSOL バッチディレクトリパス指定がリモートマシンを参照している間、ディレクトリ設定はローカルマシンに適用されます。パスは、それぞれのコンピュータにアクセス可能でなければな

りません。リモートマシン上のインストールパスがローカルマシン上と異なる場合には、COMSOL Multiphysics を開始するために外部 COMSOL インストールディレクトリパス指定を使用します。

3 番目のケースでは、2 番目の場合と同様の設定を使用することができます。唯一の違いは、サーバ側で特別な場所に格納され

たデータが必要な場合は、サーバディレクトリパス指定を設定しなければならないかどうかです。

上記の最後である 4番目のケースでは、単に、クラスタコンピューティングまたはクラスタスイープのスタディのバッチ設定セクショ

ンを使用する必要があるだけです。この場合、ディレクトリ設定と外部 COMSOL バッチディレクトリパス指定が同じ物理パスを参照していることが重要です。ディレクトリ設定にハードドライブのパスを設定し、外部 COMSOL バッチディレクトリパス指定にネットワークパスを設定しているため、このパスは通常異なっています。使用するジョブスケジューラを選択するには、スケジューラタイプ

設定を使用します。

1458 | 22章 COMSOL Multiphysics の実行

COMSOL コマンド

以下では、Windows®、Linux®、およびMacOSintosh プラットフォームでの COMSOL のコマンドについて記述しています。

Windows での COMSOL コマンド

詳細なスタートアップオプションで COMSOL の製品を開始するには、COMSOL コマンドを使用します。

COMSOL コマンドの通常の構文は次のようです。

<command> [<target>] [<options>] [<target arguments>]

ここで、角括弧は、オプションの引数を示しています。いくつかの異なるコマンド( コマンド構文の<command>参照 )は、さまざま

な結果を達成するために、オプションのターゲットと組み合わせることができます。以下の表は、主要な使用可能なコマンドとターゲ

ットを示しています(利用方法の列が空のコマンドは、常に利用可能です)。

表 22-1: COMSOL コマンドターゲット

コマンドとターゲット 説明 利用方法

comsol スタンドアローンで COMSOL デスクトップを実行。

comsolbatch COMSOL MPH ファイルまたは class ファイルをバッチモードで実行。

comsolcluster クラスタ上の COMSOL デスクトップを実行。 フローティングネットワークライセンス(FNL)が必要。

comsolclusterbatch バッチモードの COMSOL クラスタバージョンを実行。

フローティングネットワークライセンス(FNL)が必要。

comsolclustermphserver COMSOL Multiphysics クラスタサーバを実行。 フローティングネットワークライセンス(FNL)が必要。

comsolclusterxpl クロスプラットフォームでクラスタ上の COMSOL デスクトップを実行。

フローティングネットワークライセンス(FNL)が必要。

comsolcompile モデルファイルを Java にコンパイル。

comsolmphclient COMSOL Multiphysics クライアントを実行。

comsolmphserver COMSOL Multiphysics サーバを起動。

comsolmphserver matlab MATLAB®を起動し、COMSOL Multiphysics サーバに接続。

LiveLink™ for MATLAB® ライセンスが必要。

comsolxpl クロスプラットフォームで COMSOL デスクトップを実行。

コマンドは、COMSOL インストールディレクトリの bin\win64 サブディレクトリで利用可能です。COMSOL インストーラは、スタートメニューとデスクトップ上の可能なコマンドのいくつかをセットアップしてくれます。Windows 8、8.1、10 では、アプリケーション表示上のショートカット COMSOL Launchers をクリックすることができます。これは、利用可能な全ての COMSOL コマンドへのショートカットでフォルダを作成しています。

追加のカスタマイズされたコマンドを作成するには、全ての引数を含むショートカットを作成してデスクトップ上に置きます。また、コ

マンドウィンドウで COMSOL コマンドを発行します。コマンドウィンドウでコマンドに都合よくアクセスするには、COMSOL のインストールディレクトリパスにパス bin\win64 を含めるように、Windows のパスを設定する必要があります。

INI ファイル

各ランチャーファイルの場合、同じディレクトリ内に対応する.ini ファイルがあります。時々、これらのファイルを編集されることをお勧めします。例えば、対応する INI ファイルを変更することにより、上記のいずれかのコマンドにオプションを追加することができます。オプション opt を値 val に変更するには、ファイル comsol.ini に次の行を追加します。

-Dopt=val

22章 COMSOL Multiphysics の実行| 1459

comsol batch に対してはファイル comsolbatch.ini を変更し、他の COMSOL のターゲットに対しても同様です。

一般に、システムプロパティまたはオプションには、コマンドオプションとして-Dを追加します。例えば、val をシステムプロパティの cs.precmp に設定するには、コマンドオプション-Dcs.precmd= val を使用します。

オプション

COMSOL コマンドとターゲットの後に、さまざまなオプションを入力することができます。表 22-2 では、全ての COMSOL コマンドで

利用可能なオプション(COMSOL 構文の[<options>]参照)を示しています。もしあれば、常にコマンドとターゲットとの間に、これらのオプションを指定します。

表 22-2: COMSOL オプション ( 中括弧はデフォルト値を示す )

COMSOL オプション 説明

<target> -h ターゲット特定ヘルプを出力表示。

-3drend ogl | dx9 | sw 3D レンダラー: OpenGL、DirectX、または ソフトウェアレンダリング

-applicationsroot <path> COMSOL アプリケーションライブラリのルートディレクトリへのカスタムパスを設定。1

-autosave {on} | off リカバリファイルの保存を制御。

-blas {auto} | mkl | acml | path 使用する BLAS ライブラリ 3

-blaspath <path> BLAS ライブラリのパス 3

-c <path> ライセンスファイルのパス

-ckl クラスキットライセンスを使用。

-comsolinifile <path> COMSOL 起動時に使用する.ini ファイルへのカスタムパスを指定する。

-configuration <path> セッション間の GUI の状態を格納するため、および異なるキャッシングタスクを実行するためのディレクトリへのパス。コンフィギュレーションディレクトリは、デフォルトでは

環境設定ディレクトリのサブディレクトリ。

-data 内部作業領域情報を格納するためのワークスペースディレクトリへのパス。ワークス

ペースディレクトリは、デフォルトでは環境設定ディレクトリのサブディレクトリ。

COMSOL を起動すると、ワークスペースディレクトリはクリアされる。

-docroot <path> COMSOL ドキュメントのルートディレクトリへのカスタムパスを設定。1

-h 一般のヘルプを出力表示。

-keeplicenses on | {off} セッション中にライセンスをチェックアウトしておく。

-migrateprefs {auto} | on | off 以前のバージョンから環境設定を移行する。2

-mpmode throughput | turnaround | owner マルチプロセッサモード3

-np <no. of cores> コア数2

-numafirst <numa number> プロセスをバインドする最初の NUMA ノードを設定。2

-numasets <no. of sets> NUMA セット数 2 -numasets 1 は、不均一なメモリアクセスノードが一つしかない

場合、つまりコンピュータ全体が一つの場合を表しています。

-prefsdir <path> 環境設定のディレクトリ

-recoverydir <path> リカバリディレクトリへのパス。リカバリディレクトリは、デフォルトでは環境設定ディレ

クトリのサブディレクトリ。

-tmpdir <path> テンポラリファイルのディレクトリ

-v, -version COMSOL バージョンを出力表示。

1460 | 22章 COMSOL Multiphysics の実行

表 22-2: COMSOL オプション ( 中括弧はデフォルト値を示す )

COMSOL オプション 説明

参考文献

1 ドキュメントおよびアプリケーションライブラリのルートディレクトリを参照

2 環境設定の移行を参照

3 共有メモリのオプションを参照 4 BLAS オプションを参照

-tmpdir オプション付きで起動することで、COMSOL Multiphysics ソフトウェアは指定ディレクトリをテンポラリファイル保存ディレクトリとして使用します。また、環境変数 COMSOL_TMPDIR を使用することもできます。COMSOL Multiphysics が環境設定ファイルを格納するディレクトリを指定するには、-presdir オプションを使用します。

リモートデスクトップとグラフィックスレンダリング

フローティングネットワークライセンスでは、Windows のリモートデスクトップ接続で COMSOL Multiphysics にアクセスすることができます。 COMSOL Multiphysics にアクセスするこの方法は、ソフトウェアレンダリングのグラフィックスオプションでのみサポートされています。

ドキュメントおよびアプリケーションライブラリのルートディレクトリ

デフォルトの COMSOL インストールでは、ドキュメントファイルはインストールのルートディレクトリの下のディレクトリ doc に置かれています。別の場所にドキュメントディレクトリを移動する場合は、-docroot オプションを使用します。同時に、アプリケーションライブラリのルートディレクトリ applications を COMSOL のインストールルートの下のデフォルトの場所から移動したい場合は、

-applicationsroot オプションを使用します。ドキュメントとアプリケーションライブラリのルートディレクトリのリロケーションは、アプリケーションライブラリの更新を管理するのに便利です。83 ページの The Application Library Update Window を参照し

てください。

これらのオプションを使用してドキュメントとアプリケーションライブラリのルートディレクトリへのパスを設定して

も、ディレクトリとその内容自体は移動しません。

環境設定の移行

デフォルトでは、新しい COMSOL Multiphysics バージョンのインスタンスを起動すると、ほとんどの環境設定が以前のCOMSOL Multiphysics バージョンから移行されます。この動作を変更するには、以下を使用して COMSOL Multiphysics を起動し、前のバージョンから環境設定を移行して現在の環境設定に上書きします。

comsol.exe -migrateprefs on

あるいは、以下を使用して環境設定を移行しないようにします。

comsol.exe -migrateprefs off

自動の環境設定移行を使用すると、環境設定は単に最新の以前のバージョンからのみ移行され、、最初の起動時にのみ移行さ

れ、環境設定の移行は 1 回だけ行われます。

ドキュメントやアプリケーションライブラリのルートディレクトリなどに関する設定の一部の環境設定は移行されません。

共有メモリのオプション

• 使用するコア数を制御するには、オプション-np を使用します。デフォルトでは、全ての利用可能なコア(演算処理装置)を使用します。

• COMSOL Multiphysics のソフトウェアが考慮すべき Non-uniform memory access(NUMA)ノード数の設定を制御するには、オプション -numasets を使用します。これは通常、ハードウェアが使用しているプロセッサソケットの数です。

-numasets 1 は、不均一なメモリアクセスノードが一つしかない場合、つまりコンピュータ全体が一つの場合を表しています。-np オプションだけを設定した場合、ソケットの十分な数がデフォルトで使われるように、ソケット数が自動的に決められます。

-np フラグと-numasets フラグは、NUMA セットのサイズを決定します(-np を-numasets で割った値)。 -numafirst の目的は、最初のNUMA を設定するプロセッサコア番号(NUMA 設定時間 numafirst)を決定することです。

22章 COMSOL Multiphysics の実行| 1461

• マシンがどのようにロードされるかに応じて、COMSOL Multiphysics が-mpmode オプションで使用可能なプロセッサを使用する方法を制御することができます。次のオプションが用意されています。

表 22-3: COMSOL マルチプロセッサモードオプション

MPMODE オプション 説明

owner 殆どの場合、最も高い性能を提供。

throughput いくつかの異なるプロセスが COMSOL と同時にアクティブに実行されている場合に、ベストな性能を与えることが期待される。

turnaround 通常、COMSOL 以外の他のプロセスがアクティブでない場合に、ベストな性能を提供。

また、環境設定ダイアログボックスでマルチコアおよびクラスタコンピューティングのページでコアとソケットの

数を指定することもできます。手動でこれらの数を指定するには、コア数とソケット数のチェックボックスを選

択し、関連するテキストフィールドに数値を入力します。デフォルトでは、全てのコアが使用され、ソケット数が

自動的に設定されています。コア数を下げる場合には、ソケット数も下げることをお勧めします。

BLAS オプション

BLAS は、基本的な線形代数演算の関数のセットです。 COMSOL ソフトウェアの計算エンジンの大部分は、BLAS に依存しています。 COMSOL のソフトウェアは、次の BLAS 関連オプションが用意されています。

表 22-4: COMSOL BLAS オプション

BLAS オプション 説明

auto 自動的に BLAS ライブラリを決定する: Intel プロセッサ用には MKL、SSE2 のみをサポートしている古い AMD プロセッサ用

には ACML、そうでなければ MKL。(これはデフォルトのオプション。)

mkl Intel MKL ライブラリを使用。

acml AMD ACML ライブラリを使用。

path オプション-blaspath または環境変数 COMSOL_BLAS_PATH を使用して指定された BLAS ライブラリを使用。

MKL と ACML の両方が COMSOL Multiphysics と一緒に配布されています。

デフォルトとは異なる BLAS ライブラリを使用する場合は、COMSOL Multiphysics がそのライブラリを見つけることができることを確認してください。 COMSOL Multiphysics がライブラリを見つけるための最も簡単な方法は、/lib/win64 または標準の検索パスのどこかにそれを置いておくことです。また、ライブラリが必要とする任意のサブライブラリへのパスも提供することです。

ライブラリがインストールされているディレクトリを指すように検索パスを設定します。これを行うには、環境変数 PATH を使用しま

す。あなたのライブラリは、標準の FORTRAN LAPACK のインタフェースと標準の FORTRAN BLAS のインタフェースの両方をサポートしている必要があります。LAPACK および BLAS インタフェースがいくつかのライブラリで構成されている場合は、LAPACK ライブラリへのパスを使用します。

アプリケーションのための COMSOL コマンド

表 22-2 のオプションへの追加として、スタンドアロンの COMSOL コマンドはWindows 上で次のオプションをサポートしています。

表 22-5: COMSOL コマンド-ライン引数

COMSOL オプション 説明

-edit <file> アプリケーションを編集する。

-open <file> アプリケーションを開く。

-run <file> アプリケーションを実行する。

例えば、アプリケーションを開くには、comsol -open myapp.mph を使用します。他の二つのオプションでは、アプリケーション

の実行または編集ができます。

1462 | 22章 COMSOL Multiphysics の実行

グラフィックスウィンドウの背景色の変更

3D グラフィックスウィンドウの背景のデフォルトの青の配色を変更するには、次のコマンドラインのオプションを使用して

COMSOL Multiphysics ソフトウェアを起動します。

-Dcs.canvascolor=255,0,0,0,255,0

この例では、背景が赤と緑になります。最初の三つの数字はトップカラーの RGB(赤、緑、青)の値で、最後の三つの数字はボトムカラーの RGB 値で、これらの二つのカラーの間に補間された色合いとなります。全ての数値は 0〜255(両端を含む)の間でなければなりません。このオプションは、Linux およびMacOSintosh で COMSOL Multiphysics を実行する場合にも使用できます。

COMSOL MULTIPHYSICS サーバコマンド

計算の要求を処理する準備ができて COMSOL プロセスを開始するには、COMSOL Multiphysics サーバコマンドを使用します。 COMSOL Multiphysics サーバは、COMSOL Multiphysics のクライアントからの TCP / IP 接続を待機しています。

COMSOL デスクトップは、COMSOL Multiphysics サーバに接続されると COMSOL Multiphysics のクライアントになります。

また、LiveLink™ for MATLAB® は、COMSOL Multiphysics サーバに接続する必要があります。

COMSOL Multiphysics サーバコマンドのWindows での構文は次の通りです。

comsolmphserver [<options>] [<target arguments>]

次のターゲット引数は、COMSOL Multiphysics サーバのコマンドで使用できます。

表 22-6: COMSOL MULTIPHYSICS SERVER ターゲットコマンド-ライン引数

COMSOL MULTIPHYSICS サーバオプション 説明

-graphics グラフィックスライブラリを使用してサーバを起動する。これによって、(すなわち、COMSOL の GUIではなく、)クライアントに接続されている際にサーバ上にプロットを表示する。

-login

{info} | force | never| auto

ログイン情報を問い合わせる。info は、不足している情報だけを問い合わせることを意味する。

force は、パスワードをリセットする。never は、ログイン情報が利用可能であることを必要とする。

auto は、自動的に新しいユーザ名とパスワードを作成する。

-multi {auto} | on | off クライアント接続の繰り返しを許可。

-passwd reset | nostore 新しいパスワード提供に関する指定。ファイルに新しいパスワードを保存しないようにする場合は、

nostore を使用する。

-port <port> 接続試行を待機する TCP/ IP ポートの指定。接続試行を待機するには、TCP/IP ポート<port>を

指定します。 <port>はサーバポートです。ランダムな空きポートの場合は 0です。

-portfile <path> COMSOL Multiphysics がリスンを開始したときに、指定された<path>に COMSOL

Multiphysics がサーバポートを書き込むように指定します。

-silent 標準入力を待たない。

-user <user> ユーザのログイン名を特定。

COMSOL Multiphysics サーバコンピュータのアクセス

サーバコンピュータは、いくつかの方法でアクセスすることができます。あなたは一人の専用マシンにログインすることができます。

また、リモートデスクトップを使用して、サーバコンピュータに接続することもできます。 [スタート]メニューから、COMSOL Multiphysics サーバを起動します。COMSOL Multiphysics のサーバを実行する単一のWindows コンピュータに複数の人がアクセスしたい場合には、Windows ターミナルサーバまたは複数のユーザが同じWindows サーバにログインすることを可能にする別のツールを使用する必要があります。一部のWindows バージョンでは、Microsoft® がターミナルウィンドウを使用してログインすることが可能な Telnet サーバを提供しています。 Windows 上でのログインにターミナルウィンドウを使用する場合は、COMSOL Multiphysics サーバを起動して comsolmphserver コマンドを使用します。

ログイン情報

COMSOL Multiphysics サーバを初めて起動すると、ユーザ名とパスワードの入力を求められます。その後、COMSOL Multiphysics が COMSOL Multiphysics のクライアントとサーバ間の通信に使用するユーザ名とパスワードを選択します。また、サーバに接続のダイアログボックスの中で、一致するユーザ名とパスワードを指定する必要があります。ソフトウェアは、この

ログイン情報をWindows のホームディレクトリのサブディレクトリ.comsol/ v53a/ login.properties に書き込みます。

22章 COMSOL Multiphysics の実行| 1463

クライアントサーバのセキュリティ問題

COMSOL Multiphysics は、COMSOL Multiphysics が別のクライアントとサーバとして実行するクライアントサーバモードで動作することができます。 COMSOL は、TCP/ IP 接続を使用してサーバとクライアントの間でデータを送信します。

信頼できないユーザは COMSOL のログイン情報にアクセスできないことを常に確認してください。あなたのホームディレクトリのファイル.comsol/ v53a/ login.properties を保護します。このことは、クライアントサーバモードで COMSOL Multiphysics を実行する場合に重要です。また、-passwd nostore オプションで COMSOL Multiphysics サーバを起動し、サーバへの接続時にユーザ名とパスワードを記憶のチェックボックスをオフにします。これによって、あなたのログイン情報がファイルに保存されないことが保証され

ます。

COMSOL Multiphysics サーバが開始されると、ログイン情報へのアクセス権を持つ人があなたの COMSOL Multiphysicsサーバに接続する可能性が生じます。COMSOL Multiphysics のクライアントがリモートコンピュータから接続または切断すると、COMSOL Multiphysics サーバにメッセージが表示されます。クライアントからサーバへの接続は、TCP プロトコルを用いて行われます。

サーバとクライアントが相互にチャレンジハンドシェイク認証プロトコルを使用して認証されます。これにより、ネットワーク通信の盗

聴者がログイン情報を容易に得ることができないことを意味します。クライアントとサーバ間の TCP 接続は、他の方法では暗号化されていません。TCP 接続の暗号化を必要とする場合は、そのような SSH または IPSEC などのプロトコルに基づいたサードパーティのソフトウェアを使用します。

セキュリティを強化するには、ファイアウォールと COMSOL Multiphysics サーバの設定変更の両方によって、COMSOL Multiphysics サーバにアクセスできるアドレス範囲を制限します。サーバで許可されるアドレス範囲を制限するには、<COMSOL Installation Directory>\bin\tomcat\conf\server.xml のファイルを編集し、以下のラインを見つけてその指示に従います。

<!-- To restrict access to the COMSOL server you can uncomment the block below.

COMSOL Multiphysics サーバのデフォルトポートは 2036 です。COMSOL および COMSOL Multiphysics サーバの起動時に、オプション-port <port>を使用してこれを変更することができます。

ドキュメントのセキュリティの問題

COMSOL は、COMSOL デスクトップでドキュメントを提供するために、ドキュメントが開かれる際にクライアントコンピュータ上の別のドキュメントサーバを開きます。

セキュリティを強化するには、ファイアウォールとドキュメントサーバの設定変更の両方によって、ドキュメントサーバにアクセスでき

るアドレス範囲を制限します。サーバで許可されるアドレス範囲を制限するには、<COMSOL Installation Directory>\doc\ help\conf\server.xml のファイルを編集し、以下のラインを見つけてその指示に従います。

<!-- To restrict access to the documentation server you can uncomment the block below.

ドキュメントサーバのデフォルトポートは 8090 です。COMSOL Multiphysics の起動時に、オプション-docport <docport>を使用してこれを変更することができます。

COMSOL MULTIPHYSICS クライアントコマンド

サーバに接続のダイアログボックスを開いて COMSOL デスクトップを開始するには、COMSOL Multiphysics のクライアントコマンドを使用します。

COMSOL Multiphysics のクライアントコマンドの構文は、次の通りです。

comsolmphclient [<options>] [<target arguments>]

次のターゲット引数が、COMSOL Multiphysics のクライアントコマンドとして用意されています。

表 22-7: COMSOL ターゲットコマンド-ライン引数

COMSOL MULTIPHYSICS クライアントオプション 説明

-open <file> ファイルを開く。

-port <port> 接続する TCP/IP ポートの特定。

-server <server name> 接続するサーバの特定。

1464 | 22章 COMSOL Multiphysics の実行

COMSOL BATCH コマンド

GUI なしに COMSOL ジョブを実行するには、COMSOL バッチコマンドを使用します。 COMSOL バッチコマンドを使用して、モデルMPH ファイルと Java 用のモデルファイルの両方を実行します。Java 用のモデルファイルは、実行前にコンパイルする必要があります。 COMSOL のバッチコマンドのWindows 構文は、次の通りです。

comsolbatch [<options>] [<target arguments>]

詳細なターゲット引数は、以下の通りです。

表 22-8: COMSOL BATCH-特定引数

COMSOL BATCH ターゲット引数 説明

-alivetime <seconds> ディスクにステータスを書き込むまでの時間。

-batchlog <filename> ログ出力を格納するファイル。使用しない場合、ログはコマンドウィンドウに表示される。

-cancel データを返さずに現在のソルバを停止する。 下記参照。

-checklicense <filename> モデル MPH ファイルのライセンス要件を出力表示。

-clearmesh 全てのメッシュを消去。

-clearsol 全てのソリューションをクリア(プローブデータを除く)。

-client クライアントとして実行。

-continue 中断されたバッチジョブの計算を続行する。

-dev <filename> バッチクラスファイルから呼び出す追加のクラスを持つ JAR ファイルへのパス。

-error <{on}|off> エラー発生時に停止。

-graphics グラフィックスライブラリ付きで COMSOL バッチを開始する。これは、解析中にプロットを表示する。

-host ホストに接続。

-inputfile <file name> モデル MPH ファイル、またはクラスファイルを実行。

-job <job tag> 実行するバッチジョブ

-jobfile <file name>

次の形式を使用してテキストファイルを指定する。

<inputfile0> <outputfile0> <inputfile1> <outputfile1> <inputfile2> <outputfile2> … 各入出力ペアはバッチジョブとして連続して実行される。 コマンド行で指定された他のバッチ固有

のオプションは、リストされた各ジョブに適用される。 更に、リストはバッチプロセス中に連続的に更

新することができる。

-methodcall <tag>

-inputfile <filename> モデルメソッドをバッチモードで実行。 <filename>のファイルには、呼び出すモデルメソッドが含まれている。

-mode {batch} | desktop バッチとクラスタコンピューティングの設定を無視する。 以降のバッチとクラスタコンピューティング

の設定無視を参照。

-nosave 結果モデルを保存しない。

-outputfile <file name> 指定されたファイル名でモデル MPH ファイルを保存。出力が指定されていない場合は、入力ファ

イルが出力で上書きされる。

-paramfile <filename>

最初の行にパラメータ名、次の行に対応するパラメータ値タプルを含むテーブルファイル。つまり、

パラメータ名は最初の行(スペース区切り)に、パラメータ値(一つのタプルのみ)は 2行目でスペー

ス区切りにする必要があります。 より多くのタプルを解きたい場合は、同じ方法でさらに多くの行が

追加されます。

-pindex <parameter indices> パラメータインデックス(整数)のカンマで区切られたリスト。与えられたインデックスの数は-plist によって与えられた引数の数に対応する必要がある。

-plist <parameter value> パラメータ値のカンマで区切られたリスト

-pname <parameter name> パラメータ名のカンマで区切られたリスト

22章 COMSOL Multiphysics の実行| 1465

表 22-8: COMSOL BATCH-特定引数

COMSOL BATCH ターゲット引数 説明

-port ポートに接続。

-prodargs -prodargs の後に COMSOL バッチを呼び出す際に最後に引数を指定してコマンドライン引数を追加する。

-recover 計算を回復して継続する。

-stop 現在のソルバが終了すると、現在のソルバを停止し、使用可能なデータを返す。 下記参照。

-stoptime <time to stop> 特定の時間(秒)後にバッチジョブを停止する。

-study <study tag> 計算するスタディ

次のコマンドを使用してバッチジョブを停止できます。

comsolbatch -stop <level> -inputfile <filename>

ここで <level> はプロセスを停止するレベルです。できるだけ早く停止するには、レベルを高い値に設定します。デフォルトでは、

100に設定されています。 -inputfile オプションは、別のプロセスが実行しているモデルのファイル名を示します。 inputfile 引数は、別のプロセスを起動するために指定されたものと一致する必要があります。つまり、同じ入力ファイル引数を指定するか、また

は-inputfile を別のプロセスを起動するために指定された-outputfile と同じにする必要があります。

次のコマンドを使用して、バッチジョブを取り消すことができます。

comsolbatch -cancel -inputfile <filename>

-inputfile オプションは、別のプロセスが実行しているモデルのファイル名を示します。 inputfile 引数は、別のプロセスを起動するために指定されたものと一致する必要があります。つまり、同じ入力ファイル引数を指定するか、または-inputfile を別のプロセスを起動するために指定された-outputfile と同じにする必要があります。

モデルの求解のために COMSOL バッチモードを使用するには、次のコマンドを実行します。

comsolbatch –inputfile in.mph -outputfile out.mph -study std1

このコマンドは COMSOL のバッチを開始し、そのモデルでアクティブソルバの設定を使用して指定されたファイル名( この例ではin.mph )のモデルMPH ファイルでモデルを求解し、その解を out.mph に格納します。 また、-jobfile オプションを使用して、ファイルに格納されている複数の入力ファイルと出力ファイルを使用することもできます。

-study オプションは、COMSOL Multiphysics に特定のスタディを実行するように指示します。スタディは、そのタグによって識別されます。COMSOL デスクトップで、モデルビルダーノードラベルの下の名前とタグの表示を選択し、モデルビルダーのスタディの下にあるジョブのタグを中括弧内に表示します。モデルオブジェクトでは、コマンド model.study( ).tags( ) によってジョブのタグを決定します。ジョブのタグを使用したmodel.study(<tag>).name( ) によって、それぞれのスタディの名前を決定することができます。

-job オプションは-study オプションと同様の働きをします。これは、COMSOL Multiphysics に特定のジョブを開始するように指示します。そのジョブは、タグで識別されます。モデルオブジェクトでは、コマンド model.batch( ).tags( ) によってジョブのタグを決定します。ジョブのタグを使用したmodel.batch(<tag>).name( ) によって、それぞれのジョブの名前を決定することができます。

-recovery オプションの場合、作業ディレクトリ( 全ての.log ファイルと.status ファイルが生成される )には.recovery ファイルが含まれます。 このファイルには、COMSOL ソフトウェアが動作しなくなった場合の回復フォルダに関する情報が含まれています。 -recovery オプションを指定すると、リカバリディレクトリのモデルが開きます。そのモデルを開くことができれば、継続操作が実行されます。それ以外の場合は、入力ファイル名モデルがシミュレートされます。

バッチとクラスタコンピューティングの設定無視

-mode がバッチ(デフォルト)の場合、全てのバッチとクラスタコンピューティングの設定は無視されます。つまり、バッチジョブとクラスタコンピューティングの機能は、COMSOL デスクトップで計算をクリックしたときのようにバッチジョブを開始しません。

-mode がデスクトップの場合、バッチとクラスタコンピューティングの設定が使用されます。この場合は、COMSOL デスクトップで計算をクリックすることに相当します。バッチノードとクラスタコンピューティングノードの全てのパスは、COMSOL を起動してCOMSOL バッチコマンドを実行する代わりに計算をクリックした場合に、COMSOL デスクトップに設定するパスに対応する必要があります。

1466 | 22章 COMSOL Multiphysics の実行

COMSOL COMPILE コマンド

COMSOL のコンパイルコマンドは、COMSOL バッチコマンドで使用する、または GUI にクラスファイルをロードするために使用する Java のモデルファイルをコンパイルします。COMSOL のコンパイルコマンドにおけるWindows 構文は、以下の通りです。

comsolcompile [<options>] [<target arguments>] <file>.java

Java ファイルは必須です。次のオプションのターゲット引数を使用することができます。

表 22-9: COMSOL クラスタターゲット引数

COMSOL COMPILE ターゲット引数 説明

-classpathadd <classpath> 追加のクラスパス

-jdkroot <path> JDK ルートへのパス

-verbose Verbose 出力

COMSOL CLUSTER コマンド

全ての COMSOL のクラスタコマンドは、フローティングネットワークライセンスが必要です。

Windows クラスタでインタラクティブに分散モードで動作している COMSOL デスクトップを起動するには、以下をキー入力します。

mpiexec -n <number of nodes> comsolcluster.exe <options> [<target arguments>]

Windows クラスタで、COMSOL Multiphysics のクライアントからインタラクティブに使用するために、分散モードで動作している COMSOL Multiphysics サーバを起動するには、以下をキー入力します。

mpiexec -n 1 comsolmphserver.exe [<options>] <target arguments>] -cluster on : -n <number of nodes-1> comsolclustermphserver.exe <options> [<target arguments>]

上記のコマンドを使用している場合、全てのオプションとターゲット引数は二回繰り返される必要があることに注意してください。

Windows クラスタ、タイプでインタラクティブに分散モードで動作しているクロスプラットフォームの COMSOL デスクトップを起動するには、以下をキー入力します。

mpiexec -n <number of nodes> comsolclusterxpl.exe <options> [<target arguments>]

Windows クラスタで分散モードで動作している COMSOL バッチコマンドを起動するには、以下をキー入力します。

mpiexec -n <number of nodes> comsolclusterbatch.exe <options> [<target arguments>]

以下のクラスタコマンドが利用可能です。

表 22-10: COMSOL CLUSTER ターゲット

COMSOL CLUSTER コマンド 説明

comsolcluster クラスタ上でインタラクティブに分散モードで COMSOL デスクトップを実行。

comsolclusterbatch 分散モードでクラスタ上の COMSOL バッチジョブを実行。

comsolclustermphserver クラスタ上で COMSOL Multiphysics サーバを実行するためのヘルパーコマンド

comsolclusterxpl クラスタ上でインタラクティブに分散モードでクロスプラットフォームの COMSOL デスクトップ を実

行。

comsolmphserver -cluster on COMSOL Multiphysics クライアントからのインタラクティブな利用のため、分散モードの COMSOL

Multiphysics サーバを実行。

COMSOL ジョブを開始する好ましい方法は、COMSOL デスクトップのモデルツリーのジョブコンフィギュレーションのノードから開始します。

Micromixer—Cluster Version: このアプリケーションライブラリのパスは、

COMSOL_Multiphysics/Tutorials/micromixer_c

22章 COMSOL Multiphysics の実行| 1467

コマンドラインから COMSOL クラスタジョブを開始する必要がある場合、好ましい方法は comsolclusterbatch コマンドを使用することです。なぜなら、comsolclustermphserver と comsolcluster コマンドが、COMSOL Multiphysics が実行されるクラスタノードへのクライアントコンピュータからの TCP/ IP アクセスを必要とするためです。

Windows のコンフィギュレーション

• Windows HPC Server 2008、HPC Pack 2012 を搭載したWindows Server 2012、または HPC Pack 2016 ジョブスケジューラを搭載したWindows Server 2016 がインストールされていることを確認してください。 他のWindows バージョンで分散 COMSOL を実行することはサポートされていません。

• Windows HPC Server の作業ディレクトリが、comsol コマンドのディレクトリ ( <path to COMSOL install directory> \bin\win64 ) を指すように設定されていることを確認します。インストールディレクトリは、クラスタ上のノード間で共有されなければなりません。一部のネットワーク構成では、ファイアウォールによって、共有実行可能なようにMPI を開始するのを防ぐことができます。ファイアウォールで実行可能ファイルを登録するには、全てのノードで hpcfwutil コマンドを実行するためにclusrun コマンドを使用します。 例えば、comsolclusterbatch を登録するには、clusrun /all hpcfwutil register comsolclusterbatch.exe

<shared path to COMSOL install directory>\bin\win64\comsolclusterbatch.exe

• また、Microsoft Visual Studio2010 と 2008 Runtimes が全てのノードにインストールされていることを確認してください。これらは、vcredist_*.exe ファイルと呼ばれています。例えば、clusrun コマンドを使用して、DVD のルートディレクトリ

からそれらをインストールすることができます。

• また、COMSOL Multiphysics を実行する予定の全てのノードがライセンスマネージャへのアクセス権を持っていること、および非分散モードで実行されている COMSOL Multiphysics を開始可能なことを確認してください。ライセンスをチェックアウトするには、ノードがライセンスマネージャにアクセスする必要があります。

• ご使用のWindows バージョンでサポートされているMicrosoft MPI の最新バージョンがインストールされていることを確認してください。サポートされている最新バージョンのMicrosoft MPI をMicrosoft からクラスタノードにダウンロードしてインストールします。

スタンドアロンコンピュータ上のMicrosoft MPI と SMPD の利用

Windows HPC Server がWindows コンピュータにインストールされていない場合、クラスタで使用する各コンピュータにCOMSOL とMicrosoft MPI をインストールしさえすれば、COMSOL クラスタコマンドを使用することができます。その後、各コンピュータでは、MPI ジョブを実行するユーザとして、Microsoft MPI のインストールサブフォルダ Bin に置かれているコマンド

smpd

を実行する必要があります。その後、前のmpiexec-n <number of nodes> の構文を以下に置き換えることにより、分散モードを開始することができます。

mpiexec -hosts <number of nodes> <list of computer names> …

ここでは、mpiexec コマンドは smpd と同じフォルダに置かれて、インタラクティブに実行したい場合は、ローカルノードがコンピュータ名のリストの最初に表示されるはずです。分散モードで COMSOL デスクトップを起動するには、次の構文を使用します

mpiexec -hosts <number of nodes> <list of computer names> comsolcluster.exe <options> [<target arguments>]

COMSOL Batch コマンドの例

mpiexec によって与えられた計算ノード数に COMSOL バッチジョブを実行するには、以下のコマンドでジョブをスケジュールします。

mpiexec -n -1 comsolclusterbatch.exe -np 2 -inputfile <filename>

mpiexec コマンドとWindows HPC Server の詳細については、製品に同梱されたマニュアルおよびオンラインマニュアルを参照してください。

COMSOL Multiphysics サーバコマンドの例

COMSOL Multiphysics サーバのクラスタジョブが作成されると、環境設定ディレクトリが設定され、サーバのログインの問題を回避するために全てのノードから接続可能でなければなりません。COMSOL コマンドおよびログイン情報を参照してください。環境設定は、コマンドを使用してヘッドノード上で一度 COMSOL Multiphysics サーバを起動することによって生成されます。

1468 | 22章 COMSOL Multiphysics の実行

comsolmphserver.exe -prefsdir <prefsdir>

ここで、<prefsdir>は、全てのノードに共通の環境設定ディレクトリです。

COMSOL Multiphysics サーバをクラスタ上で起動するとポート番号が標準出力に書き込まれるので、標準出力ファイルおよび標準エラーファイルがクラスタジョブのために設定される必要があります。 COMSOL Multiphysics サーバを起動するには、次

のコマンドでジョブをスケジュールします。

mpiexec -n 1 comsolmphserver.exe -np 2 -prefsdir <prefsdir> -cluster on : -n <number of nodes-1> comsolclustermphserver.exe -np 2 -prefsdir <prefsdir>

COMSOL Multiphysics サーバが COMSOL Multiphysics のクライアントコンピュータから実行されるクラスタノードにアクセスできる必要があります。

COMSOL MPI オプション

COMSOLクラスタのターゲット引数は、使用するMPIライブラリと使用するScalapackバージョンを指定します。MPIにはいくつかの実装があります。デフォルトのCOMSOLでは、Windows HPC Serverライブラリを使用しています。また、COMSOLは、MPICH2に基づくもっとも多くのMPI実装をサポートしています。デフォルトのライブラリをご使用されることをお勧めします。また、COMSOLには、オプション-mpi mpich2を追加することによってアクティベートする互換モードがあります。このオプションを使用する場合、変数PATHとLD_LIBRARY_PATHの両方がMPI実装を含んでいる必要があります。オプション-mpipath <path to shared library> を使用して、MPICH2に基づく他のMPIライブラリを使用することも可能です。次のターゲット引数は、COMSOLクラスタコマンドで使用可能です。

表 22-11: COMSOL CLUSTER ターゲット引数

COMSOL BATCH ターゲット引数 説明

-mpi {auto} | mpich2 | whpc2008 | user | path 使用する MPI ライブラリ

-mpipath <path> MPI ライブラリのパス

-scalapack {auto} | mpich2 | whpc2008 | user | path 使用する Scalapack ライブラリ

-scalapackpath <path> Scalapack ライブラリのパス

クラスタコンピューティングのスタディでは、Windows HPC Server ジョブスケジューラに提示するバッチジョブを設定することができます。デフォルト設定を取得するために comsol.ini ファイルで設定可能ないくつかの設定があります。

-Dcs.scheduler=<IP or network adress> -Dcs.clusteruser=<Username on cluster> -Dcs.rundir=<Where the model file is located on the cluster> -Dcs.comsoldir=<Installation path to comsol on the cluster>

さらに、デフォルトの設定を取得するには、以下のコマンドを設定します。

-Dcs.precmd=<Command line> -Dcs.postcmd=<Command line>

これらの二つの行のそれぞれは、comsol コマンドの前と COMSOL コマンドの後にコマンドを追加します。これらの pre-とpostcommands のいずれかに、{nn}または{perhost}を追加することができます。これらは、そのノード数とクラスタコンピューティングのスタディの対応する設定から、そのノード数と各ホスト上のノード数を使用するようにクラスタコンピューティングのスタデ

ィを構成します。詳細については、1077 ページの Cluster Computing を参照してください。

COMSOL MATLAB コマンド

MATLAB を通して COMSOL API にアクセスするには、COMSOL matlab コマンドを使用します。次のコマンドを入力します。

comsolmphserver matlab

これは、コンソールウィンドウで COMSOL Multiphysics サーバを起動し、MATLAB を開始し、COMSOL Multiphysics サーバにMATLAB を接続します。

次のオプションは、comsolmphserver matlab コマンドで使用できます。

22章 COMSOL Multiphysics の実行| 1469

表 22-12: COMSOL MATLAB オプション

COMSOL MATLAB オプション 説明

-desktop デスクトップ付きで起動。

-graphics グラフィックスライブラリを使用してサーバを起動する。これは、サーバ上のプロットを有効にする。

comsolmphserver matlab [<options>]を実行中にだけ利用可能。

-host <hostname> ホストに接続。

-mlnosplash MATLAB splash screen 無しで起動。

-mlroot <path> MATLAB インストールディレクトリ

-mlstartdir <path> ディレクトリパス<path>で開始。

-nodesktop デスクトップ無しで起動。

-port <hostname> ポートに接続。

Linux での COMSOL コマンド

詳細な起動オプションで COMSOL の製品を起動するには、comsol コマンドを使用します。

COMSOL コマンドの一般的な構文は次の通りです。

comsol [<target>] [<options>] [<target arguments>]

ここで、角括弧はオプションの引数を示しています。comsol コマンドは、さまざまな目的に対応するオプションの引数と組み合わせることができます。以下の表は、コマンドとターゲットを示しています。

表 22-13: COMSOL コマンドターゲット

コマンドとターゲット 説明 利用方法

comsol スタンドアローンで COMSOL Multiphysics を実行。

comsol batch COMSOL MPH ファイルまたはクラスファイルを実行。

comsol compile Java のモデルファイルをコンパイル。

comsol mphclient COMSOL Multiphysics クライアントを実行。

comsol mphserver COMSOL Multiphysics サーバを起動。

comsol mphserver matlab MATLAB®を起動し、COMSOL Multiphysics サーバに接続。

LiveLink™ for MATLAB® ライセンスが必要。

comsol hydra COMSOL Hydra コマンドを実行。 CLUSTERNODE ライセンスが必要。

comsol コマンドは、COMSOL のインストールディレクトリの bin フォルダにあります。

INI ファイル

bin ディレクトリ内のサブディレクトリ glnx86 と glnxa64 に多くの.ini ファイルがあります。時々これらのファイルを編集することをお勧めします。例えば、対応する ini ファイルを変更することによって、上記のいずれかのコマンドにオプションを追加することができます。オプション opt の値 val を変更するには、ファイル comsol.ini に以下の行を追加します。

-Dopt=val

comsol batch に対してはファイル comsolbatch.ini を変更し、他の COMSOL のターゲットに対しても同様です。

オプション

COMSOL コマンドとターゲットの後にさまざまなオプションを入力することができます。表 22-14 は、全ての COMSOL コマンドで使用可能なオプション(コマンドの構文で [<options>]を参照)を示しています。(必要なら、)常にコマンドとターゲットとの間にこれらのオプションを指定します。

1470 | 22章 COMSOL Multiphysics の実行

表 22-14: COMSOL オプション ( 中括弧はデフォルト値を示す )

COMSOL オプション 説明

<target> -h ターゲット特定ヘルプを表示。

-3drend ogl | sw 3D レンダラー: OpenGL または ソフトウェアレンダリング

-applicationsroot <path> COMSOL アプリケーションライブラリのルートディレクトリへのカスタムパスを設

定。1

-autosave <{on} | off> リカバリファイルの保存を制御。

-blas {auto} | mkl | acml | path 使用する BLAS ライブラリ3

-blaspath <path> BLAS ライブラリのパス 3

-c <path> ライセンスファイルのパス

-ckl クラスキットライセンスの使用。

-comsolinifile COMSOL 起動時に使用する.ini-file へのカスタムパスを設定。

-configuration <path>

セッション間の GUI の状態を格納するため、および異なるキャッシングタスクを実行するためのディレクトリへのパス。コンフィギュレーションディレクトリは、デフ

ォルトでは環境設定ディレクトリのサブディレクトリ。但し、-prefsdir オプションを

使用すると、コンフィギュレーションディレクトリのデフォルトの場所は影響を受け

ない。

-data <path>

内部作業領域情報を格納するためのワークスペースディレクトリへのパス。 ワ

ークスペースディレクトリは、デフォルトでは環境設定ディレクトリのサブディレクト

リ。但し、ワークスペースディレクトリのデフォルトの場所は、-prefsdir オプション

の影響を受けない。COMSOL を起動すると、ワークスペースディレクトリはクリアされる。

-docroot <path> COMSOL ドキュメントのルートディレクトリへのカスタムパスを設定。1

-forcecomsolgcc COMSOL に同梱された GCC ライブラリロードを強制。

-forcegcc GCC ライブラリロードを強制。

-h 一般のヘルプを表示。

-keeplicenses on | {off} セッション中にライセンスをチェックアウトしておく。

-mpmode throughput | turnaround | owner マルチプロセッサのモード2

-np <no. of cores> コア数2

-numafirst <numa number> プロセスをバインドする最初の NUMA ノード(ソケット)を設定。2

-numasets <no. of sets> NUMA セット (ソケット)数2

-prefsdir <path> 環境設定のディレクトリ

-recoverydir <path> リカバリディレクトリへのパス。リカバリディレクトリは、デフォルトでは環境設定デ

ィレクトリのサブディレクトリ。

-tmpdir <path> テンポラリファイルのディレクトリ。空白は、ファイルディレクトリのパスではサポー

トされていない。

-v, -version COMSOL バージョンの出力表示。

参考文献

1 ドキュメントおよびアプリケーションライブラリのルートディレクトリを参照

2 共有メモリのオプションを参照

3 BLAS オプションを参照

-tmpdir オプションでは、COMSOL Multiphysics のソフトウェアは、テンポラリファイルを格納する指定ディレクトリを使用しています。COMSOL Multiphysics が設定ファイルを格納するディレクトリを指定するには、-prefsdir オプションを使用します。

22章 COMSOL Multiphysics の実行| 1471

ドキュメントおよびアプリケーションライブラリのルートディレクトリ

デフォルトの COMSOL インストールでは、ドキュメントファイルはインストールのルートディレクトリの下のディレクトリ doc に置かれています。別の場所にドキュメントディレクトリを移動する場合は、-docroot オプションを使用します。

同時に、アプリケーションライブラリのルートディレクトリ applications を COMSOL のインストールルートの下のデフォルトの場所から移動したい場合は、-applicationsroot オプションを使用します。ドキュメントとアプリケーションライブラリのルートディレクトリのリロケーションは、アプリケーションライブラリの更新を管理するのに便利です。83 ページの The Application Library Update Window を参照してください。

これらのオプションを使用してドキュメントとアプリケーションライブラリのルートディレクトリへのパスを設定し

ても、ディレクトリとその内容自体を移動していません。

共有メモリオプション

• 使用するコア数を制御するには、オプション-np を使用します。デフォルトでは、全ての利用可能なコア(演算処理装置)を使用します。

• COMSOL のソフトウェアが考慮すべき Non-uniform memory access(NUMA)ノード数の設定を制御するには、オプション-numasets を使用します。これは通常、ハードウェアが使用しているプロセッサソケットの数です。-np オプションだけを設定した場合、ソケットの十分な数がデフォルトで使われるように、ソケット数が自動的に決められます。

• マシンがどのようにロードされるかに応じて、COMSOL Multiphysics が-mpmode オプションで使用可能なプロセッサを使

用する方法を制御することができます。次のオプションが用意されています。

表 22-15: COMSOL マイクロプロセッサモードオプション

MPMODEオプション 説明

owner 殆どの場合、最も高い性能を提供。

throughput いくつかの異なるプロセスが COMSOL Multiphysics と同時にアクティブに実行されている場合に、ベストな性能を与えることが期待される。

turnaround 通常、COMSOL Multiphysics 以外の他のプロセスがアクティブでない場合に、ベストな性能を提供。

また、環境設定ダイアログボックスでマルチコアおよびクラスタコンピューティングのページでコアとソケットの

数を指定することもできます。手動でこれらの数を指定するには、コア数とソケット数のチェックボックスを選

択し、関連するテキストフィールドに数値を入力します。デフォルトでは、全てのコアが使用され、ソケット数が

自動的に設定されています。コア数を下げる場合には、ソケット数も下げることをお勧めします。

時には、ご自分の構成に最適な動作オプションを見つけるために試してみるとよいでしょう。

BLAS オプション

BLAS は、基本的な線形代数演算の関数のセットです。 COMSOL ソフトウェアの計算エンジンの大部分は、BLAS に依存しています。 COMSOL のソフトウェアは、次の BLAS 関連オプションが用意されています。

表 22-16: COMSOL BLAS オプション

BLAS オプション 説明

auto 自動的に BLAS ライブラリを決定する: Intel プロセッサ用には MKL、SSE2 をサポートしている AMD プロセッサ用には

ACML、そうでなければ MKL。(これはデフォルトのオプション。)

mkl Intel MKL ライブラリを使用。

acml AMD ACML ライブラリを使用。

path オプション-blaspath または環境変数 COMSOL_BLAS_PATH を使用して指定された BLAS ライブラリを使用。

1472 | 22章 COMSOL Multiphysics の実行

MKL と ACML の両方が COMSOL Multiphysics と一緒に配布されています。

デフォルトとは異なる BLAS ライブラリを使用する場合は、COMSOL Multiphysics がそのライブラリを見つけることができることを確認してください。 COMSOL Multiphysics がライブラリを見つけるための最も簡単な方法は、ARCH というアーキテクチャ

(glnx86 または glnxa64)への/lib/ARCH にそれを置くか、標準の検索パスのどこかにそれを置いておくことです。また、ライブ

ラリが必要とする任意のサブライブラリへのパスも提供することです。ライブラリがインストールされているディレクトリを指すように

検索パスを設定します。これを行うには、環境変数 LD_LIBRARY_PATH を使用します。あなたのライブラリは、標準の

FORTRAN LAPACK のインタフェースと標準の FORTRAN BLAS のインタフェースの両方をサポートしている必要があります。LAPACK および BLAS インタフェースがいくつかのライブラリで構成されている場合は、LAPACK ライブラリへのパスを使用します。

GCC オプション

デフォルトでは、COMSOL Multiphysics はシステムにインストールされている GCC ライブラリを使用します。 COMSOL Multiphysics が起動できない場合には、ソフトウェアは COMSOL Multiphysics に付属している GCC ライブラリを使用しま

す。COMSOL Multiphysics が強制的に出荷時付属の GCC ライブラリを使用するようにするためには、-forcecomsolgcc オプションを使用します。オプション-forcegcc は、主に LiveLink™ for MATLAB®と一緒に使用するためのものです。MATLABへのコールバック関数を作れない場合は、それを使用します。

COMSOL コマンド

表 22-14 のオプションへの追加として、スタンドアロンの COMSOL コマンドは Linux 上で次のオプションをサポートしています。

表 22-17: COMSOL コマンド-ライン引数

COMSOL オプション 説明

-open <file> アプリケーションを開く。

-run <file> アプリケーションを実行する。

COMSOL MULTIPHYSICS サーバコマンド

計算の要求を処理する準備ができて COMSOL プロセスを開始するには、COMSOL Multiphysics サーバのコマンドを使用します。 COMSOL Multiphysics サーバは、COMSOL Multiphysics のクライアントからの TCP / IP 接続を待機しています。

COMSOL デスクトップは、COMSOL Multiphysics サーバに接続されると COMSOL Multiphysics のクライアントになります。また、LiveLink™ for MATLAB® は、COMSOL Multiphysics のサーバに接続する必要があります。

COMSOL Multiphysics サーバのコマンドの構文は次の通りです。

comsol [<options>] mphserver [<target arguments>]

次のターゲット引数は、COMSOL Multiphysics サーバのコマンドで使用できます。

表 22-18: COMSOL ターゲットコマンド-ライン引数

COMSOL MULTIPHYSICS サーバオプション 説明

-graphics グラフィックスライブラリを使用してサーバを起動する。これによって、(すなわち、COMSOL の GUI ではなく、)クライアントに接続されている際にサーバ上にプロットを表示する。

-login

{info} | force | never | auto

ログイン情報を問い合わせる。info は、不足している情報だけを問い合わせることを意味する。force は、

パスワードをリセットする。never は、ログイン情報が利用可能であることを必要とする。auto は、自動的に新しいユーザ名とパスワードを作成する。

-multi {auto} | on | off クライアント接続の繰り返しを許可。

-passwd reset | nostore 新しいパスワードに関する指定。ファイルに新しいパスワードを保存しないようにする場合は、<nostore>を使用する。

-port <port> 接続試行を待機する TCP/ IP ポートの指定。

-silent 標準入力を待たない。

-user <user> ユーザのログイン名を指定。

22章 COMSOL Multiphysics の実行| 1473

COMSOL Multiphysics サーバコンピュータのアクセス

COMSOL Multiphysics サーバを実行しているコンピュータにアクセスするには、単に、ssh または同様のコマンドを使用してサ

ーバコンピュータにログインし、comsol mphserver コマンドを入力します。

ログイン情報

COMSOL Multiphysics サーバを初めて起動すると、ユーザ名とパスワードの入力を求められます。その後、COMSOL Multiphysics が COMSOL Multiphysics のクライアントとサーバ間の通信に使用するユーザ名とパスワードを選択します。また、サーバに接続のダイアログボックスの中で、一致するユーザ名とパスワードを指定する必要があります。ソフトウェアは、こ

のログイン情報をホームディレクトリのサブディレクトリ.comsol/ v53a/ login.properties に書き込みます。

クライアントサーバのセキュリティ問題

COMSOL Multiphysics は、COMSOL Multiphysics が別のクライアントとサーバとして実行するクライアントサーバモードで動作することができます。 COMSOL は、TCP/ IP 接続を使用してサーバとクライアントの間でデータを送信します。

信頼できないユーザは COMSOL のログイン情報にアクセスできないことを常に確認してください。あなたのホームディレクトリのファイル.comsol/ v53a/ login.properties を保護します。このことは、クライアントサーバモードで COMSOL Multiphysics を実行する場合に重要です。また、-passwd nostore オプションで COMSOL Multiphysics サーバを起動し、サーバへの接続時にユーザ名とパスワードを記憶のチェックボックスをオフにします。これによって、あなたのログイン情報がファイルに保存されないことが保証され

ます。

COMSOL Multiphysics サーバが開始されると、ログイン情報へのアクセス権を持つ人があなたの COMSOL Multiphysicsサーバに接続する可能性が生じます。COMSOL Multiphysics のクライアントがリモートコンピュータから接続または切断すると、COMSOL Multiphysics サーバにメッセージが表示されます。クライアントからサーバへの接続は、TCP プロトコルを用いて行われます。

サーバとクライアントが相互にチャレンジハンドシェイク認証プロトコルを使用して認証されます。これにより、ネットワーク通信の盗

聴者がログイン情報を容易に得ることができないことを意味します。クライアントとサーバ間の TCP 接続は、他の方法では暗号化されていません。TCP 接続の暗号化を必要とする場合は、そのような SSH または IPSEC などのプロトコルに基づいたサードパーティのソフトウェアを使用します。

セキュリティを強化するには、ファイアウォールと COMSOL Multiphysics サーバの設定変更の両方によって、COMSOL Multiphysics サーバにアクセスできるアドレス範囲を制限します。サーバで許可されるアドレス範囲を制限するには、<COMSOL Installation Directory>/bin/conf/server.xml のファイルを編集し、以下のラインを見つけてその指示に従います。

<!-- To restrict access to the COMSOL server you can uncomment the block below.

COMSOL Multiphysics サーバのデフォルトポートは 2036 です。COMSOL および COMSOL Multiphysics サーバの起動時に、オプション-port <port>を使用してこれを変更することができます。

ドキュメントのセキュリティの問題

COMSOL は、COMSOL デスクトップでドキュメントを提供するために、ドキュメントが開かれる際にクライアントコンピュータ上の別のドキュメントサーバを開きます。

セキュリティを強化するには、ファイアウォールとドキュメントサーバの設定変更の両方によって、ドキュメントサーバにアクセスでき

るアドレス範囲を制限します。サーバで許可されるアドレス範囲を制限するには、<COMSOL Installation Directory>\doc\ help\conf\server.xml のファイルを編集し、以下のラインを見つけてその指示に従います。

<!-- To restrict access to the documentation server you can uncomment the block below.

ドキュメントサーバのデフォルトポートは 8090 です。COMSOL Multiphysics の起動時に、オプション-docport <docport> を使用してこれを変更することができます。

COMSOL MULTIPHYSICS クライアントコマンド

サーバに接続のダイアログボックスを開いて COMSOL デスクトップを開始するには、COMSOL Multiphysics のクライアントコマンドを使用します。

COMSOL Multiphysics のクライアントコマンドの構文は、次の通りです。

1474 | 22章 COMSOL Multiphysics の実行

comsol [<options>] mphclient [<target arguments>]

次のターゲット引数が、COMSOL Multiphysics のクライアントコマンドとして用意されています。

表 22-19: COMSOL ターゲットコマンド-ライン引数

COMSOL MULTIPHYSICS クライアントオプション 説明

-open <file> ファイルを開く。

-port <port> 接続する TCP/IP ポートを特定。

-server <server name> 接続するサーバを特定。

COMSOL BATCH コマンド

GUI なしに COMSOL ジョブを実行するには、COMSOL バッチコマンドを使用します。 COMSOL バッチコマンドを使用して、モデルMPH ファイルと Java 用のモデルファイルの両方を実行します。Java 用のモデルファイルは、実行前にコンパイルする必要があります。 COMSOL のバッチコマンドの構文は、次の通りです。

comsol [<options>] batch [<target arguments>]

詳細なターゲット引数は、以下の通りです。

表 22-20: COMSOL BATCH-特定引数

COMSOL BATCH オプション 説明

-alivetime <seconds> ディスクにステータスを書き込むまでの時間。

-batchlog <file name> ログ出力を格納するファイル。使用しない場合、ログはコマンドウィンドウに表示される。

-cancel データを返さずに現在のソルバを停止する。 下記参照。

-checklicense <filename> モデル MPH ファイルのライセンス要件を表示。

-clearmesh 全てのメッシュを消去し。

-clearsol 全てのソリューションをクリア(プローブデータを除く)。

-client クライアントとして実行。

-dev <filename> バッチクラスファイルから呼び出す追加クラスを伴う JAR ファイルへのパス

-error <{on} | off> エラー発生時に停止。

-graphics グラフィックスライブラリに関する COMSOL バッチを開始する。これは、ポスト処理中にプロットを表示する。

-host ホストに接続。

-inputfile <file name> モデル MPH ファイルまたはクラスファイルを実行。

-job <job tag> 実行するバッチジョブ

-methodcall <tag>

-inputfile <filename> モデルメソッドをバッチモードで実行する。 <filename>のファイルには、呼び出すモデルメソッドが含まれている。

-mode {batch} | desktop バッチとクラスタコンピューティングの設定を無視する。 上記のバッチとクラスタコンピューティング

の設定無視を参照。

-nosave 結果モデルを保存しない。

-outputfile <file name> 指定されたファイル名を使用して、モデル MPH ファイルを保存します。出力が指定されていない

場合、入力ファイルは、出力で上書きされます。

-paramfile <filename>

最初の行にパラメータ名、次の行に対応するパラメータ値タプルを含むテーブルファイル。 つまり、

パラメータ名は最初の行(スペース区切り)に、パラメータ値(一つのタプルのみ)は 2行目でスペー

ス区切りにする必要があります。 より多くのタプルを解きたい場合は、同じ方法でさらに多くの行が

追加されます。

-pindex <parameter indices> パラメータインデックス(整数)のカンマで区切られたリスト。与えられたインデックスの数は-plist によって与えられた引数の数に対応する必要がある。

22章 COMSOL Multiphysics の実行| 1475

表 22-20: COMSOL BATCH-特定引数

COMSOL BATCH オプション 説明

-plist <parameter value> パラメータ値のカンマで区切られたリスト

-pname <parameter name> パラメータ名のカンマで区切られたリスト

-port ポートに接続。

-stop 現在のソルバーが終了すると、現在のソルバーを停止し、使用可能なデータを返す。 下記参照。

-study <study tag> 計算するスタディ

バッチジョブの停止とキャンセル

次のコマンドを使用してバッチジョブを停止できます。

comsol batch -stop <level> -inputfile <filename>

ここで <level> はプロセスを停止するレベルです。できるだけ早く停止するには、レベルを高い値に設定します。デフォルトでは、

100に設定されています。 -inputfile オプションは、別のプロセスが実行しているモデルのファイル名を示します。 inputfile 引数は、別のプロセスを起動するために指定されたものと一致する必要があります。つまり、同じ入力ファイル引数を指定するか、また

は-inputfile を別のプロセスを起動するために指定された-outputfile と同じにする必要があります。

次のコマンドを使用して、バッチジョブを取り消すことができます。

comsol batch -cancel -inputfile <filename>

-inputfile オプションは、別のプロセスが実行しているモデルのファイル名を示します。 inputfile 引数は、別のプロセスを起動するために指定されたものと一致する必要があります。つまり、同じ入力ファイル引数を指定するか、または-inputfile を別のプロセスを起動するために指定された-outputfile と同じにする必要があります。

モデルの求解のために COMSOL バッチモードを使用するには、次のコマンドを実行します。

comsol batch -inputfile in.mph -outputfile out.mph -study std1

このコマンドは COMSOL のバッチを開始し、そのモデルでアクティブソルバの設定を使用して指定されたファイル名のモデルMPH ファイルでモデルを求解し、その解を out.mph に格納します。

-study オプションは、COMSOL Multiphysics に特定のスタディを実行するように指示します。スタディは、そのタグによって識別されます。COMSOL デスクトップで、モデルビルダーノードラベルの下の名前とタグの表示を選択し、モデルビルダーのスタディの下にあるジョブのタグを中括弧内に表示します。モデルオブジェクトでは、コマンド model.study( ).tags( ) によってジョブのタグを決定します。ジョブのタグを使用したmodel.study(<tag>).name( ) によって、それぞれのスタディの名前を決定することができます。

-job オプションは-study オプションと同様の働きをします。これは、COMSOL Multiphysics に特定のジョブを開始するように指示します。そのジョブは、タグで識別されます。モデルオブジェクトでは、コマンド model.batch( ).tags( ) によってジョブのタグを決定します。ジョブのタグを使用したmodel.batch(<tag>).name( ) によって、それぞれのジョブの名前を決定することができます。

COMSOL COMPILE コマンド

comsol compile コマンドは、COMSOL バッチコマンドで使用する、または GUI にクラスファイルをロードするために使用する Java のモデルファイルをコンパイルします。comsol compile コマンドにおけるWindows 構文は、以下の通りです。

comsol [<options>] compile [<target arguments>] <file>.java

Java ファイルは必須です。次のオプションのターゲット引数を使用することができます。

表 22-21: COMSOL COMPILE オプション

COMSOL COMPILE オプション 説明

-classpathadd <classpath> 追加のクラスパス

-jdkroot <path> JDK ルートへのパス

-verbose Verbose 出力

1476 | 22章 COMSOL Multiphysics の実行

COMSOL CLUSTER コマンド

オプション-nn <no. of nodes> 付きの comsol コマンドを使用します。-nn は、作成されたコンピュートノードの総数を指定します。 COMSOL インスタンスは、各コンピュートノードに存在し、MPI を使用して他のコンピュートノードと通信します。 コンピュート

ノードはオペレーティングシステム上で動作するプロセスであり、複数のコンピュートノードを単一のホスト上で実行するように割り

当てることができます。

COMSOL クラスタコマンドの構文は次の通りです。

comsol -nn <no. of nodes> [<options>] [<target>] [<target arguments>]

以下のクラスタコマンドが利用可能です。

表 22-22: COMSOL CLUSTER ターゲット

COMSOL CLUSTER コマンド 説明

comsol -nn <nn> batch 分散モードでクラスタ上の COMSOL バッチジョブを実行。

comsol -nn <nn> mphserver COMSOL Multiphysics クライアントからのインタラクティブな利用のため、クラスタ上で分散モード

の COMSOL Multiphysics サーバを実行。

comsol -nn <nn> クラスタ上でインタラクティブに分散モードで COMSOL デスクトップを実行。

COMSOL クラスタジョブを開始する好ましい方法は、COMSOL デスクトップのスタディノードから開始します。コマンドラインからCOMSOL クラスタジョブを開始する必要がある場合の好ましい方法は、comsol -nn <nn> batch コマンドを使用することで

す。これは、comsol -nn <nn> mphserver と comsol -nn <nn> のコマンドが、COMSOL を実行するクラスタノードへのクライアントコンピュータからの TCP/ IP アクセスを必要とするためです。

Linux 上のクラスタでは、次のオプションを使用できます。

表 22-23: COMSOL CLUSTER オプション

COMSOL CLUSTERオプション 説明

-clustersimple クラスタの簡単な起動 1

-f <path> ホストファイルへのパス1

-mpi {auto} | intel | mpich2 |

whpc2008 | user | path 使用する MPI ライブラリ

1

-mpiarg <arg> MPI クラスタ固有のコマンド引数.2

-mpibootstrap {ssh} | rsh |

fork | slurm | ll | lsf | sge |

jmi Hydra のブートストラップサーバを設定する。 1

-mpibootstrapexec <path> ブートストラップサーバによって使用される実行ファイル 1

-mpidebug <debug level> MPI 出力レベルを設定する。 1

-mpienablex Xlib 転送を有効にする。 1

-mpifabrics

fabric1 : fabric2

fabric1 が<shm | dapl | tcp | tmi | ofa>のうちの一つであり、fabric2 が<dapl | tcp | tmi |

ofa>のうちの一つであるネットワークファブリックを選択する。(1)

-mpihosts <hostnames> MPI ホスト。 ホスト名のコンマ区切りリストを<hostnames>として使用します。

-mpipath <file> MPI 共有ライブラリファイル 1

-mpirmk <pbs> PBS スケジューラ用のリソース管理カーネルを選択。

-mpiroot <path> MPI ライブラリインストールルートパス 1

-nn <no. of nodes> コンピュートノード数 1

-nnhost <no. of nodes> 各ホスト上のコンピュートノード数 1

-scalapack {auto} | mpich2 |

wccs2003 | whpc2008 | user |

path 使用する Scalapack ライブラリ 1

-scalapackpath <path> Scalapack ライブラリパス 1

22章 COMSOL Multiphysics の実行| 1477

参考文献

1 COMSOL CLUSTER コマンドを参照

2 分散 COMSOL とMPI のトラブルシュートを参照

Linux での実行

COMSOL Multiphysics は、MPI 環境を初期化するために Hydra を使用しています。 MPI で COMSOL Multiphysics を起動するには、以下のコマンドラインを使用します。

comsol -nn <number of compute nodes> -f <filename>

ファイル<filename> には、使用する物理ノード(またはホスト)のホスト名を含める必要があります。hostname コマンドから、各物理ノードのホスト名を調べることができます。各物理ノードは、ファイル内の別々の行に表示される必要があります。また、各物

理ノードの IP アドレスを一覧表示することができます。ファイルには、実際に使用するよりも複数のホストを含めることができます。

• スイッチ-mpibootstrap を使用した接続のために使用されるリモートノードのアクセスメカニズムを設定することができます。

有効なオプションは、ssh、rsh、fork、slurm、ll、lsf、sge、および jmi です。これは、 ssh がデフォルトで使用されるプロトコルであるため、クラスタが ssh 以外の異なるリモートノードのアクセスメカニズムのみをサポートしている場合に重要です。

• /usr/bin/ssh.のようなリモートノードのアクセスメカニズムへのパスを設定するには、スイッチ-mpibootstrapexec を使用し

てください。

• -mpidebug オプションは、MPI からの出力レベルを設定します。デフォルトはレベル 4 です。

• オプション-mpifabrics fabric1:fabric2 によって通信に使用するネットワークファブリックを制御することができます。fabric1は shm、dapl、tcp、tmi、または ofa のいずれかであり、fabric2 は dapl、tcp、tmi、または ofa のいずれかです。使用するデフォルトのファブリックに問題がある場合は、このオプションを使用します。

• Xlib の Forwarding(転送)を有効にするには、-mpienablex 使用します。 Xlib の Forwarding(転送)は、デフォルトではオフになっています。

以前は、COMSOL MPI 環境の初期化の実行と COMSOL Multiphysics の開始は簡単でした。-clustersimple オプションはまだサポートされていますが、他の COMSOL コマンドと同じ Hydra MPI 初期化をクラスタオプションを指定して実行します。 例

えば、

comsol -clustersimple batch -inputfile input.mph -outputfile output.mph

これは、指定されたコンピュートノード数が 4 の場合、次のコマンドに相当します。

comsol -nn 4 batch -inputfile input.mph -outputfile output.mph

従って、コマンドに COMSOL クラスタオプションが含まれていない場合、-clustersimple を使用すると、Intel®MPI ライブラリーはプログラムにスケジュールされたノード数を自動的に検出します。 但し、COMSOL Multiphysics はMPI とマルチスレッドを組み合わせてより効率的なパフォーマンスを得ることができるため、-nn オプションを使用してプロセス数を明示的に設定するのが一般的です。 -nn オプションを指定すると、-clustersimple オプションは追加の効果を持ちません。

分散 COMSOL の開始 — Linux の例

実行する予定の全てのノード上で COMSOL Multiphysics が開始できることを確認します。

各ノードは、ライセンスマネージャにアクセスする必要があります。ノードがライセンスをチェックアウトできない

場合は、起動処理を中止します。

次の 3 つの例は、それぞれ COMSOL デスクトップ、COMSOL Multiphysics Server、および COMSOL バッチモードで分散コンピューティングを開始するコマンドを示しています。それぞれは、四つの計算ノードを開始し、hostfile ファイルにリストされた四つのホストのそれぞれに一つずつを開始します。

comsol -nn 4 -f hostfile

comsol -nn 4 -f hostfile mphserver

comsol -nn 4 -f hosts batch -inputfile in.mph -outputfile out.mph

1478 | 22章 COMSOL Multiphysics の実行

各 COMSOL プロセスの CPU コア数を指定することができます。 次のコマンドは、オプション-np 2 を使用して、二つの CPU コ

アを各コンピュートノードに割り当てます。

comsol -nn 4 -np 2 -f hostfile

ホストよりも多くのコンピュートノードを持つことも可能です。 次のコマンドは、八つのコンピュートノードを初期化し、二つのコンピュ

ートノードを各ホストに割り当てます。

comsol -nn 8 -nnhost 2 -f hostfile

追加のコマンドラインオプションについては、表 22-23 の COMSOL クラスタオプションを参照してください。

MPI オプション

MPI のいくつかの実装があります。COMSOL Multiphysics には Intel MPI ライブラリが同梱されており、MPICH2 に基づく多くのMPI 実装がサポートされています。デフォルトの Intel MPI ライブラリを使用されることをお勧めします。 MPICH2 がインストールされているコンピュータ上で COMSOL Multiphysics を実行するために、COMSOL のソフトウェアはオプション-mpi mpich2 を追加することでアクティベート可能な互換モードも持っています。このオプションを使用する場合、変数 PATH と

LD_LIBRARY_PATH の両方がMPI 実装を含んでいる必要があります。オプション-mpipath <path to shared library> と

-mpiroot <path to root of mpi library installation> を使用して、MPICH2 に基づく他のMPI ライブラリを使用することも可能です。表 22-14 は、MPI 関連オプション、-mpi、-mpipath、-scalapack、および-scalapackpath を示しています。また、COMSOL MPI 引数は、COMSOL の起動スクリプト内部で設定可能です。クラスタコンピューティングのスタディを通じてジョブスケジューラと連動するように COMSOL を設定するには、以下のように comsol.ini ファイルでオプションを設定します。

-Dcs.precmd=<Command line>

-Dcs.postcmd=<Command line>

これは、comsol コマンドの前と comsol コマンドの後にコマンドを追加します。これらの pre-または postcommands のいずれかに{NN}または{perhost}を追加することができます。これは、クラスタコンピューティングのスタディに対応する設定から各ホスト上のノード数とノード番号を使用するために、クラスタコンピューティングのスタディを設定します。詳細については、1077 ページの

Cluster Computing を参照してください。

分散 COMSOL と MPIのトラブルシュート

COMSOL Multiphysics モデルを実行しないでMPI 環境のトラブルシューティングを行うには、次の構文を使用できます。

comsol [<options>] hydra [<Hydra command>] [<target arguments>]

表 22-24: COMSOL HYDRA コマンド

COMSOL HYDRA コマンド 説明

cleanup mpicleanup コマンドを実行。

mpitest 分散型のテストプログラムを実行。

tune mpitune コマンドを実行。

各コマンド、入力の詳細については、例えば、comsol -h hydra cleanup のように、-h スイッチを使用します。

しかし、Intel MPI ライブラリを同梱した COMSOL Multiphysics は、MPI ライブラリと互換のMPICH2 と最も互換性があります。Intel MPI ライブラリのランタイムの最新バージョンは、http://software.intel.com/en-us/intel-mpi-library からダウンロードしてください。Intel MPI の別のバージョンや他のMPI ライブラリで COMSOL Multiphysics を実行するには、MPIライブラリのルートパスに-mpiroot を設定します。また、ダウンロードしたライブラリが使用するバージョンの COMSOL Multiphysics と互換性がない場合(これは通常の場合であってはならない)には、使用されるべき動的にロードされるライブラリに-mpipath を設定します。Intel MPI ライブラリのデフォルトでは、通信プロトコルとして ssh を使用すべきです。他の通信プロ

トコルが必要な場合は、オプションの-mpibootstrap <protocol> を使用します。 スケジューラを使用している場合、Intel MPI

ライブラリは多くの場合に自動的に実行されている環境を検出することができ、この場合、COMSOL コマンドで追加のクラスタオプションを指定する必要はありません。

• PBS ベースのスケジューラを使用している場合は、Intel MPI 環境を正しく解釈するために、コマンドラインにオプション-mpirmk pbs を追加します。Intel MPI ライブラリは、自動的に通信を行うための最良の選択肢を検出しようとし、それを検出した場合には InfiniBand を使用します。InfiniBand を使用している COMSOL を確認するには、COMSOL の起動からの出力をチェックします。TCP 転送モードについては言及しません。

• Myrinet ネットワーク上での実行に問題がある場合は、コマンドラインにオプション-mpiarg -mx を追加します。

22章 COMSOL Multiphysics の実行| 1479

• Qlogic ネットワーク上での実行に問題がある場合は、コマンドラインにオプション-mpiarg -psm を追加します。

• インテルネットワークでの実行に問題がある場合は、-mpiarg -psm2 オプションをコマンド行に追加します。

いくつかのケースでは、1に設定された環境変数 PSM_SHAREDCONTEXTS_MAX とオプションを組み合わせる場合に役立ち

ます。オプション-mpifabrics fabric1:fabric2 によって通信に使用されるファブリックを制御することができます。この場合、fabric1 が fabric2 に等しいか、あるいは fabric1 が shm です。

COMSOL Multiphysics の開始時にアボートした場合、全てのノードがライセンスマネージャにアクセス可能であること、およびCOMSOL Multiphysics が分散実行していない時に各ノードで開始できることを確認します。時には、$HOME/.comsol/ v53a/configuration/comsol/*.log にあるログファイルに追加情報があります。これで問題が解決しない場合は、MPI ライブラリが次のコマンドを使わなければならないような動作を行っていることを確認するために、MPI のテストプログラムを開始します。

comsol -nn <number of nodes> -f <hostfile> hydra mpitest

Hydra を使用した場合の起動プロセスについてのより詳細な情報は、-mpiarg -verbose 使用するか、または-mpidebug を

デフォルトの 4より大きい値に設定します。

COMSOL MATLAB コマンド

MATLAB®を通じて COMSOL API にアクセスするには、COMSOL matlab コマンドを使用します。 以下のように入力します。

comsol mphserver matlab [<options>]

これは、コンソールウィンドウで COMSOL Multiphysics サーバを起動し、MATLAB を開始し、COMSOL Multiphysics サーバにMATLAB を接続します。

次のオプションは、comsol mphserver matlab コマンドで使用できます。

表 22-25: COMSOL MATLAB オプション

COMSOL MATLAB オプション 説明

-desktop デスクトップ付きで起動。

-graphics グラフィックスライブラリを使用してサーバを起動する。これは、サーバ上のプロットを有効にする。comsol

mphserver matlab [<options>]を実行中にだけ利用可能。

-host <hostname> ホストに接続。

-mlnosplash MATLAB splash screen 無しで起動。

-mlroot <path> MATLAB インストールディレクトリ

-mlstartdir <path> ディレクトリパス<path>で開始。

-nodesktop デスクトップ無しで起動。

-port <hostname> ポートに接続。

macOSintosh での COMSOL コマンド

詳細な起動オプションと COMSOL の製品を起動するには、comsol コマンドを使用します。

COMSOL コマンドの一般的な構文は次の通りです。

comsol [<target>] [<options>] [<target arguments>]

ここで、角括弧はオプションの引数を示しています。comsol コマンドは、さまざまな目的に対応するオプションのターゲットと組み合わせることができます。次の表は、コマンドとターゲットを示しています。

表 22-26: COMSOL コマンドターゲット

コマンドとターゲット 説明 利用方法

comsol スタンドアローンで COMSOL Multiphysics を実行。

comsol batch COMSOL MPH ファイルまたは class ファイルを実行。

1480 | 22章 COMSOL Multiphysics の実行

表 22-26: COMSOL コマンドターゲット

コマンドとターゲット 説明 利用方法

comsol compile モデル Java ファイルをコンパイル。

comsol mphclient COMSOL Multiphysics クライアントを実行。

comsol mphserver COMSOL Multiphysics サーバを起動。

comsol mphserver matlab MATLAB を起動し、COMSOL Multiphysics サーバに接続。

LiveLink™ for MATLAB® ライセンスが必要。

comsol コマンドは、COMSOL のインストールディレクトリの bin フォルダにあります。

INI ファイル

bin ディレクトリ内のサブディレクトリmacOSi64 に多くの.ini ファイルがあります。時々これらのファイルを編集することをお勧めします。例えば、対応する INI ファイルを変更することによって、上記のいずれかのコマンドにオプションを追加することができます。オプション opt の値 val を変更するには、ファイル comsol.ini に以下の行を追加します。

- Dopt= val

comsol batch に対してファイル comsolbatch.ini を変更し、他の COMSOL のターゲットに対しても同様です。

オプション

COMSOL コマンドとターゲットの後にさまざまなオプションを入力することができます。表 22-14 は、全ての COMSOL コマンドで使用可能なオプション( コマンドの構文で [<options>] を参照 )を示しています。(必要なら、)常にコマンドとターゲットとの間

にこれらのオプションを指定します。

表 22-27: COMSOL オプション ( 中括弧はデフォルト値を示す )

COMSOL オプション 説明

<target> -h ターゲット特定ヘルプを出力表示。

-3drend ogl | sw 3D レンダラー: OpenGL または ソフトウェアレンダリング

-applicationsroot <path> COMSOL アプリケーションライブラリのルートディレクトリへのカスタムパスを設定。1

-autosave <{on} | off> リカバリファイルの保存を制御。

-blas {auto} | mkl | acml | path 使用する BLAS ライブラリ 3

-blaspath <path> BLAS ライブラリのパス 3

-c <path> ライセンスファイルのパス

-ckl クラスキットライセンスを使用。

-comsolinifile <path> COMSOL 起動時に使用する.ini ファイルへのカスタムパスを指定。

-configuration <path>

セッション間の GUI の状態を格納するため、および異なるキャッシングタスクを実行するためのディレクトリへのパス。コンフィギュレーションディレクトリは、デフォルトで

は環境設定ディレクトリのサブディレクトリ。但し、-prefsdir オプションを使用すると、

コンフィギュレーションディレクトリのデフォルトの場所は影響を受けない。

-data <path>

内部作業領域情報を格納するためのワークスペースディレクトリへのパス。 ワークス

ペースディレクトリは、デフォルトでは環境設定ディレクトリのサブディレクトリ。但し、

ワークスペースディレクトリのデフォルトの場所は、-prefsdir オプションの影響を受け

ない。COMSOL を起動すると、ワークスペースディレクトリはクリアされる。

-docroot <path> COMSOL ドキュメントのルートディレクトリへのカスタムパスを設定。1

-h 一般のヘルプを出力表示。

-keeplicenses on | {off} セッション中にライセンスをチェックアウトしておく。

-mpmode throughput | turnaround | owner マルチプロセッサモード2

22章 COMSOL Multiphysics の実行| 1481

表 22-27: COMSOL オプション ( 中括弧はデフォルト値を示す )

COMSOL オプション 説明

-np <no. of cores> コア数2

-prefsdir <path> 環境設定のディレクトリ

-recoverydir <path> リカバリディレクトリへのパス。リカバリディレクトリは、デフォルトでは環境設定ディレ

クトリのサブディレクトリ。

-tmpdir <path> テンポラリファイルのディレクトリ。空白は、ファイルディレクトリのパスではサポートさ

れていない。

v , -version COMSOL バージョンを出力表示。

参考文献

1 ドキュメントおよびアプリケーションライブラリのルートディレクトリを参照

2 共有メモリのオプションを参照

3 BLAS オプションを参照

-tmpdir オプションでは、COMSOL Multiphysics のソフトウェアは、テンポラリファイルを格納する指定ディレクトリを使用しています。COMSOL Multiphysics ソフトウェアが設定ファイルを格納するディレクトリを指定するには、-presdir オプションを使用します。

ドキュメントおよびアプリケーションライブラリのルートディレクトリ

デフォルトの COMSOL インストールでは、ドキュメントファイルはインストールのルートディレクトリの下のディレクトリ doc に置かれています。別の場所にドキュメントディレクトリを移動する場合は、-docroot オプションを使用します。

同時に、アプリケーションライブラリのルートディレクトリ applications を COMSOL のインストールルートの下のデフォルトの場所から移動したい場合は、-applicationsroot オプションを使用します。ドキュメントとアプリケーションライブラリのルートディレクトリのリロケーションは、アプリケーションライブラリの更新を管理するのに便利です。83 ページの The Application Library Update Window を参照してください。

これらのオプションを使用してドキュメントとアプリケーションライブラリのルートディレクトリへのパスを設定して

も、ディレクトリとその内容自体は移動しません。

共有メモリオプション

使用するコアとプロセッサの数を制御するには、オプション-np を使用します。デフォルトでは、全ての利用可能なコアとプロセッサを使用します。また、環境設定ダイアログボックスでマルチコアおよびクラスタコンピューティングのページで環境設定としてのコア

数を指定することもできます。手動でコア数を指定するには、コア数のチェックボックスを選択し、関連するテキストフィールドに数

値を入力します。

あなたのマシンがどのようにロードされるかに応じて、COMSOL Multiphysics が利用可能なプロセッサを使用する方法を制御することができます。次のオプションが用意されています。

表 22-28: COMSOL マルチプロセッサモードオプション

MPMODE オプション 説明

owner 殆どの場合、最も高い性能を提供。

throughput いくつかの異なるプロセスが COMSOL と同時にアクティブに実行されている場合に、ベストな性能を与えることが期待される。

turnaround 通常、COMSOL 以外の他のプロセスがアクティブでない場合に、ベストな性能を提供。

時には、ご自分の構成に最適な動作オプションを見つけるために試してみるとよいでしょう。

BLAS オプション

BLAS は、基本的な線形代数演算の関数のセットです。 COMSOL ソフトウェアの計算エンジンの大部分は、BLAS に依存しています。 COMSOL のソフトウェアは、次の BLAS 関連オプションが用意されています。

1482 | 22章 COMSOL Multiphysics の実行

表 22-29: COMSOL BLAS オプション

BLAS オプション 説明

auto 自動的に BLAS ライブラリを判別する: MKL

mkl Intel MKL ライブラリを使用。

path オプション-blaspath または環境変数 COMSOL_BLAS_PATH を使用して指定された BLAS ライブラリを使用。

MKL は COMSOL Multiphysics と一緒に配布されています。

デフォルトとは異なる BLAS ライブラリを使用する場合は、COMSOL Multiphysics がそのライブラリを見つけることができることを確認してください。 COMSOL Multiphysics がライブラリを見つけるための最も簡単な方法は、/lib/macOSi64 か標準の検索パスのどこかにそれを置いておくことです。また、ライブラリが必要とする任意のサブライブラリへのパスも提供することです。

ライブラリがインストールされているディレクトリを指すように検索パスを設定します。これには、環境変数

DYLD_LIBRARY_PATH を使用します。あなたのライブラリは、標準の FORTRAN LAPACK のインタフェースと標準のFORTRAN BLAS のインタフェースの両方をサポートしている必要があります。LAPACK および BLAS インタフェースがいくつかのライブラリで構成されている場合は、LAPACK ライブラリへのパスを使用します。

COMSOL コマンド

表 22-14 のオプションへの追加として、スタンドアロンの COMSOL コマンドはmacOS 上で次のオプションをサポートしています。

表 22-30: COMSOL コマンド-ライン引数

COMSOL オプション 説明

-open <file> アプリケーションを開く。

-run <file> アプリケーションを実行する。

COMSOL MULTIPHYSICS サーバコマンド

計算の要求を処理する準備ができて COMSOL プロセスを開始するには、COMSOL Multiphysics サーバのコマンドを使用します。 COMSOL Multiphysics サーバは、COMSOL Multiphysics のクライアントからの TCP / IP 接続を待機しています。

COMSOL デスクトップは、COMSOL Multiphysics サーバに接続されると COMSOL Multiphysics のクライアントになります。

また、LiveLink™ for MATLAB® は、COMSOL Multiphysics のサーバに接続する必要があります。

COMSOL Multiphysics サーバのコマンドの構文は次の通りです。

comsol [<options>] mphserver [<target arguments>]

次のターゲット引数は、COMSOL Multiphysics サーバのコマンドとして使用できます。

表 22-31: COMSOL MULTIPHYSICS サーバコマンド-ライン引数

COMSOL MULTIPHYSICS サーバオプション 説明

-graphics グラフィックスライブラリを使用してサーバを起動する。これは、クライアントと接続している(つまり、

COMSOL デスクトップではない)場合、サーバ上のプロットを表示する。

-login

{info} | force | never | auto

ログイン情報を問い合わせる。info は、不足している情報だけを問い合わせることを意味する。

force は、パスワードをリセットする。never は、ログイン情報が利用可能であることを必要とする。

auto は、自動的に新しいユーザ名とパスワードを作成する。

-multi {auto} | on | off クライアント接続の繰り返しを許可。

-passwd reset | nostore 新しいパスワード提供に関する指定。ファイルに新しいパスワードを保存しないようにする場合は、

<nostore>を使用する。

-port <port> 接続試行を待機する TCP/ IP ポートの指定。

-silent 標準入力を待たない。

-user <user> ユーザのログイン名を特定。

22章 COMSOL Multiphysics の実行| 1483

COMSOL Multiphysics サーバコンピュータのアクセス

COMSOL Multiphysics サーバを実行しているコンピュータにアクセスするには、単に、ssh または同様のコマンドを使用してサ

ーバコンピュータにログインし、comsol server コマンドを入力します。

ログイン情報

COMSOL Multiphysics サーバを初めて起動すると、ユーザ名とパスワードの入力を求められます。その後、COMSOL ソフトウェア が COMSOL Multiphysics のクライアントとサーバ間の通信に使用するユーザ名とパスワードを選択します。また、COMSOL Multiphysics クライアントを開始する際に開かれる Model Navigator の中の設定ページで、一致するユーザ名とパスワードを指定する必要があります。ソフトウェアは、このログイン情報を login.properties ファイルに書き込みます。ログイン情報は、ホームディレクトリの Library/Preferences/COMSOL/v53a/login.properties に置かれています。

クライアントサーバのセキュリティ問題

COMSOL は、COMSOL Multiphysics が別のクライアントとサーバとして実行するクライアントサーバモードで動作することができます。 COMSOL は、TCP/ IP 接続を使用してサーバとクライアントの間でデータを送信します。

信頼できないユーザは COMSOL のログイン情報にアクセスできないことを常に確認してください。ファイルLibrary/Preferences/COMSOL/v53a/login.properties を保護します。このことは、COMSOL Multiphysics クライアントサーバの設定で使用する場合に重要です。また、-passwd nostore オプションで COMSOL Multiphysics サーバを起動し、サーバへの接続時にユーザ名とパスワードを記憶のチェックボックスをオフにします。これによって、あなたのログイン情報がファイルに保存されないことが保証されます。

COMSOL Multiphysics サーバが開始されると、ログイン情報へのアクセス権を持つ人があなたの COMSOL Multiphysicsサーバに接続する可能性が生じます。COMSOL Multiphysics のクライアントがリモートコンピュータから接続または切断すると、COMSOL Multiphysics サーバにメッセージが表示されます。クライアントからサーバへの接続は、TCP プロトコルを用いて行われます。

サーバとクライアントが相互にチャレンジハンドシェイク認証プロトコルを使用して認証されます。これは、ネットワーク通信の盗聴

者がログイン情報を容易に得ることができないことを意味します。クライアントとサーバ間の TCP 接続は、他の方法では暗号化されていません。TCP 接続の暗号化を必要とする場合は、そのような SSH または IPSEC などのプロトコルに基づいたサードパーテ

ィのソフトウェアを使用します。

セキュリティを強化するには、ファイアウォールと COMSOL Multiphysics サーバの設定変更の両方によって、COMSOL Multiphysics サーバにアクセスできるアドレス範囲を制限します。サーバで許可されるアドレス範囲を制限するには、<COMSOL Installation Directory>/bin/conf/server.xml のファイルを編集し、以下のラインを見つけてその指示に従います。

<!-- To restrict access to the COMSOL server you can uncomment the block below.

COMSOL Multiphysics サーバのデフォルトポートは 2036 です。COMSOL および COMSOL Multiphysics サーバの起動時に、オプション-port <port> を使用してこれを変更することができます。

ドキュメントのセキュリティの問題

COMSOL は、COMSOL デスクトップでドキュメントを提供するために、ドキュメントが開かれる際にクライアントコンピュータ上の別のドキュメントサーバを開きます。

セキュリティを強化するには、ファイアウォールとドキュメントサーバの設定変更の両方によって、ドキュメントサーバにアクセスでき

るアドレス範囲を制限します。サーバで許可されるアドレス範囲を制限するには、<COMSOL Installation Directory>\doc\ help\conf\server.xml のファイルを編集し、以下のラインを見つけてその指示に従います。

<!-- To restrict access to the documentation server you can uncomment the block below.

ドキュメントサーバのデフォルトポートは 8090 です。COMSOL Multiphysics の起動時に、オプション-docport <docport> を使用してこれを変更することができます。

COMSOL MULTIPHYSICS クライアントコマンド

サーバに接続のダイアログボックスを開いて COMSOL デスクトップを開始するには、COMSOL Multiphysics のクライアントコマンドを使用します。

COMSOL Multiphysics のクライアントコマンドの構文は、次の通りです。

1484 | 22章 COMSOL Multiphysics の実行

comsol [<options>] mphclient [<target arguments>]

次のターゲット引数が、COMSOL Multiphysics のクライアントコマンドとして用意されています。

表 22-32: COMSOL ターゲットコマンド-ライン引数

COMSOL MULTIPHYSICS クライアントオプション 説明

-open <file> ファイルを開く。

-port <port> 接続する TCP/IP ポートを特定。

-server <server name> 接続するサーバを特定。

COMSOL BATCH コマンド

ユーザインタフェースなしに COMSOL ジョブを実行するには、COMSOL バッチコマンドを使用します。 COMSOL バッチコマンドを使用して、モデルMPH ファイルと Java 用のモデルファイルの両方を実行します。Java 用のモデルファイルは、実行前にコンパイルする必要があります。 COMSOL のバッチコマンドの構文は、次の通りです。

comsol [<options>] batch [<target arguments>]

詳細なターゲット引数は、以下の通りです。

表 22-33: COMSOL BATCH-特定引数

COMSOL BATCH オプション 説明

-alivetime <seconds> ディスクにステータスを書き込むまでの時間。

-batchlog <file name> ログインを格納するファイル。使用しない場合、ログはコマンドウィンドウ

に表示される。

-cancel データを返さずに現在のソルバを停止する。 下記参照。

-checklicense <filename> モデル MPH ファイルのライセンス要件を出力表示。

-clearmesh 全てのメッシュを消去。

-clearsol 全てのソリューションをクリア(プローブデータを除く)。

-client クライアントとして実行。

-dev <filename> バッチクラスファイルから呼び出す追加クラスを伴う JAR ファイルへの

パス。

-error <{on} | off> エラー発生時に停止。

-graphics グラフィックスライブラリで COMSOLバッチを開始する。これは、解析中

にプロットを表示する。

-host ホストに接続。

-inputfile <file name> モデル MPH ファイル、または class ファイルを実行。

-job <job tag> 実行するバッチジョブ

-mode {batch} | desktop バッチとクラスタコンピューティングの設定を無視する。上記のバッチとク

ラスタコンピューティングの設定無視を参照。

-nosave 結果モデルを保存しない。

-outputfile <file name> 指定されたファイル名でモデル MPH ファイルを保存。出力が指定され

ていない場合は、入力ファイルが出力で上書きされる。

-paramfile <filename>

最初の行にパラメータ名、次の行に対応するパラメータ値タプルを含む

テーブルファイル。 つまり、パラメータ名は最初の行(スペース区切り)

に、パラメータ値(一つのタプルのみ)は 2 行目でスペース区切りにする

必要があります。 より多くのタプルを解きたい場合は、同じ方法でさらに

多くの行が追加されます。

-pindex <parameter indices> パラメータインデックス(整数)のカンマで区切られたリスト。与えられた

インデックスの数は-plist によって与えられた引数の数に対応する必要がある。

22章 COMSOL Multiphysics の実行| 1485

表 22-33: COMSOL BATCH-特定引数

COMSOL BATCH オプション 説明

-plist <parameter value> パラメータ値のカンマで区切られたリスト

-pname <parameter name> パラメータ名のカンマで区切られたリスト

-port ポートに接続。

-stop 現在のソルバーが終了すると、現在のソルバーを停止し、使用可能なデ

ータを返す。 下記参照。

-study <study tag> 計算するスタディ

バッチジョブの停止とキャンセル

次のコマンドを使用してバッチジョブを停止できます。

comsol batch -stop <level> -inputfile <filename>

ここで <level> はプロセスを停止するレベルです。できるだけ早く停止するには、レベルを高い値に設定します。デフォルトでは、100に設定されています。-inputfile オプションは、別のプロセスが実行しているモデルのファイル名を示します。 inputfile 引数は、別のプロセスを起動するために指定されたものと一致する必要があります。つまり、同じ入力ファイル引数を指定するか、また

は-inputfile を別のプロセスを起動するために指定された-outputfile と同じにする必要があります。

次のコマンドを使用して、バッチジョブを取り消すことができます。

comsol batch -cancel -inputfile <filename>

-inputfile オプションは、別のプロセスが実行しているモデルのファイル名を示します。 inputfile 引数は、別のプロセスを起動するために指定されたものと一致する必要があります。つまり、同じ入力ファイル引数を指定するか、または-inputfile を別のプロセスを起動するために指定された-outputfile と同じにする必要があります。

モデルの求解のために COMSOL バッチモードで COMSOL Multiphysics ソフトウェアを使用するには、次のコマンドを実行します。

comsol batch -inputfile in.mph -outputfile out.mph -study std1

このコマンドはバッチモードで COMSOL を開始し、そのモデルでアクティブソルバの設定を使用して指定されたファイル名のモデルMPH ファイルでモデルを求解し、その解を out.mph に格納します。

-study オプションは、COMSOL Multiphysics に特定のスタディを実行するように指示します。スタディは、そのタグによって識別されます。COMSOL デスクトップで、モデルビルダーノードラベルの下の名前とタグの表示を選択し、モデルビルダーのスタディの下にあるジョブのタグを中括弧内に表示します。モデルオブジェクトでは、コマンド model.study( ).tags( ) によってジョブのタグを決定します。ジョブのタグを使用したmodel.study(<tag>).name( ) によって、それぞれのスタディの名前を決定することができます。

-job オプションは-study オプションと同様の働きをします。これは、COMSOL Multiphysics に特定のジョブを開始するように指示します。そのジョブは、タグで識別されます。モデルオブジェクトでは、コマンド model.batch( ).tags( ) によってジョブのタグを決定します。ジョブのタグを使用したmodel.batch(<tag>).name( ) によって、それぞれのジョブの名前を決定することができます。

COMSOL COMPILE コマンド

COMSOL コンパイルコマンドは、COMSOL バッチコマンドで使用する、または GUI にクラスファイルをロードするために使用

する Java のモデルファイルをコンパイルします。COMSOL コンパイルコマンドにおける構文は、以下の通りです。

comsol [<options>] compile [<target arguments>] <file>.java

Java ファイルは必須です。次のオプションのターゲット引数を使用することができます。

1486 | 22章 COMSOL Multiphysics の実行

表 22-34: COMSOL COMPILE オプション

COMSOL COMPILE オプション 説明

-classpathadd <classpath> 追加のクラスパス

-jdkroot <path> JDK ルートへのパス

-verbose Verbose 出力

COMSOL MATLAB コマンド

MATLAB を通して COMSOL API にアクセスするには、COMSOL MATLAB コマンドを使用します。次のコマンドを入力します。

comsol mphserver matlab [<options>]

これは、コンソールウィンドウで COMSOL Multiphysics サーバを起動し、MATLAB を開始し、COMSOL Multiphysics サーバにMATLAB を接続します。

次のオプションは、comsol mphserver matlab コマンドで使用できます。

表 22-35: COMSOL MATLAB オプション

COMSOL MATLAB オプション 説明

-desktop デスクトップ付きで起動。

-graphics グラフィックスライブラリを使用してサーバを起動する。これにより、

サーバ上でのプロットが可能になる。 comsolmphserver matlab

[<options>]を実行している場合にのみ使用可能。

-host <hostname> ホストに接続。

-mlnosplash MATLAB のスプラッシュスクリーン無しで起動。

-mlroot <path> MATLAB インストールディレクトリ

-mlstartdir <path> ディレクトリパス<path>で開始。

-nodesktop デスクトップ無しで起動。

-port <hostname> ポートに接続。

22章 COMSOL Multiphysics の実行| 1487

1488 | 22章 COMSOL Multiphysics の実行

計測エンジニアリングシステム株式会社

〒101-0047 東京都千代田区内神田 1-9-5 井門内神田ビル 5F

TEL: 03-5282-7040/FAX: 03-5282-0808

URL: http://www.kesco.co.jp

E-mail: [email protected]

著者: COMSOL AB. / COMSOL, Inc.

編集: 計測エンジニアリングシステム株式会社

Printed in Japan

2018 年 2月 9 日 初版発行 (バージョン 5.3a)

ソフトウエアはライセンスの同意条項のもとでのみ使用またはバックアップが許可されます。

本書の一部または全部を著作権法の定める範囲を越え、無断で複写、複製、転載することを禁じます。

COMSOL Multiphysics Reference Manual ~ Capter22: Running COMSOL Multiphysics ~

22章抜粋・日本語訳版 (バージョン 5.3a)

URL: https://www.comsol.jp