0

为了澄清我的模拟输出的性质,我将不胜感激。该模拟考虑了在 3D 中包含在圆柱形通道内的立方体周围的流动。数学模型是 Navier-Stokes 方程和连续性方程 (div U = 0)。我已经开发了二维数值模拟的代码并且输出是正确的,这让我认为 2d 和 3d 问题相同的变分问题(如果我错了,请纠正我)在 FEniCS 中很好地提出. 当我尝试在 3D 几何体上运行模拟时,我在压力和速度场(u,p)方面都得到了以下(输出)。

我想通过几个步骤来解释我是如何管理几何的:

  1. 在 FreeCAD 中构建它

  2. 在 GMSH 中导入

  3. 通过命令 add-->surfaces 定义边界并用从 1 到 4 的数字标记它们
    3.1) 对应于标签“1”的壁表示与圆柱体相关联的表面
    3.2) 对应于标签“2”的障碍物表示内部立方体表面
    3.3) 对应于标签“3”(“4”)的入口(出口)表示与气缸相关的入口和出口表面

  4. 用 add-->volumes 定义卷并用 5 标记它

  5. 将 .msh 文件转换为 .xml 文件,生成两个附加文件:physical_region.xml 和 facet_region.xml。这两个文件必须自动包含有关边界的信息。然后实现以下行,以便在计算模拟之前在 python3 中详细说明几何:

    % 读取网格
    mesh = Mesh('file.xml')
    cd=MeshFunction('size_t', mesh, 'prova_physical_region.xml')
    fd=MeshFunction('size_t', mesh, 'prova_facet_region.xml')
    bcu_inflow = DirichletBC(V , 常数((2, 2, 0)), '3')
    bcu_wall = DirichletBC(V, 常数((0, 0, 0)), '1')
    bcu_cube = DirichletBC(V, Constant((0, 0, 0)), '2')
    bcp_outflow = DirichletBC(Q, Constant(0), '4')

模拟没有给出任何错误并计算(输出)中显示的结果,这在我们的物理环境(流体动力学)中没有意义,那么我想知道问题出在哪里。我会强调网格在 FEniCS 中充电良好。

4

0 回答 0