Dear Ronan and Yves,

I think you are right, the Normal constant term for affine geometric
transformation is probably not taken into account for exact computations.
I have just tried  the Newton-Cotes method ('IM_NC(2,1)') and the error
message is gone.

Thanks for your concern,

Iago

On Sun, Sep 6, 2009 at 1:29 PM, Renard Yves <[email protected]>wrote:

>
> Dear Iago,
>
> I think this is the term "Normal" which leads to this error (can you verify
> it ?). The normal is indeed constant for an affine geometric transformation
> but I a not sure that this term is taken into account for exact
> computations. The simplest is to use a cubature method !
>
> Yves.
>
>
>
> Iago Barbeiro <[email protected]> a écrit :
>
>
>  Dear Ronan,
>> Thanks for the prompt answer.
>>
>> You are right, circular domain and holes may sound higher order
>> transformation, but it is not the case here.
>> I'm using an affine triangular mesh, GT_PK(2,1), and also affine continuos
>> shape functions FEM_PK(2,1).
>> Any other clues?
>>
>> Regards,
>>
>> Iago
>>
>>
>> 2009/9/5 Ronan Perrussel <[email protected]>
>>
>>  Dear Iago,
>>>
>>> the exact integration is mainly linked to the use of an affine mesh.
>>> Is it the case here? You speak about a circular hole and maybe you use
>>> second order transformation for the elements around the hole...
>>>
>>> I hope it helps.
>>>
>>> Best regards,
>>> Ronan
>>>
>>> Iago Barbeiro a écrit :
>>>
>>>  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
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> Getfem-users mailing list
>>>> [email protected]
>>>> https://mail.gna.org/listinfo/getfem-users
>>>>
>>>>
>>>>
>>>
>>>
>>
>
>
>
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users

Reply via email to