Huayi Wei

Results 147 comments of Huayi Wei

你的 fealpy 是用开发者模式安装的吗?如果不是的话,是不能调用 fealpy 的更新的,你要重新安装一下

1. threshold 是为了区分网格的边界边的属于哪一类的边界条件,它可以是一个函数,比如下面的函数就可以做为 theshold,你把所有边界边的中点 p 传给 这个函数,它返回一个逻辑数组,是 Dirichlet 类型的边,就标记为 True,否则就标记了 False ``` @cartesian def is_dirichlet_boundary(self, p): y = p[..., 1] return ( y == 1.0) | ( y == 0.0)...

2. 进生边界条件处理,注释中说外部的矩阵 A 没有修改,意思是它的内存没有改变,F 修改意思是它存储的部分元素发生了改变。所有边界条件的处理,都会修改 F 的内存,所以外部的 F 对应发生变化,矩阵都是重新构造返回,不影响外部矩阵的内存。

uh 传进去,边界处理程序会边界条件加到 uh 上,即修改了 uh 中的元素(默认 uh 中的元素为 0),这个只是一种充分利用已经开辟内存的小技巧。

另外, 要记住 python 函数的参数都是引用传递,意味着你在函数内部修改参数指向的内存,外部的对象也就相应修改了。

Python 的基本原则就是能不拷贝就尽量不拷贝,这样主要是为了节省内存,这对于数组化编程来说非常重要。

celltype = True, 意思计算逐个单元的误差

边界条件里面的参数顺序是我改的,其它相应地方我还没有来得及修改

我已经修改完了,下午方便的时候会推到 github 上

我已经更新上来了, 所有空间的设置 dirichlet 边界条件的接口都是一致的, `gD` 做为第一个参数: ``` isDDof = space.set_dirichlet_bc(gD, uh, threshold=threshold) ```