精度、収束コントロール
TOP > ソフト別コーナー  >  ProMechanica  > 精度、収束コントロール
Mechanicaが採用するAdaptiveP法は、ユーザーが作成したメッシュに対し、要素分割は変えずに要素の次数を自動的に高めていくことで、粗い分割で十分な精度を得ようとするもの。(PはPolynominal(多項式)に由来)

<Plotting Grid数が精度に及ぼす影響?>

# 2000年10月31日 # Ysan #
間違っていたらごめんなさい、私が推測ですが、

PlottingGridの付近に応力集中があれば、正確な結果が得られますが、たとえば、形状に対して極端に長いエッジをつくり2~3とか少な目のPlottingGridで解析を実行した場合、PlottingGridから離れたところに応力集中が発生している可能性があります。この場合、結果的にPlottingGridが適切である場合よりも低めの応力結果になり、また、応力集中の場所もずれてしまいます。
実際には、サーフェスに自動でメッシュを張れば細かめの要素になるし4以上であればそれほど差がでないので問題は少ないと思います。


# 2000年10月31日 # imada #
誤差評価は要素境界のエッジ上で行うはずなのでPlottingGridの数は誤差指標には関係ないと思います。
(もちろん表示した時の結果は若干変わってきますが)
そういう意味では、誤差評価を行うエッジの位置が変化する要素形状は、誤差に本質的には関係してくると思います。実際的にはMECHANICAが推奨している(ディフォルトの)要素制限値内にあれば、次数をあげることによってほとんどの場合、精度は
保たれているという、どちらかといえば経験的な事実から、「メッシュ形状は影響しない」とうたわれているのだと思います。
(編集担当:Happy 2001/12/16)



<SinglePathとMultiPathの使い分け、再び>

# 2000年10月20日 # P10 #
Pro/Mech(Structure)の収束判定法について、質問が2つあります。
1.シングルパスとマルチパスアダプティブはどのように
使い分ければ良いのでしょうか?
2.マルチパスを使用するとき、「収束パーセント」の
値は一般的に同程度の値を使うべきなのでしょうか?


# 2000年10月21日 # imada #
マルチパスアダプティブ法では、カレントパスと前のパスの結果の差異をチェックして、これが所定のパーセンテージに収まる事を基準にしていますが、実用上はディフォルトの10%で問題は無いと思います。
ここでいう誤差はFEMの離散化誤差のことをさしていますが、モデル化誤差(境界条件等)を、考えると通常、誤差は10~30%位は含まれてしまうと考えられるからです。
もちろんこれは用途によって変わってくるので、まずはどのくらいの誤差範囲での結果予測をすべき問題なのかを明確にする事が必要でしょう。

シングルパスは、要素毎に求めたエッジ上の応力とある手法により求めた平均化されたエッジ上の応力値の差異を持って誤差指標とする方法なので、1回の計算で誤差の指標が得られ効率的です。
この誤差指標をもとに次のパスのエッジ次数を決めるわけですが、この時の決め方は経験的な値を基準としてマルチパスでの収束基準にして5%程度になるように設定されているそうです。

ビーム要素等シングルパスが使えない(確か2000iまで)もの以外は、シングルパスを使用する事が良いと思われます。

マルチパスの良い点は収束状況がグラフでチェックできる事ですが、次数に対する結果の変化率を見るだけなので、要素間の値の連続性をチェックするシングルパスと本質的に変わるところはないと思います。
欠点は時間がかかる事で、個人的にはマルチパスを使う気にはなれません。

ついでに言うと、マルチパスが推奨されている「接触解析」でもそのままマルチパスを使うよりは、接触面近傍にデータム点やサーフェス領域を作成して、細かな要素を発生させてシングルパスで実施したほうが結果もきれいだし計算時間も圧倒的に短くなります(「メッシュの再分割」は時間がかかる割に役に立たないのでチェックをはずす事)。


# 2000年10月23日 # Y_san2号 #
自分の経験から言うと、シングルパスを使うべきです。imadaさんの言われた通り、シングルパスは、SuperCovergenceという誤差判定を使って、時間、デイスクは1/4以上節約できるし、解析結果は、変位はマルチの1%相当、応力5%と言うところです。
特に感度解析、最適化解析、接触解析などは、SPAの方が効果的です。
Beam要素も適用可能です。
出来ないのは、2次元要素、座屈解析、PreStress解析などです。
よくSPAはまあまあの解析のときつかう、MPAは本番の解析のとき使う、収束が悪いとき、MPAを使うなど、色々見解がありますが、全部誤解です。
基本としては、SPAを薦めます。
Pro/Mechanicaのユーザーでしたら、英語で我慢できれば、これらの情報をフリーで入手できます。


