複雑な動きを /IMPDISP/FGEO で簡単に表現する方法


本記事では、下のアニメーションのように複数の節点をバラバラに強制変位で動かすときに便利な /IMPDISP/FGEO を説明します。普通の強制変位 /IMPDISP は 1軸の動きなので、複数の節点が別々の動き (別々の軸) をするときは、節点の数だけ /IMPDISP が必要になって、大変面倒です。

説明図


そこで /IMPDISP/FGEO を使います。初めに節点の移動を表現するために、バネ要素を用意しておきます。

節点の移動を表現するバネ要素


このバネ要素は、解析に影響しないように、バネ定数 0 (K1=0) としておきます。質量 (MASS) はゼロでなければ何でも良いのですが、全体の質量に対して数ケタ小さい全体としては無視できる値にしておいた方がよいでしょう。マススケーリングの質量変化具合などが分かりにくくなるのだ。

#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
##HWCOLOR properties 2 7
/PROP/SPRING/2
spring_zero_k                                                                                       
#               MASS                                 sens_ID    Isflag     Ileng
               1e-10                                                            
#                 K1                  C1                  A1                  B1                  D1
                 0.0                                                                                
# fct_ID11        H1  fct_ID21  fct_ID31  fct_ID41                      DeltaMin            DeltaMax
                                                                                                    
#                 F1                  E1             AScale1             Hscale1
                                                                                


このバネのパート /PART を /IMPDISP/FGEO で指定すれば OK です。part_ID にバネ要素のパートを指定します。

#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
##HMNAME LOADCOLS          2Impdisp_Fgeo                                                            
##HWCOLOR loadcollectors 2 20
/IMPDISP/FGEO/2
impdisp_fgeo                                                                                        
#   Ifunct   part_ID             Isensor
         1         2                   0
#              Scale                                  Tstart               Tstop
                                                         0.0                    
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|


関数 Ifunct はゼロで始まって 1で終わるようにしておけば、ちょうどピッタリ、バネ要素の先端に収まります。

#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----| ##HWCOLOR curves 1 21
/FUNCT_SMOOTH/1
#title                                                                                              
disp-time                                                                                           

#                  X                   Y
                 0.0                 0.0
                 0.1                 1.0
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|


バネ要素込みのアニメーションはこうなります。

バネ要素込みのアニメーション.gif


この説明に使った入力データのダウンロード: fgeo.7z