dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("librigidBodyMeshMotion.so");//求解所用的庫
motionSolver rigidBodyMotion;
report on;//在終端輸出相關資訊
solver
{
type Newmark;//求解器的顯性或隐性,一階或者二階
}
accelerationRelaxation 0.4;//修正因子,openfoam百科上說一般取0.9-1
bodies
{
hull
{
type rigidBody;//定義hull的類型為剛體
parent root;//不知道什麼意思
centreOfMass (0 0 0);//重心
mass 412.73;//品質
inertia (40 0 0 921 0 921);//這個不知道是什麼意思```
transform (1 0 0 0 1 0 0 0 1) (2.929541 0 0.2);//這個不知道是什麼意思
joint//這個子字典不知道什麼意思 猜測是和下面的restraints有關,Pz對應下面的translaterDamper 即在垂向上不進行限制,并指定垂向運動的阻尼系數。Ry對應下面的totationDamper,即在繞y軸旋轉上不進行限制,并指定旋轉阻尼系數
{
type composite;
joints
(
{
type Pz;
}
{
type Ry;
}
);
}
patches (hull);//鋼體面名字
innerDistance 0.3; //在0.3範圍内的網格随剛體一起移動,在1以外的網格不發生變形,在0.3-1之間的網格發生變形
outerDistance 1;
}
}
restraints//這個不知道和constraints有什麼差別
{
translationDamper
{
type linearDamper;//線性的 與位移成正比
body hull;
coeff 8596; //垂向阻尼系數
}
rotationDamper
{
type sphericalAngularDamper; //與角速度成正比
body hull;
coeff 11586;//繞y軸旋轉的阻尼系數。
}
}
// ************************************************************************* //
還有一個問題就是自己仿照DTCHullwave算例計算一艘kcs的船,算了0.76秒 paraview檢視發現這個船一直下沉,縱傾的幅度很小很小,不仔細看都看不出來。請各位有經驗的前輩給予一定的指導。