# 2000年10月23日 # Ysan #
シングルパスについては、ウサン臭く思っていたのですが、デフォルトになっているし、実用上、精度も悪くないみたいなので、最近は、それほど気にしないで使ってます。
収束が悪いという説もありますが、その場合、モデルの品質が悪いことが原因であることが多いようです。
(メカニカはメッシュの品質に依らないはずだけど・・・)


# 2000年10月23日 # Y_san2号 #
メカニカは次数の向上で解析精度を改善しているが、Meshの品質による影響が少ないと言われていますが、一般的な静解析なら、成立すると思います。
ところで、非線形の接触解析、たとえば、球対球の接触応力(ヘルツ応力)を正確に求めるなら、助ける必要があります。
SPAの局所メッシュ再分割を起動させても、時間がかかる割に満足の結果が得られません。
従来の解析常識を駆使する事を薦めます。
因みにちょっと前にP法と接触解析に関する議論があったようですが、メカニカのソルバー内部、実際従来のGap要素と同じことをやっていると思います。
接触解析のDIRの下の拡張子pasのファイルを見れば、一目瞭然です。


# 2000年10月23日 # imada #
Pro/Mechanicaでも(FEMなので)当然結果はメッシュの品質に影響されます。
メッシュの細長いところや、急激に大きさが変化しているところでは、応力分布がメッシュ形状にひきずられてしまう事は良くあります。
しかしこういう場所はたいがい、大胆に簡略化した場所等で注目しない部位なので無視する事が多いでしょう。
注目する部位周辺は、それなりに形状もしっかり再現してあるため、通常はメッシュ形状もそんなに悪くならないと思います。
注目点付近で、応力分布がメッシュ形状のため悪化している場合は、やはり何らかの方法できれいなメッシュにしてあげたほうが良いと思います(それでも私の場合20%くらいの誤差なら許してしまいますけど、、、)。
メカニカの解析結果はメッシュの品質(がある程度以上であれば)に依らず(まあまあ再現性のある)精度の良い結果が(必要十分なスキルを持ったエンジニアであれば)
誰にでも簡単に得られます。
と営業の方が言っていたような、、、・・・括弧内は小声で(^_^;;;;;)


# 2000年10月24日 # Ysan #
今までシングル、マルチパスの比較をおこなっていなかったので、簡単なモデルを作って比較してみました。モデルは、四角い板に短冊を溶接したみたいなモデルです。
このモデルは意地悪く接合部は直角になるようにしてみました。こうすると、メッシュを細かく切ってくほど応力が高くなります。
メッシュの大きさは応力集中が発生する隅角に線(円弧)を投影して、その線の大きさを変えることでコントロールします。
比較は、いろいろと隅角の線大きさを変えたもので比較しました。形状は同じですが応力は違ってきます。
結果ですが、応力集中部の最大応力の比較で
マルチパス 1%の収束精度を基準にして、
シングルパスは平均で10%ほど応力が高く、また、
マルチパス10%の収束精度では、10%ほど応力が低くなりました。

モデル的には、問題がありますが、応力が高めになることから、シングルパスの性能はいいことが確認できたと思います。
また、このモデルは、要素の大きさにより隅角部の応力がかわるので、メッシュの大きさによる解の変化が見られます。


# 2000年10月24日 # Ysan #
こういう問題は一番SPAとMPAの区別を説明できます。
直角になる隅部の応力は理論上無限大のはずです。
その無限大の応力を求めることは無理です。
そのせいで、Meshが変わると、応力が変わります。
要するにここは収束していないという事です。
これは、前回メカニカの解はMeshに依存するかどうかは別の問題です。
もう一つ確認するともっと分かります。
点拘束または線拘束をして、SPAとMPAで計算すると、以上の現象が見られます。


# 2000年10月31日 # burning #
SingleとMultiの違いの議論は以前あったと思います。
そのときは、「Singleでも大体精度は大丈夫だけど、注意が必要です」というようなコメントを出しました。その理由をもう一度説明しておきます。
SingleのPass1では、全てのエッジ(要素の辺)と面(フェース)上の変位関数の次数を3にして計算します。この結果で平均化前と後の差を見て誤差状態を判定し、Pass2で最終的なPレベルに割り振って計算をします。

