Dear Getfem++ users,
I am facing problems to build an elementary matrix using the generic assembly procedure and I hope anyone could give me a hand.
It is a boundary integral in a two dimensional mesh (It is a circular domain with a circular hole inside and I want to integrate over both boundaries):
Int[boundary]((Grad(p).normal).dp)
So it is a bilinear form in "p" and "dp" where both are scalars defined with the same fem (mf_p).
For that I have tried the following block:
*template<typename MAT> *
*void asm_P_Lap_boundary(const MAT &K_,*
* ** const mesh_im &mim,*
* ** const mesh_fem &mf_p, *
* ** const mesh_region &rg) {*
*
*
* MAT &K = const_cast<MAT &>(K_);*
*
*
* getfem::generic_assembly assem;*
* *
* assem.set("M(#1,#1)+=comp(Grad(#1).Normal().Base(#1))(:,i,i,:);");*
* *
* assem.push_mi(mim);*
* assem.push_mf(mf_p);*
* assem.push_mat(K);*
* assem.assembly(rg);*
* }*
Where the mesh_region was built using:
*getfem::mesh_region boundary;*
*getfem::outer_faces_of_mesh(mymesh, boundary);*
But then I found an error message, which is:
*============================================*
*| An error has been detected !!! |*
*============================================*
*Error in getfem_mat_elem.cc, line 121 : *
*Exact integration not allowed in this context*
Why exact integration would not be allowed here? Am I doing something wrong? Any light?
Thanks for your attention!
Iago C. Barbeiro
------------------------------------------------------------------------