bamgrheolef - クラウド上のオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド bamgrheolef です。

プログラム:

NAME


バム - 二次元異方性​​メッシュ生成器

SYNOPSIS


バム オプション -g [.bamgcad] -o 出力[.bamg]

実施例


正方形のメッシュを生成する ]1,1[^2 メッシュサイズで h = 0.666 すべての頂点で。 を入力
unix コマンド:

bamg -g toto.bamgcad -o toto.bamg

で定義されたジオメトリ スクエア.bamgcad ファイル:

メッシュバージョンフォーマット済み 0
ディメンション2
頂点 4
-1 -1 1
1〜1
1 1 3
-1 1 4
エッジ 4
1 2 1
2 3 2
3 4 3
4 1 4
h頂点
0.666 0.666 0.666 0.666

ファイルは頂点、座標、識別子で始まります。 次に境界エッジが来ます。
頂点識別子を使用し、境界エッジ識別子を定義します。

アウトライン


このソフトウェアは

1) 作ります
ジオメトリからのメッシュ

2) 適応する
メトリックまたはソリューション ファイルを使用して、既存の背景メッシュからメッシュを作成します。

3) メトリック ビルド
たとえば他のメッシャーがある場合は、メトリック ファイルを構築するだけです。

3) 品質 改善します
新しいメッシュを生成することにより、既存のメッシュを再構築します。

5) 補間する
あるメッシュから別のメッシュへのフィールド。

1) CREATE


ジオメトリからメッシュを作成します。 例:

bamg -g toto.bamgcad -o toto.bamg

-g ファイル名
メッシュ化するドメインのジオメトリ境界を指定する入力ファイル (bamg)
ファイル形式 DB メッシュ).

-o ファイル名
出力メッシュ ファイル (bamg ファイル形式) DB メッシュ)。 いくつかの代替出力ファイル
フォーマットは一部でサポートされています -oXY オプション XY サポートされているものの XNUMX つです
出力ファイル形式 (下記を参照)。 さらに、オプションのパラメータを追加することもできます
指標または品質の向上を指定します。 すべてのオプションについては以下で説明します。

2) ADAPT


メトリックまたはソリューション ファイルを使用して、バックグラウンド メッシュからメッシュを適応させます。 例:

bamg -b toto_bgd.bamg -Mbb toto_bgd_sol.bb -o toto_new.bamg

-b ファイル名
入力背景メッシュ。ファイル接尾辞はファイルの形式を定義します。
.amdba, .am_fmt, .am, .ftq, .nopo。 それ以外の場合、ファイルは bamg のデフォルトになります BD メッシュ
ファイル形式。

-ムブ ファイル名

-MBB ファイル名

-M ファイル名
入力メトリック ファイル。 の -ムブ or -MBB ソリューション ファイルを指定します。
ファイルのタイプに応じて、メトリックが自動的に計算されます。 bb or BB (ファイルを参照
以下のフォーマット)。 別の方法は、メトリックを直接指定することです。 -M オプション
(ファイル形式 メトリック).

-o ファイル名
出力メッシュ ファイル (bamg ファイル形式) DB メッシュ)。 いくつかの代替出力ファイル
フォーマットは一部でサポートされています -oXY オプション XY サポートされているものの XNUMX つです
出力ファイル形式 (下記を参照)。 さらに、オプションのパラメータを追加することもできます
メトリクスの生成と品質の向上を制御します。 すべてのオプションは、
以下で説明します。

3) メトリック BUILD


提供されたソリューションを使用して、既存のメッシュのメトリック ファイルを構築します。 このオプションでできることは、
他のメッシャーがある場合など、新しいメッシュを生成せずに使用できます。

bamg -r toto_bgd.bamg -Mbb toto_bgd_sol.bb -oM toto_bgd.metric

-r ファイル名
入力メッシュファイル(bamg形式) DB メッシュ).

--ムブ ファイル名

--MBB ファイル名
入力によって提供されたソリューション。ファイルのタイプは次のとおりです。 bb or BB (ファイル形式を参照
下)。

-oM ファイル名
出力メトリック ファイル (ファイル形式) メトリック (以下のファイル形式を参照してください)。 で
さらに、メトリック生成を制御するためにオプションのパラメーターを追加できます。 全て
オプションについては以下で説明します。

4) 品質 改善する


既存のメッシュの品質を向上させ、新しいメッシュを生成します。

bamg -r toto_bgd.bamg -M toto_bgd.metric -o toto_new.bamg

