comsol multiphysics reference manual バージョン5.2a update2 … · 2018-11-08 · 21章 comsol...

48
COMSOL Multiphysics Reference Manual Capter21: Running COMSOL Multiphysics 21章抜粋・日本語訳版

Upload: others

Post on 17-Feb-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

COMSOL Multiphysics Reference Manual

~ Capter21: Running COMSOL Multiphysics ~

21章抜粋・日本語訳版

COMSOL Multiphysics Reference Manual

~ Capter21: Running COMSOL Multiphysics ~

21章抜粋・日本語訳版 (バージョン 5.2a-update2)

© 1998–2016 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 号で保護。特許出願中。

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

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

す。

COMSOL、the COMSOL logo、COMSOL Multiphysics、Capture the Concept、COMSOL Desktop、

LiveLink、および COMSOL Serverは、COMSOL ABの登録商標または商標です。その他の商標は全て、それぞれの

所有者の所有物であり、COMSOL ABおよびその子会社、製品は、これらの商標の所有者とは無関係であり、推奨、後援ま

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

バージョン: COMSOL 5.2a

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

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

お問い合わせ

一般的なお問い合わせ、技術サポートのお問い合わせ、住所および電話番号の検索については、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

21章 COMSOL Multiphysics の実行 | 1277

21

COMSOL Multiphysics の実行

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

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

Server Manualを参照してください。クラウドによって COMSOL Multiphysics を使用する場合については、www.comsol.com/ec2_manual を参照してください。

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

• COMSOL Multiphysics の実行

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

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

• COMSOL の並列実行

• COMSOL コマンド

1278 | 21章 COMSOL Multiphysics の実行

COMSOL Multiphysics の実行

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

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

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

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

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 および Mac上では、COMSOL Multiphysicsのサーバを起動するためのコマンド comsol mphserver を入力します。

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

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

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

COMSOL の並列動作モード

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

共有メモリ並列モード

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

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

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

ださい。

21章 COMSOL Multiphysics の実行| 1279

分散メモリ並列モード

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

Windows と Linux クラスタを含む並列アーキテクチャで 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 ソフトウェアを実行するためのオプションを制御することができます。バッチ機能を有効にするには、表示ボタン( )をクリックして、詳細スタディオプションを選択します。その後、モデルビルダー

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

また、コマンドプロンプトから COMSOL バッチ全体を実行することができます。

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

メモリ: RAM/MAXRAM VIRT/MAXRAM

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

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

現在の進捗状況: 53%

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

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

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

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

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

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

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

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

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

ことができます。

1280 | 21章 COMSOL Multiphysics の実行

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を参

照してください。

セキュリティ設定

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

ィ設定が用意されています。

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

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

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

• アプリケーションにコンピュータ上での外部プロセスの起動を許可するには、外部プロセスとライブラリを許可を選択します。こ

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

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

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

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

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

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

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

21章 COMSOL Multiphysics の実行| 1281

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

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

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

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

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

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

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

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

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

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

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

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

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

1282 | 21章 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 デスクトップ

(クライアントモード)

COMSOL Multiphysics サーバ

21章 COMSOL Multiphysics の実行| 1283

起動してリモートサーバに接続するために使用されます。Excel によって、モデルを開く際に COMSOL Multiphysics のサーバを起動することができます。

COMSOL Multiphysics サーバ

プロセス プロセス

コンピュータ

1284 | 21章 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 またはMac のサーバ上の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.2a の次に Client Server を選択し、COMSOL Multiphysics 5.2a Server を選択します。Windows でのターミナルウィンドウから COMSOL Multiphysics サーバを起動する場合は、コマンド<COMSOL Multiphysics installation directory>\bin\win64\comsolmphserver.exe を使用します。

21章 COMSOL Multiphysics の実行| 1285

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

• Mac OS X では、COMSOL Multiphysics サーバのアプリケーションを使用するか、あるいは別のコンピュータからMac 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 on のオプションで起動します。-multi on のオプションを使用している場合には、お使いのモデルはサーバ内のメモリに

格納され、後で別のクライアントからそのモデルに接続することができます。サーバに接続された時に COMSOL デスクトップを閉じた場合、クライアントサーバセッションが自動的に切断され、もし-multi on が指定されていれば、サーバはメモリ内のモデルによる実行を継続します。

61 ページのWindows Toolbars and Menus

1286 | 21章 COMSOL Multiphysics の実行

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 のクライアントとして動作している場合には、いくつかの共有ライブラリをロードします。

61 ページのWindows Toolbars and Menus

21章 COMSOL Multiphysics の実行| 1287

COMSOL の並列実行

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

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

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

共有メモリ並列 COMSOL

ほとんどのマルチプロセッサマシンとデュアルコアまたはマルチコアマシンは、共有メモリモデルをサポートしています。クラスタ上で

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

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

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

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

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

になります。

スパース線形ソルバの直接法 PARDISO は、並列に実行されます。また、スパース線形ソルバの直接法 SPOOLES も並列実行されます。MUMPS 直接法ソルバは、共有メモリ並列処理による効果が得られますが、PARDISO や SPOOLES よりも若干劣ります。

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

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

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

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

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

