McCormack.py 文件源码

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

项目:OpenSAPM 作者: pathfinder14 项目源码 文件源码
def McCormack(x_nods_quantity, grid, transfer_velocity, time_step, x_step):
    if (transfer_velocity[0] > 0):
        new_grid = grid
        for m in range(2, x_nods_quantity - 1):
            sigma = transfer_velocity[m] * time_step / x_step
            new_grid[m] = grid[m] - np.dot(sigma, (grid[m] - grid[m-1])) + \
                  np.dot(sigma**2, (grid[m] - grid[m-2]))
    else:
        new_grid = grid
        for m in range(2, x_nods_quantity - 1):
            sigma = transfer_velocity[m] * time_step / x_step
            new_grid[m] = grid[m] - np.dot(sigma, (grid[m+1] - grid[m])) + \
                          np.dot(sigma ** 2, (grid[m+2] - grid[m]))
    #new_grid = np.delete(grid, [0, 1])
        # returning array without additional nod and border condition
    return new_grid
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号