comsol multiphysics イントロダクション...comsol...

154
イントロダクション COMSOL Multiphysics

Upload: others

Post on 30-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

イントロダクション COMSOL Multiphysics

Page 2: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 2

Page 3: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 3

Page 4: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 4

Page 5: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 5

イントロダクション

コンピュータシミュレーションは科学技術にとって不可欠のものになりつつあります。特に、部品のデジ

タル解析は新製品開発や最適設計において重要です。今日、シミュレーションに関するオプションは多彩

なものが利用可能です。例えば、研究者は基本的なプログラミングから、より進んだ方法を実行する高い

レベルのパッケージにいたるまであらゆるものを使います。各技術は固有の目的を実現するわけですが、

それらに共通の考察をします。つまり、解析結果は信頼できるであろうかと考えます。

何がそのソフトウェアを信頼できるものにするかを考えた時、目標を思いだすとよいでしょう。現実の世

界に起こることを正確に表すモデルが欲しいというゴールです。コンピュータシミュレーション環境とは

簡単に言えば現実世界の物理法則を仮想的な形に移し替えるということです。移し替える過程でどの程度

の簡単化を行うかということを観察すればその結果として得られるモデルの精度を見積もる目安になる

でしょう。

モデルの中にあらゆる物理を追加できるシミュレーション環境をもつことが理想的でしょう。それはまさ

に COMSOL について言えることです。初心者でも彼らの設計に関して信頼できる物理をモデル化するこ

とを可能にする柔軟なプラットホームです。熟練したユーザーは彼らの特別な環境に適用できるようカス

タマイズした解析へと発展させることができます。このように全てのことをモデル化できる環境を提供す

ることで、COMSOL は現実的な精度でモデル化できるという自信を持たせてくれます。

COMSOL のもつ特徴は実際に使用するとわかります。COMSOL ではパッケージにある全てのシミュレ

ーションを他のどのようなシミュレーションとでも組み合わせることができることを必須の条件にして

います。この条件を厳密に満たすことが、現実世界に生じる事柄を忠実に反映する鏡となるのです。例え

ば、電気が熱的効果を伴うのは自然なことであり、それらは完全に両立して起こります。このような両立

性を厳格に求めていくことで一貫性のあるマルチフィジックスモデルを保証し、たとえ COMSOL の製品

群が拡大しようとも、脈絡のないモデルを作ってしまうのではないかということを決して心配する必要

はありません。

COMSOL プラットホームの注目すべき特色は適応性です。モデルを変更する必要が生じた場合、ソフト

ウェアはそのようにします。他の物理的効果が必要だと分かった場合にはそれをすぐに追加できます。モ

デルへの入力項目のうちで計算式を使うものがあれば、それをすぐに入力できます。パラメータ化したジ

オメトリ、対話的メッシュ作成、カスタムソルバシーケンスのようなツールを使って、要求するものをす

ぐに適用できます。COMSOL マルチフィジックスは問題解決における利点をもっています。新規プロジ

ェクトを開始するとき、COMSOL を使うと問題を理解する手助けになります。様々なジオメトリやモデ

ルの物理的特性を試したりすることで、大事な設計箇所に集中できます。

COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

解析を行うことができます。最適化によって製品レベルのシミュレーションを行うこともできます。パラ

メトリックスイープと目的関数に関する試行をユーザーインターフェースの中で行うことができます。開

始から終了までを通じて COMSOL は完全な問題解決型ツールです。

Page 6: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 6

COMSOL デスクトップ

モデルビルダ

ツールバー

初期モデル

ツリー

Page 7: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 7

グラフィックスウィンドウ

グラフィックスウィンドウ

ツールバー

インフォメーションウィンドウ

Page 8: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 8

前ページのスクリーンショットは、COMSOL のモデリング開始時の様子です。

クイックアクセスツールバー

クイックアクセスツールバーは以下のような機能を提供します。開く、保存、アンドゥ、リドゥ、コ

ピー、ペースト、削除。ユーザは本ツールバーの内容を、[クイックアクセスツールバーリストのカ

スタマイズ]でカスタマイズすることができます。

リボン

COMSOL デスクトップ上段のリボンから、モデリングタスクの殆どを完了させるコマンドを実行で

きます。リボンは Windows バージョンの COMSOL デスクトップ環境にのみ提供され、OS X また

は Linux バージョンではメニューとツールバーに置き換わります。

設定ウィンドウ

設定ウィンドウはモデルの全ての詳細設定を入力するメインウィンドウです。ジオメトリの空間次元、

材料物性、境界条件、初期値、それにシミュレーションを実行する際に必要な全ての情報を入力しま

す。

Page 9: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 9

プロットウィンドウ

プロットウィンドウはグラフィック出力のためのウィンドウです。グラフィックスウィンドウに加え

て、プロットウィンドウが結果の可視化に使用されます。いくつかのプロットウィンドウで複数の結

果を同時表示することが可能です。収束プロットウィンドウは特殊なケースで、自動的にプロットウ

ィンドウが表示されます。そしてモデルの計算中に解法のプロセスの収束状況をグラフィカルに表示

します。

インフォメーションウィンドウ

これは非グラフィックス情報のウィンドウです。下記が含まれます。 メッセージ:現在の COMSOL セッションの様々なイベント情報が、このウィンドウに表示され

ます。 進捗:ソルバーの進捗情報および中止ボタン ログ:ソルバーからの情報、たとえば自由度数、計算時間、それにソルバーのイタレーションデ

ータが表示されます。

Page 10: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 10

テーブル:数値データを表形式で表示します。結果ブランチで定義します。 外部プロセス:以下の設定パネルを提供します。クラスター計算、クラウド計算、バッチジョブ。

その他のウィンドウ

材料ブラウザ:材料ライブラリにアクセスします モデルライブラリアップデート:新規チュートリアルモデル・ダウンロードのアップデート・サ

ービスおよび、モデルライブラリの既存チュートリアルモデルの更新 選択リスト:現在選択可能なジオメトリ・オブジェクト、ドメイン、境界、エッジ、ポイントの

リストです

キャンセルボタン付きプログレスバー

キャンセルボタン付きプログレスバーは、必要に応じて、COMSOL デスクトップウィンドウの右下

隅に表示されます。

ダイナミックヘルプ

このヘルプウィンドウは内容に応じて、ウィンドウやモデルツリー・ノードに関するヘルプ文書を表

示します。ヘルプウィンドウを開いている時には(例えば F1 キー入力などで)、ノードまたはウィン

ドウをクリックするだけで、ダイナミックヘルプ(英文のみ)を得ることができます。ヘルプウィンド

ウからは、たとえばメニュー項目など、他のトピックを検索できます。

Page 11: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 11

環境設定はモデリング環境に関する設定です。殆どの設定はモデリング作業中に保持されますが、い

くつかの設定はモデルデータと共に保存されます。[環境設定]機能は[オプション]メニューから起動

できます。

環境設定ウィンドウでは、あなたは設定を変更することができます。たとえば、グラフィックスレン

ダリング、表示フォーマット(表示桁数)、計算時の最大 CPU コア数それにユーザ定義モデルライブ

ラリのパスなどです。環境設定ウィンドウを少し眺めてみれば、オプション設定に慣れると思います。 グラフィックスレンダリングオプションは 3 種類から選択できます。OpenGL、DirectX、ソフトウ

ェアです。DirectX は OS X や Linux 環境では選択できませんが、Windows ではインストール時に

DirectX ランタイムライブラリをインストールすると選択できます。もしお使いのコンピューターが

特定のグラフィックスカードを持たない場合は、ソフトウェアレンダリングに変更するのが良いかも

しれません。そうすれば遅くはなりますが完全なグラフィックス機能を使用できます。推奨グラフィ

ックスカードのリストは以下に記載されております。 www.comsol.com/system-requirements

環境設定

Page 12: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 12

ユーザは新規モデルをモデルウィザードのガイドに沿って、またはブランクモデルから作成すること

ができます。

モデルウィザードのガイドに沿ったモデル作成 モデルウィザードのガイドに従うことで、空間次元、フィジックス、それにスタディタイプを数ステ

ップで設定することができます。 1. まず初めに、モデルコンポーネントの空間次元を以下から選択してください:3D、2D 軸対称、

2D、1D 軸対称、または 0D。

2. では、1 つ以上のフィジックスインターフェースを追加しましょう。フィジックスインターフェ

ースは設定しやすいようにブランチに分かれています。各ブランチは COMSOL 製品と 1:1 には

新規モデルの作成

Page 13: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 13

対応しておりません。新しい製品が COMSOL インストールに追加されたら、1 つ以上のブラン

チがフィジックスインターフェースの追加と共に生成されます。

3. スタディタイプを選択しましょう。これは計算時に使用されるソルバーまたは(複数の)ソルバー

設定です。

最後に [完了]をクリックしましょう。するとデスクトップにモデルツリーが表示されます。そ

れにはモデルウィザードで選択した内容に沿って設定されています。

Page 14: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 14

ブランクモデル

ブランクモデルを選択すると、COMSOL デスクトップがコンポーネントやスタディ設定なしで開き

ます。モデルツリーを右クリックして任意の空間次元、フィジックスインターフェース、またはスタ

ディのコンポーネントを追加しましょう。

COMSOL デスクトップ環境のリボンタブはモデリング中のワークフローの内容を反映し、各モデリ

ング段階で利用できる機能概要を示します。

[ホーム]タブには、モデル変更とシミュレーション実行での最も一般的な操作のためのボタンが配置

されています。例題には下記を含んでいます。ジオメトリのパラメータ化のためのモデルパラメータ

変更や、材料プロパティの確認、それにフィジックス、メッシュ構築、スタディ実行、それにシミュ

レーション結果の可視化です。モデリング作業の主な手順において、標準的なタブ群が揃っています。

これらは左から右へ、ワークフローに従って並んでいます。定義、ジオメトリ、フィジックス、メッ

シュ、スタディ、そして結果です。 コンテキストタブは必要な時にだけ表示されます。例えば、[3D 表示グループ]タブです。これは関

連するプロットグループが追加された時、またはモデルツリーの[3D 表示グループ]ノードが選択さ

れた時だけ表示されます。

モーダルタブはかなり特殊な操作の際に表示されます。例えば、リボン中の他の操作が一時的に不適

切になる場合などです。ワークプレーン・モーダルタブの例を示します。ワークプレーンで作業する

と、他のタブは表示されなくなります。なぜなら他の操作が無意味になるからです。

リボンとクイックアクセスツールバー

Page 15: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 15

リボン VS. モデルビルダ

リボンが追加されたことでユーザは利用可能なコマンドへ素早くアクセスし、モデルビルダウィンド

ウのモデルツリーを補完できます。リボンから操作できる殆どの機能は、モデルツリーのノードを右

クリックして表示されるコンテキストメニューからも起動できます。しかしリボンからしか起動でき

ない操作もあります。例えば表示するデスクトップウィンドウの選択などです。OSX と Linux の

COMSOL デスクトップ・インターフェースでは、この機能はリボンの代わりに表示されるツールバ

ーから起動できます。またモデルツリーからだけ起動できる操作もあります。例えば、ノードの並べ

替えや、ノードの非表示です。

クイックアクセスツールバー

クイックアクセスツールバーには、今表示されているリボンタブとは独立したコマンドが設定されて

います。クイックアクセスツールバーはカスタマイズが可能です。ファイルメニューの殆どのコマン

ド、取り消す、やり直し、コピー、ペースト、重複、モデルツリーのノード削除などです。またクイ

ックアクセスツールバーの表示位置をリボンの上または下かで選べます。

OS X と LINUX

OS X と LinuxのCOMSOLデスクトップ環境では、リボンはメニューとツールバーに換わります。

モデルビルダはモデルを定義するツールです:解析方法、結果の解析、それにレポート処理などを設

定します。モデルツリーを構築することでモデルを定義します。モデルツリーはデフォルトのモデル

ツリーから構築を始め、ノードを追加し、ノード設定を編集して行います。 デフォルトのモデルツリーの全ノードは、最上位の親ノードです。それらを右クリックして子ノード

またはサブノードのリストを確認し、それらの下にノードを追加することができます。 子ノードをクリックすると、設定ウィンドウにノード設定が表示されます。ノード設定を編集する場

所はココです。 ヘルプウィンドウが開いていると(メニューバーから[ヘルプ]をクリックするまたは、ファンクション

キー F1 をキー入力すると表示されます)、ノードをクリックする度にダイナミックヘルプを見るこ

とができます。(英文のみです)

モデルビルダとモデルツリー

Page 16: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 16

ルート、グローバル定義と結果ノード

モデルツリーは常に以下のノードを持っています、ルートノード(初期状態では Untitled.mph とい

うラベル名)、グローバル定義ノード、結果ノード。ルートノードのラベルはマルチフィジックス・

モデル・ファイル、または MPH ファイルのファイル名で、この名前でハードディスク上に保存され

ます。ルートノードには作成者、単位系などの設定項目があります。

グローバル定義ノードはユーザがパラメータ、変数、関数それに計算を設定する場所で、それらの項

目はモデルツリーのあらゆる場所から呼び出すことができます。それらは、例えば、材料物性、力、

ジオメトリ、それにその他の特徴において、数値や関数を定義するために使用することができます。

グローバル定義ノード自身には設定項目がありませんが、その子ノードにはたくさんの設定項目を持

ちます。 結果ノードは、シミュレーションを実行した後にソリューションにアクセスする場所です。そこには

データ生成するツールがあります。結果ノードは初期状態では 5 つのサブノードを持ちます。 データセット:データ処理をするためのソリューション・リストが含まれます 計算値:ポストプロセス・ツールを使って算出される計算値を定義します。 テーブル:計算値などを可視化する便利な場所。またはプローブで生成された結果のため。プロ

ーブはシミュレーション実行時にリアルタイムでをソリューションを監視します。 エクスポート:エクスポートしたい数値データ、画像データ、アニメーションを定義します。 レポート:モデルの自動生成レポートまたはカスタムレポートを記述します。HTML または

Microsoft Word 形式で出力します。

これらの 5 つのサブノードに、追加のプロットグループ・サブノードを追加することができます。

そこには、グラフィックスウィンドウまたはプロットウィンドウの表示したいグラフを定義します。

これらのいくつかは自動生成されます。生成内容はシミュレーション内容により変化します。またこ

れに、結果ノードを右クリックまたはプロットタイプ・リストから選択することで、追加のプロット

画像を追加できます。

Page 17: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 17

コンポーネントノードとスタディノード

いま記述した 3 つのノードに加え、2 種類のトップ-レベルのノードタイプがあります。コンポーネ

ントノードとスタディノードです。これらは通常モデルウィザードで作成されます。新しいモデルを

作成する時に。モデルウィザードでフィジックス・タイプとスタディ・タイプ(定常、時間依存、周

波数領域、固有値解析)を選択すると、ウィザードは自動的に設定内容に応じたノードを追加します。

またモデルを作成する際に、モデルノードやスタディノードを追加することができます。複数のモデ

ルノードやスタディノードを追加することができるので、それらの名前を同じにすると混乱するかも

しれません。これらのノードは各目的に応じた説明的な名前にリネームできます。モデルに複数のモ

デルノードがある場合、シミュレーション・ステップでのより洗練された処理として連成されること

ができます。

それそれのスタディノートは異なるタイプの計算を実行するかもしれないと注意してください。とい

うのは各スタディノードはそれぞれ別個の計算ボタンを持っています。具体的に言いますと、例えば、

コイルとコイル容器の 2 つの部品を持つコイルアセンブリを作ったと想像してください。あなたは

その時、各ノードをリネームします。同様に、2 つのスタディノードを作成するかもしれません。最

初のノードは定常計算または steady-state かつアセンブリの振る舞いを設定し、次のノードは周波

数応答だとします。あなたはこれらのノードを、定常と周波数領域にリネームできます。、モデルが

できあがったら、コイルアセンブリ.mph という名前で保存されるかもしれません。その際、モデル

ビルダのモデルツリーは下図のように表示されます。

キーボード

ショートカット

Page 18: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 18

この図は、ルートノードはコイルアセンブリ.mph と命名され、それは保存されたファイル名と一致

します。グローバル定義ノードと結果ノードのラベルはデフォルト値です。さらに、直前のパラグラ

フで選択したように、2 つのモデルノードと 2 つのスタディノードが存在します。

パラメータ、変数とスコープ

パラメータ

パラメータはユーザ定義の定数スカラ値で、モデルツリーのあらゆる場所で使用することができます。

(つまり、それらは 自然界で ”グローバル” なのです) 下記に有益です: ジオメトリ次元でのパラメータ化 メッシュ要素サイズの指定 パラメトリックスィープの定義 (例:パラメータに様々な異なる値で再計算するようなシミュレ

ーション) パラメータの式には以下を使用することができます。数値、パラメータ名、組み込み定数、パラメー

タ式を引数に持つ関数、それに単項演算子と二項演算子です。使用できる演算子のリストは、p.135「付録 C --- 言語要素と予約語」をご参照ください。これらの式はシミュレーション実行前に評価さ

れるので、パラメータは時間変数 t に影響を受けません。空間変数(x, y, z)や使用した方程式に依存

