Exodus IIベースのField Function
CUBITでは、一般的なfield functionに基づいてelement sizeを指定することもできます。この機能では、 Exodus II ファイルのtime-dependent variableから読み込んだfield variableを使って、目的のelement sizeを決定できます。surfaceではquadrilateral / triangle element、volumeではtetrahedral / hexahedral elementをサポートします。
field functionはExodus IIファイル内のtime-dependent variableです。node-basedまたはelement-based variableを使用できます。現在はelement-based / node-basedのExodus II dataからfield functionをインポートします。対応するelementを含むmesh blockもfield function dataと同時にインポートする必要があります。
Exodus variableに基づくadaptive meshingは、CUBITで次の手順により行います:
- surface mesh schemeをPaveまたはTriMeshに、必要に応じてvolume mesh schemeをTetMeshに設定します。
- Exodus meshと、そのmeshに対応するvariableをCUBITへ読み込みます。
- surfaceまたはvolumeのsizing function typeを指定し、Exodus variableをmapして正規化・局所化されたsize measureを作成します。
- geometryをmeshします。
field functionのインポートと正規化は、再正規化できるよう2段階に分けて行います。field function用meshを読み込むcommandは次のとおりです:
Import Sizing Function '<exodusII_filename>' Block <block_id> Variable `<variable_name>' [Time <time_val> | Step <step> | Last] [Deformed]
block_id は読み込むelement blockを指定します。単一のblock IDまたは all を指定できます。 variable_name はExodusのtime-dependent variable名(element-basedまたはnodal-based)で、その値がmesh sizeの決定に使用されます。time-dependent variableのtimestepは、値付きの time 、index付きの step 、または Last を指定できます。Lastではファイル内の最後のtimestepを使用します。 Deformed keywordは、deformed field function meshを読み込むかどうかを指定します。このmeshはmesh対象geometryと一致している必要があり、field function data側でも変形を考慮する必要があります。(EXODUS II dataからdeformed geometryを作成する方法は 2D EXODUS IIファイルのインポート と EXODUS IIファイルのインポート) .
field functionを読み込むとmeshはbackgroundに保持されるため、geometry自体がmeshed状態になったとはみなされません。またdeformationをmodel化しない場合は、meshを書き出した時点と同じgeometry状態である必要があります( メッシュのインポート のmesh import説明も参照してください)。
field functionを読み込んだ後、mesh generationに使用する前に正規化できます。正規化parameter(Min_size と Max_size)は、surfaceまたはvolumeのsizing function typeを指定する同じcommand内で設定します。command syntaxは次のとおりです:
Surface <id> Sizing Function Type Exodus [Min_size <min_val> Max_size <max_val> Log_Map Inverse_Map Scale_Mesh_Multiplier <value>]
Volume <id> Sizing Function Type Exodus [Min_size <min_val> Max_size <max_val> Log_Map Inverse_Map Scale_Mesh_Multiplier <value>]
normalization parameterを指定すると、field functionの範囲が入力したminimum / maximum値の間に収まるよう正規化されます。element-based variableをsizing functionに使用する場合、各nodeには接続する全elementのvariable値の平均が割り当てられます。nodal variableはそのまま使用されます。
Log_Map optionは、範囲を底10の対数scaleへmapします。
Inverse_Map はmappingを反転し、小さい値では大きいelement、大きい値では小さいelementを生成するようにします。下の図1を参照してください。

図1:'inverse_map' optionの効果
Scale_Mesh_Multiplier はfield dataから最終的に得られるsizeをscaleします。
sizing functionを正規化した後は、通常のmeshing commandでgeometryをmeshできます。
たとえば図2左は、PRONTO-3D [Taylor, 89] というtransient solid dynamics solverで生成し、Exodus II data fileへ記録したplastic strain metricです。このファイルをCUBITへ読み戻すと、元のnode位置にあるfunction値によってpaving algorithmが制御され、adaptive meshが生成されます [Attaway, 93]。右側の画像は、このplastic strain objective functionから得られたmeshを示します。


図2:plastic strain metricとadaptive生成mesh
Surface/Curve Meshing with Exodus II - based Field Functions
field functionを使ってsurfaceをadaptive meshingする場合、curveもExodus II情報に基づいてmeshされます。これを上書きするには、curveのmeshing schemeをEqualなど目的のschemeへ設定します。volumeをadaptive meshingする場合はsurfaceとcurveもExodus II情報に基づいてmeshされます。特定surfaceでこれを上書きするには、そのsurfaceのsizing functionを "none" に設定します。