本文整理汇总了C++中Epetra_Vector::MeanValue方法的典型用法代码示例。如果您正苦于以下问题:C++ Epetra_Vector::MeanValue方法的具体用法?C++ Epetra_Vector::MeanValue怎么用?C++ Epetra_Vector::MeanValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Epetra_Vector
的用法示例。
在下文中一共展示了Epetra_Vector::MeanValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
Albany::SolutionAverageResponseFunction::
evaluateTangent(const double alpha,
const double beta,
const double current_time,
bool sum_derivs,
const Epetra_Vector* xdot,
const Epetra_Vector& x,
const Teuchos::Array<ParamVec>& p,
ParamVec* deriv_p,
const Epetra_MultiVector* Vxdot,
const Epetra_MultiVector* Vx,
const Epetra_MultiVector* Vp,
Epetra_Vector* g,
Epetra_MultiVector* gx,
Epetra_MultiVector* gp)
{
// Evaluate response g
if (g != NULL)
x.MeanValue(&(*g)[0]);
// Evaluate tangent of g = dg/dx*Vx + dg/dxdot*Vxdot + dg/dp*Vp
// If Vx == NULL, Vx is the identity
if (gx != NULL) {
if (Vx != NULL)
for (int j=0; j<Vx->NumVectors(); j++)
(*Vx)(j)->MeanValue(&(*gx)[j][0]);
else
gx->PutScalar(1.0/x.GlobalLength());
gx->Scale(alpha);
}
if (gp != NULL)
gp->PutScalar(0.0);
}