Force: PTdSF

Model ElementForce_PTdSF要素は、変形可能サーフェスとポイントとの間の接触力を定義します。

説明

変形可能サーフェスは、Reference_DeformSurface要素を使用して定義されます。このポイントを中心とする任意の半径の球を指定できます。ポイントとサーフェス間の距離が球の半径より小さくなると、接触反発力が適用されます。2つのタイプの接触力モデル、LinearおよびPoissonがサポートされています。

フォーマット

<Force_PTdSF
      id                    = "integer"    
    [ label                 = "string" ]      
      i_marker_id           = "integer"    
    [ radius                = "real"   ]      
      ref_dsurface_id       = "integer"
   { 
      force_model           = "LINEAR"      
      [ stiffness           = "real" ]
      [ damping             = "real"  ]   
    | 
      force_model           = "POISSON"      
      [ penalty             = "real" ]
      [ restitution_coef    = "real" ]
    |     
      force_model           = "USERSUB"
{
      usrsub_param_string   = "USER( [[par_1][, ...][, par_n]] )"
    [ usrsub_dll_name       = "valid_path_name"     
    [ usrsub_fnc_name       = "custom_fnc_name" ]
|      
      script_name           = valid_path_name      
      interpreter           = "PYTHON" | "MATLAB"
      usrsub_param_string   = "USER( [[par_1][, ...][, par_n
    [ usrsub_fnc_name       = "custom_fnc_name" ]
}   
   }
    [ flip_normal           = { "TRUE" | "FALSE" } ]  
/> 

属性

id
要素識別番号(整数 > 0)。この番号は、すべてのForce_PTdSF要素の中で一意です。
label
Force_PTdSF要素の名前。
i_marker_id
球の形状の定義に使用するReference_Markerを指定します。球の中心はReference_Markerの原点に置かれ、Reference_Markerの親ボディに結合されます。この球の半径は、radius属性によって指定されます。この球形状は、変形可能サーフェスとの接触を検出するために使用されます。
radius
Iマーカーの原点を中心とする球形状の半径。
デフォルト = 0.0
ref_dsurface_id
Force_PTdSF要素の定義に使用する変形可能サーフェスを指定します。
force_model
LINEARPOISSON、またはUSERSUBから選択します。
stiffness
接触力モデルの剛性係数。force_modelLINEARに設定されている場合にのみ使用されます。stiffnessは、正にする必要があります。

デフォルト = 0.0

damping
接触力モデルの減衰係数。force_modelLINEARに設定されている場合にのみ使用されます。dampingは、正にする必要があります。
デフォルト = 0.0
penalty
スプリング力の計算に使用する剛性係数を指定します。ペナルティの値が大きい場合は、2つの接触する形状間で小さい貫入のみが許可され、値が小さい場合は、大きい貫入が許可されます。ヘルツの接触理論を使用して、局所剛性を推定することができます。ヘルツの接触剛性パラメータの計算の詳細については、model statements -> force:contact の注釈6をご参照ください。force_modelPOISSONに設定されている場合にのみ使用されます。penaltyは、正にする必要があります。
デフォルト = 0.0
restitution_coef
接触しているボディ間の反発係数(COR)を定義します。0の値は、2つのボディが接触後に合体することを意味する完全塑性接触を指定します。1の値は、完全弾性接触を指定します。衝突でエネルギーは損失せず、分離の相対速度が接近の相対速度と一致します。force_modelPOISSONに設定されている場合にのみ使用されます。restitution_coefは、0.0~1.0に収める必要があります。
デフォルト = 1.0
usrsub_param_string
データファイルからユーザー定義のサブルーチンPTDSFSUBに渡されるパラメータのリスト。この属性は、すべてのタイプのユーザーサブルーチンおよびスクリプトに共通です。
usrsub_dll_name
ユーザーサブルーチンを含むDLLまたは共有ライブラリのパスと名前を指定します。MotionSolveはこの情報を使用して、実行時にDLL内のユーザーサブルーチンを読み込みます。
usrsub_fnc_name
MotionSolveによって呼び出される関数の名前を指定します。デフォルトの関数名はPTDSFSUBです。
script_name
usrsub_fnc_nameで指定されたルーチンを含むユーザー作成スクリプトのパスと名前を指定します。interpreterPYTHONまたはMATLABに設定されている場合にのみ使用されます。
interpreter
ユーザースクリプトが記述されたインタープリタ型言語を指定します。有効な選択肢は、MATLABまたはPYTHONです。
flip_normal
ブールフラグ(TRUE/FALSE)。
TRUE
要素の法線は、右手の法則を使用して生成されます。具体的には、三角形要素のN1、N2、およびN3の順序で右手の指を丸めた場合に、親指の向きが法線ベクトルの方向になります。
TRUE
法線ベクトルは、右手の親指とは反対の方向を指します。

例1

<Reference_DeformSurface
      id                  = "1"
      end_type            = "NATURAL"
      num_marker_row      = "7"
      num_marker_col      = "7">
 30101490 30101500 30101510 30101520 30101530 30101540 30101540
 30101420 30109781 30113791 30117801 30121811 30125821 30101480
 30101350 30108711 30112721 30116731 30120741 30124751 30101410
 30101120 30102061 30103071 30104081 30105091 30106101 30101130
 30101140 30110571 30114581 30118591 30122601 30126611 30101200
 30101210 30111641 30115651 30119661 30123671 30127681 30101270
 30101280 30101290 30101300 30101310 30101320 30101330 30101340
  </Reference_DeformSurface>

<Force_PTdSF
     id                  = "1"
     i_marker_id         = "30107850"
     radius              = "10.0"
     ref_dsurface_id     = "1"
     force_model         = "LINEAR"
     stiffness           = "1000.0"
     damping             = "0.1" 
 /> 


<Post_Graphic
     id                  = "500000"
     type                = "DeformSurface"
     surface_id          = "1"
     nseg_u              = "30"
     nseg_v              = "30" 
 />
注: Force_PTdSF要素のi_marker_idで参照されるポイントの開始位置が、確実に上記の範囲内になるようにする必要があります。そうでない場合、シミュレーションが失敗する場合があります。

コメント

  1. Force_PTdSF要素は、ポイントと変形可能サーフェス間の距離、およびForce_PTdSF要素プロパティに基づいて、反発力を計算します。


    ここで、

    したがって、Force_PTdSFを使用し、弾性体の節点に変形可能サーフェスを結合することで、弾性体と剛体の接触をシミュレートできます。

  2. ユーザーサブルーチン全体で摩擦がサポートされます。Force_PTdSF要素は、剛体と変形可能サーフェスとの間の接触力を定義します。このモデリング要素が強化され、接触垂直抗力や摩擦力のユーザー定義のモデルをサポートするようになりました。ユーザーサブルーチンPTDSFSUBは、ユーザー定義の接触モデルを提供する必要があります。PTDSFSUBは、Fortran、C、またはC++言語で記述するか、あるいはPythonまたはMATLABスクリプトで記述できます。
  3. MotionSolve結果ファイル(MRF)および Altairバイナリファイル(ABF)に書き込まれるForce_PTdSFからの出力信号が拡張され、次の時間ベースの量を含めるようになりました。
    • 接触ポイントのX-Y-Z位置。
    • 接触ポイントのサーフェス法線のX-Y-Z成分。
    • 貫入深さ。
    • 接触垂直抗力(サーフェス法線に沿って作用)。
    • 摩擦力ベクトルのX-Y-Z成分。
    • 接触ポイントのサーフェスのUおよびVパラメータ値。
    • 追跡誤差。接触ポイントがいかに正確に特定されているかを示す指標。
      MRF/ABF成分 説明
      CONTACT P(X)

      CONTACT P(Y)

      CONTACT P(Z)

      接触ポイントのX、Y、Z位置。
      NORMAL VEC(X)

      NORMAL VEC(Y)

      NORMAL VEC(Z)

      接触ポイントのサーフェス法線のX、Y、Z成分。
      PARAM U

      PARAM V

      接触ポイントのサーフェスのUおよびVパラメータ値。
      PENETRATION (Z) 接触ポイントのサーフェス法線に沿った貫入深さ。
      TRACKING ERROR(L) 追跡誤差 - 接触ポイントがいかに正確に検出されているかを示す指標。
      CONTACT FORCE (FN) 接触ポイントでのサーフェス法線に沿って作用する接触垂直抗力。
      FRICTION FORCE (Fx)

      FRICTION FORCE (Fy)

      FRICTION FORCE (Fz)

      摩擦力のX、Y、Z成分。
    注:
    • 接触法線ベクトルは、変形可能サーフェスから外側を向いています。
    • PENETRATION (Z)≤ 0の場合、接触はありません。大きさは、Iマーカーから変形可能サーフェス上の最も近いポイントまでの距離として解釈できます。
    • PENETRATION (Z) > 0の場合のみ、接触が発生します。
    • UおよびVは、変形可能サーフェスを表すために使用する可変の節点位置を使用したバイキュービックスプラインのパラメータです。
    • 追跡誤差は、Param_Transientエンティティで指定される積分トレランス(integr_tol)と拘束トレランス(dae_constr_tol)を変更することによって制御できます。通常、接触中の追跡誤差Lは、貫入Zのごく一部にも満たないはずです。
  4. すべてのベクトルの成分は、全体座標系で定義されます。これらの数量が、HyperGraphでプロットできるようになりました。
  5. 一連のForce_PTdSF要素を使用して、2つの変形可能サーフェス間の接触をモデル化できます。ただし、2つのサーフェス間の接触ポイントは1つのみである必要があります。一般的な用途の1つが、ディスクブレーキでのモーン音とブレーキ鳴きの現象の解析です。
  6. Force_PTdSF要素を正しくモデル化するには、i_marker_idによって参照されるポイントが、シミュレーション全体にわたって、変形可能サーフェスの垂直投影で定義される領域内に留まるようにする必要があります。MotionSolveは、変形可能サーフェスに対するポイントの現在位置の(u、v)値を計算します。この(u、v)値は、定義したu_spanやv_spanなどの範囲内に留まる必要があります。


    現在のuまたはv値がこの範囲を逸脱した場合、MotionSolveはその要素の力を計算しません。ただし、これにより不正確な結果が生じる可能性があります。そのような状況では、結果が正しいか、確認することをお勧めします。詳細については、Reference_DeformSurfaceモデリング要素をご参照ください。

  7. Constraint_PTdSF要素とは異なり、Force_PTdSF要素はリフトオフを許可します。ポイントが、“u”および“v”の範囲内にある限り、ポイントと変形可能サーフェスとの間の垂直距離は、属性radiusで指定された値より大きくすることができます。