SOL2SPH を利用して、ソリッド要素破断(削除)後の剛性、質量を考慮する方法


始めに

Radioss では、材料の破断を要素の削除で表現することが一般的ですが、要素を削除してしまうと、その分の質量が無くなってしまうことになります。ただし、だからと言って、いつまでも要素を削除しないと、今度は要素品質の問題で計算の不安定性が増して来ます。このジレンマを解決する手法として SOL2SPH、ソリッド要素を削除するときに、代わりの SPH を生成する、という機能があります。本書では、その機能の使い方を説明します。


基本設定

SOL2SPH を適用したいソリッドプロパティは、次のようにします。Ndir はヘキサ要素 1辺あたりの生成 SPH 数です。Ndir=1 で 1個、2 で 2^3=8 個、3 で 3^3=27 個の SPH が生まれます。spphpartID は /PROP/SPH を指定された /PART の ID です。この /PART はあらかじめ SPH を作っておく必要はありません。

#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/PROP/SOLID/1
solid                                                                                               
#   Isolid    Ismstr               Icpre  Itetra10     Inpts   Itetra4    Iframe                  Dn
        24                                                                                          
#                 qa                  qb                   h              Lambda                  Mu
                                                                                                    
#         deltaT_min   Istrain      Ihkt
                                        
# 普通のソリッドプロパティと違うのは次のラインです。
#     Ndir sphpartID
         1         2
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|


/PROP/SPH の必須項目は Mp です。先ほどの Ndir から生成される SPH の数と、材料密度と、メッシュサイズから、SPH 一個当たりの質量を入力します。

#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
##HWCOLOR properties 2 21
/PROP/SPH/2
sph                                                                             
#                 Mp                  qa                  qb            Alpha_cs   skew_ID      h_1D
8.00000000000000E-06                                                                                
#    Order                   h             Xi_Stab
                                                  
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|


ソリッド要素のパートと SPH のパートに割り当てる材料は、全く別に設定できますが、材料タイプは同じである必要があります。簡単にソリッド要素を削除できる要素が望ましいので、/MAT/LAW36 をまずはお薦めします。例えば、このように密度もヤング率も SS  線図もまったく異なっていても大丈夫です。下の例では、最初の材料がソリッド要素向けなので、要素を削除するために Eps_p_max=0.3 (塑性ひずみが 0.3 に到達すると要素削除) を入れる必要があります。

#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/MAT/PLAS_TAB/1
solid                                                                                               
#        Init. dens.
1.00000000000000E-09
#                  E                  Nu           Eps_p_max               Eps_t               Eps_m
              2000.0                 0.3                 0.3                                        
#  N_funct  F_smooth              C_hard               F_cut               Eps_f                  VP
         1                                                                                          
#  fct_IDp              Fscale   Fct_IDE                EInf                  CE
                                                                                
# func_ID1  func_ID2  func_ID3  func_ID4  func_ID5
         1
#           Fscale_1            Fscale_2            Fscale_3            Fscale_4            Fscale_5
                 0.0
#          Eps_dot_1           Eps_dot_2           Eps_dot_3           Eps_dot_4           Eps_dot_5
                 0.0
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/MAT/PLAS_TAB/2
sph                                                                                                 
#        Init. dens.
7.80000000000000E-09
#                  E                  Nu           Eps_p_max               Eps_t               Eps_m
            210000.0                 0.3                                                            
#  N_funct  F_smooth              C_hard               F_cut               Eps_f                  VP
         1                                                                                          
#  fct_IDp              Fscale   Fct_IDE                EInf                  CE
                                                                                
# func_ID1  func_ID2  func_ID3  func_ID4  func_ID5
         2
#           Fscale_1            Fscale_2            Fscale_3            Fscale_4            Fscale_5
                 0.0
#          Eps_dot_1           Eps_dot_2           Eps_dot_3           Eps_dot_4           Eps_dot_5
                 0.0
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|


こちらが、1要素で引張り試験をしたモデルです: sol2sph_one_elem_tens.7z

このように、塑性ひずみ 0.3 到達で SPH に切り替わるのが分かります (分かりやすいように SPH を大きな球で描画しています)。切り替わった瞬間に、応力、ひずみ、塑性ひずみなどを引き継ぐので、この例では、切り替え前後で塑性ひずみが 0.3 (赤) のままになっています。

1要素モデル


接触を考慮する場合

多くの場合、生まれた SPH ともともと周りにあるソリッド要素の接触を考慮したいと思います。使用できる接触タイプは /INTER/TYPE7 のみとなります。

次の、立方体に球をぶつけるモデルを用いて説明します。

接触モデル


こちらが接触設定です。

Istf=0 と Stfac で接触剛性を調整します。一般的に良く使われるのは Istf=4 ですが、Radioss は SPH の剛性を計算せずに 0 として扱うため、Istf=4 だと接触剛性がゼロとなってしまい、全て貫通してしまうので注意してください。