断面プロット、等値面プロット、体積プロット、ラインプロット、変形プロットを、および流線プロット: これらのプロット

は 3D で並列実行されます。

サーフェスプロット、コンタープロット、ラインプロット、変形プロット: これらのプロットは 2D で並列実行されます。

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

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

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

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

1288 | 21章 COMSOL Multiphysics の実行

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を参照してくださ

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

分散メモリ並列 COMSOL

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

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

場します。

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

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

タの一部です。これは、時々、物理ノードと呼ばれます。

• コア: コアは、複数のプロセッサを搭載した計算ノードによって共有メモリ並列処理に使用されるプロセッサコアです。

通常、使用するホストの数と計算ノードの数は同じです。多くのパラメータを持つ非常に小さな規模の解析のような、いくつかの特

殊な解析の場合は、一つのホスト上で複数の計算ノードを使用することは有益かもしれません。

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

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

図 21-1: 各々に 4 プロセッサを備えた 3 つの物理ノード(コンピュータ)のクラスタの概略図。

21章 COMSOL Multiphysics の実行| 1289

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

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

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

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

ロセッサを共有メモリ用に使用することができます。 COMSOL Multiphysics は、デフォルトで、Windows 上の共有メモリ並列処理のために各物理ノード上で利用可能なプロセッサ数と同じくらい多くのプロセッサを使用します。もし、計算ノード数が物理ノー

ド数と同じでない場合は、最適には及びません。プロセッサ数を明示的に設定することをお勧めします。概略の例において、もし 6

の計算ノードを実行した場合、プロセッサ数の最適値は 2 です。使用するプロセッサ数は 6・2=12 です。

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

の共有メモリのコアそれぞれについて 3 の計算ノードを使用します。一方、解析が小さい場合には、1の共有メモリコアそれぞれに

12 の計算ノードを使用します。この方法によって、それぞれの解析のための共有メモリと分散メモリ並列処理を最大限に活用する

ことができます。

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

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

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

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

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

• MUMPS

• SPOOLES

PARDISO は分散モードではサポートされません。 代わりに、MUMPS が使用されます。

計測エンジニアリングシステムからのお知らせ: バージョン 5.2aから PARDISOが対応されました。

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

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

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

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

• ドメインの分割

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

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

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

また、COMSOL Multiphysics は、分散モードを使用してパラメトリックスイープを実行することができます。分散パラメトリックスイープを開始する最も簡単な方法は、クラスタコンピューティングの設定ウィンドウのクラスタ設定セクションで、分散パラメトリック

スイープのチェックボックスを選択することです。既存のモデルを修正する最も簡単な方法は、クラスタコンピューティングのスタディ

を追加して、スタディノードの設定ウィンドウで計算を選択します。分散モードでパラメトリックスイープを実行すると、依然として、メ

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

ノード上での求解に比べて、より高速に全てのパラメータ値が解かれます。分散パラメトリックスイープと分散ソルバからの利点を

組み合わせたい場合には、スイープ中に分散されるグループの最大数を制限することができるハイブリッドモードでの実行が可能

です。この設定は、ソルバコンフィギュレーションの下のソルバでのパラメトリックノード、およびジョブコンフィギュレーションの下の

パラメトリックスイープノードでのみ使用可能です。この設定にアクセスするには、デフォルトソルバ表示のコマンドを使用します。

1290 | 21章 COMSOL Multiphysics の実行

クラスタでの COMSOL並列実行

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

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

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

マイクロミキサー — クラスタバージョンとマイクロアクチュエータのジュール加熱 — 分散パラメータバージョンのモードでは、クラスタ上で並列に COMSOL Multiphysics を実行するためのモデル設定方法を示しています。あるケースでは、大きな流体流れモデルの迅速な求解のために分散型ソルバージョブを使用しており、

別のケースでは分散型パラメータスイープを使用しています。

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

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

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

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

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

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

クラスタジョブを実行する手順を以下に示します。

1 COMSOL Multiphysics を開始します。

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

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

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

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

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

21章 COMSOL Multiphysics の実行| 1291

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

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

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

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

このコマンドは、スケジューラを伴わないクラスタ上 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 Multiphysics を実行している場合は、手順 1 と 3 をスキップし

ます。

