HOME > プロダクト一覧 > SoilPlus > お客様の広場 > FAQ

お客様の広場SoilPlus:地盤・浸透・耐震統合解析システム

FAQ

02_モデル作成

複雑なソリッド分割とメッシュ生成方法について

ソリッド分割する前にチェックすべき事項
  1. ソリッドを分割する場合、分割されるソリッドの分割面よりも分割するサーフェスの方を大きくしなければなりません。画面表示ではサーフェスがソリッドをカバーしている様に見えても実際にはカバーしきれていない場合があります。この場合、分割するサーフェスのサイズを大きくし再び分割操作を行うと解決される場合があります。
  2. ソリッド形状を確認します。前作業を通して形状が正しく構成されていない場合があります。壊れたジオメトリを「ジオメトリの修繕」等の方法で修正する方法があります。ソリッドの修正作業については後で詳しく説明します。
  3. ソリッド分割面を簡略化する。多数のBスプライン曲面で構成されたシェルでソリッドを分割する場合、関数演算に多くの時間を要し計算途中でメモリエラーを生じる場合があります。

以上の項目をチェックした上で分割されなかったら場合、次の方法で対応します。

ソリッド分割が自動的に出来ない場合の対処

ソリッド分割は基本的にブーリアン演算を応用して行います。Soil Plusのブーリアン演算は規定形状に対しては精度良く計算を行います。しかし、複雑なBスプラインで構成される形状に対してはブーリアン演算が行われない場合があります。その場合、ソリッドを分割する前に、正規タイプへ変換(メインメニュー/ジオメトリ/修繕/正規タイプへ変換)機能を使います。ソリッドのフェイスを正規形の面に変換した後、分割処理を行ないます。
また分割面の位置によって問題が生じることも考えられます。その場合、分割面の位置を少し調整すれば(分割面を微小量だけずらします)ソリッド分割が円滑に行われることがあります。

分割が正確にされない場合(分割後ソリッドが多様態というメッセージと共に、分割したソリッドが赤く表示される場合)
  1. ソリッドが分割されない原因はブーリアン演算が行われていないからです。この場合、ブーリアン演算が行われるように許容誤差の最適化(メインメニュー/ジオメトリ/修繕/許容誤差の最適化)機能を使ってモデルの許容誤差を調べます。もし問題がある場合は最適化処理を実行します。この手順により分割できる場合もあります。
  2. 分割した後の形状が全体的には分割しているが、一部形状が消失していることあります。この場合、一度「戻る」をして分割する前の状態に戻します。再度分割する時に元シェープ、ツールシェープ、を削除しないように分割します。この時点で希望の形状と似たようなサーフェスが得られます。

    イメージ

    上図の形状が得られた後に消えた面は残しておいた元シェープから抽出します。

    イメージ

    抽出した面を分割面で改めて分割します。消えたサーフェ33スは抽出したサーフェスを分割して不足部分を補うように作成します。この時、重複するサーフェスは必ず非表示にするか削除しておきます。

    イメージ

    ソリッド表面を構成するサーフェスが完成したら縫合してシェルを作成します。作成したシェルはシェル→ソリッド機能(メインメニュー/ジオメトリ/ソリッド/シェル→ソリッド)によってソリッドに変換します。

    イメージ

    サーフェスによる分割機能のみならず、インプリント機能, カーブによる分割機能などを使ってフェイスが分割できます。
    サーフェスによる分割機能を使ってフェイスが分割されない場合にはフェイスを許容誤差の最適化を行なった後、分割します。

    フェイスが分割されない場合にはクリーンアップなどを使ってフェイスを修正した後、分割することも1つの方法です。クリーンアップのFix Shape, Convert to B-Spline, Split by Continuity, Fix Wire Gapなどの方法を組み合って使いながら分割します。

    以上の方法でフェイスが分割されない場合には、フェイスからエッジを抽出した後、一度フェイスを削除します。抽出したエッジからNURBS フェイスあるいはCoons フェイスなどを使ってフェイスを再構成します。

  3. 該当ソリッドがサーフェスにも分割されない場合には、大部分ソリッドを許容誤差の最適化機能をしても問題が修正されない場合が多いです。この時には、該当ソリッドをフェイスに分解した後、フェイスの段階で許容誤差の最適化機能を実行させます。このように、フェイスの状態で誤差の最適化すると誤差が修正されるケースが多いです。しかし、フェイスの誤差を修正した後、縫合してソリッドを作成した場合、再び誤差に問題が発生する場合もあります。(問題が無い場合はソリッド分割を続行します。)
    このような場合には元シェープのフェイスを修正しないで、作り直す方法を取ります。フェイスの外郭エッジに対してスナップ機能を使って新にエッジを作成します。新しく生成したエッジを使ってフェイスを再構成します。このようにフェイスを新しく生成した後、縫合後ソリッドを再構成してソリッドを分割します。
    ここでソリッドが正確に分割されればいいのですが、段階2)で記述した状態になる場合があります。その場合には段階2)で記述した通りソリッドを修正して分割します。
