1

我需要帮助来理解带有非线性求解器PETSc的有限元方法的例子。SNES是否有任何好的材料或资源来理解这些示例?(我已经阅读了PETSc用户手册,但没有我需要的信息。)

我将编写一个代码,其中包括rectangular geometryPetscFEDMPlex(对于非结构化网格)。该代码将使用非线性热源处理传热方程。

我想用两个狄利克雷条件选择边界条件

  1. 矩形的上下边界。
  2. 两个纽曼条件(矩形上的左右边界)。

SNES 示例 12,用户应定义:

quadratic_u_2d作为精确解(以提高解的收敛性)

f_0(测试函数项的积分(与负载向量'f'有关))

f_bc_0(测试函数项的边界被积函数(与通量'g'有关))(我认为,这可能是边界条件)

f_1(测试函数梯度项的积分(与u_x[d]有关))

f_bc_1(测试函数梯度项的边界被积函数(我认为为零,在控制方程的弱形成过程中未定义该项))

g3(测试函数梯度和基函数梯度项的积分)(我认为这个项无论如何都固定为1)

但是没有办法单独设置每个边界条件。请给我一些建议,以便更好地理解。

感谢您阅读我的问题..

4

1 回答 1

0

我通过 FVM 方法在流体流动问题中使用 Petsc,并通过修改矩阵 A 及其相应的 RHS 值来设置边界条件。

于 2018-03-30T09:58:25.290 回答