主要是结合应用实例来叙述多重网格法,而且给出了代码。第一章详细讲解泊松方程的求解,给出详细代码,适合初学者考究。其他章节每章一个例子,主要是流体力学方面例程
1
POISSON2DNEUMANN 求解二维泊松方程 d2UdX2 + d2UdY2 = F,所有侧壁均采用零诺伊曼边界条件。 我们正在使用离散余弦变换来求解具有零Neumann边界条件的Poisson方程。
2021-10-11 18:05:27 1KB matlab
1
matlab优化泊松方程代码漂移扩散模型 这是用Python编写的一维模型,该模型使用有限差分求解半导体泊松漂移扩散方程。 该模型模拟了光照下的太阳能电池,但也可以适用于其他半导体器件。 可以对其进行修改以解决其他系统(即,通过更改边界条件,添加重组率和修改生成率)。 使用称为Gummel方法的自洽迭代方法求解方程。 为了确保连续性方程的数值稳定性,使用了Scharfetter Gummel离散化以及新旧解决方案的线性混合。 表现 使用Numba @jit装饰器可以加速代码。 示例CPU时间:不使用Numba:469.7秒使用Numba:73.7秒 得出的结论是,Numba的工作量很轻,而且性能显着提高。 您可以在此处阅读有关Numba的信息: C ++和Matlab实现 您可以在这里找到相同模型的C ++和Matlab实现以及2D和3D版本: 性能比较: 对于网格尺寸为dx = 0.25nm,系统尺寸为300nm的一维代码: Python:69.8秒Matlab:40秒C ++:3.7秒 因此,当前的C ++版本要快得多,可能具有阅读不太优雅的缺点。
2021-09-17 09:55:48 419KB 系统开源
1
任意二维域上的泊松 使用有限元方法求解具有 RHS f 和 Dirichlet 边界条件的任意二维域上的泊松方程
1
使用标准 5 点模板在 2x2 正方形域上以迭代方式(要指定迭代次数)求解 2D 泊松方程。 已使用齐次诺依曼边界条件。
2021-09-08 09:39:49 2KB matlab
1
matlab优化泊松方程代码漂移扩散模型 这里是1D,2D和3D模型,它们使用有限差分求解半导体Poisson-Drift-Diffusion方程。 这些模型可用于为大多数半导体器件建模。 该模型的“双电荷载流子”版本当前可解决光照下的太阳能电池。 “单电荷载流子”版本解决了一种材料的电流-电压曲线,该材料仅具有空穴作为自由载流子,并且在黑暗中处于变化的施加电压下。 可以修改所有模型以求解其他系统(即,通过更改边界条件,添加重组率和修改生成率)。 使用称为Gummel方法的自洽迭代方法求解方程。 为了确保连续性方程的数值稳定性,使用了Scharfetter Gummel离散化以及新旧解决方案的线性混合。 1D /漂移扩散/单电荷载体/ src文件夹还包含使用Slotboom变量的实现,这是在不使用Scharfetter Gummel离散化的情况下实现稳定性的另一种方法。 C ++实现的要求:1D版本:C ++ 11编译器。 其中包含用于g ++编译器的make文件以及可用于通过IDE QT Creator进行编译的.pro文件。 同样,输入文件:“ parameters.inp”和“
2021-09-04 22:17:46 2.24MB 系统开源
1
% 本程序通过高斯赛达尔法求解二维泊松方程。 %它以d2u/dx2+d2u/dy2=f2(x,y)的形式求解方程。f2.m是二阶导数函数。 % g 是边界条件函数清除;
2021-08-26 10:45:23 2KB matlab
1
有限元求解泊松方程C语言程序(三角剖分)
2021-06-23 14:05:09 343KB 有限元 泊松方程
1
求解泊松方程的 function Finite_element_tri(Imax) % 用有限元法求解三角形形区域上的Possion方程 Jmax=2*Imax; % 其中Imax Jmax分别表示x轴和y轴方向的网格数其中Jmax等于Imax的两倍 % 定义一些全局变量 global ndm nel na % ndm 总节点数 % nel 基元数 % na 表示活动节点数 V=0; J=0;X0
2021-06-18 10:09:14 14KB 文档 互联网 资源
用二维有限元解泊松方程
2021-06-17 14:59:31 29KB 泊松方程
1