1 コマンド comsol mphserver によって Linux® システムで COMSOL Multiphysics サーバを起動します。表示されているポート番号に注意してください(例えば、COMSOL 5.1 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 用を参照してください。

クラスタライセンス処理

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

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

1292 | 21章 COMSOL Multiphysics の実行

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

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

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

ます。

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

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

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

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

echo "Cancel" > outputfile.mph.status

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

echo "Stop 2" > outputfile.mph.status

これらのコマンドでは、それらが同じである場合、入力ファイルと出力ファイルを置き換えます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

21章 COMSOL Multiphysics の実行| 1293

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

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

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

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

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

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

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

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

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

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

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

ラタイプ設定を使用します。

1294 | 21章 COMSOL Multiphysics の実行

COMSOL コマンド

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

Windows での COMSOL コマンド

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

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

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

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

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

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

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

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

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

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

comsolmphserver COMSOL Multiphysics サーバを起動。

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

comsolbatch COMSOL MPH ファイルまたは class ファイルを実行。

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

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

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

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

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

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

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

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

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

comsol convertpre35a 3.0–3.5 モデルをバージョン 3.5a にコンバート(変換)。

COMSOL Multiphysics 3.5a のインストールが必要。

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

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

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

INI ファイル

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

-Dopt=val

21章 COMSOL Multiphysics の実行| 1295

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

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

オプション

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

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

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

COMSOLオプション 説明

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

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

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

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

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

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

-numasets <no. of sets> NUMA セット数 2

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

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

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

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

-ipv6 IPv6 サポートのアクティベート

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

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

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

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

-version <target> ターゲットバージョンを出力表示。

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

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

-recoverydir <path> リカバリディレクトリへのパス

-data <path> データディレクトリへのパス

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

参考文献

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

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

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

1296 | 21章 COMSOL Multiphysics の実行

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

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

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

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

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

てください。

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

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

共有メモリのオプション

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

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

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

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

MPMODE オプション 説明

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

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

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

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

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

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

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

BLAS オプション

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

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

BLAS オプション 説明

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

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

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

21章 COMSOL Multiphysics の実行| 1297

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

BLAS オプション 説明

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 コマンド

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

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

COMSOLオプション 説明

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

例えば、COMSOL-open myapp.mph という記述になります。 MPH ファイルがアプリケーションである場合、このコマンドを使

用することによってアプリケーションが実行されるか、あるいはアプリケーションビルダーを使用して編集するための COMSOL デスクトップが開かれるかは、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 サーバのコマンドで使用できます。

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

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

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

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

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

<nostore>を使用する。

-login

{info}|force|never|auto

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

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

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

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

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

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

1298 | 21章 COMSOL Multiphysics の実行

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

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

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

ログイン情報

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

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

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

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

信頼できないユーザは COMSOL のログイン情報にアクセスできないことを常に確認してください。あなたのホームディレクトリのファイル.comsol/ v52a/ 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>を使用してこれを変更することができます。

21章 COMSOL Multiphysics の実行| 1299

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

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

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

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

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

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

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

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

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

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

COMSOL BATCH コマンド

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

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

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

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

COMSOL BATCH ターゲット引数 説明

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

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

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

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

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

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

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

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

-paramfile <filename> 最初の行にパラメータ名、次の行にパラメータ値を含むテーブルファイル

-batchlog <filename> ログ出力を格納するファイル

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

-host ホストに接続。

-port ポートに接続。

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

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

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

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

1300 | 21章 COMSOL Multiphysics の実行

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

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

このコマンドは COMSOL のバッチを開始し、そのモデルでアクティブソルバの設定を使用して指定されたファイル名( この例ではin.mph )のモデル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 のコンパイルコマンドにおけるWindows 構文は、以下の通りです。

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

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

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

COMSOL COMPILE ターゲット引数 説明

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

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

-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>]

21章 COMSOL Multiphysics の実行| 1301

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

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

COMSOL CLUSTER コマンド 説明

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

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

COMSOL Multiphysics サーバを実行。

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

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

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

実行。

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

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

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

• Windows HPC Server 2008 またはWindows Compute Cluster Server 2003 がインストールされていることを確認します。他のWindows バージョンでの分散 COMSOL を実行することはサポートされていません。

• Windows HPC Server 2008 の作業ディレクトリが、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 を開始可能なことを確認してください。ライセンスをチェックアウト

するには、ノードがライセンスマネージャにアクセスする必要があります。

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

Windows HPC Server またはWindows Compute Cluster 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> …

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

COMSOL_Multiphysics/Tutorials/micromixer_c

1302 | 21章 COMSOL Multiphysics の実行

ここでは、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 2008 の詳細については、製品に同梱されたマニュアルおよびオンラインマニュアルを参照してください。

COMSOL Multiphysics サーバコマンドの例

COMSOL Multiphysics サーバのクラスタジョブが作成されると、環境設定ディレクトリが設定され、サーバのログインの問題を回避するために全てのノードから接続可能でなければなりません。COMSOL コマンドおよびログイン情報を参照してください。環境設定は、コマンドを使用してヘッドノード上で一度 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 2008またはWindows CCS2003 MPIライブラリを使用しています。また、COMSOLは、MPICH2に基づくもっとも多くのMPI実装をサポートしています。デフォルトのライブラリをご使用されることをお勧めします。また、COMSOLには、オプション-mpi mpich2を追加することによってアクティベートする互換モードがあります。このオプションを使用する場合、変数PATHとLD_LIBRARY_PATHの両方がMPI実装を含んでいる必要があります。オプション-mpipath <path to shared library> を使用して、MPICH2に基づく他のMPIライブラリを使用することも可能です。次のターゲット引数は、COMSOLクラスタコマンドで使用可能です。

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

