当前位置: 首页>>代码示例>>C++>>正文


C++ tensor::component方法代码示例

本文整理汇总了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

}
开发者ID:JonasBuenger,项目名称:myFoamStuff,代码行数:56,代码来源:myVelocityFvPatchVectorField.C


注:本文中的tensor::component方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。