-r ファイル名
入力メッシュファイル(bamg形式) DB メッシュ).

-M ファイル名
入力メトリック ファイル (ファイル形式) メトリック (以下のファイル形式を参照してください)。

-o ファイル名
出力メッシュ ファイル (bamg ファイル形式) DB メッシュ)。 いくつかの代替出力ファイル
フォーマットは一部でサポートされています -oXY オプション XY サポートされているものの XNUMX つです
出力ファイル形式 (下記を参照)。 さらに、オプションのパラメータを追加することもできます
品質向上をコントロールします。 すべてのオプションについては以下で説明します。

5) 補間


適応プロセスでは、背景メッシュを使用して解が計算されています。 順番に
検討中の問題の解を新しく生成されたメッシュに転送するには、
古いソリューションの補間が必要です。 この転送されたソリューションは、最初のソリューションとして適している可能性があります。
新しいメッシュ上の解を推測します。 この補間は P1 ラグランジュで実行されます。
コンテキスト。

bamg -b toto_old.bamg -rbb toto_old.bb -r toto_new.bamg -obb toto_new.bb

-b ファイル名
宛先入力メッシュ ファイル (bamg 形式) DB メッシュ).

-rbb ファイル名

-rBB ファイル名
元の入力ソリューション。ファイルのタイプは次のとおりです。 bb or BB (ファイル形式を参照
下)。

-r ファイル名
元の入力メッシュ ファイル (bamg 形式) DB メッシュ).

-wbb ファイル名

-wBB ファイル名
宛先メッシュ上で再内挿された出力ソリューション。

作成 OPTIONS


-hmax フロート
最大エッジ サイズの値を設定します。 デフォルト値は、
メッシュ化するドメイン。

-フミン フロート
最小エッジ サイズの値を設定します。 デフォルト値は次のサイズに関連します。
メッシュ化されるドメインとメッシュ ジェネレーター (マシン) によって使用されるグリッド解像度
依存)。

-エラー フロート
境界のジオメトリに対する相対誤差の値を設定します。 デフォルト値は
0.1。 いずれの場合も、この値は 1/ より大きくなります。平方根(2)。 メッシュサイズに注意してください
このオプションによって作成されるサイズは、 ミン 幾何学的な理由による議論
制約。

-nbv int型
生成されるメッシュの最大頂点数を設定します。 デフォルト値は 50000 です。

適応 OPTIONS


これらのオプションは、.bb で提供されるスカラー フィールドからメトリックを計算する場合に関連します。
ファイル。 .bb ファイルでテンソル メトリックを指定する場合、メトリックの計算は
は実行されず、これらのオプションは関係ありません。

-RelError
相対誤差を使用してメトリックを計算します。 これがデフォルトです。 この場合、
メトリックフィールドは次のように定義されます

1 |H(x)|
M(x) = ---------- --------------------
err*coef^2 max(カットオフ,|eta(x)|)

コラボレー 誤る, 係数, 断つ は以下で定義される調整可能なパラメータです。 イータ
入力ファイルに読み取られたソリューションフィールドと H はヘッセ行列です。 ここ |イータ| を示す
フィールドの絶対値 イータ および |H| は次のもので構成されるテンソル場です。
ヘッセ行列の固有値の絶対値、および同じ固有基底を持つ H.

-AbsError
絶対誤差を使用してメトリックを計算します。 この場合、メトリックは次のように定義されます。

1 |H(x)|
M(x) = ---------- ---------------------
err*coef^2 (sup(eta) - inf(eta))

コラボレー sup(イータ) および 情報(η) 入力解の XNUMX つの極値を示します
フィールド イータ.

-係数 フロート
メッシュ サイズの乗算係数。 デフォルト値は 1.0 です。

-エラー フロート
のレベル P1 補間エラー。 デフォルト値は 0.01 です。 これを思い出してください
エラーは次のように動作します O(h^2) 地元で、どこで h ローカルメッシュサイズです。 二人についてのコメント
前の公式では、係数 1/4 による変化は XNUMX/XNUMX による変化と同等です。
メッシュサイズの係数を 1/2 にします。 したがって、どちらか 係数 or 誤る するために指定されています
収束メッシュ ファミリを生成します。

-切り落とす フロート
相対誤差基準に使用されるカットオフ値。 デフォルト値は 1e-5 です。

パワー フロート
メトリックを構築するためのヘシアンの検出力パラメータを設定します。 デフォルト値は 1 です。