COMSOL BATCH ターゲット引数 説明

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

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

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

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

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

-Dcs.scheduler=<IP or network adress> -Dcs.clusteruser=<Username on cluster>

21章 COMSOL Multiphysics の実行| 1303

-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}を追加することができます。これらは、そのノード数とクラスタコンピューティングのスタディの対応する設定から、そのノード数と各ホスト上のノード数を使用するようにクラスタコンピューティングのスタデ

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

COMSOL MATLAB コマンド

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

comsolmphserver matlab

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

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

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

COMSOL MATLAB オプション 説明

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

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

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

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

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

-mlnosplash MATLAB splash screen 無しで起動。

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

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

Linux での COMSOL コマンド

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

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

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

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

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

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

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

comsol mphserver COMSOL Multiphysics サーバを起動。

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

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

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

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

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

1304 | 21章 COMSOL Multiphysics の実行

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

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

comsol convertpre35a 3.0–3.5 モデルをバージョン 3.5a にコンバート(変換)。

COMSOL Multiphysics 3.5a のインストールが必要。

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

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

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

INI ファイル

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

-Dopt=val

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

オプション

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

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

COMSOL オプション 説明

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

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

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

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

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

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

を設定。1

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

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

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

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

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

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

-ipv6 IPv6 サポートをアクティベート

-nn <no. of nodes> ノード数4

-nnhost <no. of nodes> 各ホストのノード数4

-f <path> ホストファイルへのパス4

-mpi {auto} | intel | mpich2 | wccs2003 | whpc2008 |

user | path 使用する MPI ライブラリ

4

-mpiarg <arg> MPI クラスタの特定コマンド引数 5

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

-mpiroot <path> MPI ライブラリのルートパス 4

21章 COMSOL Multiphysics の実行| 1305

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

COMSOLオプション 説明

-mpirsh {rsh} | ssh MPD 起動時に rsh または ssh を使用。4

-mpibootstrap {ssh} | rsh | fork | slurm | ll | lsf | sge

| jmi Hydra のためのブートストラップサーバを設定。4

-mpibootstrapexec <path> ブートストラップサーバによって使用される実行可能ファイル4

-mpidebug <debug level> MPI 出力レベルの設定。 4

-mpienablex Xlib の転送を有効にする。4

-mpifabrics fabric1:fabric2 ネットワークファブリックとして、fabric1 は<shm | dapl | tcp | tmi | ofa>

のいずれか、fabric2 は<dapl | tcp | tmi | ofa><D いずれかを選択。(4)

-mpd Hydra ランチャーの代わりに MPD を使用。4

-scalapack {auto} | mpich2 | wccs2003 | whpc2008 |

user | path 使用する ScaLAPACK ライブラリ

4

-scalapackpath <path> ScaLAPACK ライブラリパス 4

-clustersimple クラスタの簡易スタートアップ4

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

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

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

-version COMSOL バージョンの表示。

-version <target> ターゲットバージョンの表示。

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

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

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

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

-recoverydir <path> リカバリディレクトリへのパス

-data <path> データディレクトリへのパス

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

参考文献

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

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

3 BLAS オプションを参照 4 COMSOL CLUSTER コマンドを参照

5 分散 COMSOL とMPI のトラブルシュートを参照

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

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

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

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

1306 | 21章 COMSOL Multiphysics の実行

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

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

共有メモリオプション

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

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

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

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

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

MPMODEオプション 説明

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

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

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

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

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

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

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

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

BLAS オプション

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

表 21-16: 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 がライブラリを見つけるための最も簡単な方法は、ARCH というアーキテクチャ

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

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

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

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

21章 COMSOL Multiphysics の実行| 1307

GCC オプション

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

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

COMSOL コマンド

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

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

COMSOLオプション 説明

-open <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 サーバのコマンドで使用できます。

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

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

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

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

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

-login

{info}|force|never|aut o

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

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

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

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

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

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

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

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

ログイン情報

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

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

1308 | 21章 COMSOL Multiphysics の実行

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

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

信頼できないユーザは COMSOL のログイン情報にアクセスできないことを常に確認してください。あなたのホームディレクトリのファイル.comsol/ v52a/ 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 のクライアントコマンドの構文は、次の通りです。

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

21章 COMSOL Multiphysics の実行| 1309

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

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

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

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

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

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

COMSOL BATCH コマンド

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

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

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

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

COMSOL BATCH オプション 説明

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

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

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

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

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

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

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

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

-batchlog <file name> ログ出力を格納するファイル

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

-host ホストに接続。

-port ポートに接続。

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

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

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

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

-prefermph COMSOL Multiphysics ライセンスを優先する。

-preferserver COMSOL サーバライセンスを優先する 。

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

comsol batch -inputfile in.mph -outputfile out.mph -study std1

このコマンドは COMSOL のバッチを開始し、そのモデルでアクティブソルバの設定を使用して指定されたファイル名のモデルMPH ファイルでモデルを求解し、その解を out.mph に格納します。

