Force: Contact
コマンド要素Force_Contactコマンドは、Force_Contactモデリング要素のパラメータを変更するために使用できます。
フォーマット
<Force_Contact
id = "integer"
num_i_graphics = "integer"
i_graphics_id = "integer [,integer,...,integer]"
num_j_graphics = "integer"
j_graphics_id = "integer [,integer,...,integer]"
ignore_penetration_larger_than = "real"
master_surface = { "I" | "J" | "I_and_J" | "AUTO" }
enable_sphere_to_mesh = { "TRUE" | "FALSE" | "AUTO" }
contact_stability_2d = "real"
{
penalty = "real"
restitution_coeff = "real"
normal_trans_vel = "real"
|
stiffness = "real"
damping = "real"
exponent = "real"
dmax = "real"
|
i_elastic_modulus = "real"
j_elastic_modulus = "real"
i_layer_depth = "real"
j_layer_depth = "real"
}
cff_type = " { Coulomb_On | Coulomb_Off | Dynamics_Only } "
mu_static = "real"
mu_dynamic = "real"
stiction_trans_vel = "real"
friction_trans_vel = "real"
/>
属性
- id
-
要素識別番号(整数 > 0)。この番号は、すべてのForce_Contact要素の中で一意であり、要素を一意に特定します。
注: idは、変更するForce_Contact要素を特定するためだけに使用されます。それ自体でidを変更することはできません。 - num_i_graphics
- 接触力の評価で考慮する、ボディIまたは最初のボディ上のPost_Graphic要素の数を変更します。
- i_graphics_id
- 接触で考慮される、1つ目のボディ上のPost_Graphic要素のIDのリストを変更します。このリスト内のIDの数は、num_i_graphicsで指定されます。注: すべてのPost_Graphicエンティティが同じボディに属している必要があります。
- num_j_graphics
- 接触力の評価で考慮する、ボディJまたは2つ目のボディ上のPost_Graphic要素の数を変更します。
- j_graphics_id
- 接触で考慮される、2つ目のボディ上のPost_Graphic要素のIDのリストを変更します。このリスト内のIDの数は、num_j_graphicsで指定されます。注: すべてのPost_Graphicエンティティが同じボディに属している必要があります。
- ignore_penetration_larger_than
- この属性を使用して、接触力の評価でMotionSolveが考慮する最大貫入深さを変更します。このしきい値を超える値は無視されます。
- master_surface
- この属性を使用して、接触の計算のためのマスターサーフェスの選択を変更します。
- enable_sphere_to_mesh
- この属性を使用して、MotionSolveが球形状をどのように扱うかを変更します。これを"TRUE"に設定すると解析的衝突エンジンが使用され、“FALSE”に設定すると、細分化衝突エンジンが使用されます。
- i_elastic_modulus (VOLUME)
- 体積力モデルのボディIに属している形状の弾性係数を変更します。
- j_elastic_modulus (VOLUME)
- 体積力モデルのボディJに属している形状の弾性係数を変更します。
- i_layer_depth (VOLUME)
- ボディIに属する形状の層の深さのサイズを変更します。
- j_layer_depth (VOLUME)
- ボディJに属する形状の層の深さのサイズを指定します。
- penalty (POISSON)
- スプリング力の計算に使用するペナルティパラメータを変更します。
- restitution_coeff (POISSON)
- 接触しているボディ間の反発係数(COR)を変更します。
- normal_trans_vel (POISSON)
- 全減衰が接触力で適用される2つのボディ間の速度限界を変更します。これが設定されていないか0に設定されている場合、MotionSolveはこれを1に初期化します。
- stiffness (IMPACT)
- 接触の剛性パラメータを変更します。
- exponent (IMPACT)
- 接触面の力変形特性の指数を変更します。
- damping (IMPACT)
- 最大減衰係数を変更します。
- dmax (IMPACT)
- 全減衰が適用される貫入を変更します。
- mu_static
- 相対滑り速度がstiction_trans_velと等しくなるときの摩擦係数を変更します。
- mu_dynamic
- 相対滑り速度がfriction_trans_velより大きいときの摩擦係数を変更します。
- stiction_trans_vel
- 静摩擦係数mu_staticが適用される滑り速度を変更します。
- friction_trans_vel
- 動摩擦係数mu_dynamicが適用される滑り速度を変更します。
例
次の例は、MotionSolveモデルの3D剛体接触のパラメータを変更するために、<Force_Contact>コマンド要素がどのように使用されるのかを示しています。この例で、3D接触での減衰の効果を確認するため、モデルは2回シミュレート(1回は減衰をオン、もう1回は減衰をオフ)されます。SAVE/LOADコマンドを使用して、この2つのシミュレーションを1つに結合します。
<Model
…
…
<!- Definition of the contact force element in the model section with damping specified -->
<Force_Contact
id = "303001"
num_i_graphics = "1"
i_graphics_id = "90001"
num_j_graphics = "1"
j_graphics_id = "90002"
cnf_type = "Impact"
stiffness = "2000."
exponent = "1.2"
damping = "0"
dmax = "0.001"
cff_type = "Coulomb_Off"
/>
…
…
</Model>
<Command>
…
…
<!- Save the model -->
<Save
model_file = "model.xml"
/>
<!- Simulate the model with damping turned on for 1 second -->
<Simulate
analysis_type = "Transient"
end_time = "1."
print_interval = "0.01"
/>
<!- Load the saved model -->
<Load_Model
model_file = "model.xml"
result_file = "damping_off.mrf"
anima_file = "damping_off.h3d"
<!- Turn off damping -->
<Force_Contact
id = "303001"
damping = "0"
/>
<!- Simulate the model with damping turned off for 1 second -->
<Simulate
analysis_type = "Transient"
end_time = "1."
print_interval = "0.01"
/>
</Command>
コメント
- モデル内の3Dの剛体-剛体接触のモデル化の詳細については、 モデリング要素のヘルプページをご参照ください。