ソリッドにオートメッシュが生成されない場合

オートメッシュが生成されない場合に生じるエラーは大きく二つの場合があります。2D境界要素を生成している際に失敗する場合と3D要素を作成する際に失敗する場合です。

1.境界要素が完成された後、3D要素で失敗した場合

テトラメッシュ生成段階で計算エラーが生じると起きる現象です。Soil Plusでは規則的なメッシュを生成するためにパターンメッシュというものを支援しています。パターンメッシュを使用してメッシュを作成する場合、形状によってテトラ要素生成アルゴリズムが支援されない場合があります。その場合、オートメッシュを実行する際にメニューのプリファレンスにあるパターンメッシュを”なし”にするとメッシュが正しく生成されます。

2.2D境界要素を失敗した場合

この場合、原因は対象とする形状が正しく構成されないことにあります。そこで対象形状が正しく構成されているのかチェックメニュー(メインメニュー/ジオメトリ/チェック/形状チェック)の小さなエッジや小さなフェイスが存在していないかチェックしてください。チェックする際にソリッドをフェイスやエッジに抽出した後、小さいエッジや小さいフェイスのチェックを実行します。これらを修正した後、再びソリッドに変換してメッシュを生成してください。メッシュが円滑に生成されます。ソリッド修正ができない状況では、次のようにメッシュのいくつかの修正作業を通してからメッシュを生成します。

3.手動で境界要素を作成する方法

オートメッシュが実行できるソリッドはすべてメッシュを生成しておきます。

イメージ

メッシュが生成されなかったソリッドにオートメッシュを実行した場合、エラーとともに2D境界要素を残します。3D要素を作成する際、まず表面に2D要素を作成してから内部領域にメッシュを埋める手順で処理しているからです。このように生成された2D境界要素は生成時ディスプレイモードがワイヤーフレームで表示されています。

イメージ

2D境界要素だけ表示した後、2D境界要素作成に失敗して抜けている部分に要素生成を使って要素を追加します。多くの場合この要素の抜けが原因で3Dメッシュ生成が行えずエラー終了しています。ジオメトリが不適切な場合には、2D境界要素に要素が抜けて生成されることがあります。

次にチェックメッシュ機能(メインメニュー/メッシュ/チェックメッシュ)を使用してフリーエッジを確認します。要素の抜けでは無く節点位置がずれていないか確認します。ずれている場合は節点マージ機能を使用してフリーエッジをマージします。

隙間無く2D境界要素を作成した後、2D→3D(メインメニュー/オートメッシュ/2D→3D)機能を使って3Dメッシュを生成します。

境界でフリーフェイスが発生した場合

同一面に接したソリッドはプログラムで節点を共有させフリーフェイスが発生するのを防ぎます。しかし作業手順によりソリッドとソリッドの接した面で節点を一致させる処理が不可能な場合があります。このような場合には次のように対処してください。

イメージ

2つのソリッドの内、一方にメッシュを作成します。

イメージ

もう一方はフェイスのオートメッシュを使用して接する面を省いた残りの面に三角形メッシュを生成します。

イメージ

要素の抽出(メインメニュー/要素/要素の抽出)機能を使用してソリッドメッシュから共有されるべき面に存在する2D要素を抽出します。

イメージ

先に作成したシェルメッシュと抽出で作った要素を合わせます。

イメージ

境界面のエッジの間に節点が正しく共有されているのか確認します。節点が共有されていない場合、節点のマージ(メインメニュー/節点/マージ)機能を使ってマージします。この時、2節点のマージ機能を使って抽出した方の節点は動かさない方が良いです。

イメージ

オートメッシュ/2D→3D を使って3Dメッシュを生成します。

イメージ
イメージ