git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@5992 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -428,8 +428,8 @@ void quat_to_mat_trans(const double *quat, double mat[3][3])
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
compute space-frame inertia tensor of an ellipsoid
|
||||
quat = orientiation quaternion of ellipsoid
|
||||
radii = 3 radii of ellipsoid
|
||||
quat = orientiation quaternion of ellipsoid
|
||||
return symmetric inertia tensor as 6-vector in Voigt notation
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
@ -454,6 +454,36 @@ void inertia_ellipsoid(double *radii, double *quat, double mass,
|
||||
inertia[5] = tensor[0][1];
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
compute space-frame inertia tensor of a line segment in 2d
|
||||
length = length of line
|
||||
theta = orientiation of line
|
||||
return symmetric inertia tensor as 6-vector in Voigt notation
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void inertia_line(double length, double theta, double mass, double *inertia)
|
||||
{
|
||||
double p[3][3],ptrans[3][3],itemp[3][3],tensor[3][3];
|
||||
double q[4],idiag[3];
|
||||
|
||||
q[0] = cos(0.5*theta);
|
||||
q[1] = q[2] = 0.0;
|
||||
q[3] = sin(0.5*theta);
|
||||
MathExtra::quat_to_mat(q,p);
|
||||
MathExtra::quat_to_mat_trans(q,ptrans);
|
||||
idiag[0] = 0.0;
|
||||
idiag[1] = 1.0/12.0 * mass * length*length;
|
||||
idiag[2] = 1.0/12.0 * mass * length*length;
|
||||
MathExtra::diag_times3(idiag,ptrans,itemp);
|
||||
MathExtra::times3(p,itemp,tensor);
|
||||
inertia[0] = tensor[0][0];
|
||||
inertia[1] = tensor[1][1];
|
||||
inertia[2] = tensor[2][2];
|
||||
inertia[3] = tensor[1][2];
|
||||
inertia[4] = tensor[0][2];
|
||||
inertia[5] = tensor[0][1];
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
compute space-frame inertia tensor of a triangle
|
||||
v0,v1,v2 = 3 vertices of triangle
|
||||
|
||||
Reference in New Issue
Block a user