微細なCG ジオメトリーに対するCG微少値の変更

Ralph NelsonがCG ジオメトリーを用いた計算の妥当性を調べるため、ucsampl5.fと ucsampcg.fのジオメトリーを変更して両者の結果を比較しました。 両コードの初期ジオメトリーは厚さ3cmの鉄製平板です。 新ジオメトリでは、これが10層の薄い平板に変更されました。各平板の厚さは1 micro m。 合計厚さは10 micro mです。
両コードの吸収エネルギーは最大40%異なりました。
CG内では微少値を用いており、その初期値は1.0d-4です。 このCG内の微少値とジオメトリーでの厚さが同じであった事が、CG計算の誤差の原因でした。
その微少値の値を1.0d-5または1.0d-6に変更することにより、ucsampcg.fとucsampl5.f から同一の結果が得られました。
これらの微少値の変数名は、cgmnst, cgeps1, cgeps2 と ***eps です。 *** は CG data で用いているBody typeです。この例の場合は *** は "rpp"。
この例のように、CGにおいて微細なBodyやZoneを用いる場合には、ユーザーは これらの変数の値を変更する必要があります。 これらの変数の値はユーザーコードから変更可能です。 (その場合、ユーザーコードに該当変数を含むcommonを追加しておく必要があります。)
なお、2次曲面上で数値誤差が拡大する場合もあるので、微少値の設定には注意が必要です。 CGにおけるジオメトリーサイズのダイナミックレンジに関する文章を リンク しておきます。
アロカの佐東氏からも同時期に同じ問題についての問い合わせがありました。