する変数も、同様に影響を受けません。 パラメータ名は、大文字・小文字を区別するということも重要です。

Page 19: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 19

パラメータは、モデルツリーのグローバル定義の下に定義します。

変数

変数はグローバル定数ノードまたは任意のモデルノードの定義サブノードに定義できます。当然どこ

に変数を定義するかは、グローバルに(例えば、モデルツリーのあらゆる場所から使用できるように)したいかどうかによります。パラメータの式と同様、変数の式には数値、パラメータ、組み込み定数、

それに単項演算子と二項演算子を含むことができます。さらに、それには t, x, y, z のような変数、引

数として変数の式を使った関数、それに支配方程式の従属変数およびそれらの空間微分と時間微分を

含むことができます。

スコープ

パラメータまたは変数の”スコープ”は、式のどこに記述されているかによって宣言されます。すでに

述べたように、すべてのパラメータはモデルツリーのグローバル定義に定義されます。このことによ

ってパラメータはグローバルなスコープを持っていることを示し、モデルツリーのあらゆる場所で使

用可能です。 変数もまたグローバル定義ノードに定義でき、グローバルなスコープを持ちます。しかし変数はその

スコープよりも制限される傾向にあります。例えば、変数は以下に使用できません。ジオメトリ、メ

ッシュ、またはスタディノードです。(例外として、変数はシミュレーション終了時間の記述に使う

場合には、使用可能です。)

Page 20: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 20

しかしモデルノードの定義サブノードで定義された変数はローカルスコープを持ち、その特定のモデ

ルで使用可能です。(しかし、再び言いますが、ジオメトリノードやメッシュノードでは使用できま

せん。) それらは、例えば、材料サブノードの材料物性の指定に使用されたり、境界条件または反応

に使用されたりします。変数のスコープを制限することは、ジオメトリのある部分のみに限定したり

するのに有益です。例えば特定の境界などです。その目的のために変数定義の設定に作成され、モデ

ルジオメトリ全体あるいは特定のドメイン、境界、エッジ、またはポイントに適用されることがあり

ます。 下図は 2 つの変数の定義を示しています、q_pin と R です。そのスコープはちょうど 2 つの境界、

境界 15 と境界 19 に制限されています。.

同様に、変数は選択したドメイン、エッジまたはポイントのみに定義できます。そのような選択には

オプションとして名前をつけたり、モデルのいたるところから参照したりできます。たとえば材料物

性や境界条件の定義に変数を使用する場合などです。選択に名前をつけるには、選択リストの右から

選択作成ボタンをクリックします。

Page 21: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 21

モデルノードの定義サブノードに定義された変数はローカルスコープのように振る舞いますが、その

変数は識別子を指定することで、モデルツリーのモデルノードの外からアクセス可能なのです。これ

は「ドット記法」を使うことで実現されます。ドット記法とは、変数名をモデルノード名の後に「ド

ット」をつけて記述する方法です。つまり、変数名 foo が MyModel というモデルに定義されている

場合、この変数はモデルノードの外から、MyModel.foo を使うことでアクセスできます。これは、

例えば、結果ノードでプロットを作成するときに変数を使いたい場合に役に立ちます。

COMSOL は多くの組み込み定数、変数それに関数で構成されています。それらは予約語を持ち、ユ

ーザには再定義できません。もしユーザ定義の変数、パラメータまたは関数に予約語を使用すると、

名前を入力した文字列の文字色がオレンジ色(警告)または赤色(エラー)に変わり、テキスト文字列を

選択するとツールチップ・メッセージが表示されます。 重要な例としては以下の通りです: 数学定数、たとえば pi (3.14…)または 虚数単位 i, j 物理定数、たとえば g_const(重力加速度)、c_const (光の速度)、R_const (気体定数) 時間変数 t 従属変数の一階微分および二階微分。従属変数名は空間座標名と従属変数名に由来します。(従

属変数名はユーザ定義変数です) 数学関数、たとえば cos, sin, exp, log, log10, sqrt 詳しくは、p.135 の “付録 C --- 言語要素と予約語” を参照してください。

モデルライブラリにはモデル MPH ファイルと関連ドキュメントが収集されています。ドキュメン

トには理論的な背景と、ステップバイステップの操作手順が含まれています。それぞれの物理ベース

の COMSOL モジュールには、それぞれ独自のモデルライブラリ例題から成り立っています。 ステップバイステップの操作手順と MPH ファイルモデルを、あなた独自のモデリングや適用例のテ

ンプレートとしてお使い頂けます。

組み込み定数、組み込み変数と組み込み関数

モデルライブラリ

Page 22: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 22

モデルライブラリを開くには、メインメニューから[ビュー]>[モデルライブラリ]を選択し、モデル名

を検索、またはモジュールフォルダー名の下をブラウズします。

[モデルをオープン]をクリックしてモデルを開くか、[PDF ドキュメントをオープン]をクリックして

モデルドキュメントを開きます。他のやり方として、COMSOL の[ファイル]>[ヘルプ]>[ドキュメン

テーション]の選択があります。 COMSOL モデルライブラリの MPH ファイルには 2 つのフォーマットがあります。フル MPH ファ

イルまたはコンパクト MPH ファイルです。 フル MPH ファイルは全てのメッシュと解を含みます。モデルライブラリウィンドウで、これら

のファイルは●アイコンで表示されます。もし MPH ファイルサイズが 25MB 超であれば、モ

デルライブラリツリーのモデルノードにマウスカーソルを合わせた際ツールチップに「大容量フ

ァイル」という文字列とファイルサイズが表示されます。 コンパクト MPH ファイルはモデルの全ての設定情報は持っているのですが、メッシュ生成と解

データを容量節約のために除いています。ユーザはこのモデルを開いて、設定を学んだりメッシ

ュ作成してモデルを再計算できます。またモデルライブラリをアップデートすることで殆どのモ

デルでは、メッシュと解の付いたフルバージョンをダウンロードすることができます。これらの

モデルは圧縮アイコンでモデルライブラリ・ウィンドウに表示されます。モデルライブラリウィ

ンドウでコンパクトモデルにマウスカーソルを合わせると、ツールチップに「保存解なし」と表

Page 23: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 23

示されます。もしフル MPH ファイルがダウンロード可能な場合、当該ノードのコンテキストメ

ニューには [フルモデルをダウンロード]項目が追加表示されます。

モデルライブラリは COMSOL 社によって定期的にアップデートされています。[ビュー]>[モデルラ

イブラリアップデート]を選択すると、モデルライブラリをアップデートします。この操作で

COMSOL 社のモデルアップデート website に接続します。そして最新モデルとモデルアップデート

にアクセスできます。これは最新の製品リリースによって追加または更新されたモデルを含みます。 次の見開きページでは、COMSOL デスクトップでウィンドウを追加してカスタマイズした例を示し

ます。

Page 24: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 24

クイックアクセス ツールバー

モデルビルダ ウィンドウ

モデルツリー

プロットウィンドウ

リボン

Page 25: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 25

グラフィックス ウィンドウ ダイナミック ヘルプ

Page 26: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 26

この例題のモデルビルダウィンドウでは、設計プロセスの各ステップは、グローバル変数の定義から

結果の最終レポートまで全て、モデルツリーに表示されます。

上から下へ、モデルツリーは順序だてた処理手順を定義します。 モデルツリーの下記ブランチは、ノードの順番によって違いが生じます。操作手順の順番は、モデル

ツリーでノードを上または下に移動して変更できます: ジオメトリ 材料 フィジックス メッシュ

操作ワークフローと操作手順

Page 27: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 27

スタディ プロットグループ ツリーのモデル定義ブランチに以下のノードがある場合には、計算に影響が出ます。 PML 無限要素ドメイン 各ノードは以下の方法で順番変更ができます。 ドラッグ・アンド・ドロップ ノードを右クリックし、[上へ移動]または[下へ移動]を選択 Ctrl +↑または Ctrl+↓ をキー入力 他のブランチでは、ノードの順番は操作手順とはあまり関係がありません。しかし、いくつかのノー

ドは可読性のために並び替えが可能です。グローバル定義の子ノードはそのような例の一つです。 表示される操作手順の順番は、モデルを[履歴をリセット]した後、モデル M ファイルやモデル Javaファイルとして保存した時のプログラムコードの記述として見ることができます。(注意:モデルヒ

ストリーは、モデルを構築し編集した際の完璧な履歴を保持します。そのようにして、モデルヒスト

リーには全ての訂正、パラメータや境界条件の変更点、ソルバー手法の調整などを含んでいます。履

歴をリセットすると、全ての上書き変更を削除し、モデル手順の最新状態のクリーンコピーを残しま

す。) COMSOL デスクトップやモデルビルダを使って作業するに従い、組織的で直線的なアプローチを理

解することができるようになります。しかしどのようなユーザーインターフェースの記述も、ご自分

で試してみないと不十分です。そのため次の章では、COMSOL に慣れ親しんでいただくために、2つの例題の実行へ招待いたします。

Page 28: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 28

工具を使う作業は工学の基礎を学ぶよい機会を与えてくれます。誰でもレンチを使ってボルトを締め

た経験があると思います。この例題は、締結作業を解析するモデルを通じて、あなたを工具形状、ト

ルク、接触問題に関する詳細へ向かわせます。 ボルトは外部締め付け力を予張力による内部締結力に置き換える役目を持っていることがこの解析

の基本原理になります。ねじ穴あるいはナットにボルトをねじ込む際にボルト内部に引っ張り応力が

発生します。この応力の大きさは選択した材料、組み立て形状、潤滑といった多くの因子に左右され

ます。 これらの因子を制御することが、自動車のエンジン、ブレーキ、飛行機といった多くの工学的問題解

決上の焦点になります。ここで示すモデルは組みつけ時のボルトとナットの両方を取り扱います。 このチュートリアルは COMSOL Multiphysics を使うための簡単な紹介と基本事項の説明を行いま

す。モデルウィザードの開始、フィジックスとスタディの追加、ジオメトリのインポート、材料ブラ

ウザを開いて材料を追加し材料特性をチェックする方法が説明されます。モデルを作成する他の重要

なステップとして、パラメータ定義、境界条件の定義、グラフィックスウィンドウでのジオメトリッ

クエンティティの選択、メッシュとスタディノードの定義、最終的なステップである表示結果のチェ

ック、が説明されます。 さらに細かいモデル作成を希望する場合においてもこのセクションを読むことで重要な事項を知る

ことができます。読破したら p.50「例題 2: バスバー --- マルチフィジックスモデル」に進むと良い

でしょう。

例題 1: レンチの構造解析

Page 29: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 29

1. ソフトウェアを起動するには、デスクトップの COMSOL アイコンをダブルクリックします。起

動すると、新しいウィンドウが出てきて新規モデルを作成する 2 つのオプションが表示されま

す。[モデルウィザード]または[ブランクモデル]です。 [ブランクモデル]を選択した場合、モデルツリーで[ルートノード]を右クリックし、手動でコン

ポーネントやスタディを追加します。このチュートリアルでは、[モデルウィザード]ボタンをク

リックします。 COMSOL がすでに開いている場合、[ファイル]メニューから[新規]を選択してモデルウィザー

ドを開始することができます。[モデルウィザード]を選択してください。 モデルウィザードはモデルを設定する最初の手順を導きます。次のウィンドウでは、モデリング

空間の空間次元を選択してください。

2. [空間次元を選択]ウィンドウで、[3D]を選択します。

3. [フィジックスを選択]で[構造力学]>[固体力学(solid)]を選択。[追加]をクリック。アド

オンされたモジュールがない場合、[固体力学]は[構造力学]フォルダの唯一のフィジックスイン

ターフェースとして表示されます。以下の図は、全てのアドオン・モジュールが利用可能な場合

です。[スタディ]ボタンをクリックし、続けます。

モデルウィザード

Page 30: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 30

4. サポートスタディの下の[定常]をクリックします。[完了]ボタンをクリックすると作業を完了し

ます。 サポートスタディには、この例題で選択したフィジックス、固体力学、に適したソルバーと方程

式設定が表示されます。この例では定常スタディを使用します。このスタディでは時系列変化す

る荷重や物性値がありません。カスタムスタディからスタディ選択する場合、マニュアル設定が

必要です。

このチュートリアルは作成済みのジオメトリを使います。バスバーモデルの作成方法を知るには

p.118「ジオメトリ作成」を参照してください。 ファイルの格納場所 本書に記載のレンチとバスバーのチュートリアルの両方とも COMSOL には作成済みのジオメトリ

あるいはパラメタファイルを読みこめばよく、手動で作成する必要はありません。 それらのファイルを格納している場所はどのように COMSOL をインストールしたかによります。 例えば、ハードドライブにインストールした場合、 C:¥Program Files¥COMSOL44¥models¥ に格納されています。

ジオメトリ

Page 31: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 31

1. [成分 1 (comp1)]の下の[ジオメトリ 1]を右クリックし、[インポート]を選択します

この操作の代わりに、リボンを使って[ジオメトリ]で[インポート]をクリックしても良いです。

2. [インポート]設定ウィンドウで、[ジオメトリインポート]リストから[COMSOL Multiphysicsファイル]を選択

3. [ブラウズ]をクリックして C:¥Program Files¥COMSOL¥COMSOL44¥models¥COMSOL_Multiphysics¥Structural_Mechanics¥wrench.mphbin を選択し、 ダブルクリックあるいは[開く]をクリック

Page 32: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 32

4. [インポート]ボタンをクリックすれば[グラフィックス]ウィンドウにジオメトリが表示されます

5. [グラフィックス]ウィンドウでジオメトリをクリックし、移動できることを確かめます。ジオメ

トリをクリックした後に右クリックすると色が変化します。ツールバー上の[ズームイン](記

号)、[ズームアウト](記号)、[デフォルト3D ビューへ](記号)、[画面にわたってズーム](記

号)、[透過度](記号)の各ボタンをクリックし、ジオメトリに生じる変化を確認します。グラ

フィックスウィンドウ内にマウスカーソルを置いて以下を行います。 - 回転は、左ボタンを押しながらドラッグします - 平行移動は、右ボタンを押しながらドラッグします - 拡大縮小は、中央ボタンを押したままドラッグします

本書の p.132「付録 B --- キーボードショートカットとマウスショートカット」を参照すればより詳

しい情報を知ることができます。 インポートしたモデルは 2 つのパートまたはドメインがあります。ボルトとレンチです。この例題

で焦点はレンチの応力解析です。

回転: 左クリックしてドラッグ

パン: 右クリックしてドラッグ

Page 33: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 33

材料ノード(記号)はモデルノード内の全てのフィジックスと全てのドメインに関して材料特性を設

定します。ここで選んだボルトの材料と工具の鋼材は接触問題を扱う上で重要なものです。以下にそ

れらをどのように選ぶかを説明します。 1. [材料ブラウザ]を開く [材料ブラウザ]を開くには以下を行います。

- [モデルビルダ]の[材料](記号)を右クリックし、[材料を追加]を選択 - リボンから、[ホーム]タブを選択し [材料を追加]をクリックする

2. [材料を追加]ウィンドウで、[標準材料ライブラリ]をクリックして展開する。スクロールバー

を使って[Structural steel]を探し、右クリックし[成分 1 に追加]を選択する

3.[材料コンテンツ]セクションを見てフィジックスが必要とする材料情報を COMSOL がどのよ

うに分類しているかを確かめます

バスバーのチュートリアルの、p.58「材料」セクションを参照したり、p.82「材料のカスタマイズ」

を参照したりすることで、材料ブラウザの使い方をもっと学べます。

材料

Page 34: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 34

それではレンチにかかる負荷を調査するために、グローバルパラメータを定義しましょう。

パラメータ

1.[モデルビルダ]で[グローバル定義](記号)を右クリックし、[パラメータ](記号)を選択 2.[パラメータ]設定ウィンドウで、[パラメータ表]の下の[パラメータ]に以下を設定します - [名前]カラムあるいはフィールドで、F を入力 - [表式]カラムあるいはフィールドで、150[N]を入力します [値]カラムは入力された式に応じて自動的に変更されます - [説明]カラムに、Applied force を入力します

バスバーのチュートリアルでは、p.54[グローバル定義]、p.78[パラメータ、関数、変数、モデル

カップリング]はパラメータに関する作業についてより詳しい情報を提供します。

グローバル定義

Page 35: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 35

いままでのところで、物理とスタディ、ジオメトリ、材料、そして一個のパラメータを追加しました。 [モデルビルダ]ノードのシーケンスは右図のようになっていることを確認してください。 [固体力学]の下にあるデフォルト設定はノードの左上コーナーに D をつけて示しています。 固体力学のデフォルトノードは以下です:線形弾性材料、フリーという全ての境界が自由に動く制約

や負荷のない境界と、初期値という非線形または過渡解析の初期変位や初期速度のための境界です。

(本ケースでは未使用です) モデルファイルはいつでもファイル保存でき、後からそのファイルを開けば保存した状態を正確に再

現できます。

3. メインメニューから、[ファイル]>[名前をつけて保存]を選択し、書き込み権限のあるフォルダへ

移動して、wrench.mph というファイル名でファイル保存します。

