Hi all!
recently I have started looking at the damping of cable elements (
ChElementCableANCF ).
I have noticed that the rayleigh damping coefficient specified in
ChBeamSectionCable
is not having an effect (and is effectively not accessed by
ChElementCableANCF ).
However, using ChElementCableANCF::SetAlphaDamp(double a), it is possible
to assign a "internal damping coefficient" to the cable element. My
question is: how can this damping factor be interpreted? Is it similar to
the rayleigh beta (K-proprtional) damping?
Furthermore, I think I have found a bug in: ChElementCableANCF::
ComputeInternalJacobians(double Kfactor, double Rfactor). When setting a
damping factor using ChElementCableANCF::SetAlphaDamp() my test system
could not be solved. Looking at the source code of
ChElementCableANCF::ComputeInternalJacobians,
I found the following section:
// Add part of the Jacobian stemming from elastic forces
for (int inode = 0; inode < 2; ++inode) {
pos[inode].x() += diff;
ComputeInternalForces_Impl(pos[0], D[0], pos[1], D[1], pos_dt[0], D_dt[0
], pos_dt[1], D_dt[1], F1);
m_JacobianMatrix.col(0 + inode * 6) = (F0 - F1) * (1.0 / diff) * Kfactor;
pos[inode].x() -= diff;
...
...
...
}
// Add part of the Jacobian stemming from internal damping forces, if
selected by user.
if (m_use_damping) {
for (int inode = 0; inode < 2; ++inode) {
pos_dt[inode].x() += diff;
ComputeInternalForces_Impl(pos[0], D[0], pos[1], D[1], pos_dt[0], D_dt
[0], pos_dt[1], D_dt[1], F1);
m_JacobianMatrix.col(0 + inode * 6) = (F0 - F1) * (1.0 / diff) *
Rfactor;
pos_dt[inode].x() -= diff;
...
...
...
}
}
I think that in the 2nd loop (m_use_damping), the damping contribution
should be added to the jacobian matrix, by changing:
m_JacobianMatrix.col(0 + inode * 6) = (F0 - F1) * (1.0 / diff) *
Rfactor;
to
m_JacobianMatrix.col(0 + inode * 6) += (F0 - F1) * (1.0 / diff) *
Rfactor;
After changing this the damping of the cable element seems to work.
Thanks a lot for your help!
Best regards,
David
--
You received this message because you are subscribed to the Google Groups
"ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/projectchrono/20a98cb3-161f-4b10-a737-d4051aa05bd2n%40googlegroups.com.