acou3db4.cpp

来自「c++经典教材 Blitz++ v0.8」· C++ 代码 · 共 29 行

CPP
29
字号
#include <blitz/array.h>#include <blitz/array/stencils.h>BZ_USING_NAMESPACE(blitz)void setupInitialConditions(Array<float,3>& P1, Array<float,3>& P2,    Array<float,3>& P3, Array<float,3>& c, int N);BZ_DECLARE_STENCIL4(acoustic3D, P1, P2, P3, c)    P3 = 2 * P2 + c * Laplacian3D(P2) - P1;BZ_END_STENCILfloat acoustic3D_BlitzStencil(int N, int niters){    Array<float,3> P1, P2, P3, c;    allocateArrays(shape(N,N,N), P1, P2, P3, c);    setupInitialConditions(P1, P2, P3, c, N);    for (int iter=0; iter < niters; ++iter)    {        applyStencil(acoustic3D(), P1, P2, P3, c);        cycleArrays(P1, P2, P3);    }    return P1(N/2,N/2,N/2);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?