Page 36: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 36

定義済みのジオメトリと材料を使って、[モデルウィザード]セクションで導入した支配フィジック

スを設定する段階に来ました。 1.[モデルビルダ]で、[固体力学(solid)](記号)を右クリックし、境界条件である[固定拘束]

を選択します

2.[グラフィックスウィンドウ]でジオメトリを回転させ右図の位置まで移動させます。

ボルトの端面を左クリック(赤色に変化)し、右クリック(青色に変化)します。 選択リストには境界番号 35 が表示されます。

3. グラフィックスツールバーの[デフォルト3D ビューへ]ボタン(記号)をクリックしてデフォ

ルトビューに戻します。

ドメインフィジックスと境界条件

Page 37: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 37

4.[モデルビルダ]で[固体力学(solid)](記号)を右クリックし、境界条件である[境界荷重]を選

択します。[境界荷重]ノード(記号)が[モデルビルダ]に追加されます。

5.[グラフィックス]ウィンドウで、ツールバー上の[ズームボックス]ボタン(記号)をクリックし、右

図で示す範囲を囲むようにマウスを右方向へドラッグし、リリースします。

6.ソケット部の上面(境界 111)を左クリック、右クリックすることで選択します。 選択リストにその番号が追加されます。

Page 38: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 38

7.[境界荷重]設定ウィンドウで、[力]の下で[荷重タイプ]として[力]を選び、-F を入力します。負

号はz方向の負の方向(下方向)を意味します。

これらの設定で、150N の荷重は選択した境界に均一に下方向にかかります。 モデリング手順を単純にするために、ボルトとレンチの機構的接触は材料インターフェースの境界条

件で近似します。そのような内部境界条件は、COMSOL によって自動的に定義され、通常の応力と

変位が材料インターフェースを通して連続性が保証されます。

メッシュ設定は有限要素メッシュの解像度を明確にし、モデルの離散化に使用されます。有限要素法

はモデルを幾何形状的に単純な形状で、微少な要素に分割します。このケースでは四面体です。それ

ぞれの四面体では、polynomial function は構造的な変位場を近似します。変位場とは、3 つの座標

方向にどれだけ物体が変位するかを表します。 この例題では、ジオメトリは小さなエッジとフェイスを含んでいるため、デフォルト設定よりもすこ

し細かいメッシュを定義するのが良いでしょう。こうすることで応力場の変位をよりよく分解し、よ

り正確な結果をもたらします。しかしメッシュを細かくすれば、コストに跳ね返ります。計算時間と

メモリ使用量が増加します。メッシュサイズはいつも、精度と計算スピードとメモリ使用量とのトレ

ードオフです。 1.[モデルビルダ]で[モデル1]の下の[メッシュ1](記号)をクリックします。[メッシュ]設定ウィ

ンドウで[メッシュ]設定の下で[要素サイズリスト]から[細かい]を選択します。

2.[メッシュ]設定ウィンドウのツールバーから[全て作成](記号)をクリックします。

メッシュ

Page 39: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 39

3.数秒でメッシュが作成されますのでズームしてメッシュの分布を確認してください。

モデル設定の最初に、定常スタディを選択しました。それによって COMSOL が定常ソルバーを使用

することを暗に意味します。これを適用するために、荷重、応力、ひずみは時間によって変化しない

ことが前提です。このシミュレーションのデフォルトソルバ設定は、コンピュータのインコアメモリ

(RAM)が 2GB 以上の時に適するようになっています。もしメモリが不足した場合、以下の手順を実

施すると実行速度は若干遅くなりますが少ないメモリを使用します。ソルバー実行をするには: 1.[スタディ1](記号)を右クリックし[計算](記号)を選択します

スタディ

Page 40: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 40

もしあなたのコンピュータのメモリが 2GB の場合、この時点で「LU 分解でメモリ不足エ

ラーが出ました」というエラーメッセージが表示されます。LU 分解は有限要素解析法で大

規模スパース行列を解くのに使用される数値解析の手法です。 ここで示す手順は、反復解法をセットアップするのに必要です。そのようなソルバーを使えば計算に

必要なメモリをかなり減らすことができます。もし使用する PC のメモリが 2GB 以上あればここで

示す手順をスキップして手順5.の計算を実行できます。 1.もし計算を開始していない場合、スタディノードからソルバー設定にアクセスすることができま

す。[モデルビルダ]で[スタディ1](記号)を右クリックし、[デフォルトソルバの表示](記号)を選

択します。 2.[スタディ1]>[ソルバコンフィグレーション]>[ソルバー1](記号)ノードを展開します

3.[定常ソルバ1](記号)を右クリックし[ダイレクト](記号)を選択します ダイレクトソルバーは高速でとてもロバスト性を持つソルバーで広範囲の物理問題を解くために

ほとんど手動でのチューニングが必要なりません。それと引き替えに大量の RAM 容量が必要です。 4.[ダイレクト]設定ウィンドウで、[アウトオブコア]チェックボックスをオンにします。デフォル

ト設定のインコアメモリの 512MB のままにします。

Page 41: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 41

5.[スタディ1](記号)を右クリックし[計算](記号)を選択(あるいは[F8]キーを押す)

デフォルト表示としてグラフィックスウィンドウにはフォン・ミーゼス応力のサーフェスプロットと

変形サブノードを使った変形が表示されます。デフォルト表示に使用されている単位(N/m^2)をMPa に変更します。 1.[モデルビルダ]で[結果]>[応力(solid)](記号)ノードを展開し[サーフェス1](記号)をクリックしま

2.設定ウィンドウの[式]の下にある[単位]リストから MPa を選択します(あるいは直接、MPa を

編集フィールドに入力することも出来ます)

結果の表示

Page 42: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 42

もっと詳細を確認するには、[品質]セクションを展開し下記のように設定します。

3.[グラフィックス画面表示]ボタン(記号)をクリックし[グラフィックス]ツールバー上の[画面に

わたってズーム]ボタン(記号)をクリックします グラフィックス画面には変更された単位でフォン・ミーゼス応力が表示され、ボルトと、荷重がかか

ったレンチの応力分布を観察できます。 主ひずみ場をプロットすることで最大引っ張り位置を決定できます。

レンチのような道具に使われる典型的なスチールでは、降伏応力は約 600MPa です。このことは

150N の荷重をかけると塑性変形に非常に近くなることを意味します。(これは約 34 ポンド重です)

Page 43: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 43

あなた方はまた、安全率にも関心があるでしょう。つまり安全率 3 の状態です。レンチのどの部分

が塑性変形の危険性にあるかということを素早く調査するには、比較式を使ってプロットすれば良い

です。例えば solid.mises > 200[MPa] などを使います。 1. [結果]ノードを右クリックし、[3D 表示グループ]を追加します。 2. [3D 表示グループ 2]ノードを右クリックし、[サーフェス]を選択します。

3. [サーフェス]設定ウィンドウで、[式を置換]ボタンをクリックし、[固体力学]>[応力]>[フォン・

ミーゼス応力 (solid.mises)]を選択します。すでに変数名を知っている場合は、直接[solid.mises]と[式]フィールドにキー入力しても良いです。ではこの式を以下のように編集しましょう

[solid.mises>200[MPa]]

これはブーリアン式で、正の場合は 1 を、否の場合は 0 と評価されます。この式で 1 と評価さ

れた領域は、安全率を超えています。(さきほど述べたリカバを、ここで使います) 4. [グラフィックス画面表示]ボタンをクリックします。 5. モデルビルダで、[3D 表示グループ 2]をクリックします。[F2]キーを押下し[3D 表示グループを

リネーム]ダイアログボックスに[Safety Margin]をキー入力します。[OK]をクリックします。 この結果プロット図はボルトの応力は高いことを示していますが、この例題での注目点はレンチ

です。もしあなたが 150N 荷重で安全率 3 を楽々と保証したい場合、持ち手のデザインを何かし

ら、たとえばもう少し幅広にする必要があります。

Page 44: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 44

また製造元は、いろいろな理由から、レンチに非対称なデザインを選択していることに気づくで

しょう。そのような理由のため、もしレンチが回ったときには応力場は異なっています。反対向

きに同じ力をかけて、フォン・ミーゼス応力の最大値の可視化を行って違いがあるかを確かめる

ことについては、ご自分で試して見ましょう。

レンチのフォン・ミーゼス応力の最大値計算の精度を検証するために、メッシュ収束解析を継続する

ことができます。メッシュを[より細かい]を使って計算すると、自由度数(DOFs)は大きくなります。

このセクションはより高度な機能を示しています。そのため初めて読む時には下記の手順をス

キップして構いません。下記の収束解析を実行するために、最低でも 4GB メモリー(RAM)のコンピ

ュータをオススメします。このセクションの数値結果はお使いの COMSOL バージョンに殆ど依存し

ません。

フォン・ミーゼス応力最大値の計算

1. レンチのフォン・ミーゼス応力最大値を計算するために、モデルツリーの結果セクションで、計

算値ノードを右クリックし、[最大]>[ボリューム最大値]を選択してください。 2. [ボリューム最大値]設定ウィンドウの[選択]セクションの下で、[選択]リストから[手動]を選択し、

レンチのドメイン 1 をグラフィックスウィンドウで左クリックして右クリックしてください。レ

ンチドメインのみを考慮し、ボルトドメインは無視します。

収束解析

Page 45: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 45

3. [式]テキストフィールドに、関数[ppr(solid.mises)]とキー入力します。関数 ppr()はさきほどの

記述にあった、p.42 のリカバ設定です。ppr 関数でのリカバ設定は、結果の応力場の品質向上に

使用されます。これは polynomial-preserving recovery(ppr)アルゴリズムを使用し、各メッシ

ュ・バーテックス周りのメッシュ要素パッチを求める、高次の内挿関数です。それはデフォルト

では有効ではありません。なぜなら求解が遅くなるからです。 4. [式]の下の[単位]リストから、[MPa]を選択します。 5. [ボリューム最大値]設定ウィンドウのツールバーで[評価]を押すと、応力の最大値が求まります。

結果はテーブルウィンドウに、およそ 363[MPa]と表示されます。 最大値の場所を見るためには、[ボリューム最大値/最小値]プロットを使います。

6. 結果ノード(記号)を右クリックし、[3D 表示グループ]を追加します。 7. [3D 表示グループ 3]ノードを右クリックし、[他の表示]>[最大/最小(ボリューム)]を選択してくだ

さい。 8. [最大/最小(ボリューム)]設定ウィンドウで、[式]テキストフィールドに、関数 ppr(solid.mises)

とキー入力します。 9. 設定ウィンドウの[式]の下に、[単位]リストから[MPa]を選択します。 (もしくはフィールドに

[MPa]とキー入力します。)

Page 46: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 46

10. [グラフィックス画面表示]ボタンをクリックします。この形式の表示は最大最小値の位置を表示

し、下のテーブルに座標位置を表示します。

メッシュのパラメータ処理

我々は今や、パラメトリックスィープを定義しています。求解中にメッシュサイズをうまくリファイ

ンするために。そして最終的にフォン・ミーゼス応力最大値とメッシュサイズをプロット表示します。

まず始めに、メッシュ濃度を調整するのに使うパラメータを定義しましょう。 1. モデルビルダで、グローバル定義の下のパラメータをクリックします。 2. [パラメータ]設定ウィンドウへ移動します。[パラメータ]テーブルのパラメータの一番下に(また

はテーブルの下のフィールドに)、これらの設定をキー入力します: - [名前]カラムまたはフィールドに、[hd]とキー入力します。このパラメータはパラメト

リックスィープで要素サイズを調整します。 - [式]カラムまたはフィールドに、[1]とキー入力します。 - [説明]カラムまたはフィールドに、[Element size driver]とキー入力します。

Page 47: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 47

3. さて、もう一つのパラメータを入力します。[名前]に[h0]、[式]に[0.01]、[説明]に[Starting element size]。このパラメータはパラメトリックスィープ開始時の要素サイズを定義します。

4. モデルビルダで、[モデル 1]の下の[メッシュ 1]をクリックします。[メッシュ]設定ウィンドウの

[メッシュ設定]の下で、[シーケンスタイプ]リストから[ユーザ制御メッシュ]を選択します。 5. [メッシュ 1]の下の[サイズ]ノードをクリックします。 6. [サイズ]設定ウィンドウの[要素サイズ]の下で、[カスタム]ラジオボタンをクリックします。

[要素サイズパラメータ]の下で、下記をキー入力します: - h0/hd と [最大要素サイズ]フィールドに入力 - h0/(4*hd) と [最小要素サイズ]フィールドに入力 - 1.3 と [最大要素成長率]フィールドに入力 - 0.1 と [屈曲部解像度]フィールドに入力 - 0.2 と [狭小領域解像度]フィールドに入力 より詳しく知るためには p.70 の 「要素サイズパラメータ」を参照ください

パラメトリックスィープとソルバー設定

新しい段階として、パラメータ hd を使ったパラメトリックスィープを追加します。 1. モデルビルダの、[スタディ 1]を右クリックし、[パラメトリックスィープ]ノードを選択します。

そうするとモデルビルダのシーケンスにパラメトリックスィープノードが追加されます。 2. パラメトリックスィープ設定ウィンドウの、テーブルの下で、[追加]ボタンをクリックします。

テーブルの[パラメータ名]リストから、[hd]を選択します。

Page 48: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 48

3. [パラメータ値リスト]に範囲をキー入力します。[範囲]ボタンをクリックし、[範囲]ダイアログボ

ックスに値をキー入力します。[開始]フィールドに[1]、[ステップ]フィールドに[1]、[停止]フィ

ールドに[6]をキー入力し、[置き換え]ボタンをクリックします。パラメータ値リストには、

[range(1, 1, 6)]と表示されます。 上記の設定はスイープが実行される際に、パラメータ値 hd が増加し最大/最小要素サイズが減少

します。 パラメトリックスィープ定義の詳細情報は p.107 を参照ください。 hd の最大値では、DOFs の数値は 100 万を超えます。 従って、我々はメモリの効果が高い反復ソルバーへ切り替えます。

4. [スタディ 1]>[ソルバコンフィギュレーション]>[ソルバ 1]の下で、[定常ソルバ 1]ノードを展開し、

[定常ソルバ 1]を右クリックして[反復]を選択します。反復ソルバーオプションは一般的にメモリ

使用量を減らしますが、効果的な計算のためには、各フィジックス固有のソルバー設定の微調整

が必要になりえます。 5. [反復]設定ウィンドウの[一般]セクションの下で、[プリコンディショニング]を[右]に設定します。

(これはオプションのローレベル・ソルバーのオプション設定で警告メッセージを回避しますが、

設定しないと表示されます。しかし、この設定は解に影響しません。プリコンディショニングは

式変換であり、反復ソルバーを使う際、有限要素法の前処理によく使われます。) 6. [反復 1]ノードを右クリックし、[マルチグリッド]を選択します。マルチグリッドは密度不均一か

つ有限要素形状関数の次元が不均一なメッシュ階層を使用します。 7. [スタディ 1]ノードを右クリックし、[計算]を選択します。[マルチグリッド]設定ウィンドウにも

[計算]ボタンがありますし、[マルチグリッド]ノードを右クリックしても良いです。計算時間は

2,3 分(コンピュータのハードウェアに依存します)、メモリ使用量は約 4GB です。

結果分析

最終段階として、パラメトリックスィープの結果を解析します。フォン・ミーゼス応力をテーブルに

表示して行います。

Page 49: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 49

1. モデルビルダの[結果]>[計算値]の下で、[ボリューム最大値]ノードを選択します。 パラメトリックスィープで求められた解は、新しいデータセットとして[解 2]という名前で保存

されます。下記の様に[ボリューム最大値]の設定を変更しましょう。 2. [ボリューム最大値]設定ウィンドウで、[データセット]を[解 2]に変更します。 3. [評価]ツールバーボタンから、それは[ボリューム最大値]設定ウィンドウの一番上にありますが、

[新規テーブル]を選択します。この操作には 1 分少々かかります。

4. テーブルの結果をグラフ表示するには、[テーブルグラフ]ボタンをクリックします。ボタンは[テーブル]ウィンドウの一番上にあります。グラフを生成するのに 1 分少々かかります。最大値と

自由度数をプロットするとより興味深いです。これは組み込み変数の numberofdofs を使うこと

で対応可能です。 5. [計算値]ノードを右クリックし、[グローバル評価]を選択します。 6. [データセット]を[解 2]に変更します。 7. [式]フィールドに、[numberofdofs]とキー入力します。 8. [評価]ツールバーボタンから、それは[グローバル評価]設定ウィンドウの一番上にありますが、[テ

ーブル 2]を選択します。(そうすることで各パラメータでの DOF 値を、先ほどの評価データの隣

に表示します。) この収束解析は以下を示します。レンチの持ち手部分のフォン・ミーゼス応力の計算値は、最初結果

の 367MPa(そのときのメッシュによる自由度数は約 50,000DOFs)から増加し、370MP(メッシュに

よる自由度数は約 1,100,000DOFs)です。また 300,000DOFs でも根本的には 1,100,000DOFs と同

