[Getdp] questions about higher order BF

Lars Rindorf lrf at teknologisk.dk
Mon Mar 22 09:10:48 CET 2010


Hi Guillaume

These curl conforming basisfunctions are rather intricate. For a scalar Lagrangian field complete to polymomial order N the gradient will be complete to polynomial order N-1. This is not so for curl conforming basisfunctions. The basisfunctions in getdp are the so called 'Webb' basis functions.

Your function space should be something like this:
Webb 0.5: BF_Edge, order(E) = 0, order(curl(E)) = 0 
Webb 1.0: BF_Edge, BF_Edge_2E, order(E) = 1, order(curl(E)) = 0 
Webb 1.5: BF_Edge, BF_Edge_2E, two of [BF_Edge_3F_a, BF_Edge_3F_b, BF_Edge_3F_c], order(E) = 1, order(curl(E)) = 1
Webb 2.0: BF_Edge, BF_Edge_2E, two of [BF_Edge_3F_a, BF_Edge_3F_b, BF_Edge_3F_c], BF_Edge_4E, order(E) = 2, order(curl(E)) = 1

Do a convergence test for verification. 

If you are interested take a look at Webb's original papers. Christophe also wrote a paper IEEE TRANSACTIONS ON MAGNETICS, VOL. 35, NO. 3, MAY 1999. They are also in his thesis http://geuz.org/publications/96.ulg.geuzaine.TFE.ps.gz


KR
Lars

-----Oprindelig meddelelse-----
Fra: getdp-bounces at ace20.montefiore.ulg.ac.be [mailto:getdp-bounces at ace20.montefiore.ulg.ac.be] På vegne af gdemesy at physics.utoronto.ca
Sendt: 19. marts 2010 16:01
Til: getdp at geuz.org
Emne: [Getdp] questions about higher order BF

Dear Getdp Developpers,

I've successfully solved a vector Helmholtz equation with  
quasi-periodic (or Bloch) conditions in two directions with Getdp  
(e.g. a crossed-grating 3D vector harmonic problem).

Now I would like to add some BF to my FunctionSpace for a faster  
convergence as a function of the mesh refinement. I have some  
questions about these additionnal BF (I would like to have a full  
second order). Maybe I simply don't get what the X in BF_Edge_XE or  
BF_Edge_XF stands for.

As far as I understand, for the curl-conforming tetrahedral element,  
BF_edge, BF_edge_2E and BF_edge_2F should somehow be related to  
something like :
BF_Edge    : li grad(lj) ? lj grad(li)
BF_Edge_2E : grad(li lj)
BF_Edge_2F : lk lj grad(li) and lk li grad(lj)
where li is the barycentric coordinate of node i.

When I try to add BF_Edge_2F or BF_Edge_3E, I get the message "You  
should never end up here!". Why?

BF_Edge_3F seems to be implemented in BF_Edge_3.cpp but I get the  
message "Unknown Function for BasisFunction: BF_Edge_3F" when the  
"Problem Definition is being loaded".

Finally, BF_Edge_4E is implemented, but I should first add some Basis  
Functions related to faces to my set of BF, shouldn't I ?

(I am using getdp_2.0.0)

Could you please give me some explanations or references ?

Thanks a lot for you time.

Best Regards,

Guillaume Demésy
________________________________________
FunctionSpace {
   { Name Hcurl; Type Form1;
     BasisFunction {
       { Name sn; NameOfCoef un; Function BF_Edge;
         Support Region[Omega]; Entity EdgesOf[Omega]; }
       { Name sn2; NameOfCoef un2; Function BF_Edge_2E;
         Support Region[Omega]; Entity EdgesOf[Omega]; }
    // { Name sn3; NameOfCoef un3; Function BF_Edge_2F;
    //   Support Region[Omega]; Entity EdgesOf[Omega]; }
    }
     Constraint {
       { NameOfCoef un;  EntityType EdgesOf ; NameOfConstraint BlochX; }
       { NameOfCoef un;  EntityType EdgesOf ; NameOfConstraint BlochY; }
       { NameOfCoef un;  EntityType EdgesOf ; NameOfConstraint Dirichlet; }
       { NameOfCoef un2; EntityType EdgesOf ; NameOfConstraint BlochX; }
       { NameOfCoef un2; EntityType EdgesOf ; NameOfConstraint BlochY; }
       { NameOfCoef un2; EntityType EdgesOf ; NameOfConstraint Dirichlet; }
    // { NameOfCoef un3; EntityType EdgesOf ; NameOfConstraint BlochX; }
    // { NameOfCoef un3; EntityType EdgesOf ; NameOfConstraint BlochY; }
    // { NameOfCoef un3; EntityType EdgesOf ; NameOfConstraint Dirichlet; }
       }
   }
}
________________________________________

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



_______________________________________________
getdp mailing list
getdp at geuz.org
http://www.geuz.org/mailman/listinfo/getdp