-study オプションは、COMSOL Multiphysics に特定のスタディを実行するように指示します。スタディは、そのタグによって識別されます。COMSOL デスクトップで、モデルビルダーノードラベルの下の名前とタグの表示を選択し、モデルビルダーのスタデ

1310 | 21章 COMSOL Multiphysics の実行

ィの下にあるジョブのタグを中括弧内に表示します。モデルオブジェクトでは、コマンド 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 ファイルは必須です。次のオプションのターゲット引数を使用することができます。

表 21-21: COMSOL COMPILE オプション

COMSOL COMPILE オプション 説明

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

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

-verbose Verbose 出力

COMSOL CLUSTER コマンド

クラスタ上の COMSOL を実行するには、オプション-nn <no. of nodes> 付きの comsol コマンドを使用します。

comsol -nn <no. of nodes> [<options>] [<target>] [<target arguments>]

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

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

COMSOL CLUSTER コマンド 説明

comsol -nn <nn> batch 分散モードでクラスタ上の COMSOL バッチジョブを実行。

comsol -nn <nn> server 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 での実行

COMSOL Multiphysics は、MPI 環境を初期化するために、デフォルトで Hydra を使用しています。 Hydra はMPD よりも

拡張性があり、起動するための追加コマンドを必要としません。

Hydra で COMSOL Multiphysics を起動するには、コマンドラインを使用します。

comsol -nn <number of compute nodes> -f <filename>

分散 COMSOL とMPI のトラブルシュート

21章 COMSOL Multiphysics の実行| 1311

ファイル<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 オプションはまだサポートされていますが、これはデフォルトの Hydra コマンドと同じです。 例えば、

comsol -nn 4 -clustersimple

通常は、バッチモードで COMSOL Multiphysics を実行する必要があります。以下のコマンドを使用します。

comsol –clustersimple batch -inputfile input.mph -outputfile output.mph

Intel MPI ライブラリでは、自動的にプログラムにスケジュールされたノードの数を検出することができます。 -nn スイッチでプロセス数を制限することで、COMSOL Multiphysics がMPI とマルチスレッドを組み合わせることを可能にします。これは、COMSOL Multiphysics を実行するための最も効率的な方法です。

MPD ランチャーの使用

COMSOL Multiphysics の以前のバージョンでは、MPI 環境はMPD によって起動されました。スイッチ

-mpd を使用する場合、まだMPD を使用することができますが、Hydra を使用されることをお勧めします。

MPI を開始するためには、あなただけがアクセス権を持っているホームディレクトリに.mpd.conf という名前のファイルを持ちます。このファイルには、単一行を含める必要があります。

secretword = <your secret word here>

COMSOL Multiphysics に同梱されているインテルMPI 上で、.mpd.conf ファイルはオプションです。

以下に、個々のクラスタコマンドの詳細について説明します。

COMSOL Multiphysics を開始する前に、MPI 環境を初期化する必要があります。いわゆるマルチプロセッシングデーモン(MPD)は、使用する各コンピュータノードで実行する必要があります。いくつかのコンピュータノード上の MPD を開始するには、

以下を入力します。

comsol -nn <number of compute nodes> mpd boot -f <filename>

ファイル<filename> には、使用するコンピュートノードのホスト名を含める必要があります。Linux コマンドのホスト名から、各ノードのホスト名を調べることができます。各ノードは、ファイル内の別々の行に表示される必要があります。また、各ノードの IP アドレスを一覧表示することができます。ファイルには、実際に使用するよりも複数のコンピュートノードを含めることができます。 -f <filename> オプション使用する代わりに、ホームディレクトリ内のmpd.hosts という名前のファイルにコンピュートノードのリストを置くことができます。スイッチ-mpirsh を使用して接続するために使用されるプロトコルを設定することができます。有効なオプションは、rsh と ssh のです。 このことは、rsh がデフォルトで使用されるプロトコルであるため、クラスタが ssh のみをサポートしている場合には重要です。コマンドを使用してそれらを一覧表示することで、全てのノードが起動されたことを確認します。

1312 | 21章 COMSOL Multiphysics の実行

comsol mpd trace

-nn オプションで分散 COMSOL を開始します。例えば、特定数の計算ノードで COMSOL Multiphysics サーバの実行を開始するには、以下を入力します。

comsol -nn <number of computational nodes> -mpd mphserver

計算ノード数は、コンピュートノード数を超えることができます。コンピュートノード上で複数の計算ノードを強制したい場合は、

-nnhost オプションを使用します。コンピュートノードで利用可能なコアの総数よりも多くの計算ノードを起動することは避けてください。分散 COMSOL の利用を終えたら、全てのMPD を停止させる必要があります。全てのMPD を停止するには、以下のコ

マンドを入力します。

comsol mpd allexit

comsol mpd コマンドの詳細情報を取得するには、例えば comsol mpd boot -h のように、そのコマンドに-h オプションを追加します。

次のコマンドを使用して、シングルコンピュータでMPD を開始します。

comsol mpd mpd &

