Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有重影的单个dask阵列边界_Dask - Fatal编程技术网

带有重影的单个dask阵列边界

带有重影的单个dask阵列边界,dask,Dask,我正在玩Dask尝试使用有限差分法建立一些简单的PDE解,我想知道是否有一种方法可以指定每个边界的边界条件 文件 当前的ghost.ghost函数允许指定几个不同的B.C.s,但y边界和x边界的B.C.s总是相同的 文档提到我可以任意填充边界,我很乐意这样做,但是有没有办法告诉ghost.ghost不要在块的外部添加任何边界?ghost\u internal 目前似乎没有办法从面向用户的ghost或map\u overlap功能中实现这一点。但是,您可以使用dask.array.ghost.gh

我正在玩Dask尝试使用有限差分法建立一些简单的PDE解,我想知道是否有一种方法可以指定每个边界的边界条件

文件

当前的
ghost.ghost
函数允许指定几个不同的B.C.s,但y边界和x边界的B.C.s总是相同的

文档提到我可以任意填充边界,我很乐意这样做,但是有没有办法告诉
ghost.ghost
不要在块的外部添加任何边界?

ghost\u internal
目前似乎没有办法从面向用户的
ghost
map\u overlap
功能中实现这一点。但是,您可以使用
dask.array.ghost.ghost_internal
函数来完成内部重影,而无需指定外部边界(这是
ghost
使用的主要函数)

您可能需要执行此操作,然后在较大的块上调用
map_块
,然后调用
dask.array.ghost.trim_internal
以修剪掉具有相同轴深度的多余重叠

但更一般地说,这应该可以通过更方便的
ghost
map\u overlap
功能访问。我可以请你帮忙吗

有限差分
更一般地说是有限差分的应用。数组在这里有些限制,因为它们拒绝改变现有数据。这导致许多副本的运行速度比简单的有限差分格式稍慢。对于更昂贵的计算来说,复制的成本不会那么痛苦。这里有一个快速的例子来说明这种减速。自从创建该笔记本以来,复制开销减少了两倍,但仍然很重要。

谢谢!我现在要提出一个问题。谢谢你的笔记本——我怀疑复制成本会压倒线程的好处,但最好能得到确认。
In [1]: import dask.array as da

In [2]: x = da.arange(10, chunks=5)

In [3]: x.chunks
Out[3]: ((5, 5),)

In [4]: y = da.ghost.ghost_internal(x, {0: 2})

In [5]: y.chunks
Out[5]: ((7, 7),)

In [6]: y.compute()
Out[6]: array([0, 1, 2, 3, 4, 5, 6, 3, 4, 5, 6, 7, 8, 9])