我在fenics中有一个函数,它在产品函数空间中定义(对于实部和虚部)。现在我想计算这个函数在域上的积分。我没有粘合剂应该如何工作。我无法在文档中找到任何内容。我认为本周文档已经改变,因为谷歌链接不再有效。 Function空间定义如下:
FuncSpace = FiniteElement(“CG”,mesh.ufl_cell(),1)
FuncSpace2 = FunctionSpace(mesh,MixedElement([FuncSpace,FuncSpace])
该功能定义为:
Psi = Function(FuncSpace2)
我正在解决一些部分集成问题,然后想要计算这个函数的积分。 任何人都可以帮我解决这个问题,我很困难吗?
或者我可以将函数转换为某个python数组,因为那时我的集成将是直截了当的
答案 0 :(得分:0)
所以我现在找到了答案。 首先,我将结果函数Psi拆分为实部和复杂部分
Real,Imag = split(Psi)
接下来我通过以下方式定义函数的abs值:
absPsi = sqrt(Real * Real + Imag * Imag)
现在我必须在使用的网格上定义一个度量:
ds = Measure(“dx”,domain = mesh)
其中,网格包含由fenics定义的网格。 最后,积分通过以下方式解决:
norm = assemble(d * ds)