我需要帮助来理解带有非线性求解器PETSc
的有限元方法的例子。SNES
是否有任何好的材料或资源来理解这些示例?(我已经阅读了PETSc
用户手册,但没有我需要的信息。)
我将编写一个代码,其中包括rectangular geometry
、PetscFE
和DMPlex
(对于非结构化网格)。该代码将使用非线性热源处理传热方程。
我想用两个狄利克雷条件选择边界条件
- 矩形的上下边界。
- 两个纽曼条件(矩形上的左右边界)。
SNES 示例 12,用户应定义:
quadratic_u_2d
作为精确解(以提高解的收敛性)
f_0
(测试函数项的积分(与负载向量'f'有关))
f_bc_0
(测试函数项的边界被积函数(与通量'g'有关))(我认为,这可能是边界条件)
f_1
(测试函数梯度项的积分(与u_x[d]有关))
f_bc_1
(测试函数梯度项的边界被积函数(我认为为零,在控制方程的弱形成过程中未定义该项))
g3
(测试函数梯度和基函数梯度项的积分)(我认为这个项无论如何都固定为1)
但是没有办法单独设置每个边界条件。请给我一些建议,以便更好地理解。
感谢您阅读我的问题..