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 )
我在 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 )