これは、シングルマルチプロセッサコンピュータ上の全ての計算ノードを実行している場合、またはファイアウォールが原因で計算

ノードを取り付けるのが難しい場合に便利です。第 2 のケースでは、各ノードのMPD を開始することができ、メインポートとホスト

を指定することによってそれらを取り付けることができます。以下を使用します。

comsol mpd trace –l

そして、

comsol mpd mpd --port <the port number reported> --host <the hostname reported>

また、-clustersimple オプションで COMSOL Multiphysics を開始することができます。このオプションは自動的に起動し、MPD デーモンを終了させます。使用する計算ノードを決定するには、ホームディレクトリでmpd.hosts ファイルを使用します。

分散 COMSOL の開始 — Linux の例

実行する予定の全てのノード上で COMSOL Multiphysics が開始できることを確認します。

各ノードは、ライセンスマネージャにアクセスする必要があります。ノードがライセンスをチェックアウトできない

場合は、起動処理を中止します。

-clustersimple スイッチが設定されている場合に簡略化バージョンが使用されるか、Hydra ランチャーが使用されます。以下に例を示しています。分散型 COMSOL および簡略化された起動を使用して、ファイル hosts に記載されているホスト上の四つの計算ノードを起動しています。

comsol -nn 4 -clustersimple -f hosts alternatively comsol -nn 4 -clustersimple -f hosts mphserver alternatively comsol -nn 4 -clustersimple -f hosts batch -inputfile in.mph -outputfile out.mph

ここで、-clustersimple は Hydra のためのオプションです。

MPD 例

COMSOL Multiphysics の以前のバージョンでは、MPI 環境はMPD によって起動されました。スイッチ

-mpd を使用する場合、まだMPD を使用することができますが、Hydra を使用されることをお勧めします。

MPD を使用する際、シングルコンピュータ上でMPD を起動しています。その後、それぞれ三つのプロセッサを使用して(同じホ

スト上の)二つの計算ノード上の分散 COMSOL を起動し、最後にMPD を停止しています。

21章 COMSOL Multiphysics の実行| 1313

comsol mpd mpd & comsol -nn 2 -np 3 -mpd alternatively comsol -nn 2 -np 3 -mpd mphserver alternatively comsol -nn 2 -np 3 -mpd batch -inputfile in.mph -outputfile out.mph comsol mpd allexit

上記の例は、非常に大量のパラメトリックステップと非常に小型のモデルを持っている場合に使用することができ、1台のコンピュ

ータ上でmpd を使用することが有益であるかもしれません。

ファイルmyhosts で定義されたホスト名とコンピュートノード上の三つのMPD を開始します。ファイルの各行は、ノードのホスト

アドレスまたは IP アドレスを指定する必要があります。 MPD が正しく起動したことを確認してください。その後、三つの計算ノー

ド上で分散 COMSOL Multiphysics サーバを起動し、最後にMPD を停止します。まず、あなたのパスワードを使用せずに

ssh によって全てのコンピュータに接続できることを確認してください( ssh のマニュアルページを参照 )。また、全てのコンピュー

タが同じ COMSOL インストールへのアクセス権を持っていること、およびそれらが同一の Linux バージョンを使用していることを確認してください。セッションを開始するための二つのオプションがあります。一つはより詳細なもの、もう一つは省略バージョンで

す。

詳細バージョンの一つの例:

comsol -nn 4 mpd boot -f myhosts comsol mpd trace comsol -nn 4 -mpd alternatively comsol -nn 4 -mpd mphserver alternatively comsol -nn 4 -mpd batch -inputfile in.mph -outputfile out.mph comsol mpd allexit

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 ライブラリを使用することも可能です。表 21-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}を追加することができます。これは、クラスタコンピューティングのスタディに対応する設定から各ホスト上のノード数とノード番号を使用するために、クラスタコンピューティングのスタディを設定します。詳細については、943 ページの

Cluster Computing を参照してください。

分散 COMSOL と MPIのトラブルシュート

Hydra ランチャーは主要なMPI 環境です。Hydra コマンドの構文は次の通りです。

comsol [<options>] hydra [<Hydra command>] [<target arguments>]

表 21-23: COMSOL HYDRA コマンド

COMSOL HYDRA コマンド 説明

cleanup mpicleanup コマンドを実行。

mpitest 分散型のテストプログラムを実行。

tune mpitune コマンドを実行。

各コマンド、入力の詳細については、例えば、comsol -h hydra cleanup のように、-h スイッチを使用します。

1314 | 21章 COMSOL Multiphysics の実行

しかし、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 と互換性がない場合(これは通常の場合であってはならない)には、使用されるべき動的にロードされるライブラリに-mpipath を設定します。Intel MPI ライブラリのデフォルトでは、通信プロトコルとして ssh を使用すべきです。他の通信プロトコルが必要な場合は、

オプションの-mpibootstrap <protocol> を使用します。スケジューラを使用している場合は、Intel MPI は多くの場合に

-clustersimple スイッチの使用から実行中の環境を検出することができ、hosts ファイルを設定する必要はありません。