Idel=-1 は SOL2SPH の SPH とソリッドを接触させる時に、必須の設定です。ソリッド要素が削除されたとき、その部分のサーフェス定義を消して、中の SPH を有効化する設定です。

Ibag=1 はオプションです。実は SPH 有効化前から、接触判定自体はしています。Ibag=1 の場合、材料の状態を問わず、接触判定となったタイミングで SPH に切り替わります。もともと品質の悪い要素を不安定になる前に SPH 化できるメリットがありますが、一方、Gapmin が大きい場合、まだまだ変形できそうな要素まで SPH に切り替わるという一面もあります。

Igap=0 で Gapmin にて接触判定距離を決める必要があります。というのも SPH に対して接触判定距離の自動計算は行われないからです。


#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/INTER/TYPE7/1
#Title                                                                                              
type7                                                                                               
# grnod_id   surf_id      Istf      Ithe      Igap                Ibag      Idel     Icurv      Iadm
         3         2         0                   0                   1        -1                   0
#         Fscale_gap             Gap_max             Fpenmax
                                                            
#              Stmin               Stmax                                   dtmin  Irem_gap   Irem_i2
                                       0                   
#              Stfac                Fric              Gapmin              Tstart               Tstop
                 .01                 0.2                 3.0                                        
#      IBC                        Inacti                VisS                VisF              Bumult
       000                                                                                          
#    Ifric    Ifiltr               Xfreq     Iform   sens_ID   fct_IDF            Ascale_F   fric_ID
                                                                                                    
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|


grnod_id はモデル上は空っぽの SPH パートを選択します。定義上空っぽですが、大丈夫です。surf_id は、破断していった内側の要素面が大事なので /SURF/PART/ALL をソリッド要素パートに適用します。

#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/GRNOD/PART/3
#title                                                                                              
GrnodPartForInterfaceId_1                                                                           
# item_ID1  item_ID2  item_ID3  item_ID4  item_ID5  item_ID6  item_ID7  item_ID8  item_ID9 item_ID10
         2
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/SURF/PART/ALL/2
#title                                                                                              
sotogawa                                                                                            
# item_ID1  item_ID2  item_ID3  item_ID4  item_ID5  item_ID6  item_ID7  item_ID8  item_ID9 item_ID10
         1
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|


そして材料は、今回は全く同じ材料ですが、 ソリッド要素用に EPS_p_max=0.1 として、塑性ひずみ 0.1 で SPH に切り替わるようにしています。逆に SPH は EPS_p_max=1e30 として、何が何でも剛性を失わないようにしています。

#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/MAT/PLAS_TAB/1
yowai_sotogawa                                                                                      
#        Init. dens.
1.00000000000000E-09
#                  E                  Nu           Eps_p_max               Eps_t               Eps_m
              1000.0                 0.3              0.1                                           
#  N_funct  F_smooth              C_hard               F_cut               Eps_f                  VP
         1                                                                                          
#  fct_IDp              Fscale   Fct_IDE                EInf                  CE
                                                                                
# func_ID1  func_ID2  func_ID3  func_ID4  func_ID5
         1
#           Fscale_1            Fscale_2            Fscale_3            Fscale_4            Fscale_5
                 0.0
#          Eps_dot_1           Eps_dot_2           Eps_dot_3           Eps_dot_4           Eps_dot_5
                 0.0
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/MAT/PLAS_TAB/2
tuyoi_utigawa                                                                                       
#        Init. dens.
1.00000000000000E-09
#                  E                  Nu           Eps_p_max               Eps_t               Eps_m
              1000.0                 0.31.00000000000000E+30                                        
#  N_funct  F_smooth              C_hard               F_cut               Eps_f                  VP
         1                                                                                          
#  fct_IDp              Fscale   Fct_IDE                EInf                  CE
                                                                                
# func_ID1  func_ID2  func_ID3  func_ID4  func_ID5
         1
#           Fscale_1            Fscale_2            Fscale_3            Fscale_4            Fscale_5
                 0.0
#          Eps_dot_1           Eps_dot_2           Eps_dot_3           Eps_dot_4           Eps_dot_5
                 0.0


この例では 4層目までの破壊となっています。


このデータはこちらです: 接触の例.7z


参考 SOL2SPH 無しの場合

単純に先ほどのモデルから SOL2SPH と SPH の接触を省いた場合、8枚ほど割ってしまいます。要素の変形が厳しいが、質量を消すわけにもいかない、そのようなときは SOL2SPH を活用してみてください。

SOL2SPH 無しの場合

このデータはこちら: sol2sph無し.7z

 

アルテアジャパン公式製品ページ

https://www.altairjp.co.jp/radioss/