様の精度を示します。下記のテーブルをご確認ください。 自由度数 フォン・ミーゼス応力の最大値 (MPa)

59037 357.4184298 177039 364.0514695 314280 369.5057589 585120 369.1698271 860082 369.3373652

1130829 369.8220839 これがレンチチュートリアルの結論です。

Page 50: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 50

バスバーの電気加熱 このチュートリアルは COMSOL でのマルチフィジックスモデリングのコンセプトを例示します。

我々はこれを、異なる物理現象を順番に紹介して示そうと思います。最終的には、真のマルチフィジ

ックスモデルを構築します。

これから作ろうとしているモデルはバスバーの解析で、電気装置に直流電流を加えるように設計され

ます。(下図参照) バスバーを流れる電流は、ボルト 1 からボルト 2a とボルト 2b へと流れ、電気抵

抗ロスのために熱を発生するジュール発熱現象を取り扱います。バスバーは銅でできていて、ボルト

はチタン合金でできています。材料の選択は重要です。なぜならチタンは銅よりも低い導電率もちま

すから、より高い電流密度を持つことになります。

シミュレーションの目的は、バスバーの発熱温度を正確に計算することです。一旦基本的なマルチフ

ィジックス現象を把握すれば、バスバーの熱膨張による応力およびひずみや、空気の流れによる冷却

効果を簡単に調べることができます。

ジュール発熱効果は電流保存則およびエネルギー保存則によって記述されています。一旦解が求まれ

ば、2 つの保存則によって温度と電場が得られます。全ての表面は、ボルトの接触面を除き、バスバ

ー周りの空気によって自然対流で冷却されます。ボルトのむき出し部分は電気装置の冷却または発熱

に寄与しないことは、想像がつくと思います。

例題 2: バスバー … マルチフィジックスモデル

ボルト 2a

ボルト 2b ボルト 1

Page 51: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 51

右上の垂直面にあるボルト表面の電位は 20mV、下部の 2 個のボルトの水平面の電位は 0V です。こ

の電位はこのタイプのバスバーに与える荷電圧としては比較的高く、電位として安全ではありません。

例えば境界に送電流量を与える場合などは、電磁解析のさらに詳細な境界条件設定は AC/DC モジュ

ールが必要です。

バスバーモデル概要 このチュートリアルに含まれるより深くて発展的なトピックは、COMSOL で使用できるさまざまな

オプションを使ってこれから示します。以下のトピックが含まれます: p.78「パラメータ、関数、変数およびモデルカップリング」では、関数定義およびモデルカ

ップリングについて学びます p.82「材料物性と材料ライブラリ」では、材料のカスタマイズ方法と材料ライブラリへの追

加方法について示します p.84「メッシュ追加」では、2 種類のメッシュを追加・定義する方法と、グラフィックスウ

ィンドウで比較する方法の機会を提供します p.86「フィジックス追加」では、バスバーモデルに固体力学と層流を追加してマルチフィジ

ックスの可能性を探索します p.107 「パラメトリックスィープ」では、パラメータを使ってバスバーの幅を変更する方法

と、パラメータ値の範囲で解を求める方法を示します。結果としてバスバー幅での平均温度

のプロット図を得ます。 p.115「パラレルコンピューティング」セクションでは、クラスタコンピューティングを使っ

た求解法を示します。

1. ソフトウェアを開くには、デスクトップの COMSOL アイコンをダブルクリックします。 ソフトウェアが開くと、[モデルウィザード]ボタンをクリックします。 既に COMSOL が開いている場合、[ファイル]メニューの[新規]を選択して[モデルウィザード]を開始します。ここで[モデルウィザード]を選択します。

モデルウィザード

Page 52: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 52

2. [空間次元を選択]ウィンドウで、[3D]をクリックします。

3. [フィジックスを選択]ウィンドウで、[伝熱]>[電磁加熱]フォルダを展開し、[ジュール

発熱]を右クリック、[選択対象を追加]を選択。

[スタディ]ボタンをクリックします。 この状態でダブルクリック、または[選択対象

を追加]ボタン をクリックしても追加でき

ます。 [フィジックスを追加]ウィンドウを開く別の

方法として、[モデル]ノードを右クリックし、

[フィジックスを追加] を選択するが存在し

ます。

Page 53: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 53

4. [スタディタイプを選択]ウィンドウで、

[定常]をクリックして選択します。 [完了]ボタンをクリックします。 プリセットされたスタディは選択した

フィジックスに適合したものです。こ

の例ではジュール発熱に適したものが

表示されます。カスタムスタディから

選択したスタディタイプをお使いの際

には、手動で詳細設定が必要です。

ジュール加熱・マルチフィジックスインタ

ーフェースは、2 つのフィジックスインタ

ーフェース、すなわち[電流]、[伝熱(固体)]から構成され、それらと共にマルチフィジ

ックス・ブランチにマルチフィジックス連

成要素が表示されます。すなわち、[電磁熱

源]、[温度カップリング]です。このマルチ

フィジックス・アプローチはとても柔軟性

に富み、特定のフィジックスインターフェ

ースの可能性を完全に引き出すことができ

ます。

Page 54: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 54

時間を短縮するために、ジオメトリをファイルから読み込むこ

とをおすすめします。そうすれば p.55「ジオメトリ」へスキ

ップすることができます。そうでなければ、ジオメトリをご自

分で描画作成したい場合、[グローバル定義]ブランチにパラメ

ータを定義します。まず始めに下記の手順 1 から手順 3 を実行

してモデルのためにパラメータリストを定義し、p.118「付録

A --- ジオメトリ作成」へ移動してください。そうした後この

セクションへ戻り、この busbar.mph ファイルを使ってくださ

い。

モデルビルダのグローバル定義ノードに、パラメータ、変数それに関数をグローバルスコープで

保持します。モデルビルダツリーは複数のモデルを同時に持つことができ、グローバルスコープ

の定義は全てのモデルから利用可能です。この特定の例題では、パラメータが用いられるモデル

ノードはたった一つなので、もしこの一つのモデルにスコープを限定したければ、例えば、関連

するモデルノード直下の定義サブノードに変数と関数を定義することが可能です。

しかしパラメータはここに設定できません。なぜなら COMSOL パラメータは常にグローバルだ

からです。

この例題でジオメトリのパラメータスタディを計算する場合、まず最初にジオメトリにパラメト

リを使って定義します。この手順で、バスバーの下部の長さを L、チタンボルトの半径を rad_1,

バスバーの厚さを tbb、装置の幅を wbb とキー入力します。

1. [グローバル定義]を右クリックし、[パラメータ]を選択。[パラメータ]テーブルで[名前]列の最初の行をクリックし、「L」と入力します。

2. [式]列の最初の行をクリックし、「9[cm]」と入力します。角括弧内には任意の単位を入

力できます。 3. その他のパラメータを追加します。L, rad_1, tbb, wbb, mh, htc, Vtot 項目です。

[説明]を書いておきますと、他人とモデルを共有する際や見返しに便利です。

グローバル定義

Page 55: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 55

4. [ファイルに保存]ボタンをクリックし、モデルのファイル名を busbar.mph としてくだ

さい。そして p.118「付録 A --- ジオメトリ作成」へ移動してください。

このセクションはいかにしてモデルライブラリからモデルジオメトリを開くかについて記述し

ます。フィジックス、スタディ、パラメータそれにジオメトリは、これから開こうとしているモ

デルファイルに含まれています。

1. [ホーム]タブの[ウインドウ]グループ

から[モデルライブラリ]を選択します。

ジオメトリ

Page 56: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 56

2. [ モ デ ル ラ イ ブ ラ リ ] ツ リ ー で

[COMSOL Multiphysics] > [Multiphysics] の 下 の

[busbar_geom] を選択します。 モデルファイルを開く方法: - ダブルクリック - 右クリックし、メニューから選択 - ツリー下のボタンをクリック このモデルファイルのジオメトリはパ

ラメータ化されています。これから 2,3ステップは、試行のために 幅のパラメ

ータwbbにいくつかの異なった値を設

定しましょう。 3. [グローバル定義]>[Parameters]ノー

ドをクリックします。 [パラメータ]設定ウィンドウで、wbbパラメータの [式 ]列をクリックし、

「10[cm]」と変更してください。

4. [モデルビルダ]で[Form Union]ノードをクリックし、[全て作成]ボタンをクリックし、

ジオメトリ作成に戻ります。

Page 57: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 57

5. [グラフィックス]ツールバーで[画面にわたってズーム]ボタンをクリックすると、より

幅広くバスバーが[グラフィックス]ウィンドウに表示されます。

wbb = 5cm wbb = 10cm 6. [グラフィックス]ウィンドウでジオメトリを操作します。

バスバーを回転させるには、左クリック+ドラッグ 移動は、右クリック+ドラッグ ズームイン・アウトは、中央クリック+ドラッグ デフォルトビューに戻すには、ツールバーの[デフォルト 3D ビューへ]クリック

7. [パラメータ]テーブルに戻って [wbb]の値を「5[cm]」に戻します。 8. [モデルビルダ]で[Form Union]ノードをクリックし、[全て作成]ボタンをクリックして

ジオメトリ・シーケンスへ戻ります。 9. [グラフィックス]ツールバーで[画面にわたってズーム]ボタンをクリック

Page 58: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 58

10. (まだファイル保存していない場合) メインメニューから[ファイル]>[名前をつけて保

存]を選択し、busbar.mph ファイルを保存します。 ジオメトリファイルを作成または開き終わったら、次は材料を定義する番です。

(ここから先は、p.118「付録 A --- ジオメトリ作成」で保存した mph を使用します) 材料ノードは、モデルノード中の全てのフィジックスとジオメトリドメインの、材料物性

を格納します。バスバーは銅でできていて、ボルトはチタンでできています。これらの材

料はどちらも、組み込み材料データベースから入手できます。 1. [モデルビルダ]で[材料]を右クリックし、[材料を追加]を選択します。デフォルトでは

ウィンドウがデスクトップの右端に開きます。(ウィンドウはウィンドウタイトルをク

リックすることで自由に移動でき、ドラッグして新しい場所に配置できます。マウス

ボタンを放す時には、ドッキング・オプションが表示されます。)

材料

Page 59: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 59

2. [材料を追加]ウィンドウで[標準材料ラ

イブラリ]フォルダを展開し、[Copper]へ移動します。[Copper]を右クリック

し、[成分 1 に追加]を選択します。

[Copper]ノードが[モデルビルダ]に追

加されます。

3. [材料を追加]ウィンドウで、[標準材料ライブラリ]>[Titanium beta-21S]へ移動し、右

クリックして[成分 1 に追加]を選択します。 4. [モデルビルダ]で[Geometry1]ノードを展開し、モデルの概要を確認します。

5. [材料]>[Copper]をクリックします。

Page 60: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 60

6. [材料]設定ウィンドウで[材料コンテンツ]項目を確認します。

材料コンテンツのセクションは、モデルの材料物性の使用について、便利なフィードバッ

ク機能をもっています。フィジックスから要求される物性と材料データから取得される物

性については、緑のチェックマークがつきます。フィジックスに必要な物性で、材料デー

タが未入力のものは警告マークがつきます。材料データに入っているけれども、計算に不

要なものは何もマークがつきません。 上記テーブルの熱膨張係数は未使用ですが、後ほど必要になります。それはモデルに熱応

力と熱ひずみを追加した時です。 銅の物性を最初に追加したので、デフォルトでは全てのパーツに銅の材料が割り当てらレ

ます。次の手順で、ボルトにチタンの物性を割り当てましょう。それはボルト部分銅の物

性割り当てを上書きします。 7. [モデルビルダ]で[Titanium beta-21S]をクリックします。

Page 61: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 61

8. [選択]リストから[全ドメイン]を選択し、リストからドメイン 1 をクリックします。さ

あ[ドメイン 1]を削除しましょう。 ドメイン(または形状エンティティ、エッジ、点)を削除するには、 [材料]設定ウィンドウ中の[ドメイン 1]をクリックし、[選択から除去]ボタンをクリ

ックします [グラフィックス]ウィンドウで、[ドメイン 1]をクリックし、右クリックすれば選

択リストから削除されます。

ドメイン 2, 3, 4, 5, 6 それに 7 が青でハイライトされます。

Page 62: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 62

9. [材料]設定ウィンドウで、チタンの[材料コンテンツ]項目の詳細を確認して

ください。 フィジックスインターフェースで使用

されている全プロパティに緑色のチェ

ックマークがついていることを確認し

てください。

10. 以下のいずれかの方法で[材料を追加]ウィンドウを閉じます。右上隅のアイ

コンをクリックする、またはリボンの

[ホーム]タブの[材料]グループにある

[材料を追加]トグルボタンをクリック

します。

次にフィジックスドメイン設定と、伝熱問題と電流伝導のための境界条件設定について、

詳しく見ていきましょう。

フィジックス

Page 63: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 63

[モデルビルダ]で[Electric Currents]ノード、[Heat Transfer in Solids]ノード、[マルチフ

ィジックス]ノードをクリックして展開します。

ノードの左肩の’D’はデフォルトノードを表します。 COMSOL が解く方程式は、設定ウィンドウの[方程式]セクションに表示されます。 デフォルトの方程式フォームは、モデルウィザードで追加したスタディから継承されます。

ジュール発熱ノードでは、COMSOL は温度と電位の方程式を表示します。 常にセクションをこのような展開されたビューで表示するために、モデルビルダ・ツール

バーの[セクションを展開]ボタンをクリックし、方程式のチェックをオンにしましょう。 このオプションを選択すると、フィジックス設定ウィンドウの全ての方程式セクションを

展開します。

Page 64: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 64

[Heat Transfer in Solid (ht)]ノードと

[Electric Currents (ec)]ノードにはそれぞ

れ、熱伝導と電流伝導の設定を持ちます。 [Electric Currents]ノードの下には、ドメイ

ンレベルでの電流保存を表す [Current Conservation] ノ ー ド と 、 [Electric Insulation]ノードが電流フィジックスのデ

フォルト境界条件として含まれます。 [Heat Transfer in Solids]ノードの下には、

ド メ イ ン レ ベ ル の [Heat Transfer in Solids]ノードが熱保存を表し、[Thermal Insulation]ノードが伝熱フィジックスのデ

フォルト境界条件として含まれます。

ジュール発熱の熱源は、マルチフィジックスノードの下の、[Electromagnetic Heat Source]ノードに設定されています。[Initial Value]ノードは、[Electric Currents]と[Heat Transfer in Solids]の両方にありますが、定常問題のための非線形ソルバーの初期推定値や、時間依

存問題の初期状態を含みます。 それでは、境界条件を定義しましょう。

Page 65: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 65

1. [Heat Transfer in Solids]ノードを右クリックする。コンテキストメニューの 2 番目の

セクション、境界セクションから、[熱流束]を選択する。

2. [熱流束]設定ウィンドウで、[選択]リストから[全境界]を選択する。

Page 66: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 66

3. バスバーを回転させて背面からの視点を設定します。境界 8,15,43 を除去します。

4. [熱流束]設定ウィンドウの[熱流束]の下で、[流入熱流束]ラジオボタンをクリック。[熱

伝達係数]を表す[h]フィールドに「htc」を入力。

引き続き電流の境界条件を設定します。

Page 67: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 67

5. [モデルビルダ]で[ジュール発熱]ノードを右クリック。コンテキストメニューの 2 番目

のセクション、境界セクションで[電流]>[電位]を選択します。[電位]ノードが[モデルビ

ルダ]に追加されます。

6. 上のチタンボルトをクリックしてハイライトさせ、どこでもいいので右クリックして

境界(境界 43)を[選択]リストに追加します。

7. [電位]設定ウィンドウで[電位]フィールドに「Vtot」を入力します。

最後のステップで残り 2 つのボルト表面に[接地]を設定します。

Page 68: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 68

8. [モデルビルダ]で[ジュール発熱]ノードを右クリックして、コンテキストメニューから

[ジュール発熱]>[電流]>[接地]を選択します。

9. [グラフィックス]ウィンドウで残り 2 つのボルト表面を選択し右クリックします。[接地]設定ウィンドウの[選択]リストに「8, 15」が選択されていることを確認。

10. [グラフィックス]ツールバーで、[デフォルト 3D ビューへ]ボタンをクリック。

Page 69: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 69

メッシュを作成する最も簡単な方法は非構造の四面体メッシュを作成することです。この 方法によってバスバーにうまくメッシュを生成できます。別の手法として、p.84「メッシュ

の追加」にあるように、いくつかのメッシュ・シークエンスを作ることもできます。 フィジックス制御メッシュはデフォルトで作成されます。ほとんどのケースにおいて、メ

ッシュ設定を飛ばして、スタディブランチへ移動しモデルを解くことが可能です。この例

題では、メッシュ設定をパラメータ化するための設定は、調査済みです。 1. [モデルビルダ]で[メッシュ 1]ノードをクリックします。[メッシュ]設定ウィンドウで、[シ

ーケンスタイプ]リストから[ユーザ制御メッシュ]を選択します。

2. [メッシュ 1]の下で、[サイズ]ノードをクリックします。アイコンの右肩のアスタリスク(*)

は、編集中を示します。

メッシュ

