本書は、オープンソース1のソフトウェアCalculiX2についての中級者向けの内容です。
CalculiXは有限要素法による汎用CAEシミュレーションソフトで、主に、応力解析、座屈解析、固有値解析などの固体力学の分野に使われています。固体力学の汎用CAEシミュレーションソフトには、鉄骨部材などを扱うための1Dのビーム要素が含まれていることが多く、CalculiXにも含まれています。1D要素には固体内の熱伝導に対応している要素もあります。
さきほど、CalculiXは主に固体力学分野のシミュレーションに使われていると書きました。しかし、一般的にはあまり知られてなく、使われている事例がほとんど見つかりませんが、CalculiXには流体力学の分野の有限要素もあります。
CalculiXに含まれている流体力学要素には、1Dネットワーク要素と3D流体要素があり、本書は3D流体要素のほうを扱っています。
本書は、CalculiXのパッケージに同梱されている基本テスト例題3から3D流体要素の例題を抜き出して、計算を実行した結果から、CalculiXのソルバーの入力ファイル(*.inp)に記載する表記を解説しています。
著者は、CAEとCFDの両方を行っていて、CFDは主にOpenFOAMを使っています。CalculiXのVer2.10の時のマニュアルで、3D流体要素があるのを知りましたが、『何やら不具合があり開発段階フェーズに戻るため3D流体要素は無効化した』という旨の記載がありました。それ以来、CalculiXの3D流体要素のことを忘れていましたが、ふとした気紛れで思い出して調べたところ使えるようになっていました。その調べた内容をまとめたのが本書です。
どうやら、Ver2.18の頃に再び3D流体要素が使えるようになった模様です。本書はVer2.21のWindows版で確認しています。これ以外のバージョンとOSで動作不具合があったとしても、お問い合わせには応じ兼ねます。
オープンソースは、本書で想定している読者にとり「無料で使用できるソフト」という理解で良いでしょう。オープンソースと総称していても使用ライセンスの内容は様々で、個人的な使用を認めていても業務での使用を認めていない場合があります。無料で使用できるソフトとして「フリーソフト」という呼称もあり厳密にはオープンソースと異なりますが、本書で想定している読者にとってはほとんど同じでしょう。
CalculiXは、有限要素法によるオープンソースのソフトウェアで、応力解析、座屈解析、固有値解析をはじめとしたエンジニアリングのための計算に使われています。ソルバーである「CalculiX CrunchiX(ccx)」、プリポストである「CalculiX GraphiX(cgx)」の2つのアプリケーションで構成されています。
本書が想定している読者に該当するか否かを判断するには、図1のフローチャートに従ってください。フローチャート中の分岐で記載されている内容についての詳細は下記です。
CalculiXのinpファイルが判る
必要に応じて自分でマニュアルを調べるなどして、CalculiXのソルバー(ccx)の入力ファイル(*.inp)の内容を理解できる人はYesへ進んでください。
FEMのCFDの経験がある
FEM(有限要素法)でのCFD(流体解析シミュレーション)ソフトを使った経験がある人はYseへ進んでください。市販の商用のCFDソフトのほとんどはFVM(有限体積法)です。
FVMのCFDの経験がある
FVM(有限体積法)でのCFD(流体解析シミュレーション)ソフトを使った経験がある人はYesへ進んでください。
FVMとFEMの違いが判る
FVM(有限体積法)でFEM(有限要素法)は、どちらも偏微分方程式の数値計算の手法ですが、離散化の仕方が異なります。その離散化の違いについて基礎的な知識を持っている人はYesへ進んでください。
段組ソフトの仕様上の都合により、本文中に上付き文字や下付き文字を使用できません。本来ならば下付き文字を使用するのが適切な状況は、今回は発生していません。しかし、数値の指数表記や単位の表記という、本来ならば上付き文字でべき乗の表記が適切な場所があります。やむを得ず、下記の例のような表記をしています。
・10の3乗を10^3と、10のマイナス4乗を10^(-4)と記載します。
・単位の平方メートルをm^2と、立方メートルをm^3と記載します。
誤植等についてのお問い合わせには応じますが,本書で扱っていない内容の解析に関するお問い合わせは御遠慮ねがいます。
本書に記載された内容は、情報の提供のみを目的としています。したがって、本書の内容を実行・適応・運用した結果にともなう責任は、それを実行・適応・運用した人に属し、著者と関係者には関係ありません。
本文中に記載されているURLは、執筆時点のものです。サイトの都合で変更される可能性があります。また、電子版ではURLにハイパーリンクが設定されていますが、端末やビューワーの種類およびリンク先のファイルタイプによっては表示されない場合があります。予めご了承ください。
本書に登場するシステム名と製品名は、その関係会社の商標または商品名です。本書では、©、®、™ などののマークを省略しています。
本章では、CalculiXの基本テストの中の3D流体要素の概要を記載します。
下記に示す13種類の解析ケースがあります。
番号 | 解析ケース | 圧縮性 | 非圧縮性 |
1 | cou2d | - | 〇 |
2 | coucyl | - | 〇 |
3 | coucylcent | - | 〇 |
4 | coucylcent2 | - | 〇 |
5 | coucylcentcomp | 〇 | - |
6 | coucylcomp | 〇 | - |
7 | couette1 | - | 〇 |
8 | couette2 | - | 〇 |
9 | couette5 | - | 〇 |
10 | couseg | - | 〇 |
11 | couseg2 | - | 〇 |
12 | couseg3 | 〇 | - |
13 | cousegcomp | 〇 | - |
これらの13種類の解析ケースのうち、*.inpファイル中の出力部分を修正しないと、計算結果のポスト表示ができないものがあります。
ポスト処理に使われるのが*.frdファイルです。*Node printでは*.frdファイルに出力されないため、*Node fileまたは*Node outputを使う必要があります。本書では、適時、*.inpファイルを修正してから、ソルバー計算を実行して、その結果をポスト表示しています。
13種類の解析ケースについて、この章ではメッシュと計算結果のみを示し、次の章から順に詳細を説明します。解析ケースは互いに似ていて内容に重複があります。そのため順番に読んでいくと、重複な記載があり冗長な印象を受けるかもしれません。その章だけを読んでも判るようにするために、あえて、このような記載にしています。
キーワード・カード | 説明 |
*Node print | 結果を *.datファイルに出力する。 |
*Node file | 結果を *.frdファイルに、ascii形式で出力する。 |
*Node output | 結果を *.frdファイルに、asciiとbinaryの混在形式で出力する。 |
計算結果を図化するためのソフトとしては、公式のCGXとccx2paraview1を併用しました。CalculiXは有名なCAEソフトのため、CGXの他にサードパーティ製の図化用ソフトがあります。有名なものをいくつか調べましたが、CFD用の要素に対応しているソフトはccx2paraviewのみでした。ccx2paraviewは、CalculiXの結果形式(*.frd)を、paraview2で読み込みできるVTK形式に変換するpythonのプログラムファイルです。ただし、執筆時点で、ccx2paraviewには非圧縮性流体解析のときに速度が変換されないという不具合がありました。したがって、非圧縮性の速度の結果のみがCGXを使った図で、その他はccx2paraviewを使った図です。
≪解析メッシュ≫
≪計算結果≫
Field名のPS3DFとTS3DFについて説明します。PSは静圧で、TSは静温(通常の温度)で、3DFは3D-Fluidのことです。静圧に対する動圧、静温に対する動圧というField量があります。*.inpファイルのところでも説明しますが、PS3DFとTS3DFの変数名はそれぞれPSFとTSFです。
≪解析メッシュ≫
≪計算結果≫
≪解析メッシュ≫
≪計算結果≫
≪解析メッシュ≫
≪計算結果≫
≪解析メッシュ≫
≪計算結果≫
Field名のV3DFについて説明します。V3DFは3D流体要素の流速ベクトルで、図1.20では流速の大きさを表示しています。*.inpファイルのところでも説明しますが、V3DFの変数名はVFです。構造解析の動解析のときの速度はVELOで、その変数名はVです。
≪解析メッシュ≫
≪計算結果≫
≪解析メッシュ≫
≪計算結果≫
≪解析メッシュ≫
≪計算結果≫
≪解析メッシュ≫
≪計算結果≫
Field名のVSTRESについて説明します。VSTRESは3D流体要素の粘性応力テンソル(viscous stress tensor)で、図1.33では粘性応力テンソルの大きさを表示しています。*.inpファイルのところでも説明しますが、VSTRESの変数名はSVFです。
≪解析メッシュ≫
≪計算結果≫
≪解析メッシュ≫
≪計算結果≫
≪解析メッシュ≫
≪計算結果≫
≪解析メッシュ≫
≪計算結果≫