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