Page 70: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 70

3. [サイズ]設定ウィンドウで[要素サイズ]セクションの[カスタム]をオンにします。

[要素サイズパラメータ]セクションの下に、以下のように入力:

- [最大要素サイズ] に「mh」

- [最小要素サイズ] に「mh-mh/3」

- [屈曲部解像度]に「0.2」

屈曲部解像度は屈曲した境界の要素数を意味します:小さな値だとメッシュを細かくしま

す。

Page 71: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 71

4. [サイズ]設定ウィンドウ・ツールバーの[全て作成]をクリックし、メッシュを作成しま

す。

リボンの[ホーム]タブにある[メッシュを作成]をクリックすることもできます。

1. [モデルビルダ]からシミュレーションを実行するには、[スタディ 1]を右クリックして[計算]

を選択します。(または[F8]キーを押下します。)

スタディノードはこのモデルで選択した物理とスタディタイプに基づき、解法シーケンス

を自動的に定義します。計算は数秒で完了します。

スタディ

Page 72: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 72

1. [グラフィックス]ウィンドウで画像をクリックしたりドラッグしたりすることで、回転

させたりバスバーの背面を見たりできます。 2. [グラフィックス]ツールバー上で、[デフォルト 3D ビューへ]ボタンをクリックしてく

ださい。

また手動でカラーテーブルの範囲を設定することで、銅の部分の温度差を可視化できます。 3. [モデルビルダ]で[結果]>[温度]ノードを展開し、[サーフェス 1]ノードをクリックしま

す。

結果

Page 73: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 73

4. [サーフェス]設定ウィンドウで、[範囲]セクションを展開します。[カラー範囲(手動)]チェックボックスをオンし、[最大]フィールドに[323.5]とキー入力します。(デフォル

ト値を変更します。)

5. [サーフェス]設定ウィンドウの[グラフィックス画面表示]ボタンをクリックします。

Page 74: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 74

6. グラフィックスウィンドウをクリック、ドラッグしてバスバーを回転し背面を見ます。

それでは装置の電流密度の表面分布図を作成しましょう。

1. [モデルビルダ]で[結果]を右クリッ

クし、[表示グループ(3D)]を追加し

ます。[表示グループ 2]を右クリッ

クし、[サーフェス]ノードを追加し

ます。

Page 75: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 75

2. [サーフェス]設定ウィンドウの[式]セクションで、[式を置換]ボタンをクリックし、

[ジュール発熱(電流)]>[電流および電荷]>[電流密度 ノルム (jh.normJ)]を選択 jh.normJ は電流密度ベクトルの絶対値です。 [式]フィールドに jh.normJ とキー入力して設定することも可能です。

3. [グラフィックス画面表示]ボタンをクリックします。

⇒ 全体がほぼ一色(カラーバーの低い値の色)で表示されます。 4. [サーフェス]設定ウィンドウの[範囲]セクションで、[カラー範囲(手動)]チェックボ

ックスをオンにします。[最大]フィールドに[1e6]をキー入力します。

Page 76: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 76

5. [グラフィックス画面表示]をクリックします。[グラフィックス]ウィンドウ上のプロッ

ト画像が自動的に更新されます。

6. グラフィックスウィンドウのバスバーをクリック、ドラッグして背面を表示します。

画像を回転つづけて、それぞれのボルトの接触面付近の電流密度の高い場所を見ます。

忘れないようにモデルを保存しましょう。このバージョンのモデル busbar.mph は、

チュートリアルの次の項目で再利用されリネームされます。 終わりましたら、グラフィックスツールバーの[デフォルト 3D ビューへ]ボタンをクリック

し、モデルのサムネール画像を作りましょう。

Page 77: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 77

グラフィックス画面表示からモデル画像の生成 何か解を得られると、COMSOL 内でモデルファイルを閲覧する際に表示する画像を作成す

ることができます。画面表示の後、モデルビルダの[結果]ノードの下の任意の表示ノードを

クリックします。次に root ノードをクリックします(ツリーの最初のノードです) [ルート]設定ウィンドウの[モデルサムネイル]の下で、[モデルサムネールを設定]ボタンをクリック

します。 グラフィックス画面表示から画像作成するには他に 2 つの方法があります。1 つはグラフィ

ックスツールバーの[画像スナップショット]ボタンをクリックして画像を直接作る方法。他

には[エクスポート]ノードに[グラフィックス画面表示]ノードを追加する方法。これで画像

ファイルが作成できます。追加するには所望のプロット表示グループを右クリックし、[エクスポートする画像を追加]を選択します。 これでバスバーの例題は全て終了です。これからのセクションは以下のように設計されて

います。今まで実装した手順の理解を深めること、また「熱膨張」「層流」という追加効果

を含めてシミュレーションを拡張すること、です。 これらの追加トピックは、以下のページから始まります。 p.78 「パラメータ、関数、変数、モデルカップリング」 p.82 「材料物性と材料ライブラリ」 p.84 「メッシュ追加」 p.86 「フィジックス追加」 p.107 「パラメトリックスィープ」 p.115 「パラレルコンピューティング」 p.118 「付録 A --- ジオメトリ作成」

Page 78: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 78

このセクションでは、パラメータ、関数、変数、モデルカップリングを見ていきます。 グローバル定義とモデル定義は、シミュレーションを構成するモデルの入力と、モデルカッ

プリングを助ける機能性を含んでいます。すでに p.54「グローバル定義」で、パラメータ

を追加してモデル入力を構成する手順を使いました。 関数は、グローバル定義とモデル定義の両方から利用できますが、プリ定義された関数テン

プレートがあり、マルチフィジックスシミュレーションの設定に使用できます。例えば、ス

テップ関数テンプレートを使えば、空間的または即時的な遷移の異なるタイプの滑らかなス

テップ関数を設定できます。関数の使い方を示すために、バスバーモデルに時間依存スタデ

ィを追加したいとします。そしてそこに 0.5秒の間に 0Vから 20mVの電流を流しましょう。

この目的のために、Vtot というパラメータ名でステップ関数を使用します。それでは 0 か

ら 1 へ 0.5 秒間で変化する滑らかな関数を追加し、定義と確認しましょう。

関数の定義 このセクションでは、前のセクションで作った物と同じモデルファイルを使っていきます。

もしモデルファイルが読み込まれていなければ、busbar.mph ファイルを開いてください。

アドバンスドトピック

パラメータ、関数、変数、モデルカップリング

Page 79: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 79

1. [グローバル定義]を右クリックし、[関数]>[階段]を選択します。

2. [階段]設定ウィンドウで、[位置]フィールドに[0.25]とキー入力します。(元の値は [0.5]です。)

3. [スムージング]セクションを展開し、[遷移ゾーンの大きさ]に[0.5]とキー入力し、

スムージング間隔の幅を設定します。 4. [階段]設定ウィンドウの[グラフィックス画面表示]ボタンをクリックします。

Page 80: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 80

下記のような画像が表示された場合、機能が正しく定義された証拠です。

関数にコメントを付け、名前を変更することもできます。

5. モデルビルダで[階段 1]ノードを右クリックし、[特性]を選択します。

Page 81: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 81

6. [特性]ウィンドウで、お好みの情報をキー入力します。

最初のステップとして[モデル]を、バスバーを表す言葉にリネームしましょう。 1. [モデル 1]ノードを右クリックし、[リネーム]を選択します。(または[F2]押下) 2. [モデルをリネーム]ウィンドウで、「バスバー」とキー入力。[OK]をクリックしてモデ

ルをセーブしましょう。

モデルカップリング定義

次のステップは情報だけ提示します。必要になるまでは再現する必要はありません。

「バスバー」(「モデル1」)の下の「定義」で、電気回路の境界となるボルト境界で「バス

バー (mod1)」のもつ任意の変数を積分する「モデルカップリング」を導入できます。続い

て、このカップリングを使ってグローバル定義にて全電流を計算する変数を定義できます。

この変数はグローバルに利用でき、例えば、「電気回路(mod2)」ノードにある電気回路に流

す電流に関する境界条件とすることができます。 「定義」の中の「モデルカップリング」は、広範囲な使い方があります。平均、最大、最

小モデルカップリングは、それらの結果を生成するために使いますが、境界条件、ソース、

シンク、物性、あるいはモデル方程式における他の寄与にも使えます。「プローブ」は解を

Page 82: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 82

求めている過程での解のモニタリング機能を意味しています。例えば、時間依存解析の間、

ある重要な点位置での解の挙動をフォローしたり、パラメータスタディにおけるパラメー

タ値に関する解の挙動を追いかけたりすることができます。 モデルカップリングを使って変数をあるモデルの一個の面から別の面へ写像する(押し出

しカップリング)ことや、曲線に沿う変数を積分したり、ジオメトリのあるエンティティ

から別のエンティティへ写像(プロジェクションカップリング)することができます。 平均演算を使う例を p.107 の「パラメータスイープと並列計算」で見るでしょう。p.139 の「組み込み数学関数」では利用可能な COMSOL 関数のリストを見るでしょう。 「定義」についてもっと知りたい場合にはモデルビルダで「定義」あるいは「グローバル

定義」を選び、F1 を押すか、[ヘルプ]メニューに行き、ダイナミックヘルプを選びます。 ダイナミックヘルプはデスクトップで選んだ項目に関するヘルプを表示し、ドキュメンテ

ーションへのリンクを準備します。ダイナミックヘルプは効率的に読み込めるように準 備をするのに一分程度の時間がかかります。(次回はより速く立ち上がります。)

今までにバスバーモデルで銅とチタンの物性を利用するために材料における機能を使いま

した。材料では材料物性を定義し、自分自身の材料ライブラリを作成するのに役立ちます。 「材料」で、自分の材料を作成し、それを自分のライブラリとして保存できます。すでに 存在する材料にまったく新しい特性を追加することもできます。 材料特性を他の変数(代表的な例として温度)の関数として定義する場合、プロット機能は 特性関数を、興味の範囲内で検証するのに役に立ちます。また LiveLink for Excel を使っ

て Excel スプレッドシートを読み込み物性値の内挿関数を定義することもできます。 また材料ライブラリ・アドオンには 2500 種以上の材料に、10,000 以上の温度依存関数が

含まれています。 はじめに実在する材料にある特性を追加する方法をよく見てみましょう。あなたは銅の物性

に体積弾性係数とせん断弾性係数を追加したいと想像してみてください。

材料のカスタマイズ

バスバーを使って作業を継続しましょう。 1. [モデルビルダ]で[材料]の下の[Copper]をクリックします。

材料物性とライブラリ

Page 83: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 83

2. [材料]設定ウィンドウで、[材料特性]セクションには全ての定義可能な特性リ

ストが表示されます。[固体力学]>[線形

弾性材料]セクションを展開してくだ

さい。[体積弾性係数およびせん断弾性

係数]を右クリックし、[材料に追加]を選択します。この操作で、あなたのモ

デルの銅に、体積弾性係数とせん断弾

性係数が定義されます。

3. [材料コンテンツ]セクションに移動してください。表に[体積弾性係数]と[せん断弾性係

数]の行が追加されています。警告マークは値がまだ定義されていないことを示してい

ます。値を定義するには、[値]列をクリックしてください。[体積弾性係数]行に「140e9」、[せん断弾性係数]行に「46e9」とキー入力してください。

材料特性を追加することによって、銅の物性から変更してしまいました。 [固体力学]材料ライブラリは読み込み専用なのでこの新しい材料を保存できませんが、

自分独自の材料ライブラリには保存できます。 4. [モデルビルダ]で[Copper]を右クリックし、[材料をライブラリ”ユーザ定義ライブラリ”

に追加]を選択します。

Page 84: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 84

モデルには異なったメッシュシーケンスを含むことができ、メッシュを異なった設定で作

成できます。これらのシーケンスはスタディステップで呼び出すことができます。スタデ

ィで、ある特定のシミュレーションではどちらのメッシュを使うか選択できます。 バスバーモデルでは、2 番目のメッシュノードがいま追加されメッシュが作成され、ボルト

と屈曲部がリファインされています。

メッシュ追加

1. 以前作成した busbar.mph を開きます。 2. このモデルを別ファイルに保存し後で使うために、メインメニューから[ファイル]>[名

前をつけて保存]を選択し、モデルを busbar_I.mph とリネームします。 3. 2 番目のメッシュノードを追加するために、[バスバー]ノードを右クリックし、[メッシ

ュ]を選択します。[メッシュ]ノードをもう一つ追加することで、[メッシュ 1]と[メッシ

ュ 2]の両方を含む[メッシュ]親ノードが作成されます。

4. [メッシュ 2]ノードをクリックします。[メッシュ]設定ウィンドウの[メッシュ設定]セク

ションの下で、[シーケンスタイプ]として[ユーザ制御メッシュ]を選択します。 [メッシュ 2]ノードの下に、[サイズ]と[フリーメッシュ 4 面体]ノードが追加されます。

メッシュ追加

Page 85: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 85

5. [モデルビルダ]の[メッシュ 2]の下で、[サイズ]をクリックします。

6. [サイズ]設定ウィンドウの[要素サイズ]セクションの下で、[カスタム]ラジオボタンを

オンにします。 7. [要素サイズパラメータ]セクションの下で、以下をキー入力します:

- [最大要素サイズ]フィールドに「mh/2」 - [最小要素サイズ]フィールドに「mh/2-mh/6」 - [屈曲部解像度]フィールドに「0.2」

8. [全て作成]ボタンをクリック メッシュノードをクリックして、メッシュ 1 とメッシュ 2 を比較してみましょう。メッシ

ュはグラフィックスウィンドウで更新されます。もっと多くのメッシュと比較する別の

Page 86: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 86

方法として、パラメトリックスィープのパラメータ値として最大メッシュサイズ mh を設

定するという方法があり、p.54「グローバル定義」で定義方法が記載されています。

メッシュ 1

メッシュ 2

COMSOL の顕著な特徴である適合性と互換性は、既存のモデルにフィジックスを追加した時にはっきりと現れ

ます。このセクションでは、この表面上難しいタスクをどのようにこなせるかの簡単さを、理解できるでしょう。以下

の手順に従えば、バスバーモデルに構造力学と層流インターフェースを追加できます。

構造力学

バスバーのジュール加熱シミュレーションが終了した後、バスバーで温度上昇が起きるこ

とが分かります。温度上昇によって、どのような機構的応力が起こるでしょうか?この問

題に答えるために、モデルを拡張して構造力学と関連づけましょう。

この手順を完了させるには、構造力学モジュールまたは MEMS モジュールが必要です。

フィジックスの追加

Page 87: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 87

もし流体での冷却を追加したいけれども、構造力学モジュールまたは MEMS モジュールをお

持ちで無い場合は、このセクションを読んで、p.93「追加した流体流れによる冷却」へ移動して

ください。

1. 以前作った busbar.mph モデルを開きます。メインメニューから[ファイル]>[名前をつ

けて保存]を選択し、モデルを busbar_II.mph にリネームします。 2. [モデルビルダ]で[バスバー]ノードを

右クリックし、[フィジックスを追加]を選択します。

3. [モデルウィザード]で[構造力学]>[固体力学(solid)]を選択します。 このインターフェースを追加するには、

ダブルクリックしてもよいですし、右

クリックして[選択対象を追加]を選択、

または[選択対象を追加]ボタンをクリ

ックでもできます。 4. [完了]ボタンをクリックし、ファイルを

保存します。 スタディは追加する必要はありません。

ポイント:物理を追加する際、材料ノードに追加した材料の全物性が設定済みかどうかを

確認してください。この例題の中では、copper と titanium の全ての物性が設定済みである

ことをすでに確認済みです。 熱膨張の効果を追加することで、構造解析を開始できます。

Page 88: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 88

5. [モデルビルダ]の[固体力学]>[線形弾

性材料 1]ノードを右クリック ドメインレベルから、[熱膨張]を選択し

ます。[モデルビルダ]に[熱膨張]ノード

が追加されます。

6. [熱膨張]設定ウィンドウで[選択]リス

トから[全ドメイン]を選択します。この

操作でチタンボルトと同様に copperでも熱膨張を適用します。 このウィンドウの[Thermal espansion properties]セクションは、熱膨張係数

とひずみ参照温度を表示します。今回

は熱膨張係数を材料ノードから値を取

得します。ひずみ参照温度はデフォル

ト値の 293.15K (室温)で、熱膨張がな

い時の温度を定義します。この設定ウ

ィンドウ下部の[熱膨張]セクションに

は、伝熱と固体力学にどの物理が定義

されているかが表示されます。この仕

組みは伝熱または固体力学に 1 つ以上

の物理インターフェースが存在する時

に便利です。 このウィンドウでは全てデフォルト設

定のままにします。

次は、バスバーの固定拘束をチタンボルトに設定しましょう。

Page 89: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 89

7. [モデルビルダ]で[固体力学]を右クリックし、境界レベルから[固定拘束]を選択します。

[固定拘束]という名前のノードが[モデルビルダ]に追加されます。 8. [固定拘束]ノードをクリックします。[グラフィックス]

ウィンドウで、バスバーを回転させて背面を向けます。

ボルトの 1 つをクリックしてハイライトさせ、右クリ