-Nbヤコビ int型
メトリック中の平滑化手順の反復回数を設定します。
工事。 値 0 は、平滑化が行われないことを意味します。 デフォルト値は 1 です。

-比率 フロート
メトリックに対する所定の平滑化の比率を設定します。 比率が 0 の場合 (デフォルト
値)または 1.1 未満の場合、メトリックの平滑化は行われません。 比率 > 1.1 の場合、
メッシュ サイズの変化の速度は log(ratio) によって制限されます。 val であることに注意してください
1 に近づくほど、生成される頂点の数が増加します。 これは次のような場合に役立つかもしれません
衝撃や境界層の近くの洗練された領域の厚さを制御します。

-アニソ

-iso   -アニオ メトリックが異方性になるように強制します。 これがデフォルトです。 逆に、
メトリックは等方性タイプである可能性があります。 -iso フラグ。

-アニソマックス フロート
全方向の最小メッシュ サイズに対するメッシュ異方性の境界を設定します
したがって、全方向の最大メッシュ サイズは次の比率によって制限されます。 アニソマックスを選択します。
デフォルト値は 1e6 です。 そのとき注意してください アニソマックス=1、生成されるメッシュは
等方性。

-フミナニソ フロート
の値を設定します ミン 最小エッジ サイズを設定し、アニソ モードを設定します。

-maxsubdiv フロート
背景のエッジの最大分割が制限されるようにメトリックを変更します。
を通じて、タンピングされたコーヒーベッドの上から均一にフィルターバスケットの内の粉に浸透していきます。 最大サブディビジョン 数。 ザ・ 最大サブディビジョン 数は常に 10 に制限されており、これは
デフォルト値。

-KeepBackVertices

-noKeepBackVertices
古い頂点を保持するようにしてください (デフォルト)。 それ以外の場合、すべての頂点は次から作成されます。
スクラッチ。

-NoRescaling

-再スケーリング
間のソリューションを再スケーリングしないでください。 【0,1] メトリック計算の前 デフォルトは
リスケール。

品質 改善 OPTIONS


-Nbスムーズ int型
メッシュ スムージング手順の反復回数を設定します。 デフォルト値は 3 です。

-オメガ フロート
スムージング手順の緩和パラメーターを設定します。デフォルト値は 1.8 です。

-スプリットベッジ

-nosplitpbedge
場合によっては、内部エッジの境界上に XNUMX つの頂点が存在することがあります。 これは〜をひき起こす
すべての頂点が境界上にある三角形。 とともに -スプリットベッジ オプション、
このエッジは XNUMX つに分割され、この状況は回避されます。 デフォルトでは、しないでください
スプリット。

-シータクアッド フロート
2 つの三角形で四角形を作成するには XNUMX つの三角形を結合して四角形にします。
四角形の XNUMX つの角度が範囲内にあります [シータクアッド、 180-シータクアッド].

-2 メッシュ サイズを XNUMX で割ったメッシュを作成します。

-2q すべての三角形を XNUMX つの四角形に分割し、すべての四角形を XNUMX つの四角形に分割します。
四。

出力 MESH FORMAT OPTIONS


-o ファイル名
bamg DB メッシュ ファイル形式 (デフォルト)。

-oamdba ファイル名
amdba形式。

-しょっちゅう ファイル名
ftq形式。

-オムシュ ファイル名
msh形式(freefem3形式)。

-oam_fmt ファイル名
am_fmt形式。

-oam ファイル名
形式です。

-オノポ ファイル名
ノポ形式。

その他 OPTIONS


-シータマックス フロート
湾曲するコーナーの角度制限を度単位で設定します。 角度が定義されています
180 つの連続するエッジの XNUMX つの法線から。 デフォルトは XNUMX 度です。つまり、いいえです。
角が曲がっています。 このオプションは、ジオムトリが提供されていない場合に便利です。
他のメッシュ ファイル形式からの再メッシュ (am_fmt, アムドバ, ノーポ、など)。 これ
パラメータは通常、ジオメトリ境界ファイル (BD ファイル形式) で指定されます。
を通じて、タンピングされたコーヒーベッドの上から均一にフィルターバスケットの内の粉に浸透していきます。 角の境界の角度 オプションのセクション: このファイル形式が使用される場合、これは
オプションは効果がありません。

-v int型 印刷のレベル (詳細度) を設定します。0 ~ 10 の間で選択できます。
デフォルト値は1です。

ジオメトリ FILE FORMAT (BAMGCAD)


