ハンズオンセミナー
計測エンジニアリングシステム株式会社
【概要版】
~ はじめに ~ 演習1. [新規フォーム]から始めよう! 演習1-1: 解析モデルを準備しよう! 演習1-2: [新規フォーム]から始めよう! 演習1-3: 《ボタン》を追加してみよう!~その1~ 演習2. いろいろなオブジェクトを追加してみよう! 演習2-1: 《ボタン》を追加してみよう!~その2~ 演習2-2: 《スライダ》を使ってみよう! 演習2-3: 《ラジオボタン》を使ってみよう! 演習2-4: 《データ表示》を使ってみよう! 演習2-5: 《メッセージログ》を使ってみよう! 演習2-6: 《ログ》を使ってみよう! 演習2-7: 《結果テーブル》を使ってみよう! 演習2-8: 《ライン》を使ってみよう! 【備考】 オブジェクト《テキスト》について 【備考】 オブジェクト《単位》について 演習3. 複数のフォームを切り換えられるようにしよう! 境界定義をしてみよう! 演習3-1: フォームを追加してみよう! 演習3-2: 《フォームコレクション》を使ってみよう! 演習3-3: 《選択入力》を使ってみよう! 演習3-4: 続・《選択入力》を使ってみよう! 演習4. 基本的なファイル操作機能を実装してみよう! 演習4-1: エクスポートとレポート機能を作ってみよう! 演習4-2: メニューバーを作ってみよう! 【備考】 COMSOL Server への保存について 【備考】 パスワード設定について 演習4-3: ツールバーを作ってみよう! 【備考】 リボンメニューについて 演習5. メソッドエディタを使ってみよう! 演習5-1: 解析モデルを準備しよう! 演習5-2: 《コンボボックス》のメソッドを作ってみよう! 【備考】 メソッドの環境設定について 演習5-3: 《リストボックス》のメソッドを作ってみよう! 演習5-4: 《チェックボックス》のメソッドを作ってみよう! 【備考】 [よく使うオペレータ検索]の利用について 【備考】 サウンドについて 演習5-5: アニメーションを表示させてみよう! 【備考】 文法チェックについて 演習5-6: ファイルを開く機能を作ってみよう! 【備考】 デバッグ方法について ・・・・・・・・・・・・・・・・・・・・・・・・ 1 ・・・・・・・・・・・・・・・・・・・・・・・・ 5 ・・・・・・・・・・・・・・ 6 ・・・・・・・・・・・・・・ 9 ・・・・・・・・・・・・・・ 15 ・・・・・・・・・・・・・・・・・・・・・・・・ 19 ・・・・・・・・・・・・・・ 20 ・・・・・・・・・・・・・・ 23 ・・・・・・・・・・・・・・ 26 ・・・・・・・・・・・・・・ 30 ・・・・・・・・・・・・・・ 32 ・・・・・・・・・・・・・・ 34 ・・・・・・・・・・・・・・ 36 ・・・・・・・・・・・・・・ 41 ・・・・・・・・・・・・ 43 ・・・・・・・・・・・・ 43 ・・・・・・・・・・・・・・・・・・・・・・・・ 45 ・・・・・・・・・・・・・・ 46 ・・・・・・・・・・・・・・ 48 ・・・・・・・・・・・・・・ 50 ・・・・・・・・・・・・・・ 54 ・・・・・・・・・・・・・・・・・・・・・・・・ 59 ・・・・・・・・・・・・・・ 60 ・・・・・・・・・・・・・・ 66 ・・・・・・・・・・・・ 69 ・・・・・・・・・・・・ 70 ・・・・・・・・・・・・・・ 71 ・・・・・・・・・・・・ 74 ・・・・・・・・・・・・・・・・・・・・・・・・ 77 ・・・・・・・・・・・・・・ 78 ・・・・・・・・・・・・・・ 80 ・・・・・・・・・・・・ 84 ・・・・・・・・・・・・・・ 88 ・・・・・・・・・・・・・・ 93 ・・・・・・・・・・・・ 95 ・・・・・・・・・・・・ 96 ・・・・・・・・・・・・・・ 98 ・・・・・・・・・・・ 103 ・・・・・・・・・・・・・ 106 ・・・・・・・・・・・ 111
目次
・・・・・・・・・・・・・・・・・・・・・・・・ 113 ・・・・・・・・・・・・・ 114 ・・・・・・ 117 ・・・・・・ 120 ・・・・・・・・・・・・・・・・・・・・・・・・ 123 演習6. モデルデータアクセスを使ってみよう! 演習6-1: 解析モデルを準備しよう! 演習6-2: モデルデータアクセスによる《入力フィールド》の実装 演習6-3: モデルデータアクセスによる《コンボボックス》の実装 ~ 情報源の紹介 ~
~ はじめに ~ (1~4ページ)
掲載省略
演習1
[新規フォーム]から始めよう!
まずは、アプリケーションモデルのスタートである[新規フォーム]のウィザードに従った作成を体験 してみましょう。 これは、最も簡単なアプリケーションモデルの作成方法です。 その後、新規フォームのウィザードによらず、後からオブジェクト《ボタン》を追加してみるところまで 行います。 このオブジェクト《ボタン》の追加には、バージョン5.2で新たに追加された機能である [エディタツール]を使います。 尚、この演習1で作成するアプリケーションモデルは下図です。演習1
・ 解析モデルで定義されているグローバルパラメータを入力変更できる。 ・ 〘計算〙ボタンで計算実行できる。 ・ 〘断面電位〙,〘面温度〙,〘等値面温度〙,〘電流密度〙ボタンで、解析モデルの各3D 解析結果を《グラフィックス》の画面に切り換え表示することができる。バスバーの電気的発熱の解析モデル です。 変圧器から電気デバイスへの 直流伝導のために設計されたバスバー の抵抗発熱を解析しています。
演習1
演習1-1: 解析モデルを準備しよう!
① 以下の手順で、アプリケーションライブラリの busbar.mph を開きます。 ・ [ファイル]>[アプリケーションライブラリ]を選択します。 ・ [アプリケーションライブラリ]から[COMSOL Multiphysics]>[Multiphysics]>[busbar] を選択します。 ・ [アプリケーションを開く]アイコンをクリックします。 ⇒ モデルビルダーが開きます。 - 6 - < 演習1-1 >【 補足 】 グラフィックス表示の文字化け対策について: バージョン5.1以前は、グラフィックス表示の文字化けを避けるためのフォントの設定変更が必要 でしたが、本バージョン5.2からは改善されました。 ( rootの[設定]ウィンドウの[グラフィックス中のフォント]設定が[vera]のままでも、グラフィックス 表示の文字化けがおこらなくなりました。 ) バージョン5.1の場合には、事前準備として以下の設定変更をしておいてください。 ・ モデルビルダのツリーから rootを選択
・ rootの[設定]ウィンドウの[Font in graphics]セクションの[ファミリー]に、[MS Gothic]を選択 ⇒ グラフィックスの文字化けが解消されます。
< 注:バージョン5.1のデスクトップ画面 >
② busbar.mph ファイルを開くと、モデルビルダーのデスクトップ画面になります。 このツールメニューの[ホーム]タブのリボンメニューの一番左側にある[アプリケーションビ ルダー]をクリックすることによって、現在のモデルビルダーのデスクトップ画面からアプリ ケーションビルダーのデスクトップ画面に切り換わります。
演習1
[アプリケーションビルダー]をクリックすると、下図のようなデスクトップ画面に切り換わります。 ※ 再度、モデルビルダーに戻りたい場合は、このツールメニューの[ホーム]タブのリボンメニューの 一番左側にある[モデルビルダ]をクリックします。 - 8 - < 演習1-1 >演習1-2: [新規フォーム]から始めよう!
① アプリケーションビルダーのデスクトップ画面から作成を始めます。 最初は必ず、[ホーム]タブのリボンメニューの左から2番目の[新規フォーム]をクリックします。 すると、[新規フォーム]のウイザード画面が表示されます。演習1
【 補足 】 [新規フォーム]のウイザード画面では、[入力/出力],[グラフィックス],[ボタン]の 3つのタブを切り換えながら、各候補を選択することができます。 この各候補は、モデルビルダーで作った解析モデルの中から、アプリケーションを 作る土台となるフォーム上に載せることができる基本的なものを自動的に表示して くれています。 < 演習1-2 >演習1
② 最初に[入力/出力]タブにある候補を選択します。 ここでは、候補となっている[グローバル定義]ノードの下の[パラメータ]ノードにある候補を 全て選択してみます。 矢印(➡)をクリックすると、右側の[選択:]の箱に移行します。 また、プレビューには、それらがフォームに実装された状態のイメージが表示されます。 - 10 - < 演習1-2 >演習1
③ 次に、[グラフィックス]タブを選択します。
ここで多くの候補を選択すると、各々のグラフィックス画面がフォームに置かれてしまいます。 このため、ここでは、[Results]ノードにある候補の中の[Electric Potential (ec)]のみを選択す ることにします。 後ほど、このグラフィックス画面に他の多くの表示も行うようにします。 先ほどと同様に、矢印(➡)をクリックしてプレビューを確認します。
演習1
④ 次に、[ボタン]タブを選択します。
ここでは、計算実行するためのボタンとして[計算 Study 1]ノードを選択します。
また、先ほど[グラフィックス]タブで選択した[Electric Potential (ec)]のプロットボタンとして、 ここでも[Results]ノードの候補の中の[プロット Electric Potential (ec)]を選択しておきます。 先ほどと同様に、矢印(➡)をクリックしてプレビューを確認します。
- 12 -
演習1
⑤ 最後に、[新規フォーム]ウィザード画面の右下にある[ OK ]ボタンをクリックします。 すると、[新規フォーム]のウイザード画面が完了し、アプリケーションビルダーのデスクトップ 画面のフォームエディタウィンドウに、先ほどのプレビューのイメージ通りのフォームが作成・ 表示されています。 ( このフォームは、form1として定義されています。 ) < 演習1-2 > form1のフォームエディタウィンドウ⑦ ここで、テストして動かしてみましょう。 ツールメニューの[フォーム]タブのリボンメニュー にある[アプリケーションをテスト]をクリックすると、 作成しているアプリケーションモデルを実行させて 開くことができます。
演習1
⑥ form1に自動的に配置された各オブジェクトを、下図のように配置し直します。 ・ 《グラフィックス》に電位の解析結果が表示されることを確かめましょう。 また、パラメータ [Length:]の入力値を“9”から“18”に変更して計算を実行してみましょう。 解析結果のジオ メトリが変更されたことがわかります。 尚、今は常に《グラフィックス》に電位の解析結果が 表示される設定のため、電位用〘プロット〙ボタンをクリックしても何の変化もありません。 確認後、[アプリケーションをテスト]を終了してください。 - 14 - < 演習1-2 >演習1-3: 《ボタン》を追加してみよう!
~その1~ ① さて、次に、新たにオブジェクト《ボタン》を追加配置し、電位以外の他の解析結果を表示 できるようにしてみましょう。 この方法には2通りあります。 ここではバージョン5.2で新た に追加された機能である[エディタツール]を使う方法について説明します。 ツールメニューの[フォーム]タブのリボンメニューにある[エディタツール]をクリックすると、 デスクトップの右側にある設定ウィンドウに[エディタツール]タブが表示されます。 ・ [エディタツール]タブを選択し、そのツリーを展開して [モデル]>[Results] >[Temperature (ht)]を選択します。 ・ エディタツールのツリーボックスの下側にある[ボタン] アイコンをクリックすると、form1に自動的に体裁設定さ れたボタン〘プロット〙が置かれます。 これを下図のように配置します。演習1
< 演習1-3 >演習1
② ここで、2つの〘プロット〙ボタンを区別可能とするために、各ボタンの名前を変更しましょう。 設定ウィンドウを[エディタツール]タブから[設定]タブに切り換えます。 ・ 左側のボタンをカーソル選択し、設定ウィンドウの[テキスト:]を“断面電位”と書き換えます。 ・ 右側のボタンをカーソル選択し、設定ウィンドウの[テキスト:]を“面温度”と書き換えます。 - 16 - < 演習1-3 > ③ ①,②と同様に、[エディタツール]タブを利用し、等値面温度の解析結果をプロットするオブ ジェクト《ボタン》も作ってみましょう。④ 更に同様に、[エディタツール]タブを利用し、電流密度の解析結果をプロットするオブジェク ト《ボタン》も作ってみましょう。
演習1
⑤ ここまでで、演習1のアプリケーションモデルは完成です。 最後に、再びテストして動かしてみましょう。 各ボタンによって、《グラフィックス》に該当する解析結果が表示されることを確認しましょう。 - 18 - < 演習1-3 > ⑥ ここで一度、デスクトップにmphファイルを保存しておきましょう。 ( ファイル名は、例えば “演習1_busbar.mph” )演習2
いろいろなオブジェクトを追加してみよう!
演習1の続きです。 演習1で作成したフォームにいろいろなオブジェクトを追加してみましょう! 新規フォームのウィザードによらず、後からオブジェクトを自由に追加し、各オブジェクトの設定 だけでアプリケーションモデルを簡単に拡張できることを体験します。 ここでは、演習1-3で体験した設定ウィンドウの[エディタツール]タブは使わずに、[設定]タブの 設定だけで作る基本的な方法によります。 尚、この演習2で作成するアプリケーションモデルは下図です。演習2
・ 〘メッシュ〙ボタンで、《グラフィックス》の画面に解析モデルのメッシュを表示できる。 ・ オブジェクト《スライダ》で、ジオメトリの長さを変えることができる。 ・ オブジェクト《ラジオボタン》で、メッシュの最大要素数を選択することができる。 ・ オブジェクト《データ表示》に、計算実行後の計算時間が表示される。 ・ オブジェクト《メッセージログ》に、解析モデルのメッセージログが表示される。 ・ オブジェクト《ログ》に、解析モデルのログが表示される。 ・ オブジェクト《結果テーブル》に、電流密度の最大/最小のテーブルが表示される。演習2 (20~44ページ)
掲載省略
演習3
複数のフォームを切り換えられるようにしよう!
境界定義をしてみよう!
演習2の続きです。 演習2までに作成したフォームとは別のフォームを追加し、複数のフォームを切り換えられるアプリ ケーションモデルにしてみましょう! また、今回追加するフォームには、オブジェクト《選択入力》を使って境界定義を設定できるようにし てみましょう! 尚、この演習3で作成するアプリケーションモデルは下図です。演習3
・ オブジェクト《フォームコレクション》で、2つのフォームform1とform2をタブで切り換えられる。 ・ オブジェクト《選択入力》と《グラフィックス》表示上の選択によって、解析モデルのチタン材料の ボルト定義を変更できる。 ・ 同じく、オブジェクト《選択入力》と《グラフィックス》表示上の選択によって、解析モデルの接地 のボルト定義を変更できる。 フォーム1選択時 フォーム2選択時演習3 (46~58ページ)
掲載省略
メニューバー[ファイル]
演習4
基本的なファイル操作機能を実装してみよう!
演習3の続きです。 演習3までに作成したフォームのうちのform2にボタンを追加し、基本的なファイル操作機能である エクスポート機能とレポート機能を利用できるようにしてみます。 また、メニューバーのファイルに保存項目を追加してみます。 さらにツールバーも作成してみます。 尚、この演習4で作成するアプリケーションモデルは下図です。演習4
・ 〘エクスポート〙ボタンで、解析モデルのデータを作成し、保存することができる。 ・ 〘レポートを作成〙ボタンで、解析モデルのレポートを作成し、保存することができる。 ・ メニューバーの[ファイル]の項目にある [アプリケーションを保存]と[名前を付けてアプリケー ションを保存]の項目によって、自分が設定実行したアプリケーションモデルを保存することが できる。 ・ ツールバーにある〘計算〙,〘エクスポート〙,〘レポート〙のアイコンによって、各機能を 実行することができる。 ツールバー演習4 (60~76ページ)
掲載省略
演習5
メソッドエディタを使ってみよう!
演習1~4では、全て定常解析モデルである busbar.mph ファイルを使ってきました。 ここからは、アプリケーションライブラリにある時間依存の解析モデル heat_transient_axi.mph を 使用し、解析結果表示の時刻を指定できるアプリケーションモデルを作成してみます。 そのためのオブジェクトとしては、コンボボックスとリストボックスを使います。 尚、この演習5で作成するアプリケーションモデルは下図です。演習5
・ オブジェクト《コンボボックス》で解析の時刻を選択し、その時刻の面温度の解析結果を《グラフ ィックス》に表示されることができる。 ・ 同じく、オブジェクト《リストボックス》で解析の時刻を選択し、その時刻の面温度の解析結果を 《グラフィックス》に表示されることができる。 ・ オブジェクト《チェックボックス》をクリックすると音を鳴らし、オブジェクト《リストボックス》の有効/ 無効を設定できる。 ・ 〘アニメーション〙ボタンをクリックすると問い合わせのダイアログボックスを表示させ、面温度 解析結果のアニメーション生成と《グラフィックス》への再生ができる。 ・ 〘PDF〙ボタンで、heat_transient_axi.mph モデルの解説用PDFファイルを開くことができる。演習5 (78~112ページ)
掲載省略
演習6
モデルデータアクセスを使ってみよう!
演習5と同じ解析モデル heat_transient_axi.mph を使用し、ジオメトリの寸法を変更でき、解析結果 表示の時刻も指定できるアプリケーションモデルを作成してみます。 いずれも、ここではモデルデータアクセス機能を使用し、アプリケーションビルダ側での設定やメ ソッド作成の手間をかけずに実現できることを体験していただきます。 モデルビルダ側でグローバルパラメータに定義されている変数を使えば、アプリケーション上に容 易に実装でき、アプリケーション実行中にその設定変更をさせることができます。 しかし、モデル ビルダ側のそれ以外の各種設定をアプリケーション側から変更させるためには、メソッドを記述し なければなりませんでした。 この方法でも、コードをレコードする機能を使えば、比較的簡単に実 現することができます。 しかし、本演習で紹介するモデルデータアクセス機能を使えば、さらに簡 単にモデルビルダ側の多くの設定をアプリケーションビルダ側に移行することができます。 尚、この演習5で作成するアプリケーションモデルは下図です。演習6
・ モデルビルダ側のジオメトリの幅と高さの設定箇所にある入力フィールドが実装され、それに よって、アプリケーション上で寸法を変更して計算実行できる。 ・モデルビルダ側の解析時刻の設定箇所にあるコンボボックスが実装され、それによって、アプリ ケーション上で解析の時刻を選択して計算実行できる。演習6 (114~125ページ)
掲載省略
Application Builder ハンズオンセミナー
( Version 5.2 )著作発行: 計測エンジニアリングシステム株式会社
Printed in Japan
2016年
7月19日 正式テキスト第3版に合わせて掲載
計測エンジニアリングシステム株式会社 〒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 Multiphysics のアプリケーションは以下の2つです。・ Convective Cooling of a Busbar ( Application ID: 8484 ) ・ Axisymmetric Transient Heat Transfer ( Application ID: 267 )