ックをして[境界選択]リストに追加します。

9. 残りのボルトにもこの動作を繰り返して、8、15 そして 43 を境界リストに追加します。

次に、スタディを更新して追加効果を有効にしましょう。

スタディの実行 – ジュール発熱と熱膨張

ジュール発熱効果はバスバーの応力やひずみとは独立していて、微少変形は考慮し電気的

接触圧力は無視します。このことは温度を構造解析の入力値として計算できることを意味

しています。言い換えれば、拡張されたマルチフィジックス問題は弱連成です。そのよう

なことのため、この問題は 2 つの別々のスタディステップで計算し、計算時間を節約する

ことができます。1 つ目のスタディはジュール発熱、2 つ目は構造解析です。

Page 90: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 90

1. [モデルビルダ]で[スタディ 1]を右クリックし、[スタデ

ィステップ]>[定常]を選択して[ステップ 2:定常 2]ノー

ドを追加します。

ポイント:スタディステップを追加する際、手動で物理とスタディステップを正しく

結合する必要があります。最初のステップでは固体力学を無効にして開始しましょう。

2. [スタディ 1]>[ステップ 1:定常]ノードをクリックします。

3. [定常]設定ウィンドウで、[フィジックスおよび変数選択]に注目します。 4. [固体力学(solid)]行の[計算対象]列で、チェックマークをクリックして×に変更し、[ス

タディ 1]から[固体力学]を削除します。

5. [スタディ 1]>[ステップ 2:定常 2]をクリックします。

Page 91: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 91

6. [フィジックスおよび変数選択]セクションで、[ジュール発熱(jh)]行の[計算対象]列で、

チェックマークをクリックして×に変更し、ジュール発熱をステップ 2 から削除しま

す。

7. [スタディ 1]ノードを右クリックし、[計算]を選択(または F8 キーを押下)して計算。

ファイル名 busbar_II.mph でファイル保存してください。これは固体力学インターフェー

スと追加したスタディステップを含みます。

変形の計算結果

次にプロットに置換を追加します。 1. [結果]>[3D 表示グループ 2]の下の[サーフェス 1]ノードをクリックします。

Page 92: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 92

2. [サーフェス]設定ウィンドウの[式]セ

クションで、[式を置換]ボタンをクリッ

クします。コンテキストメニューから、

[固体力学]>[変位]>[変位大きさ]を選択

します。[式]フィールドに「solid.disp」とキー入力しても構いません。

3. [範囲]をクリックしてセクションを展

開します。[カラー範囲(手動)]チェック

ボックスをオフにします。

4. [モデルビルダ]で、[結果]>[3D 表示グループ 2]>[サーフェス 1]ノードを右クリックし、

[変形]を追加します。プロット図は[グラフィックス]ウィンドウで自動的に更新されま

す。

この図の変位は、実際には非常に微少なひねりを分かりやすく表現するために、大き

く倍率をかけて表示しています。

Page 93: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 93

5. busbarII.mph ファイルを保存します。これは変位のついた[サーフェス]を含んでいま

す。 変位の代わりに、フォンミーゼス応力や、バスバーとボルトの構造的な厳密性を査定する

主応力のプロット図を出力することができます。

追加した流体流れによる冷却

バスバーで発生した熱を解析して、(可能な場合に)熱応力を解析した後、もしかすると自然

換気による表面温度の冷却する方法を調査したいと思うかもしれません。これらの操作は

追加モジュール不要です。

CFD モジュールまたは伝熱モジュールを持っている場合、共役伝熱マルチフィジック

スインターフェースが利用できます。これは自動的に、伝熱(固体)と層流または乱流の

流体を連成します。 ジュール発熱に流体流れを追加する場合、新しいマルチフィジックス連成を作ります。流

体ドメインをシミュレートするには、バスバー周りに空気の領域を作る必要があります。

この操作には、最初のモデルから変更するか、すでに作成されているボックス付きのモデ

ルを開きます。 ジオメトリを読み込んだ後、下記の図に従って空気の流れをシミュレートする方法を学び

ましょう。

Page 94: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 94

流入速度の定義

ジオメトリをファイルから読み込み、流入速度に新しいパラメータを追加することから始

めましょう。 1. ソフトウェアを再起動した場合、[キャンセル]ボタンをクリックしてデフォルトで自動

的に開かれる[新規]ウィンドウを閉じましょう。 2. [ホーム]タブから[モデルライブラリ]を選択し、[COMSOL Multiphysics] >

[Multiphysics] > [busbar_box]へ移動します。モデルを開くためにダブルクリックしま

す。これは p.82「材料のカスタマイズ」セクションを最後まで実行した物理モデルの

ジオメトリを含みます。

3. [グローバル定義]の下で、[Parameters]をクリックします。

4. [パラメータ]設定ウィンドウで、最後尾行の[名前]列をクリックし、「Vin」とキー入力

してください。[式]列に「1e-1[m/s]」とキー入力し、[説明]列には自分の好きなように

使います。 5. [ファイル]>[名前をつけて保存]を選択し、「busbar_box_I.mph」と新しい名前をつけて

モデルを保存してください。

Page 95: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 95

Air の追加

次のステップでは、air の材料物性を追加しましょう。 1. リボンの[ホーム]タブから[材料を追加]を選択します (または[材料]ノードを右クリッ

クし、[材料を追加]を選択します。) 2. [材料ブラウザ]で[標準材料ライブラリ。主に固体データです。]ツリーを展開します。

[Air]を右クリックし、[材料をモデルに追加]を選択します。

3. [モデルビルダ]の[材料]の下で、[Air]をクリックします。

4. [グラフィックス]ウィンドウで、風洞ボックス(ドメイン 1)をクリックしてハイライト

(赤く)させ、右クリックで[選択]リストに追加します。(色が青く変わります。)

流体流れの追加

それでは流体流れフィジックスを追加しましょう。 1. モデルツリーで[Component 1]を右クリックし、[フィジックスを追加]を選択します。

Page 96: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 96

2. [フィジックスを追加]ウィンドウで、

[流体流れ]>[単相流]の下の[層流]を右

クリックして[コンポーネントに追加]を選択。すると[層流]コンポーネントが

モデルビルダの[Componennt 1]に表

示されます。[フィジックスを追加]ウィ

ンドウを閉じます。

3. [グラフィックス]ツールバー上で、[境界を選択]ボタンをクリックし、[ワイヤーフレー

ムレンダリング]ボタンをクリックして箱の内部が見えるようにしましょう。

さてモデルに流体流れを追加しましたが、[ジュール発熱]インターフェースの伝熱部を

流体流れと連成しなくてはなりません。

Page 97: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 97

4. [モデルビルダ]で、[Electric Currents (ec)]ノードを右クリックします。グラフィック

スウィンドウでマウスポインタを空気ドメインへ移動し、クリックしてドメイン選択

リストから削除します。この事典で、バスバーのみが選択されて青くハイライトされ

ます。 5. モデルビルダで[Heat Transfer in Solids]を右クリックします。コンテキストメニュー

の最初のセクションのドメインレベルで、[伝熱(流体)]を選択します。

6. [グラフィックス]ウィンドウで風洞ボ

ックス(ドメイン 1)を選択し、右クリッ

クして[選択]リストに追加します。

これで流体流れと伝熱が連成しました。

Page 98: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 98

7. [伝熱(流体)]設定ウィンドウの[モデル

入力]セクションで、[速度場]リストか

ら[速度場 (spf/fp1)]を選択します。そ

して[絶対圧 p]リストから[圧力 (spf/fp1)]を選択します。このことによ

って[層流]インターフェースから速度

場を認識させ、伝熱インターフェース

と連成します。

それでは流体ドメインに伝熱のために流入境界と流出境界を作成しましょう 8. [モデルビルダ]で[Heat Transfer in Solids]を右クリック。コンテキストメニューの 2

番目のセクションの境界セクションから、[温度]を選択します。 [温度]ノードが[モデルビルダ]に追加されます。

Page 99: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 99

9. [グラフィックス]ウィンドウで流入境

界をクリックし、境界 2、右クリック

して[選択]リストに追加します。 これで流入温度は 293K に、デフォル

ト設定されます。続いて、流出も定義

しましょう。

10. [モデルビルダ]で[Heat Transfer in Solids]を右クリックします。境界レベルで[流出]

を選択します。[流出]ノードが[モデルビルダ]に追加されます。

Page 100: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 100

11. [グラフィックス]ウィンドウで、流出境

界をクリックし、境界 5、右クリック

して[選択]リストに追加します。

[モデルビルダ]の[ジュール発熱]>[電位]と[接地]を確認します。

流れ設定を継続します。あなたは流体流れが唯一、流れドメインに影響を与えることを示

さなければなりません。そして、流入、流出、対称境界を設定します。

Page 101: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 101

1. [モデルビルダ]で[層流]ノードをクリックします。[層流]設定ウィンドウで、[選択をク

リア]ボタンをクリックします。

2. [グラフィックス]ウィンドウで風洞ボックス(ドメイン 1)をクリックし、右クリックし

て[選択]リストに追加します。 [材料]ノードに警告マークが表示されていないことを確認してください。より詳しい情

報は p.58「材料」セクションに記載があります。

境界設定を継続します。 3. [モデルビルダ]で、[層流]を右クリックし、境界レベルから[流入口]を選択します。

[流入口]ノードが[モデルビルダ]に追加されます。

Page 102: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 102

4. [グラフィックス]ウィンドウで、流入口

(境界 2)を選択し、右クリックして[選択]リストに追加します。

5. [流入口]設定ウィンドウで、[速度]セク

ション下の[U0]フィールドに「Vin」と

[法線流入速度]を設定します。

6. [層流]を右クリックし、境界レベルから[流出口]を選択します。[グラフィックス]ウィ

ンドウで、流出口(境界 5)を選択し、右クリックして[選択]リストに追加します。

最後に対称境界を設定します。

Page 103: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 103

7. [層流]を右クリックし、[対称]を選択します。[対称]ノードがシーケンスに追加されま

す。 8. [グラフィックス]ウィンドウで、図の青い面を一つクリックします(境界 1,3,4,48 です)

そしてそれぞれを右クリックして[選択]リストに追加します。 busbar_boxI.mph ファイルを保存し

ます。材料[Air]と[層流]インターフェ

ース設定が追加されています。

【情報】 境界番号を知っていたら、[選択をペースト]ボタンをクリックして、

ダイアログに情報をキー入力しましょ

う。

メッシュを粗くする

計算時間を短縮するには、メッシュ変化を徐々にし、大きさを粗くします。 1. [モデルビルダ]で[Mesh 1]ノードを展開し、[Size]ノードをクリックします。

Page 104: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 104

2. [サイズ]設定ウィンドウの[要素サイ

ズ]セクションで、[規定]ラジオボタン

をオンにし、[ノーマル]が選択されてい

ることを確認します。

3. [全て作成]ボタンをクリックします。[グラフィックス]ウィンドウにジオメトリが粗い

メッシュで表示されます。

スタディ・シーケンスの実行 – 流体流れとジュール加熱

流体流れが温度場の前に解を持てば、弱連成マルチフィジックス問題を克服します。この

セクションで記述されたスタディ・シーケンスは自動的に、そのような弱連成問題を解き

ます。

Page 105: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 105

1. [モデルビルダ]で[Study 1]を右クリックし、[スタディステップ]>[定常]を選択すること

で、[モデルビルダ]に 2 番目の定常スタディステップが追加されます。

2. [Study1]の下で、[ステップ 1:Stationary]をクリック

3. [定常]設定ウィンドウで[フィジックスおよび変数選択]セクションに移動。[Electric Currents (ec)]行と[Heat Transfer in Solids (ht)]行の[計算対象]列で、チェックマーク

をクリックして×に変更し、スタディ 1 からジュール発熱を削除します。 4. さきほどの手順を繰り返します。[Study 1]の下の[ステップ 2:定常 2]をクリックします。

今度は[層流(spf)]行の[計算対象]列のチェックマークをクリックして×に変更し、スタ

ディ 2 から[層流(spf)]を削除します。

Page 106: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 106

5. [Study 1]ノードを右クリックし、[計算]を選択します。(または[F8]を押下します) する

と自動的にソルバーシーケンスが作られます。それによって 2 つの問題が順番に計算

されます。

6. 計算実行が終了すると、モデルビルダの[Results]ノードの下の[Temperature(ht)]を選

択します。[グラフィックス]ツールバーの[透過度]ボタンをクリックし、直方体の中身

の温度場を可視化します。

[グラフィックス]ウィンドウに表示されている[サーフェス:温度]は、バスバー内部の

温度と周辺領域の温度を表しています。またこれを見れば、温度場がメッシュの粗さ

によって滑らかではないことがわかります。より滑らかな解をえる良い方法は、精度

を評価するためにメッシュを整備(リファイン)することでしょう。 7. ここまで行ったら一旦 busbar_box_I.mph という名前でファイル保存しましょう。そ

うすればこのファイルの場所に戻れます。次の章では、元の busbar.mph ファイルを使

いましょう。

Page 107: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 107

ジオメトリパラメータのスイープ

特定の制約条件を調べる目的のため、すこしずつデザインの異なる複数のモデルを作成す

ることはしばしば役に立ちます。さきほどのバスバー例題では、デザイン上の目的は温度

を下げること、または電流密度を下げることかもしれません。これから前者をデモしまし

ょう。電流密度はバスバーのジオメトリに依存するので、幅 wbb を変更することで電流密

度が変化し、それに応じて、取り扱い温度にある程度の影響をあたえるでしょう。 この変化を確認するために、wbb にパラメトリックスイープを実行しましょう。

パラメトリックスイープの追加

1. モデルファイル busbar.mph を開きます。[モデルビルダ]で[スタディ 1]を右クリック

し、[パラメトリックスイープ]を選択します。[パラメトリックスイープ]ノードが[モデ

ルビルダ]シーケンスに追加されます。

パラメトリックスィープ

Page 108: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 108

2. [パラメトリックスイープ]設定ウィン

ドウで、表の下の、[追加]ボタンをクリ

ックします。[パラメータ名]リストから、

[wbb (バスバー幅)]を選択します。

上図の[パラメータ名]の上にある[スイープタイプ]は、複数のパラメータでのパラメト

リックスイープで使用できます。全ての組み合わせを選ぶか、または指定の組み合わせを

選ぶことができます。 3. スイープするパラメータ値の範囲を入力します。バスバーの幅を 5cm から 10cm まで

1cm 刻みでスイープします。この情報を入力する他の方法は下記です: - [パラメータ値リスト]フィールドに、コピー&ペーストまたは「range(0.05, 0.01,

0.1)」とキー入力します。 - [範囲]ボタンをクリックし、[範囲]

ダイアログボックスに値を入力し

ます。[開始]フィールドに[5e-2]と入力します。[ステップ]フィールド

に[1e-2]と入力し、[停止]フィール

ドに[1e-1]と入力します。[置き換

え]ボタンをクリックします。

Page 109: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 109

4. [成分 1]の下で[定義]を右クリック、[コンポーネントカップリング]>[平均]を選択。 5. [平均]設定ウィンドウで、[選択]リストから[全ドメイン]を選択します。この操作によ

って演算子[aveop1]が作成されます。

6. [スタディ 1]を右クリックし、[計算]を選択してスイープを実行しましょう。 7. ツールバーから[ファイル]>[名前をつけて保存]を選択し、[busbar_III.mph]という名前

でモデルを保存します。

パラメトリックスイープ結果

[温度 (ht) 1]ノードが[結果]に追加されます。

Page 110: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 110

1. [温度 (ht) 1]ノードの下の、[サーフェス]ノードをクリックします。

2. [サーフェス]設定ウィンドウで、[範囲]をクリックしてセクションを展開しま

す。[カラー範囲(手動)]チェックボック

スをオンにします。[最大]フィールドに

(デフォルト値から変更して)[309.4]とキー入力し、wbb=10cm の時の結果を

プロット表示します。

Page 111: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 111

3. [温度 (ht) 1]プロット図はグラフィックスウィンドウで、wbb=0.1[m] (10[cm])の内容

で更新されます。

幅広のバスバーのプロット図と、wbb=0.05[m] (5[cm])の温度図と比較しましょう。

1. モデルビルダで、最初の[温度 (ht)]ノードをクリックします。

Page 112: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 112

2. [3D 表示グループ]設定ウィンドウで、

[データセット]リストから[解 2]を選択

します。このデータセットはパラメト

リックスイープ結果を含みます。 3. [パラメータ値]リストから、0.05 を選

択します。(wbb=5cm の意味です)。[グラフィックス画面表示]ボタンをクリ

ックします。グラフィックスツールバ

ーの[画面にわたってズーム]をクリッ

クします。

[温度 (ht)]プロット図は、wbb=0.05[m] (5[cm])で更新されます。このプロット図のカラー

範囲をすでに変更しているかもしれないことに注意してください。その際は下図とくらべ

て異なって見えます。そうでなければ、下記手順に従ってください。

幅広のバスバーと同様に、プロット図は均一な色かもしれません。その際、カラー範囲の

最大値を変更しましょう。

Page 113: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 113

