fgg_create.py 文件源码

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

项目:fdsgeogen 作者: FireDynamics 项目源码 文件源码
def decompose(n, p):
    p_primes = primes(p)[::-1]
    procs = np.array([1,1,1])
    n_tmp = np.copy(n)

    for fac in p_primes:
        while (np.any(n_tmp > 0)):
            cpmax = np.argmax(n_tmp)
            cmax  = np.amax(n_tmp)
            if (cmax % fac == 0):
                n_tmp[cpmax] /= fac
                procs[cpmax] *= fac
                break
            else:
                n_tmp[cpmax] = -n_tmp[cpmax]

        if np.all(n_tmp < 0):
            print "!! decomposition does not work out... ", fac, n_tmp
            sys.exit()

        n_tmp = np.abs(n_tmp)

    print " - decomposition: resulting proc decomposition ", procs, " local mesh size ", n_tmp
    return procs[0], procs[1], procs[2]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号