tools.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:Feon 作者: YaoyaoBae 项目源码 文件源码
def gl_quad3d(fun,n,x_lim = None,y_lim = None,z_lim = None,args=()):
    if x_lim is None:
        a,b = -1, 1
    else:
        a,b= x_lim[0],x_lim[1]

    if y_lim is None:
        c ,d = -1,1
    else:
        c ,d = y_lim[0],y_lim[1]
    if z_lim is None:
        e,f= -1,1
    else:
        e ,f = z_lim[0],z_lim[1]

    if not callable(fun):
        return (b-a)*(d-c)*(f-e)*fun
    else:
        loc,w = np.polynomial.legendre.leggauss(n)
        s = (1/8.*(b-a)*(d-c)*(f-e)*fun(((b-a)*v1/2.+(a+b)/2.,
                                     (d-c)*v2/2.+(c+d)/2.,
                                     (f-e)*v3/2.+(e+f)/2.),*args)*w[i]*w[j]*w[k]
             for i,v1 in enumerate(loc)
             for j,v2 in enumerate(loc)
             for k,v3 in enumerate(loc))
        return sum(s)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号