离散场在圆柱坐标系中的积分

计算科学 一体化
2021-12-07 23:29:14

我想在圆柱坐标中积分一个离散场,给定为A(r, z),有z规律地间隔(间距距离dz),并且r不规则地间隔。此外,r[0]>0由于所选择的离散化。对于集成,我想使用梯形方法,并从 z 分量开始,将所有内容集成到一个向量中aux

for (int i = 0; i < Nr; ++i) {
    for (int j = 0; j < Nt; ++j) {
        double I = A(i, j);
        if ((j == 0) || (j == Nt - 1))
            I *= 0.5;
        aux(i) += I;
    }
    aux(i) *= dz;
}

对于沿r-axis 的积分,我必须考虑不同的间距,导致

double integral = 0;
for (int i = Nr; i > 0; --i) {
    integral += (r(i) * aux(i) + r(i - 1) * aux(i - 1)) / 2
            * (r(i) - r(i-1));
}

最后,在r[0] > 0我还必须通过添加考虑到这一点之后

integral += 0.5 * aux(0) * r(0) * r(0);

并添加缺少的2π

integral *= 2 * M_PI;

这种方法是正确的,还是我在这里错过了某个因素?

0个回答
没有发现任何回复~