Force: PTdCV
モデル要素Force: PTdCV要素は、変形可能曲線とポイントとの間の接触力を定義します。
説明
変形可能曲線は、Reference_DeformCurve要素を使用して定義されます。ポイントは、i_markerを中心として、各軸周りに任意の半径を持つ楕円体として表されます。変形可能曲線は、その変形可能曲線を中心線とした、任意の始点半径と終点半径を持つソリッドバーとして表現されます。始点半径および終点半径に負の値を使用することで、パイプを表すことができます。この楕円体とソリッドバーまたはパイプが接触すると、接触反発力が適用されます。2つのタイプの接触力モデル、LinearおよびPoissonがサポートされています。
フォーマット
<Force_PTdCV
id = "integer"
[ label = "string" ]
i_marker_id = "integer"
radius_pt_x = "real"
radius_pt_y = "real"
radius_pt_z = "real"
ref_dcurve_id = "integer"
radius_cv_start = "real"
radius_cv_end = "real"
{
force_model = "LINEAR"
[ stiffness = "real" ]
[ damping = "real" ]
|
force_model = "POISSON"
[ penalty = "real" ]
[ restitution_coef = "real" ]
|
}
/>
属性
- id
- 要素識別番号(整数 > 0)。この番号は、すべてのForce_PTdCV要素の中で一意です。
- label
- Force_PTdCV要素の名前。
- i_marker_id
- 楕円体の形状の定義に使用するReference_Markerを指定します。楕円体の中心はReference_Markerの原点に置かれ、Reference_Markerの親ボディに結合されます。この楕円体の半径は、radius_pt_x、radius_pt_y、およびradius_pt_z属性によって指定されます。この楕円体の形状は、変形可能曲線との接触を検出するために使用されます。
- radius_pt_x
- Iマーカーの原点を中心とするIマーカーのX軸に沿った楕円形形状の半径。
- radius_pt_y
- Iマーカーの原点を中心とするIマーカーのY軸に沿った楕円形形状の半径。
- radius_pt_z
- Iマーカーの原点を中心とするIマーカーのZ軸に沿った楕円形形状の半径。
- ref_curve_id
- Force_PTdCV要素の定義に使用するReference_DeformCurveを指定します。
- radius_cv_start
- 変形可能曲線の始点の半径。負の半径を使用すると、パイプが定義されます。
- radius_cv_end
- 変形可能曲線の終点の半径。負の半径を使用すると、パイプが定義されます。
- force_model
- LINEARまたはPOISSONを選択します。
- stiffness
- 接触力モデルの剛性係数。force_modelがLINEARに設定されている場合にのみ使用されます。stiffnessは、正にする必要があります。
- damping
- 接触力モデルの減衰係数。force_modelがLINEARに設定されている場合にのみ使用されます。dampingは、正にする必要があります。
- penalty
- スプリング力の計算に使用する剛性係数を指定します。ペナルティの値が大きい場合は、2つの接触する形状間で小さい貫入のみが許可され、値が小さい場合は、大きい貫入が許可されます。ヘルツの接触理論を使用して、局所剛性を推定することができます。ヘルツの接触剛性パラメータの計算の詳細については、model statements -> force:contact の注釈6をご参照ください。force_modelがPOISSONに設定されている場合にのみ使用されます。penaltyは、正にする必要があります。
- restitution_coef
- 接触しているボディ間の反発係数(COR)を定義します。0の値は、2つのボディが接触後に合体することを意味する完全塑性接触を指定します。1の値は、完全弾性接触を指定します。衝突でエネルギーは損失せず、分離の相対速度が接近の相対速度と一致します。force_modelがPOISSONに設定されている場合にのみ使用されます。restitution_coefは、0.0~1.0に収める必要があります。
例1
<Reference_DeformCurve
id = "1"
label = "DCurve/1"
end_type_left = "NATURAL"
end_type_right = "NATURAL"
u_span = "1."
tension = "0."
is_u_closed = "FALSE"
num_marker_id = "7"
30101120 30102061 30103071 30104081 30105091 30106101 30101130
/>
<Force_PTdCV
id = "1"
i_marker_id = "30107060"
ref_dcurve_id = "1"
radius_pt_x = "10."
radius_pt_y = "10."
radius_pt_z = "10."
radius_cv_start = "5."
radius_cv_end = "5."
force_model = "LINEAR"
stiffness = "100."
damping = "0.01"
/>
<Post_Graphic
id = "1"
label = "Deformable Curve"
type = "DeformCurve"
curve_id = "1"
nseg = "100"
/>
コメント
- Force_PTdCV要素は、シミュレーション中のどの時点においても一意の接触ポイントを1つだけ持つことができます。
- Force_PTdCV要素を正しくモデル化するには、i_marker_idによって参照されるポイントが、シミュレーション全体にわたって、変形可能曲線の垂直投影で定義される長さ内に収まるようにする必要があります。MotionSolveは、変形可能曲線を基準にしたポイントの現在位置の(u)値を計算します。この(u)値は、定義したu_spanの範囲内に常に収まっている必要があります。以下に例を挙げます:- u_span/2 ≤ u ≤ + u_span/2
現在のu値がこの範囲を逸脱した場合、MotionSolveはその要素の力を計算しません。ただし、これにより不正確な結果が生じる可能性があります。そのような状況では、結果が正しいか、確認することをお勧めします。詳細については、Reference: Deformable Curveモデル要素をご参照ください。
- Constraint_PTdCV要素とは異なり、Force_PTdCV要素はリフトオフを許可します。ポイントが、“u”の範囲内にある限り、ポイントと変形可能曲線との間の垂直距離は、ポイントと曲線を定義するために指定された半径値より大きくすることができます。