上で述べた注意というのは、「3次の変位関数で引っかからない応力集中部」を見落とす可能性があるということです。Multiでは徐々にPレベルを上げていきますから、このような見落としはありません。Singleの仕組みならではの問題です。要素をある程度細かくしておけば「大体」大丈夫だと思いますが、粗い分割で局所的な応力集中部がある場合などは注意が必要です。
私の経験では、板状の構造物に小さな穴が空いていて、その穴の周りに応力集中があるはずなのに、Singleでは出なかったということがあります。
試しにMultiで実行すると、こちらはきちんと応力集中が出ました。

もう一度言います。Singleはとても良い機能ですが、みなさんも「注意」して使ってください。


# 2000年10月31日 # burning #
>>2.マルチパスを使用するとき、「収束パーセント」の
>>値は一般的に同程度の値を使うべきなのでしょうか?

私は普段
静解析:7%
振動解析:5%
を使っています。経験上の値です。
例えば、静解析で複数の設計案を比較するとしましょう。
10%では、たまに9.9とか9.8といったところで収束することがあります。でも、モデルによっては5%とか中には1%といったものもあったります。これらの最大応力をそのまま比較してもいいものなのかしら? 
という疑問点から始まって、いろいろ試行錯誤した結果7%に落ち着きました。振動も同様です。
扱っている物やお好みの要素分割(?)などにも影響があると思いますが、ご参考まで。


# 2000年10月31日 # imada #
burning さんに質問です。

>私の経験では、板状の構造物に小さな穴が空いていて、その穴の周りに
>応力集中があるはずなのに、Singleでは出なかったということがあります。
>試しにMultiで実行すると、こちらはきちんと応力集中が出ました。

この時、メッシュはどのように作成されました?
手切りですか?AUTO GEMですか?

確かに手切りだとそうなる可能性があると思いますが、もしAUTO GEMでそうなったのであれば、おっしゃるとおり十分な注意が必要ですね。

ご指摘のとおり、シングルパスでは、ある程度要素分割が粗いと応力勾配を見落としたり、誤差指標は十分なのに結果がおかしかったりという可能性があると思います。
そのために、メッシュジェネレータ側で工夫がされており最低限のメッシュ品質を保ってくれているものと理解しています
(リエントラントコーナーの細分割等)。

通常にAUTO GEMで切った場合では、私の場合はそういう問題に遭遇しなかったので(気が付かなかっただけかも)、十分な性能があると判断してきました。
応力勾配の高いところに不適切なほど大きな要素ができてしまう事は現実的には少ないと思うのですがいかがですか?
(もちろんburning さんのご意見に同意した上での質問です)


# 2000年11月2日 # Y-San2号 #
Bunningさんのご説明は基本として正しいですが、やはりSPAは概略計算、MPAは正確計算の範疇を脱していないようです。
MPAの誤差評価は前後パスの変位、歪みエネルギーおよび、グローバル応力で評価するに対して、SPAは、次数3次のときの要素間の応力差を評価します。具体的に言うと、SuperCovergence Patchの応力と個々の要素の応力との差を算出し、応力の誤差は5%以内になるように必要な自由度を計算します。この自由度から次数を算出します。
応力は変位の微分から求めるので、応力は5%以内でしたら、変位は一般的に言うと1%以内になるでしょう。
計算結果もこの事実を反映しています。
穴を持つ平板の問題は、SPAが大変いい結果を得ている事実を確認しています。
BUNNINGさんの言われた現象は別の原因によるかもしれません。
モデルを公表していただければ、検討してみます。
いずれにしましても、SPAのSはSimpleのSではないです。
大変素晴らしい収束法です。
因みに私はMPAを使う場合、どんな解析でも1%もしくは1%以下にしています。


# 2000年11月2日 # burning #
imadaさん>>この時、メッシュはどのように作成されました?
imadaさん>>手切りですか?AUTO GEMですか?

お察しの通り、手メッシュです。

imadaさん>>最低限のメッシュ品質を保ってくれているものと理解しています
imadaさん>>(リエントラントコーナーの細分割等)。

そうか、リエントラントコーナーを使っているのですね。

私は、Pro/MECHANICAの自動メッシャーは信用していません。(^^;)
確かに自動で切ってくれるのはいいのですが、まず、自分で制御ができない。また、いびつなメッシュを平気で作る。。。ためです。
P法とはいえ”しょせん”FEMですから、要素分割によって解は変わります。Pro/MECHANICAはアダプティブ法を使っているので、要素分割の差が「でにくい」だけだと考えています。
また、私が使っているマシンはあまり高速ではないので、なるべく軽いメッシュを作ることを心がけています。

そこで、私はまず、、、
(1)手メッシュ
でモデルを作ることを試みます。とても手メッシュではできないような形状の場合は、
(2)AutoGEM
   ただし、リエントラントコーナー OFF
   +必要な箇所に「サーフェスライン」を追加
