Ptdsff
Model ElementPtdsffは、ポイントと変形可能サーフェス間の力を定義します。
クラス名
Ptdsff
説明
変形可能サーフェスは、Reference_DeformSurface要素を使用して定義されます。指定された半径の球がIマーカーの原点にあります。Iマーカーの原点とサーフェス間の距離が球の半径より小さくなると、接触反発力が生じます。
属性の概要
名前 | プロパティ | コマンドで変更可能か | 設計可能か |
---|---|---|---|
id | Int () | ||
label | Str () | ○ | |
dsurface | Reference ("DeformableSurface") | ○ | ○ |
i | Reference ("Marker") | ○ | ○ |
flip_normal | Bool (False) | ○ | |
radius | Double () | ○ | FDのみ |
radius_x | Double () | ○ | FDのみ |
radius_y | Double () | ○ | FDのみ |
radius_z | Double () | ○ | FDのみ |
force_model | Enum ("UNDEFINED LINEAR POISSON HERTZIAN USERSUB") | ○ | |
stiffness | Double () | FDのみ | |
damping | Double () | FDのみ | |
penalty | Double () | ○ | FDのみ |
restitution_coefficient | Double (0.0) | ○ | FDのみ |
active | Bool () | ○ |
使用法
#1: Linear contact force model
Ptdsff (i=objMarker, dsurface=objDeformableSurface, force_model= "LINEAR", optional_attributes)
#2: Nonlinear contact force using the POISSON model
Ptdsff (i=objMarker, dsurface=objDeformableSurface, force_model= "POISSON", optional_attributes)
#3: Nonlinear contact force implemented in a compiled DLL
Ptdsff (i=objMarker, dsurface=objDeformableSurface, force_model= "USERSUB", function=userString, routine=string, optional_attributes)
#4: Nonlinear contact force implemented in a Python function
Ptdsff (i=objMarker, dsurface=objDeformableSurface, force_model= "USERSUB", function=userString, routine= functionPointer, optional_attributes)
属性
- i
- 既存のMarkerオブジェクトへの参照。
- dsurface
- 既存のDeformableSurfaceオブジェクトへの参照。
- force_model
- 文字列
- stiffness
- 倍精度
- damping
- 倍精度
- i
- 既存のMarkerオブジェクトへの参照。
- dsurface
- 既存のDeformableSurfaceオブジェクトへの参照。
- force_model
- 文字列
- penalty
- 倍精度
- restitution_coef
- 倍精度
- i
- 既存のMarkerオブジェクトへの参照。
- dsurface
- 既存のDeformableSurfaceオブジェクトへの参照。
- force_model
- 文字列
- function
- 有効なユーザー関数MotionSolve式を定義する文字列。
- routine
- 文字列
- i
- 既存のMarkerオブジェクトへの参照。
- dsurface
- 既存のDeformableSurfaceオブジェクトへの参照。
- force_model
- 文字列
- function
- 有効なユーザー関数MotionSolve式を定義する文字列。
- routine
- Python内の呼び出し可能な関数へのポインタ。
- id
- 整数
- label
- 文字列
- flip_normal
- ブール(True/False)。
- radius
- 倍精度
- radius_x
- 倍精度
- radius_y
- 倍精度
- radius_z
- 倍精度
- active
- ブール
例
<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"
/>
# Create the I Marker
imrkr = Marker (label="ptdsff-i", body=p3030)
# Define the deformable surface points
mkrMatrix = [[m30101490, m30101500, m30101510, m30101520, m30101530, m30101540, m30101540],
[m30101420, m30109781, m30113791, m30117801, m30121811, m30125821, m30101480],
[m30101350, m30108711, m30112721, m30116731, m30120741, m30124751, m30101410],
[m30101120, m30102061, m30103071, m30104081, m30105091, m30106101, m30101130],
[m30101140, m30110571, m30114581, m30118591, m30122601, m30126611, m30101200],
[m30101210, m30111641, m30115651, m30119661, m30123671, m30127681, m30101270],
[m30101280, m30101290, m30101300, m30101310, m30101320, m30101330, m30101340]]
# Create the deformable surface object
ds = Dsurface (markers=mkrmatrix))
# Create the Ptdsff object
ptdsff1 = Ptdsff (i=imrkr, dsurface=ds, radius=10, force_model="LINEAR", stiffness=1000, damping=0.1)
コメント
- プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。