有限要素法のフリーのソフトウエア を試す

CAEで使われるフリーの有限要素法(FEM)ソフトウエアであるCalculixやOpenfoamを使ってみようとチャレンジしてたその足跡を残す。。。ついでに他のフリーソフトや商用ソフトの無償版にも手を出してみる。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

境界条件にpatchを使う方法3

さて、パッチを作ってみましょう。

openFOAMが持っているautoPatchというツールを使います。

使い方は、

autoPatch (分割したい面のなす角度) -(オプション)

隣り合う要素同士が90度以上角度がついているところを面の境界にしたいなら、

autoPatch 90

でOKです。

実行すると
56_autopatch1.png
何かパッチできたっぽいメッセージが出ています。

ディレクトリを見ると

0.005

というディレクトリが出てます。

(これはあまりよくないのですが)

63_autopatch8.png

でparaviewを立ち上げて、cavityディレクトリ(時間のフォルダがある階層)にあるダミーで作ったxxx.foamを開くのですが、
applyを押す前に、下図のように時間を0.005にしてください。

65_autopatch10.png

そうして、propertiesウインドウのスライダバーを少し下にずらすと

auto0、auto1、auto2、・・・

と言う名前でパッチが作られています。

見たいパッチのみにチェックをつけると、上図のようにどのパッチ名がどこに相当するか確認できます。



スポンサーサイト
  1. 2017/04/03(月) 18:34:26|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0

境界条件にpatchを使う方法4

前回、patchわけが出来ました。

auto0、auto1、auto2・・・

残念ながらどのpatchがどこのあるかは一度paraviewでみてみないと、わかりません。

paraviewで場所を確認して、boundaryファイルにauto0等の境界条件書いてもよいのですが 、

auto0、auto1、auto2・・・

という名前ではわかりにくいので、

moving_wallやfixed_wallというような

境界条件がすぐわかるようなpatch名にできれば便利です。

それにはcreatePatchというツール使用すれば簡単に出来ます。

説明は後日。

もうひとつ新しくパッチわけしたファイルは0.005という新しいフォルダが作られて、その中のpolymesh/boundaryの中に記述されています。

openFOAMは時刻ごとにフォルダを作るのでこれでは0秒ではpatchわけは無くて0.005秒後からPatchが変わるということになってしまいます。

実際解析する際は0秒(初期条件)でのパッチわけ、つまりconstant/polymeshのboundaryの記述を変更、しなければなりません。

それを行うためにblockMeshが作った境界条件を上書きします。

そのためには上書きオプションを使います。

autoPatch 90 -overwrite

とすれば初期条件にpatchが上書きされます。
  1. 2017/04/04(火) 20:38:35|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0

createPatchを使ってみる


さて、autoPatchを実行して後のPatchファイルを見てみると、

66_autopatch11png.png

このようにモデルの6つの面に相当するauto0からauto5のパッチが自動的に作られている。

どの面がどこに相当するかはparaview等のソフトで確認するしかない。

defaultFaceはnFaceが0になっているので、autoFaceに分配されたようだ。

typeがpatchとなっているがここを境界条件に相当するものに書き換え、0フォルダの各ファイルに具体的数値を書いていく。

ところで、auto0というように自動的につけられたままではわかりにくい。できればfix_wallとか境界条件がわかりやすい名前をつけたほうがあとあとのためにもよさそうだ。

また複数のパッチが同じ条件もあり、そういう場合はまとめておきたい。

そのために使用するのがcreatePatchである。

またその設定を、あらかじめcreatePatchDictというファイルに書き込んでおく必要がある。


  1. 2017/04/09(日) 21:09:54|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0

createPatchを使ってみる(2)

というわけで、createPatchDirectの説明をする。

境界条件の概要はconstant/polymesh/boundaryファイルに書かれるが、このboundaryファイルをcreatePatchは作成してくれる。

その各中身の設定をするのがcreatePatchDictになる。

このファイルは通常は無いので、(実行ディレクトリ)/systemに新たに作る。拡張子はないがテキストファイルである。

68_creatPatch02.png

テキストファイルの中に何を書くかだが、cavityの例だとこのような感じ。

67_creatPatch01.png
C++などのプログラム言語と同じように{}括弧が使われているが、

{}の数が合わないと、プログラム言語と同じようにエラーとなる。

エラーが出てきたとき、原因となる場所が特定しにくいときがあるのも、プログラム言語に似ていて、

openFOAMが他の商用ソルバーに比べ使いにくい一因になってると私は思う。

ともかく内容についてみてみる。

最初の

FoamFile
{
version 2.0;
format ascii;
class dictionary;
object createPatchDict;
}

はお決まりのヘッダで、例題のものをコピペでいいと思う。

次の

pointSync false;

マニュアルを詳しく読んでいないので、はっきりとしたことはいえないが、

周期対称性などがあるかどうかのフラグのようだ。

通常の解析はこのままでよいようだ。

続いての

patches
(

以下が境界条件の設定する本体になるが、詳細は次回。
  1. 2017/04/22(土) 20:51:30|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0

プロフィール

tsunodako

Author:tsunodako
tsunodakoのプロフィール
無料でCAE環境を構築に挑戦中。
が、現在少し休止中。そのうち復活します。
ご意見ご感想をブログコメント大歓迎です!!!
メールの場合は下のほうにあるフォームに入力していただくか

tsunodako[at]yahoo.co.jpまで([at]=@に変換してください)。
このブログにあるソフトやデータを使用して生じた結果は責任負いませんのであしからず。
静解析CAE技術者のための動解析講座は http://vibrationcae.blog.fc2.com/ に移動いたしましたのでよろしく。

ブログ内検索

カレンダー(月別)

03 ≪│2017/04│≫ 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

最近の記事

カテゴリー

tsunodakoへのメールはここからでもOK

名前:
メール:
件名:
本文:

最近のコメント

最近のトラックバック

フリーエリア

にほんブログ村 科学ブログ 技術・工学へ
にほんブログ村

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。