1. 最初の[温度(ht)]ノードの下の、[サーフェス 1]をクリックします。 2. [サーフェス]設定ウィンドウで、[範囲]セクションをクリックして展開します。(もしま

だ展開していない場合) [カラー範囲(手動)]チェックボックスをオンにしてください。 3. [最大]フィールドに (デフォルト値を編集し) [323.5]とキー入力し、wbb=5cm のプロッ

ト図を表示します。グラフィックスウィンドウの[温度(ht)]プロットは、wbb=0.05[m] (5[cm])で更新します。

最初と 2 番目の[温度 ht)]プロットノードをクリックして、グラフィックスウィンドウのプ

ロット図を比較します。プロット図を見ると、バスバーの幅が 5cm から 10cm に増加する

に伴い、最大温度が 330K から 317K に減少していることが分かります。

プロット図の追加

この結果をもっと分析するために、それぞれの幅での平均温度のプロット図を作りましょ

う。 1. [結果]ノードを右クリックし、[1D 表示

グループ]を追加します。 2. [1D 表示グループ]設定ウィンドウで、

[データセット]リストから[解 2]を選択

します。 3. モデルビルダで、[1D 表示グループ 8]を右クリックし、[グローバル]ノードを追加。

Page 114: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 114

4. [y 軸データ]の下で、先頭行の[式]カラムをクリックし、[aveop1(T)]とキー入力します。

5. [レジェンド]セクションをクリックして展開してください。[表式]チェックボックスを

オンにします。この操作で、グラフの右上角にレジェンドを追加します。 6. [グラフィックス画面表示]ボタンをクリックし、busbar_III.mph モデルに、このパラ

メトリックスイープ結果を使った追加プロット図と共にファイル保存します。

このプロット図によると、平均温度もまた幅の増加に伴って、減少します。このことは、

低い操作温度の目標は、より幅の広いバスバーを使うことで満たされることを示します。

Page 115: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 115

パラメトリックスイープの課題によって、パラレルコンピューティングへの要求が持ち上

がります。というのも全てのパラメータを同時に求解すれば、より効果的だからです。

COMSOL はほとんどの形式のパラレルコンピューティングをサポートしております。マル

チコアプロセッサのためのシェアドメモリパラレルや、ハイパフォーマンスコンピューテ

ィング(HPC)クラスターやクラウドに対応しています。すべての COMSOL ライセンスはマ

ルチコア対応しています。クラスターまたはクラウドコンピューティングにはフローティ

ング・ネットワーク・ライセンスが必要です。 クラスタースィープまたはクラスターコンピューティングには、クラスターまたはクラウ

ドが使用できます。もしフローティング・ネットワーク・ライセンスを持っているなら、

これらの 2 つのオプションはスタディノードを右クリックするだけで使用できます。しか

しまず最初に、[詳細スタディオプション]の有効が必要です。それにはモデルビルダ・ツー

ルバーの[表示]ボタンをクリックし、[詳細スタディオプション]を選択します。

パラレルコンピューティング

Page 116: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 116

クラスタスィープ

クラスタスィープは、いくつかのモデルで、それぞれのモデルが異なるパラメータ・セッ

トを持つ場合に、パラレルで計算するときに使います。これはパラメトリックスィープの 1世代のように見えます。スタディー・ノードを右クリックし、[クラスタスイープ]を追加し

ます。

クラスタコンピューティング

大規模モデルを分散メモリを使って解く場合には、クラスターやクラウドを使うことがで

きます。パフォーマンスを最大限に使用するために、COMSOL クラスター設定は、シェア

ードメモリー・マルチコア・プロセッシングを使うことができます。それぞれのノードに

ついて、メッセージ・パッシング・インターフェース(MPI)ベースの分散メモリモデルと連

携して実現します。

Page 117: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 117

こうすることで外部の有効な計算資源を最大限にする、主要なパフォーマンスの加速をも

たらします。 スタディ・ノードを右クリックし、[クラスタコンピューティング]ノードを追加します。 [クラスタコンピューティング]設定ウィンドウで、下に示しますが、クラスタまたはクラウ

ドでのシミュレーション管理に役立ちます。

[クラスタタイプ]リストから、クラスタージョブタイプを選択してください。 COMSOL は以下をサポートします。 Windows Computer Cluster Server (WCCS) 2003, Windows HPC Server (HPCS) 2008, Open Grid Scheduler/ Grid Engine (OGS/GE), また

は 未分布です。 COMSOL のパラレル計算についてもっと知るためには、”COMSOL Multiphysics Reference Manual” をご参照ください。

Page 118: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 118

このセクションでは、バスバーのジオメトリを COMSOL 内蔵のジオメトリツールで作成

する詳細方法を示します。ステップバイステップの操作手順を実行すれば、グローバル定

義のパラメータを使ってジオメトリを作成します。パラメータ寸法を使うことで、借りの

解析やジオメトリのパラメータスイープに役立ちます。 COMSOL でジオメトリを作成する代わりに、CAD パッケージからジオメトリをインポー

トすることができます。オプションの CAD インポートモジュールは、たくさんの CAD フ

ァイルフォーマットをサポートしています。さらに、いくつかのアドオン製品では CAD パ

ッケージとの双方向インターフェースが利用できます。詳細は p.153「付録 E --- LiveLinkアドオンとの接続」をご参照ください。 [モデルウィザード(フィジックスとスタディを追加する)]の下の下記の手順と[グローバル

定義(パラメータを追加します)]に従って、p.50「例題 2:バスバー --- マルチフィジックス

モデル」から始めましょう。その後、このセクションに戻り、ジオメトリモデリングを学

びます。ジオメトリシーケンスの第一歩はバスバーのプロファイル曲線を描画します。 1. [成分 1]>[ジオメトリ 1]を右クリック

し、[ワークプレーン]を選択します。[ワークプレーン]設定ウィンドウ: [平面]リストから[xz 平面]を選択

します。 設定ツールバーから[ワークプレ

ーンを表示]ボタンをクリックし

ます。 引き続き、[ワークプレーン 1]の座標軸とグ

リッド設定を行います。

付録 A --- ジオメトリ作成

Page 119: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 119

2. [モデルビルダ]で[ビュー2]ノードを展開し、[座標軸]をクリックします。

3. [座標軸]設定ウィンドウ:

[座標軸]の下: [x 最小値]と[y 最小値]フィールド

に[-1e-2] [x 最大値]と[y 最大値]フィールド

に[0.11] [グリッド]の下: [手動スペーシング]チェックボッ

クスをオン [x 間隔]と[y 間隔]フィールドに

5e-3 を入力 4. ツールバーの[適用]ボタン をクリ

ック

描画ツールバー・ボタンを使うことでジオメトリ作成時にインタラクティブな描画ができ

ます。[グラフィックス]ウィンドウでポイントを指したりやクリックする代わりです。

[ワークプレーン]タブ

[基本形状]

Page 120: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 120

また[ワークプレーン 1]ノードの下の[平面

ジオメトリ]ノードを右クリックしてジオ

メトリ・オブジェクトの追加が可能です。

5. [モデルビルダ ]の [ワークプレーン

1]>[平面ジオメトリ]を右クリックし、

[長方形]を選択します。 [長方形]設定ウィンドウの[サイズ]以下に入力: - [幅]に「L+2*tbb」 - [高さ]に「0.1」 [選択対象作成]ボタンをクリックする。

Page 121: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 121

6. 2 番目の長方形を作ります。[ワークプ

レーン 1]>[平面ジオメトリ]を右クリ

ックし[長方形]を選択します。 [サイズ]以下に入力:

[幅]に「L+tbb」 [高さ]に「0.1-tbb」

[位置]以下に入力: [yw]に「tbb」

[選択対象作成]ボタンをクリック 差のブーリアンを使って、最初の長方形か

ら 2 番目の差をとります。

7. [ワークプレーン 1]>[平面ジオメトリ]を右クリックし、[ブーリアン演算]>[差]を選択し

てください。グラフィックスウィンドウで r1 をクリックし右クリックすると、[差]設定ウィンドウの[追加するオブジェクト]に r1 を追加されます。

ジオメトリ選択を簡単にするために、ジオメトリラベルをグラフィックスウィン

ドウに表示することができます。[モデルビルダ]の[ジオメトリ 1]>[ワークプレーン

1]>[平面ジオメトリ]の下の、[ビュー2]ノードをクリックします。[ビュー]設定ウィン

ドウへ移動し、[ジオメトリラベルを表示]チェックボックスをオンにします。 8. [差]設定ウィンドウで、[差し引くオブ

ジェクト]>[選択をアクティベート]ボタンをクリックします。[グラフィック

ス]ウィンドウで r2 を選択して右クリ

ックするとリストに追加されます。 [選択対象作成]ボタンをクリックしま

す。

Page 122: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 122

選択対象作成が終了すると、L 字型プロファイルが表示されます。

次はフィレットをつけます。

9. [ワークプレーン 1]>[平面ジオメトリ]を右クリックし、[フィレット]を選択します。

[グラフィックス]ウインドウでポイント 3 を選択し右クリックすると、[フィレット]設定>[ポイント]>[フィレット対象頂点]リストに追加されます。

Page 123: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 123

10. [半径]に「tbb」に追加。[選択対象作成]ボタンをクリックします。 この操作で内側の角が変更されます。 11. 外側の角について、[平面ジオメトリ]を右クリックし[フィレット]を選択します。 12. [グラフィックス]ウィンドウで点 6(外側の角)をクリックし、右クリックして[フィレッ

ト対象頂点]リストに追加してください。 13. [半径]に「2*tbb」をキー入力します。[選択対象作成]ボタンをクリックします。

Page 124: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 124

結果は下記のような図になります。

次にワークプレーンを押し出して 3D ジオメトリを作成しましょう。 1. [モデルビルダ]で[ワークプレーン 1]を右クリックし、[押し出し]を選択します。 [押し出し]設定ウィンドウで、[平面からの距離]テーブルに「wbb」とキー入力します。こ

の幅でプロフィール画像から押し出しします。

Page 125: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 125

2. [選択対象作成]をクリックし、[グラフィックス]ツールバーの [画面にわたってズーム]をクリックします。[保存]ボタンをクリックし、「busbar.mph」という名前で保存しま

しょう。(まだ保存されていない場合)

次にチタン製ボルトを作成しましょう。2 つのワークプレーンに 2 つの円を描いて、押

し出しします。 3. [モデルビルダ]で[ジオメトリ 1]を右クリックし、[ワークプレーン]を選択します。[ワ

ークプレーン 2]ノードが追加されます。[ワークプレーン]設定ウィドウで、[平面タイ

プ]>[面に平行]を選択します。

Page 126: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 126

4. [グラフィックス]ウィンドウで、面 8(図のハイライト部分)をクリックします。面が赤

くハイライトされたのち、[グラフィックス]ウィンドウ内で右クリックすると[ワーク

プレーン]設定ウィンドウの[平面]リストに追加されます。 面 8 が今は青くハイライトされ、ワークプレーンが面 8 の上面に配置されます。

5. [ワークプレーンを表示]ボタンをクリックして最初のボルトを描きます。[グラフィク

ス]ツールバーの[画面にわたってズーム]ボタンをクリックします。 6. [ワークプレーン 2]>[平面ジオメトリ]

を右クリックし、[円]を選択します [円]設定ウィンドウで: [サイズおよび形状 ]>[半径 ]に

「rad_1」を入力します。 [位置]>[xw],[yw]に(0,0)が設定さ

れていることを確認します。 [選択対象作成]をクリックします。

Page 127: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 127

次に押し出し操作を行い、ボルトを作成します。 1. [モデルビルダ]で[ワークプレーン 2]を右クリックし[押し出し]を選択します。[押し出

し]設定ウィンドウで、[平面からの距離]テーブルに「-2*tbb」を入力します。これは円

の押し出し距離で、バスバーの厚さと同じにします。

2. [選択対象作成]ボタンをクリックし、バスバーを貫くチタン製ボルトを作成します。

残りの 2 つのボルトを描画しましょう。

Page 128: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 128

3. [ジオメトリ 1]を右クリックし、[ワークプレーン]を選択します。[ワークプレーン

3]ノードが追加されます。[ワークプレーン]設定ウィンドウで([ワークプレーン 3]の)[平面タイプ]>[面に平行]を選択します。

4. [グラフィックス]ウィンドウで[面 4]をクリックします(図で表示されている面)。 この面が赤くハイライトされたら、[グラフィックス]ウィンドウの任意の場所で右

クリックし、[ワークプレーン]設定ウィンドウの[平面]リストに追加されます。

5. [ワークプレーン]設定ウィンドウの[ワークプレーンを表示]ボタンをクリックし、

[グラフィックス]ウィンドウの[画面にわたってズーム]ボタンで見やすくしてくだ

さい。 残り 2 つのボルト位置をパラメータ化するために、ボルトの断面を表す円を追加

しましょう。

Page 129: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 129

6. [ワークプレーン 3]>[平面ジオメ

トリ]を右クリックし[円]を選択し

ます。[円]設定ウィンドウで: [サイズおよび形状]>[半径]に

「rad_1」を入力します。 [位置]>[xw]に「-L/2+1.5e-2」

を、[yw]に「-wbb/4」を入力

します。 [選択対象作成]ボタンをクリ

ックします。

さきほどの円をコピーし、バスバーの

3 番目のボルトを作成します。 7. [ワークプレーン 3]>[平面ジオメ

トリ ]を右クリックし、 [形状操

作]>[コピー]を選択します。

8. [グラフィックス]ウィンドウで円

[c1]をクリックするとハイライト

されます。[グラフィックス]ウィン

ドウの任意の場所で右クリックす

ると、[コピー]設定ウィンドウの

[入力オブジェクト]リストに円が

追加されます。 9. [コピー ]設定ウィンドウの [変

位]>[yw]に「wbb/2」を入力します。

Page 130: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 130

10. [選択対象作成]ボタンをクリックします。 本ワークプレーン上の図形は、いまのところ下記図のように表示されます。

引き続き円の押し出し形状作成をします。

Page 131: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 131

11. [モデルビルダ]で[ワークプレーン 3]を右クリックし、[押し出し]選択します。[押し出し]設定ウィンドウで[平面からの距離]テーブルの最初の行に「-2*tbb (デフォ

ルト内容を変更します)」を入力します。[全て作成]をクリックします。 ジオメトリとジオメトリ・シーケンスは下記図の通りです。 [保存]ボタンをクリックし、「busbar.mph」という名前で保存します。

バスバーのチュートリアルを継続するには、p.58 「材料」セクションに戻ってください。

Page 132: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 132

ショートカット

(WINDOWS, LINUX)

ショートカット

(MAC) アクション

F1 F1 Display help for the selected node or window

Ctrl+F1 Command+F1 Open the COMSOL Documentation front page

in an external window

F2 F2 Rename the selected node, file, or folder

F3 F3 Disable selected nodes

F4 F4 Enable selected nodes

F5 F5

Update the Data Sets Solutions with respect to

any new Global Definitions and Definitions

without re-solving the model

F7 F7

Build the selected node in the geometry and

mesh branches, or compute to the selected node

in the solver sequence

F8 F8

Build the geometry, build the mesh, compute the

entire solver sequence, update results data, or

update the plot

Del Del Delete selected nodes

Left arrow (Windows);

Shift + left arrow (Linux) Left arrow Collapse a branch in the Model Tree

Right arrow (Windows);

Shift + right arrow

(Linux)

Right arrow Expand a branch in the Model Tree

Up arrow Up arrow Move to the node above in the Model Tree

Down arrow Down arrow Move to the node below in the Model Tree

Alt+left arrow Ctrl+left

arrow

Move to the previously selected node in the

Model Tree

Alt+right arrow Ctrl+right

arrow

Move to the next selected node in the Model

Tree

付録 B --- キーボード・マウス・ショートカット

Page 133: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 133

ショートカット

(WINDOWS,

LINUX)

ショートカット

(MAC) アクション

Ctrl+A Command+A Select all domains, boundaries, edges, or points;

select all cells in a table

Ctrl+D Command+D Deselect all domains, boundaries, edges, or points

Ctrl+C Command+C Copy text in fields

Ctrl+N Command+N New model

Ctrl+O Command+O Open file

Ctrl+P Command+P Print

Ctrl+S Command+S Save file

Ctrl+V Command+V Paste copied text

Ctrl+Z Command+Z Undo the last operation

Ctrl+Y Ctrl+Shift+Z Redo the last undone operation

Ctrl+up arrow Command+up arrow

Move a definitions node, geometry node, physics

node (except default nodes), material node, mesh

node, study step node, or results node up one step

Ctrl+down

arrow

Command+down

arrow

Move a definitions node, geometry node, physics

node (except default nodes), material node, mesh

node, study step node, or results node down one

step

Ctrl+Tab Ctrl+Tab Switch focus to the next window on the desktop

Ctrl+Shift+N Command+Shift+N New Physics Builder

Ctrl+Shift+Tab Ctrl+Shift+Tab Switch focus to the previous window on the desktop

Ctrl+Alt+left

arrow

Command+Alt+left

arrow Switch focus to the Model Builder window

Ctrl+Alt+right

arrow

Command+Alt+right

