getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] Problems to build a matrix for a boundary term


From: Renard Yves
Subject: Re: [Getfem-users] Problems to build a matrix for a boundary term
Date: Sun, 06 Sep 2009 18:29:48 +0200
User-agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.2)


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 <address@hidden> 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 <address@hidden>

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
address@hidden
https://mail.gna.org/listinfo/getfem-users











reply via email to

[Prev in Thread] Current Thread [Next in Thread]