一般的な構造により、指定されたオブジェクトのジオメトリを記述するメッシュを指定できます。
ドメイン。 境界の識別は、境界条件を定義するために使用されます。
偏微分方程式の問題。 この場合、上記のセクションの一部は適用されません。
関連する。 まず、必要なセクションは次のとおりです。

メッシュバージョンフォーマット済み 0
ディメンション2
頂点 nv
{Xのk y_k i_k} k= 1:nv
エッジ ne
{i_l j_l k_l} l= 1:ne

次に、オプションのセクション:

サブドメイン nd
{2 ie_k オリエント_k id_k} k=1:番目

サブドメイン、つまりプランの境界付き接続コンポーネントは XNUMX つのエッジを使用して定義されます
識別子 ie オリエンテーション情報とともに オリエント、どちら側かを示します
このエンティティにはサブドメインが存在します。 この機能は、ドメインを扱う場合などに便利です。
穴あり。 サブドメイン番号は、 id。 サブドメインが定義されていない場合、次のように仮定します。
プランのすべての境界付き接続コンポーネントをメッシュ化します。 述べる: Geom からのサブドメイン is
に相当 サブドメイン.

角の境界の角度 角度

  角の境界の角度 カーブするコーナーの角度制限を度単位で指定します。
角度は、180 つの連続するエッジの XNUMX つの法線から定義されます。 デフォルトはXNUMXです
度、つまり角が曲がっていません。 この角度を定義すると、一部の角が崩れる可能性があります。
湾曲しないように指定されています

コー​​ナー nc
{i_k} k= 1:nc

XNUMX 次元での境界の湾曲した幾何学的表現では、エッジを使用します。
次の次数 XNUMX のいくつかの曲線を定義するためにデータ構造で提供されます。
方法:

* 端点がコーナーであり、追加情報が提供されない場合のエッジ
直線セグメントで表されます。

* 端点がコーナーであるが、接線が XNUMX つの端点にあるエッジ
は次数 XNUMX の曲線で表されます。

* 端点がコーナーであるが、接線がコーナーで提供されるエッジ
コーナーは XNUMX 次の曲線で表されます。

* 端点がコーナーではなく、追加情報のないエッジは、
XNUMX 次の曲線で表されます。 実際、この場合、隣接する
エッジの端点での接線を評価するためにエッジを作成します。

つまり、XNUMX つの情報によって定義されるエッジには、直線、つまり XNUMX つの直線が近づきます。
情報により XNUMX 次の曲線を取得でき、XNUMX 次のデータにより近似が可能になります。
XNUMX度の。 接線はオプションで次のように指定できます。

エッジでの接線 nt
{ie_k ive_k xt yt} k= 1:nt

エッジ識別子の場合 ie、その接線 アイブ バーテックス (アイブ 値 1 または 2 をとります)
コンポーネントによって指定される xt および yt。 次の方法でエッジの接線ベクトルを与える
ある点の接線ベクトルを使用すると、複数のエッジが存在する場合に対処できます。
(境界線)は点から出ています。

必要な頂点は、メッシュ内に存在する必要があるサポートの頂点です。
要素の頂点。 同様に、いくつかのエッジが必要になる場合があります。

必要な頂点 nrv
{iv_k} k= 1:nrv
必須エッジ (ネレ
{ie_k} k= 1:ネレ

次の機能は将来の作業で計画されています。 周期境界条件の場合、
等価エッジ XNUMX つのエッジを同じ方法でメッシュする必要があることを示します。

等価エッジ ニー
{ie1_k ie2_k} k= 1:ニー

クラックの定義が目的です。 割れたエッジ セクション。 次にエッジを指定します
ジオメトリの点では別のエッジと同一です。

割れたエッジ NCE
{ie1_k ie2_k} k= 1:NCE

CREDITS


フレデリック・ヘクトFrederic.Hecht@inria.fr>はbamgの作者です。 ピエール・サラミト
<Pierre.Saramito@imag.fr> この Unix man ページを書いています。

MORE リーディング


bamg メッシュ ジェネレーターの元のサイトは次のとおりです。 http://www.ann.jussieu.fr/hecht/ftp/bamg.
読んでください http://www.ann.jussieu.fr/hecht/ftp/bamg/bamg.pdf 詳細ファイルについては
フォーマットとより高度な例、たとえば P1 を最小化するメッシュ適応ループ
ラグランジュ補間エラー。

onworks.net サービスを使用してオンラインで bamgrheolef を使用する



最新のLinuxおよびWindowsオンラインプログラム