arrow Switch focus to the settings window

Ctrl+Alt+up

arrow

Command+Alt+up

arrow

Switch focus to the previous section in the settings

window

Ctrl+Alt+down

arrow

Command+Alt+dow

n arrow

Switch focus to the next section in the settings

window

Page 134: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 134

ショートカット(win,linux) ショートカット (MAC) アクション

F10 or (Windows only) Menu

key Ctrl+F10 Open the context menu

Ctrl+Space Ctrl+Space

Open list of predefined quantities for insertion in

Expression fields for plotting and

results evaluation.

Left-click and hold down the

mouse button while dragging

the mouse.

Same as for Windows, only

available for two-button

mouse

Rotate the scene around the axes parallel to the

screen X- and Y-axes with

the origin at the scene rotation point.

Right-click and hold down

the mouse button while

dragging the mouse.

Same as for Windows, only

available for two-button

mouse.

Move the visible frame on the image plane in any

direction.

Middle-click and hold down

the mouse button while

dragging the mouse.

Same as for Windows, only

available for two-button

mouse.

The scene is zoomed in/out around the mouse

position where the action started.

Press Ctrl and left-click.

While holding down both

buttons, drag the mouse.

Same as for Windows, only

available for two-button

mouse.

Tilt and pan the camera by rotating about the X- and

Y axes in the image plane.

Press Ctrl and right-click.

While holding down both

buttons, drag the mouse.

Same as for Windows, only

available for two-button

mouse.

Move the camera in the plane parallel to the image

plane.

Press Ctrl and middle-click.

While holding down both

buttons, drag the mouse.

Same as for Windows, only

available for two-button

mouse.

Move the camera into and away from the object

(dolly in/out).

Press Ctrl+Alt and left-click.

While holding down both

buttons, drag the mouse.

Same as for Windows, only

available for two-button

mouse.

Rotate the camera around the axis.

Press Alt and left-click.

While holding down both

buttons, drag the mouse.

Same as for Windows, only

available for two-button

mouse.

Rotate the camera about its axis between the

camera and the scene rotation point (roll direction).

Press Alt and right-click.

While holding down both

buttons, drag the mouse.

Same as for Windows, only

available for two-button

mouse.

Move the scene in the plane orthogonal to the axis

between the camera and the scene rotation point.

Press Alt and middle-click.

While holding down both

buttons, drag the mouse.

Same as for Windows, only

available for two-button

mouse.

Move the camera along the axis between the camera

and the scene rotation point.

Page 135: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 135

付録 C --- 言語要素と予約語

定数とパラメータ

Page 136: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 136

組み込み数値定数

説明 名前 値 同一点判定値 eps 2^-52(~2.2204e-16) 虚数単位 i, j i, sqrt(-1) 無限大 inf, Inf Not-a-number NaN, nan Π Pi 3.141592653589793

組み込み物理定数

説明 名前 値

重力加速度 g_const 9.80665[m/s^2]

アボガドロ数 N_A_const 6.02214129e23[1/mol]

ボルツマン定数 k_B_const 1.3806488e-23[J/K]

真空の特性インピーダンス Z0_const 376.73031346177066[ohm]

電子の質量 me_const 9.10938291e-31[kg]

電気素量 e_const 1.602176565e-19[C]

ファラデー定数 F_const 96485.3365[C/mol]

微細構造定数 alpha_const 7.2973525698e-03

万有引力定数 G_const 6.67384e-11[m^3/(kg*s^2)]

Loschmidt 数 V_m_const 2.2413968e-2[m^3/mol]

中性子の質量 mn_const 1.674927351e-27[kg]

真空中の透磁率 mu0_const 4*pi*1e-7[H/m]

真空中の誘電率 epsilon0_const 8.854187817000001e-12[F/m]

Planck 定数 h_const 6.62606957e-34[J*s]

Planck 定数/2Π hbar_const 1.05457172533629e-34[kg]

Page 137: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 137

陽子の質量 mp_const 1.672621777e-27[kg]

真空中の光速 c_const 299792458[m/s]

Stefan-Boltzmann 定数 sigma_const 5.670373e-8[W/(m^2*K^4)]

一般気体定数 R_const 8.3144621[J/(mol*K)]

Wien の変位則定数 b_const 2.8977721e-3[m*k]

Page 138: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 138

組み込み変数

名前 説明 変数型

t 時間 スカラ型

freq 周波数 スカラ型

lambda 固有値 スカラ型

phase 位相 スカラ型

numberofdofs 自由度数 スカラ型

h メッシュ要素サイズ フィールド型

meshtype メッシュタイプ フィールド型

meshelement メッシュ要素 フィールド型

dvol 体積スケール変数 フィールド型

qual メッシュ品質 フィールド型

ユーザ定義変数 (組み込み変数を使用するもの)

デフォルト名 説明 変数型

x,y,z 空間座標(デカルト) フィールド型

r,phi,z 空間座標(軸対称) フィールド型

u,T,etc 従属変数(解) フィールド型

変数

Page 139: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 139

組み込み数学関数

これらの関数は入力または出力引数に単位が不要です。

名前 説明 使用例

abs 絶対値 abs(x)

acos arccos acos(x)

acosh arccosh acosh(x)

acot arccot acot(x)

acoth arccoth acoth(x)

acsc arccosec acsc(x)

acsch arccosech acsch(x)

arg 角度 arg(x)

asec arcsecant asec(x)

asech arcsecanth asech(x)

asin arcsin asin(x)

asinh arcsinh asinh(x)

atan arctan atan(x)

atan2 arctan2 atan2(y,x)

atanh arctanh atanh(x)

besselj ベッセル関数 besselj(a,b)

bessely ベッセル関数 bessely(a,b)

besseli ベッセル関数 besseli(a,b)

besselk ベッセル関数 besselk(a,b)

ceil 小数点以下切り上げ ceil(x)

conj 共役複素数 conj(x)

cos Cos cos(x)

cosh cosh cosh(x)

cot Cot cot(x)

coth coth coth(x)

関数

Page 140: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 140

名前 説明 使用例

csc csc csc(x)

csch csch csch(x)

erf 誤差関数 erf(x)

exp Exponential exp(x)

floor 小数点以下切り捨て floor(x)

gamma ガンマ関数 gamma(x)

imag 虚数 imag(x)

log 自然対数 log(x)

log10 底 10 の対数 log10(x)

log2 底 2 の対数 log2(x)

max 最大 max(a,b)

min 最小 min(a,b)

mod 剰余 mod(a,b)

psi Psi 関数と微分 psi(x,k)

range 時刻の刻み range(a,step,b)

real 実数 real(x)

round 四捨五入 round(x)

sec sec sec(x)

sech sech sech(x)

sign 符号 sign(x)

sin sin sin(x)

sinh sinh sinh(x)

sqrt √x sqrt(x)

tan tan tan(x)

tanh tanh tanh(x)

Page 141: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 141

組み込み演算子関数

名前 名前 名前 名前

adj down linsol scope.ati

at dtang lintotal sens

ballavg error lintotalavg shapeorder

ballint fsens lintotalpeak side

bdf if lintotalrms sphavg

centroid integrate linzero sphint

circavg isdefined mean subst

circint isinf nojac test

circumcenter islinear pd timeavg

d isnan ppr timeint

depends jacdepends pprint try_catch

dest lindev prev up

diskavg linper reacf var

diskint linpoint realdot with

Page 142: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 142

ユーザ定義関数 関数 引数と定義 呼び出し方法

解析 関数名は識別子となる。例:an1

関数はその引数の数式とする。

例:引数 x,y を与え、定義を

sin(x)*cos(y)とする。

関数は任意数の引数をもつ。

引数をカンマで区切った形で利用する。

例:an1(x,y)

標高 関数名は識別子となる。:elev1

デジタルの地図標高データをインポート

し、それをx、yの関数として写像する。

地表データである DEM ファイルは標高

データを含んでいる。

結果として得られる関数は、格子ベース

の内挿関数のように振舞う。

引数をカンマで区切った形で利用する。

例:elev1(x,y)

ガウスパルス 関数名は識別子となる。:gp1

ガウスパルス関数は釣鐘型の関数であ

る。

== 式を書く===

平均 S0, 標準偏差σ

関数は一個の引数をもつ。

引数を一個もつ形で利用する。

例:gp1(x)

イメージ

関数名は識別子となる。:im1

イメージ(BMP,JPEG,PNG, GIF の各フ

ォーマット)をインポートし、それらの

RGB 値をスカラ関数出力値へ写像する。

デフォルトでは関数の出力値は

(R+G+B)/3 とする。

引数をカンマで区切った形で利用する。

例:im1(x,y)

Page 143: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 143

関数 引数と定義 呼び出し方法

内挿 関数名は識別子となる。例:int1

内挿関数は表あるいは離散点での関数値を含

むファイルによって定義される。

ファイルフォーマット:

スプレッドシート、グリッド、断面データ

(sectionwise)

関数は 3 個の引数をもつ。

引数をカンマで区切った形で利用する。

例:int1(x,y,z)

区分(piecewise) 関数名は識別子となる。例:pw1

区分関数は各区間でのみ定義されたいくつか

の関数によるつなぎ合わせで構築される。

引数、外挿法と平滑化、関数、それらの区間

を定義する。

この関数は一個の引数で表されるが、異なる

区間で異なる微分値を持つことができる。各

区間は互いに重なりがあったり、互いの間に

すきまがあってはいけない。

引数を一個もつ形で利用する。

例:pw1(x)

ランプ 関数名は識別子となる。例:rm1

ランプ関数はある時刻に開始点をもち、ユー

ザー定義の傾斜で線形的に増加する。

この関数は1個の引数をもつ。平滑化も可能

である。

引数を一個もつ形で利用する。

例:rm1(x)

ランダム 関数名は識別子となる。例:rn1

ランダム関数は一様分布あるいは正規分布の

白色ノイズを生成する。

白色ノイズを生成するための引数を1個ある

いはそれ以上使える。

関数は任意数の引数をもつ。

引数をカンマで区切った形で利用する。

例:rn1(x,y)

矩形 関数名は識別子となる。例:rect1

矩形関数はある区間で1をとり、それ以外で

0をとる。

関数は一個の引数をもつ。

引数を一個もつ形で利用する。

例:rect1(x)

Page 144: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 144

関数 引数と定義 呼び出し方法

ステップ 関数名は識別子となる。例:step1

ステップ関数は値 0 からある設定値まで

の値の遷移を表現する。

この関数は1個の引数で、平滑化が可能。

引数を一個もつ形で利用する。

例:step1(x)

三角 関数名は識別子となる。例:tri1

三角関数はある区間で線形増加および線

形減少をし、区間外では 0 となる。

この関数は1個の引数で、平滑化が可能。

引数を一個もつ形で利用する。

例:tri1(x)

波形 関数名は識別子となる。例:wv1

波形関数は、のこぎり波、正弦波、矩形

波、三角波のいずれかを周期形状として

もつ。

この関数は1個の引数で、平滑化が可能。

引数を一個もつ形で利用する。

例:wv1(x)

Page 145: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 145

関数 引数と定義 呼び出し方法

External (Global

Definitions only)

An external function defines an

interface to one or more

functions

written in the C language (which

can be a wrapper function

interfacing source code written,

for example, in Fortran). Such

an external function can be

used, for example, to interface a

user-created

shared library. Note that the

extension of a shared library file

depends on the platform: .dll

(Windows), .so (Linux), or .dylib

(Mac OS X).

The name of the function and the

appropriate number of arguments

within parenthesis. For example:

myextfunc(a,b)

MATLAB

(Global

Definitions only)

A MATLAB function interfaces

one or more functions written in

the MATLAB language. Such

functions can be used as any

other function defined in

COMSOL provided

LiveLink for MATLAB and

MATLAB are installed.

(MATLAB functions are

evaluated by MATLAB at

runtime.)

The name of the function and the

appropriate number of arguments

within parenthesis.

For example:mymatlabfunc(a,b)

Page 146: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 146

パラメータ

パラメータの式に記述できるもの:数値、パラメータ、定数、パラメータの式関数、単項

演算子および二項演算子。パラメータには単位を付記できます。

変数

変数の式に記述できるもの:数値、パラメータ、定数、変数、変数の式関数。変数には単

位を付記できます。

関数

関数の式に記述できるもの:入力引数、数値、パラメータ、定数、引数を含むパラメータ

の式関数、単項演算子および二項演算子。

単項演算子、二項演算子

優先順位 記号 説明

1 ( ) { } . グループ リスト スコープ

2 ^ べき乗

3 ! - + 単項演算子:論理否定、マイナス、プラス

4 [ ] 単位

5 * / 二項演算子:積、商

6 + - 二項演算子:和、差

7 < <= > >= 比較演算子

8 == != 等価演算子:等価、不等価

9 && 論理 AND

10 | | 論理 OR

11 , リストの要素区切り文字

単項演算子、二項演算子

Page 147: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 147

ファイル形式 拡張子 読み取り 書き出し

COMSOL Model .mph Yes Yes

Binary Data .mphbin Yes Yes

Text Data .mphtxt Yes Yes

Physics Builder .mphphb Yes Yes

CAD

付録 D --- ファイルフォーマット

COMSOL ファイルフォーマット

サポートする外部ファイルフォーマット

Page 148: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 148

ファイル形式 拡張子 読み取り 書き出し

AutoCAD(3Donly) .dwg Yes Yes

Autodesk Inventor .ipt .asm Yes Yes

Creo Parametric .prt .asm Yes Yes

Pro/ENGINEER .prt .asm Yes Yes

Solid Edge .par .asm Yes Yes

SolidWorks .sldprt .aldasm Yes Yes

SpaceClaim .scdoc Yes Yes

DXF(2D only) .dxf Yes Yes

Parasolid .x_t .xmt_txt .x_b .xmt_bin Yes Yes

ACIS .sat .sab .asat .asab Yes Yes

Step .step .stp Yes No

IGES .iges .igs Yes No

CATIA V5 .CATPart .CATProduct Yes No

VRML,vl .vrml .wrl Yes No

STL .stl Yes Yes

Page 149: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 149

ECAD

ファイル形式 拡張子 読み取り 書き出し

NETEX-G .asc Yes No

ODB++ .zip, .tar, .tgz, tar.gz Yes No

ODB++(X) .xml Yes No

GDS .gds Yes No

Touchstone .s2p .s3p .s4p … No Yes

SPICE Circuit Netlist .cir Yes No 材料データベース

ファイル形式 拡張子 読み取り 書き出し

CHEMKIN .dat .txt .inp Yes No

CAPE-OPEN(direct connection) n/a n/a n/a

LXCAT file .lxcat .txt Yes No メッシュ

ファイル形式 拡張子 読み取り 書き出し

NASTRAN Bulk Data .nas .bdf .nastran .dat Yes Yes

VRML, vl .vrml .wrl Yes No

STL .stl Yes Yes

Page 150: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 150

画像と動画

ファイル形式 拡張子 読み取り 書き出し

JPEG .jpg .jpeg Yes Yes

PNG .png Yes Yes

BMP .bmp Yes Yes

TIFF .tif .tiff No Yes

GIF .gif Yes Yes

EPS(1D graphs only) .eps No Yes

Animated GIF .gif No Yes

Adobe Flash .swf No Yes

AVI(Windows only) .avi No Yes

Page 151: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 151

プログラム言語とスプレッドシート

ファイル形式 拡張子 読み取り 書き出し

MATLAB:Model M-File .m No Yes

MATLAB:Function .m Yes Yes

Java:Model Java File .java No Yes

Java:Model Class File .class Yes No

C:Function .dll .so .dylib Yes No

Excel .xlsx Yes Yes

Page 152: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 152

数値データおよび内挿データフォーマット

ファイル形式 拡張子 読み取り 書き出し

Copy and paste spreadsheet format n/a Yes Yes

Excel spreadsheet .xlsx Yes Yes

Table .txt .csv .dat Yes Yes

Grid .txt Yes Yes

Sectionwise .txt .csv .dat Yes Yes

Spreadsheet .txt .csv .dat Yes Yes

Parameters .txt .csv .dat Yes Yes

Variables .txt .csv .dat Yes Yes

Continuous and Discrete color table .txt Yes No

DEM .dem Yes No

Page 153: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 153

COMSOL 製品名 COMSOL からソフト

を起動 ソ フ ト か ら

COMSOL を起動 実行中のセッシ

ョンの接続

LiveLink for Excel Yes Yes No

LiveLink for MATLAB Yes Yes Yes

LiveLink for AutoCad No No Yes

LiveLink for Creo Parametric No No Yes

LiveLink for Inventor -Bidirectional Mode -One Window Mode

No Yes

No No

Yes No

LiveLink for Pro/ENGINEER No No Yes

LiveLink for Solid Edge No No Yes

LiveLink for SolidWorks -Bidirectional Mode -One Window Mode

No Yes

No No

Yes No

LiveLink for SpaceClaim No No Yes

付録 E --- LiveLink アドオンとの接続

Page 154: COMSOL Multiphysics イントロダクション...COMSOL の柔軟さは「これをしたらどうなるだろう」といったことを容易に実現できるのでより進んだ

| 154