本文整理汇总了C++中DOF_Group::getDampingBetaFactor方法的典型用法代码示例。如果您正苦于以下问题:C++ DOF_Group::getDampingBetaFactor方法的具体用法?C++ DOF_Group::getDampingBetaFactor怎么用?C++ DOF_Group::getDampingBetaFactor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DOF_Group
的用法示例。
在下文中一共展示了DOF_Group::getDampingBetaFactor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dampingForces
int
IncrementalIntegrator::addModalDampingForce(void)
{
int res = 0;
if (modalDampingValues == 0)
return 0;
int numModes = modalDampingValues->Size();
const Vector &eigenvalues = theAnalysisModel->getEigenvalues();
if (eigenvalues.Size() < numModes)
numModes = eigenvalues.Size();
Vector dampingForces(theSOE->getNumEqn());
dampingForces.Zero();
for (int i=0; i<numModes; i++) {
DOF_GrpIter &theDOFs1 = theAnalysisModel->getDOFs();
DOF_Group *dofPtr;
double beta = 0.0;
double eigenvalue = eigenvalues(i); // theEigenSOE->getEigenvalue(i+1);
double wn = 0.;
if (eigenvalue > 0)
wn = sqrt(eigenvalue);
while ((dofPtr = theDOFs1()) != 0) {
beta += dofPtr->getDampingBetaFactor(i, (*modalDampingValues)(i), wn);
}
DOF_GrpIter &theDOFs2 = theAnalysisModel->getDOFs();
while ((dofPtr = theDOFs2()) != 0) {
if (theSOE->addB(dofPtr->getDampingBetaForce(i, beta),dofPtr->getID()) <0) {
opserr << "WARNING IncrementalIntegrator::failed in dofPtr";
res = -1;
}
}
}
return res;
}