を考えます。
リエントラントコーナーをはずすのは、見たくない箇所のメッシュも細かくなってしまい、モデルの規模が大きくなってしまうことが多いからです。その代わり、自分で見たい箇所にサーフェスラインを追加して局所的にメッシュが細かくなるように仕組んでおきます。
できれば3000~4000要素程度に抑えるように毎回四苦八苦しています。(リソースの制約からです)
なるべくMulti Passを使おうとしますが、リソースが足りないときはSinglePassも使います。当然、以前述べた注意を頭に入れて、結果を検証します。特にメッシュとの関係で応力集中部に変なところがないかは入念にチェックします。

以上のような経緯から、SPAを使うときは特に注意するようにしているのです。

リエントラントコーナーを使っているのであれば、確かにあまり気にしなくてもいいかも知れませんね。
Y-San2号さん>>いずれにしましても、SPAのSはSimpleのSではないです。
Y-San2号さん>>大変素晴らしい収束法です。

というわけで、別にSPAを否定しているわけではなく、注意して使い
ましょうということをいいたかっただけなのです。
#特に手メッシュやリエントラントコーナーOFF時


# 2000年11月3日 # imada #
私もほぼ同様の考えです。
実際のところ、P法が出た当時は、「手切りメッシュでこそP法の意味がある」と考えて
いました。しかし、解析対象が複雑になるにつれほとんど全てを自動メッシュにまかせてしまうようになりあまり細かいところには注意しなくなったようです。
P法といえど全自動ではなく、FEM解析としての注意事項は踏まえて実行する事が大事だという事を再確認しました。

私見ですが、Y-san2号 さんが強調されたように、MPAよりもSPAを強くお勧めする方が多い理由は、古くからのユーザーさんの中にMPA絶対主義を唱える方がいらっしゃるみたいで、御自分では各種テクニックで諸解析をこなされているようですが新規ユーザーの方が、この考えに影響されてしまうと、「解析時間がかかりすぎてP法は役に立たない」という結論に達してしまうからではないでしょうか?

新規ユーザーの方は作成したモデルをほぼそのままでAUTO GEMでメッシュを切り、流してしまう事が多いので最近では数万から十数万要素の解析も珍しくないようです。
ユーザーの底辺を増やし、手軽に使ってもらうという考え方から、このようなやり方もありだと思いますが、MPAでは結局「できない」ことになってしまいます。
(編集担当:Happy 2001/12/15)



<SinglePathとMultiPath>

# 1999年9月23日 # ハッピー #
確か世界初のAdaptiveP法ソフトとしてAppliedStructure(現MECHANICA)が出たのは10年ちょっと前ですよね。最初のバージョンはシェル要素だけの「とりあえず版」で、エンジニアの話を聞いた時に「集中荷重点や拘束点は特異点だから、いくら次数を上げても収束しないのでは?」と鋭く突っ込んで困らせてしまいました。翌々年くらいにソリッド要素(最初はヘキサ)、特異性を回避する為の「擬似要素」が加わったような。 ついでにMECHANICAに関する質問です。 MECHANICAはヒエラルキー要素の次数を上げながら(Fourier級数の項数を増やすようなもの)繰り返し計算するわけですが、SinglePathとか言って、繰り返しを一回で打ち切るメニューがあるそうですね?そこで質問ですが、MECHANICAユーザー会では計算精度の評価テストに取り組んでおられるのでしょうか?


# 1999年9月24日 # ピンクのムカデ #
SinglePassは計算次数を、低次数で数回計算させた後、内部的判断で、必要なエッジ等の次数を一気に上げて割り当てて計算するもので、ユーザーからは、2回の計算Passしか見ることが出来ませんし、計算精度については保証されていません。
設計者が,とにかく,早く傾向だけでも見たい場合に使う分には良いと思いますが,解析屋さんの立場からは、使うべきではない手法です。MultiPassを使うべきです。


# 1999年9月24日 # ギブソン #
まず、精度評価という点から見ると、最近のMECHANICAは段々と難しくなってきました。3D-CADとの統合モードでもオートメッシュ。シングルとマルチ。収束条件と精度の設定。余程、MECHANICAを使いこなした人でないと(いや、使いこなした人でも)精度の確認は難しいでしょう。
私も、上記のパラメータに対する精度検証をしてみましたが、モデルによって異なり、前もって、推察できませんでした。
そこで、提案を一つ。サマリーファイルにワーニングがでていたら、精度は駄目と思ってよいのではないかと思います。ユーザから、「解析結果が合わない。」との問い合わせの大部分が、ワーニングを無視した場合に起こっています。まず、この確認をされることをお勧めします。
しかし、ワーニングがでなかったら、保証されるかというと、その保証はありません。
つまり、結果をみて判断ができる素養のある人でないと、いくらMECHANICAが
良いといっても、使えないということです。