• PBS または Torque スケジューラを使用している場合は、Intel MPI 環境を正しく解釈するために、コマンドラインにオプション-mpiarg -rmk -mpiarg pbs を追加します。Intel MPI ライブラリは、自動的に通信を行うための最良の選択肢を検出しようとし、それを検出した場合には InfiniBandを使用します。InfiniBandを使用しているCOMSOL を確認するには、COMSOLの起動からの出力をチェックします。TCP 転送モードについては言及しません。

• Myrinet ネットワーク上での実行に問題がある場合は、コマンドラインにオプション-mpiarg -mx を追加します。

• Qlogic ネットワーク上での実行に問題がある場合は、コマンドラインにオプション-mpiarg -psm を追加します。

いくつかのケースでは、1に設定された環境変数 PSM_SHAREDCONTEXTS_MAX とオプションを組み合わせる場合に役立ち

ます。オプション-mpifabrics fabric1:fabric2 によって通信に使用されるファブリックを制御することができます。この場合、fabric1 が fabric2 に等しいか、あるいは fabric1 が shm です。

COMSOL Multiphysics の開始時にアボートした場合、全てのノードがライセンスマネージャにアクセス可能であること、およびCOMSOL Multiphysics が分散実行していない時に各ノードで開始できることを確認します。時には、$HOME/.comsol/ v52a/configuration/comsol/*.log にあるログファイルに追加情報があります。これで問題が解決しない場合は、MPI ライブラリが次のコマンドを使わなければならないような動作を行っていることを確認するために、MPI のテストプログラムを開始します。

comsol -nn <number of nodes> -f <host file> hydra mpitest

Hydra を使用した場合の起動プロセスについてのより詳細な情報は、-mpiarg -verbose 使用するか、または-mpidebug を

デフォルトの 4より大きい値に設定します。

MPD デーモンは、COMSOL のMPI 環境の問題をトラブルシューティングするためのいくつかの方法で使用されます。MPD コ

マンドの構文は次の通りです。

comsol [<options>] mpd [<MPD command>] [<target arguments>]

表 21-24: COMSOL MPD コマンド

COMSOL MPD コマンド 説明

boot mpdboot コマンドを実行。

mpd mpd コマンドを実行。

exit mpdexit コマンドを実行。

allexit mpdallexit コマンドを実行。

cleanup mpdcleanup コマンドを実行。

trace mpdtrace コマンドを実行。

check mpdcheck コマンドを実行。

ringtest mpdringtest コマンドを実行。

listjobs mpdlistjobs コマンドを実行。

sigjob mpdsigjob コマンドを実行。

killjobs mpdkilljobs コマンドを実行。

mpitest 分散テストプログラムの実行。

21章 COMSOL Multiphysics の実行| 1315

表 21-24: COMSOL MPD コマンド

COMSOL MPD コマンド 説明

tune mpdtune コマンドを実行。

help mpdhelp コマンドを実行。

各コマンドの詳細については、-h スイッチを使用します。

MPD を使用する場合に重要な情報を表示するには、comsol mpd check コマンドを使用します。 MPD デーモンからの起動

プロセスに関するより詳細な情報については、-v および-d スイッチを使用し、環境変数を設定するか、あるいは-mpidebug をデフォルト 4 よりも大きい値に設定します。MPD が起動されており、COMSOL Multiphysics は開始されていない場合は、MPI 環境が例えば comsol mpd mpitest コマンドの実行によって動作していることを確認してください。

COMSOL MATLAB コマンド

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

comsol mphserver matlab [<options>]

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

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

表 21-25: COMSOL MATLAB オプション

COMSOL MATLAB オプション 説明

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

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

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

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

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

-mlnosplash MATLAB splash screen 無しで起動。

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

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

Macintosh での COMSOL コマンド

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

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

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

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

表 21-26: COMSOL コマンドターゲット

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

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

comsol mphserver COMSOL Multiphysics サーバを起動。

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

comsol batch COMSOL MPH ファイルまたは class ファイルを実行。

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

1316 | 21章 COMSOL Multiphysics の実行

表 21-26: COMSOL コマンドターゲット

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

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

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

comsol convertpre35a 3.0–3.5 モデルをバージョン 3.5a にコンバート。 COMSOL Multiphysics 3.5a のインストールが必要。

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

INI ファイル

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

- Dopt= val

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

オプション

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

にこれらのオプションを指定します。

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

COMSOL オプション 説明

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

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

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

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

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

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

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

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

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

-ipv6 IPv6 サポートのアクティベート

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

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

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

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

-version <target> ターゲットバージョンを出力表示。

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

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

-recoverydir <path> リカバリディレクトリへのパス

-data <path> データディレクトリへのパス

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

21章 COMSOL Multiphysics の実行| 1317

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

COMSOL オプション 説明

参考文献

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

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

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

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

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

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

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

共有メモリオプション

使用するコアとプロセッサの数を制御するには、オプション-np を使用します。デフォルトでは、全ての利用可能なコアとプロセッサを使用します。また、環境設定ダイアログボックスでマルチコアおよびクラスタコンピューティングのページで環境設定としてのコア

数を指定することもできます。手動でコア数を指定するには、コア数のチェックボックスを選択し、関連するテキストフィールドに数

値を入力します。

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

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

MPMODE オプション 説明

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

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

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

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

BLAS オプション

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

表 21-29: COMSOL BLAS オプション

BLAS オプション 説明

auto 自動的に BLAS ライブラリを判別する: MKL

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

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

MKL は COMSOL Multiphysics と一緒に配布されています。

1318 | 21章 COMSOL Multiphysics の実行

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

イブラリがインストールされているディレクトリを指すように検索パスを設定します。これには、環境変数 DYLD_LIBRARY_PATHを使用します。あなたのライブラリは、標準の FORTRAN LAPACK のインタフェースと標準の FORTRAN BLAS のインタフェースの両方をサポートしている必要があります。LAPACK および BLAS インタフェースがいくつかのライブラリで構成されている場合は、LAPACK ライブラリへのパスを使用します。

COMSOL コマンド

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

表 21-30: COMSOL コマンド-ライン引数

COMSOL オプション 説明

-open <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>] server [<target arguments>]

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

表 21-31: COMSOL MULTIPHYSICS サーバコマンド-ライン引数

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

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

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

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

<nostore>を使用する。

-login

{info}|force|never|auto

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

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

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

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

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

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

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

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

ログイン情報

COMSOL Multiphysics サーバを初めて起動すると、ユーザ名とパスワードの入力を求められます。その後、COMSOL ソフトウェア が COMSOL Multiphysics のクライアントとサーバ間の通信に使用するユーザ名とパスワードを選択します。また、COMSOL Multiphysics クライアントを開始する際に開かれる Model Navigator の中の設定ページで、一致するユーザ名とパスワードを指定する必要があります。ソフトウェアは、このログイン情報を login.properties ファイルに書き込みます。ログイン情報は、ホームディレクトリの Library/Preferences/COMSOL/v52a/login.properties に置かれています。

21章 COMSOL Multiphysics の実行| 1319

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

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

信頼できないユーザは COMSOL のログイン情報にアクセスできないことを常に確認してください。ファイルLibrary/Preferences/COMSOL/v52a/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 のクライアントコマンドの構文は、次の通りです。

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

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

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

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

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

1320 | 21章 COMSOL Multiphysics の実行

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

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

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

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

COMSOL BATCH コマンド

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

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

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

表 21-33: COMSOL BATCH-特定引数

COMSOL BATCH オプション 説明

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

-outputfile <file name> 指定されたファイル名でモデル MPH ファイルを保存。出力が指定され

ていない場合は、入力ファイルが出力で上書きされる。

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

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

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

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

-batchlog <file name> ログインを格納するファイル

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

-host ホストに接続。

-port ポートに接続。

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

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

モデルの求解のために 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 にクラスファイルをロードするために使用

21章 COMSOL Multiphysics の実行| 1321

する Java のモデルファイルをコンパイルします。COMSOL コンパイルコマンドにおける構文は、以下の通りです。

comsol [<options>] compile [<target arguments>] <file>.java

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

表 21-34: COMSOL COMPILE オプション

COMSOL COMPILE オプション 説明

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

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

-verbose Verbose 出力

COMSOL MATLAB コマンド

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

comsol mphserver matlab [<options>]

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

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

表 21-35: COMSOL MATLAB オプション

COMSOL MATLAB オプション 説明

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

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

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

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

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

-mlnosplash MATLAB のスプラッシュスクリーン無しで起動。

COMSOL Convertpre35a コマンド

COMSOL Multiphysics のバージョン 3.0 から 3.5 のいずれかで作られたモデルでディレクトリを変換するには、comsol convertpre35a コマンドを使用します。そのようなモデルを変換した後に、それを COMSOL Multiphysics のそれ以降のバージョンで開くことが可能です。このコマンドは、COMSOL Multiphysics 3.5a のインストールが必要です。 comsol convertpre35a コマンドを使用するには、以下のように入力します。

comsol [<options>] convertpre35a <input directory> <output directory> [<logfile>]

ここで、<input directory> は入力ディレクトリ、<output directory> は出力ディレクトリ、[<logfile>] はオプションのログファイルです。三番目の引数を指定しない場合、ログは標準出力に出力表示されます。

表 21-36: COMSOL CONVERTPRE35A オプション

COMSOL CONVERTPRE35A オプション 説明

-c35aroot <path> COMSOL 3.5a のインストールパス

計測エンジニアリングシステム株式会社

〒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

2016 年 12 月 9日 初版発行

ソフトウエアはライセンスの同意条項のもとでのみ使用またはバックアップが許可されます。

本書の一部または全部を著作権法の定める範囲を越え、無断で複写、複製、転載することを禁じます。

COMSOL Multiphysics Reference Manual ~ Capter21: Running COMSOL Multiphysics ~

21章抜粋・日本語訳版 (バージョン 5.2a-update2)

URL: https://www.comsol.jp