⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 curldiv.cpp

📁 A C++ class library for scientific computing
💻 CPP
字号:
// Div, grad, curl and all that#include <blitz/array.h>#include <blitz/tinyvec.h>BZ_USING_NAMESPACE(blitz)BZ_USING_NAMESPACE(blitz::tensor)BZ_DECLARE_STENCIL8(test,Ax,Ay,Az,curlA,divA,gradAx,gradAy,gradAz)    curlA = curl(Ax,Ay,Az);    divA = div(Ax,Ay,Az);    gradAx = grad3D(Ax);    gradAy = grad3D(Ay);    gradAz = grad3D(Az);BZ_STENCIL_ENDint main(){    Array<float,3> Ax, Ay, Az, divA;    Array<TinyVector<float,3>,3> gradAx, gradAy, gradAz, curlA;    const int N = 40;    allocateArrays(shape(N,N,N), Ax, Ay, Az, divA);    allocateArrays(shape(N,N,N), gradAx, gradAy, gradAz, curlA);    Array<float,1> cx(N), cy(N), cz(N);    float h = 1.0 / (N-1);    cx = h * i;    cy = h * i;    cz = h * i;    Ax = cos(cx(i)) + cos(cy(j)) + cos(cz(k));    Ay = sin(cx(i)) + sin(cy(j)) + sin(cz(k));    Az = exp(cx(i)) + exp(cy(j)) + exp(cz(k));    applyStencil(test(), Ax, Ay, Az, curlA, divA, gradAx, gradAy, gradAz);}

⌨️ 快捷键说明

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