fenics 中的规范化功能

Normalize function in fenics

我在 fenics 中有一个函数,它是在乘积函数 space 上定义的(对于实部和虚部)。现在我想计算这个函数在域上的积分。我不知道这应该如何工作。而且我无法在文档中找到某些内容。我认为本周文档已经更改,因为 google 链接不再有效。 函数space定义如下:

FuncSpace = FiniteElement( "CG" , mesh.ufl_cell() , 1 )

FuncSpace2 = FunctionSpace( mesh , MixedElement( [ FuncSpace , FuncSpace ] )

函数定义为:

Psi = Function( FuncSpace2 )

我正在解决一些部分积分问题,然后想计算这个函数的积分。 谁能帮我解决这个问题,我很困惑?

或者我可以将函数转换为某个 python 数组,因为这样我的集成就很简单了

所以我现在找到了答案。 首先,我将结果函数 Psi 拆分为实部和复部

Real , Imag = split( Psi )

接下来我定义函数的abs值:

absPsi = sqrt( Real * Real + Imag * Imag )

现在我必须在使用的网格上定义一个度量:

ds = Measure( "dx" , domain = mesh )

其中 mesh 包含由 fenics 定义的网格。 最后积分求解:

norm = assemble( d * ds )