本文整理汇总了C++中tensor::component方法的典型用法代码示例。如果您正苦于以下问题:C++ tensor::component方法的具体用法?C++ tensor::component怎么用?C++ tensor::component使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tensor
的用法示例。
在下文中一共展示了tensor::component方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: db
void Foam::myVelocityFvPatchVectorField::updateCoeffs()
{
if (this->updated())
{
return;
}
// Variablen/ Felder
const volVectorField& u = db().lookupObject<volVectorField>("u");
//fvPatchVectorField& u_b = *this;
tmp<vectorField> tu_b = *this;
vectorField& u_b = tu_b();
const tmp<vectorField> tn = this->patch().nf();
const vectorField& n = tn();
tmp<volTensorField> tGradU = fvc::grad(u);
const volTensorField gradU = tGradU();
tmp<vectorField> tD = patch().delta();
const vectorField& D = tD();
const labelList& bcs = patch().faceCells();
for(int i=0; i<patch().size(); i++) {
const label bc = bcs[i];
const vector normal = n[i];
const tensor Jac_u = gradU[bc];
const vector u_bc = u[bc];
const vector Di = D[i];
vector u_b_extrapolated;
u_b_extrapolated.component(0) = u_bc.component(0) +
Jac_u.component(tensor::XX) * Di.component(0) +
Jac_u.component(tensor::XY) * Di.component(1) +
Jac_u.component(tensor::XZ) * Di.component(2);
u_b_extrapolated.component(1) = u_bc.component(1) +
Jac_u.component(tensor::YX) * Di.component(0) +
Jac_u.component(tensor::YY) * Di.component(1) +
Jac_u.component(tensor::YZ) * Di.component(2);
u_b_extrapolated.component(2) = u_bc.component(2) +
Jac_u.component(tensor::ZX) * Di.component(0) +
Jac_u.component(tensor::ZY) * Di.component(1) +
Jac_u.component(tensor::ZZ) * Di.component(2);
u_b[i] = u_b_extrapolated - (u_b_extrapolated & normal) * normal;
}
//Info << u_b << endl;
fixedValueFvPatchVectorField::updateCoeffs(); // updated_ = true
}