Contact
Model ElementContactは、2つのボディ間の3-D接触力を定義します。
クラス名
Contact
説明
各ボディは、1つ以上の形状のセットによって表現されます。1つ目のボディの形状が2つ目のボディの形状に貫入している場合は、接触垂直抗力と摩擦力が発生します。垂直抗力は、接触のポイントにおける共通の法線に沿って、モーションを押し戻す傾向があります。摩擦力は、接触ポイントにおける相対滑り速度を低下させる傾向があります。形状が交差しなくなれば、接触力は消失します。
属性の概要
名前 | プロパティ | コマンドで変更可能か | 設計可能か |
---|---|---|---|
id | Int () | ||
label | Str () | ○ | |
igeom | Reference (Graphics, count=0) | ||
iflex | Reference (FlexBody) | ||
iflip_flex | Bool(False) | ||
jgeom | Reference (Graphics, count=0) | ||
jflex | Reference (FlexBody) | ||
jflip_flex | Bool(False) | ||
type | Enum ("NONE IMPACT POISSON VOLUME USER") | ||
stiffness | Double (0.0) | ○ | FDのみ |
exponent | Double (1.5) | ○ | FDのみ |
damping | Double (0.0) | ○ | FDのみ |
dmax | Double (0.0) | ○ | FDのみ |
penalty | Double (0.1) | ○ | FDのみ |
restitution_coefficient | Double (0.0) | ○ | FDのみ |
coulomb_friction | Enum ("ON OFF DYNAMICS_ONLY") | ||
mu_static | Double (0.0) | ○ | FDのみ |
mu_dynamic | Double (0.0) | ○ | FDのみ |
stiction_transition_velocity | Double (1E-3) | ○ | FDのみ |
friction_transition_velocity | Double (1E-3) | ○ | FDのみ |
i_elastic_modulus | Double (0.0) | ○ | FDのみ |
i_layer_depth | Double (1.0) | ○ | FDのみ |
j_elastic_modulus | Double (0.0) | FDのみ | |
j_layer_depth | Double (1) | FDのみ | |
master_surface | Enum ("AUTO I J IANDJ", default="AUTO") | ○ | |
normal_routine | Routine () | ||
friction_routine | Routine () | ||
friction_function | Function () | ||
normal_function | Function () | ||
active | Bool () | ○ |
使用法
- type = "IMPACT"
- type = "VOLUME"
- type = "POISSON"
- type = "USER"
また、Contactは、垂直抗力の選択とは無関係ないくつかのオプションパラメータもサポートします。これらの任意の組み合わせを指定できます。
- クーロン摩擦
- 独自のカスタム摩擦モデル
# Type = "IMPACT"
Contact (type="IMPACT", igeom=list, jgeom=list, stiffness=Double, exponent=Double, damping=Double, dmax=Double, optional_attributes)
# Type = "Volume"
Contact (type="VOLUME", igeom=list, jgeom=list, i_elastic_modulus=Double, i_layer_depth=Double, j_elastic_modulus=Double, j_layer_depth=Double, exponent=Double, damping=Double, optional_attributes)
# Type = "POISSON"
Contact (type="POISSON", igeom=list, jgeom=list, penalty=Double, normal_trans_vel=Double, restitution_coefficient=Double, optional_attributes)
# Type = "USER"
Contact (type="USER", igeom=list, jgeom=list, normal_routine=String or Python function pointer, normal_function=userString, optional_attributes)
属性
- General
- ボディIが剛体の場合は、属性igeomを定義して、iflexを省略する必要があります。ボディIが弾性体の場合は、iflexが必須で、属性igeomを省略する必要があります。同じことがボディJにも適用されます。
- igeom
- Graphicsオブジェクトのリスト。
- iflex
- この引数は、接触で考慮される1つ目のボディのFlex_BodyのIDを指定します。
- jgeom
- Graphicsオブジェクトのリスト。
- jflex
- この引数は、接触で考慮される2つ目のボディのFlex_BodyのIDを指定します。
- type
- 文字列、“IMPACT”、“VOLUME”、“POISSON”、または“USER”の中から選択します。
垂直抗力タイプ = "IMPACT"
- stiffness
- 倍精度
- damping
- 倍精度
- exponent
- 倍精度
- dmax
- 倍精度
垂直抗力タイプ = "VOLUME"
- i_elastic_modulus
- 倍精度
- i_layer_depth
- 倍精度
- j_elastic_modulus
- 倍精度
- j_layer_depth
- 倍精度
- EXPONENT
- 倍精度
- damping
- 倍精度
垂直抗力タイプ = "POISSON"
- penalty
- 倍精度
- restitution_coef
- 倍精度
- normal_trans_vel
- 倍精度
垂直抗力タイプ = "USER"
- TYPE
- 文字列"USER"
- normal_function
- 文字列
- normal_routine
- 文字列、またはPython関数へのポインタ。
オプションパラメータ
- id
- 整数
- label
- 文字列
- master_surface
- 文字列。次のいずれかを選択します:"I"、"J"、"IANDJ"、"AUTO"
- active
- ブール
- iflex_flip
- 弾性体I上のサーフェス法線の向きを反転させます。この引数は省略可能です。TRUEとFALSEのどちらかを選択します。
- jflex_flip
- 弾性体J上のサーフェス法線の向きを反転させます。この引数は省略可能です。TRUEとFALSEのどちらかを選択します。
オプション摩擦力の指定
これらはすべての垂直抗力モデルで使用できます。
オプションとして、組み込みの摩擦モデルを使用するか、独自のカスタム摩擦モデルを使用することができます。選択できるのは1つだけです。
- coulomb_friction
- 文字列。次のいずれかを選択します:"ON"、"OFF"、"DYNAMICONLY"、"USERCFF"
- mu_static
- 倍精度
- mu_dynamic
- 倍精度
- stiction_transition_velocity
- 倍精度
- friction_transition_velocity
- 倍精度
- friction_function
- 文字列
- friction_routine
- 文字列またはPython関数へのポインタ。
例
- 下に示すプロパティを使用して、Contactオブジェクトを作成します。
<Force_Contact id = "2" num_i_graphics = "1" i_graphics_id = "93" num_j_graphics = "1" j_graphics_id = "73" cnf_type = "POISSON" penalty = "1E6" restitution_coef = "0.52" cff_type = "COULOMB_ON" mu_static = "0.08" mu_dynamic = "0.06" stiction_trans_vel = "0.005" friction_trans_vel = "0.01" />
等価のPythoncontact1 = Contact (type="POISSON", igeom=[gra93], jgeom=[gra73], penalty=1E6, restitution_coefficient=0.52, coulomb_friction="ON", mu_static=0.08, mu_dynamic=0.06, stiction_transition_velocity=0.005, friction_transition_velocity=0.01)
コメント
- プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
- Contact、垂直抗力タイプ、および摩擦タイプに関する詳細な説明については、Force: Contactモデルステートメント内のコメントを参照してください。