fc2ブログ

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

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

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

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

境界条件に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

境界条件に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を使う方法2


前回、パッチについて説明したが、要するに

1.形状とメッシュ作成、境界条件を一度に設定

する方法と、

2.メッシュを作成してからそのメッシュ図を見ながら境界条件を設定

する2種類の方法があって、2の方法を採用するならパッチ分割をして、境界条件ごとの面に分けなければならない、

ということである。

blockMeshであれば1か2かどちらかで境界条件設定できるがsnappyHexMeshでは基本2しか出来ない。

blockMeshであれば1の方がやりやすいこと多いが、ここではあえて2でやってみよう。

まず、境界条件自体は前回と同じとして、やってみる。

最初に計算前のcavityの例題をコピーするか、./Allcleanで計算結果を消してしまおう。

次に、blockMeshで境界条件を指定している部分を消す。

bぉckMeshの設定をしているのは、systemフォルダにある、blockMeshDictというファイル((コピーしたフォルダ)/cavity/system/blockMeshDict)を開いて、boundaryの記述を削除する。

54_boundary1.png



55_boundary2.png

のようにです。

このときboundary()の命令自体は残しておきます。消すとエラーになるようです。

boundaryはここでは何も無いよ、という設定が必要なようです。

個人的には(こういうような必要が無いけど書いておかなければならない命令が多いのが、openFOAMが難しいところのひとつだと思う)

ここで

blockMesh

と入力してメッシュを作成すれば、境界条件なしのメッシュが切れます。

続いて、パッチを作成します。

  1. 2017/03/25(土) 09:39:56|
  2. openfoam
  3. | トラックバック:0
  4. | コメント:0
次のページ

プロフィール

tsunodako

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

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

ブログ内検索

カレンダー(月別)

12 ≪│2025/01│≫ 02
- - - 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 31 -

最近の記事

カテゴリー

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

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

最近のコメント

最近のトラックバック

フリーエリア

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

RSSフィード

リンク

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