计算向量场的 max(||u||)

计算科学 Python 芬尼克斯
2021-11-30 18:01:28

u给定来自函数空间V*V向量值 Dolfin 函数V=FunctionSpace(mesh, 'CG', 2),如何提取

maxxΩu(x)
? 近似值也有效。

1个回答
u1, u2 = u.split()
unorm = project((u1**2 + u2**2)**0.5, V, form_compiler_parameters={'quadrature_degree': 4})
unorm = norm(unorm.vector(), 'linf')

请注意,正交度明确设置为 V 度的两倍,因为 UFL 不能很好地处理具有非整数指数的功率度估计。

最后一行是近似的,除非 u 是分段线性的。