# 1999年9月25日 # ハッピー #
精度に関してAdaptiveP法ソフトが異質だと感じるのは、メッシュを見ても、その解析モデルの品質を評価しにくいことなんですね。I-DEASなんかで自動メッシュを使うと、確かに設定の仕方でメッシュは変わる→答えも変わる。でも、そのメッシュを見ることでその解析の信頼性、というより解析担当者の技術力を推定することができます。一方、AdaptiveP法では、メッシュに次数まで表示してませんから、メッシュを見ても解析品質の良し悪しがさっぱり分からない。もっとも表示してくれてもピンと来ないでしょう。
自分自身で解析する場合には、自分で責任を持てばよいわけですが、他人の検討結果を評価するような場合に困るんです。また、隣の部署の若い人が相談に来たりするんですが、指導するのも難しい。
「これくらいにメッシュを切ればいいんだよ」と、手本を示せないわけですから。
ということで、自己責任の範囲の適用が的を得ているのかなぁと思ってますが。


# 1999年10月4日 # burning #
MECHANICAのSingle Pass Analysisについて私が昔調べた内容を紹介します。
Single Pass Analysisの手順
<Pass1>
 全てのエッジ等の形状関数をP=3として計算する。つまり3次要素みたいなものですね。
 この結果を利用して、応力の誤差評価を行います。

 応力の誤差評価とは。。。MECHANICAでは、FEMの大御所ツィェンキーヴィッツさんが編み出した手法を応用しています。

 簡単に言うと、
 通常、応力は要素の境界で不連続です。ここで、変位の形状関数を使って、応力の分布を計算します。変位の形状関数は要素の境界でも連続ですから、応力分布も連続に得られます。この連続な応力分布を真の分布と見なします(実際は、要素の種類で補正がいるようですが)。これと最初の不連続な応力を比較して、応力の誤差を評価します。
 MECHANICAでは、Single Pass Analysisが採用されたバージョンから、応力連続要素なる要素が導入されています。ソリッド要素やシェル要素で、結果表示の際に平均化あるなしでフリンジ図が変わらないのはこのためです。
 
 このような誤差評価を使って、最終的なPレベル分布を割り振ります。この割り振りについては、開発元の経験を生かしているとPTCの技術の方に聞いたことがありますが、具体的な内容までは、教えてもらえませんでした。
<Pass2>
 上の手順で割り振られたPレベル分布で、計算を実行します。

Single Pass Analysisを上手く使うポイントは、Pass1の3次の計算で、きちんと応力集中部が出るように要素分割しておくということです。3次の計算でそれなりに応力集中していないと、そこの次数が低い評価を受けてしまいます。
また、荷重や拘束の近傍で発生する「通常は無視する」応力集中がある場合、そこに大きなPレベルが割り振られ、自分の見たい部分が埋もれて低いPレベルになることもあります。

特に、局所的な応力集中がある場合、例えば、切り欠きや小さな穴といった細かいフィーチャーの周りに応力集中が出る場合などは注意が必要です。事前にその周囲に要素を細かく切るように設定しておく必要があります。サーフェスラインを使う場合は、Curve On Surfaceなどで線を入れておいたりします。MECHANICAは要素を大きくするように要素分割しますから、気を使うところです。

KUSCOさんはあまり推奨していませんが、私は上記の注意点に気をつけて使えば、充分に使えるものだと考えています。なにしろ、計算時間がMulti Passよりも少なくて済むし、テンポラリディスクも小さくて済みます。Multiでは、要素数3000~4000規模になると、2GB以上のディスク容量を用意しておがないと危険ですが、Singleでは1GBもいりません。AutoGEMを多用する場合には、実運用上どうしてもSingleを使うことが多くなるのではないでしょうか。

尚、Singleの解析精度ですが、私の経験では、「応力解析では、Multiの5~8%に相当。振動では、Multiの5%前後に相当。」するように調整されていると考えています。
#当然ですが、上の注意点が回避されているという条件付きです。

また、計算のサマリーのPassの最後に、RMS Stress Errorが出ていますが、これは、最終Pレベルでの予測された応力との誤差であって、実計算の誤差ではない。。。と、やはりPTCの技術の方に聞いたことがあります。
(編集担当:Happy 2001/12/15)





NCnetwork