[Getdp] Re: Quelques renseignements sur GetDP

Christophe Geuzaine Christophe.Geuzaine at ulg.ac.be
Thu Nov 22 09:38:26 CET 2001


> cousin pascal wrote:
> 
> Bonjour,
> 
> Je consulte rigulihrement votre site Web pour suivre l'ivolution de
> votre mailleur GMSH ainsi que votre solver GetDP.
> 
> Vous donnez dans votre manuel des exemples en magnitostique et
> ilectrostatique mais pas en ilectromagnitisme en giniral. Est-ce qu'il
> serait possible d'avoir des exemples de fichiers GetDP correspondant,
> par exemple, au circulateur micro-onde, l'antenne parabolique ou le
> riseau de diptles que vous prisentez en superbes animations couleurs
> sur le site ELAP ?

C'est en projet... Pour les phenomenes de propagation d'onde que tu
mentionnes, les formulations elements finis sont en fait assez simples.
Par exemple, une formulation 2D en champ electrique perpendiculaire au
plan d'etude s'ecrirait : 

FunctionSpace {
  { Name Hcurl_e_2D; Type Form1P;
    BasisFunction {
      { Name sn; NameOfCoef en; Function BF_PerpendicularEdge; 
        Support Region[{Vol,Vol_C,Vol_S,Sur}]; Entity NodesOf[All]; }
    }
    Constraint {
      { NameOfCoef en; EntityType NodesOf ; NameOfConstraint e; }
    }
  }
}

Formulation {
  { Name MW_e_2D; Type FemEquation; 
    Quantity { 
      { Name e; Type Local; NameOfSpace Hcurl_e_2D; }
    }
    Equation {
      Galerkin { DtDt [ epsilon[] * Dof{e} , {e} ]; 
                 In Vol; Integration I1; Jacobian JVol;  }

      Galerkin { Dt [ sigma[] * Dof{e} , {e} ]; 
                 In Vol_C; Integration I1; Jacobian JVol;  }

      Galerkin { [ nu[] * Dof{d e} , {d e} ]; 
                 In Vol; Integration I1; Jacobian JVol;  }

      Galerkin { Dt [ J_s[] , {e} ]; 
                 In Vol_S; Integration I1; Jacobian JVol;  }

      Galerkin { Dt [ - NxH[] , {e} ]; 
                 In Sur; Integration I1; Jacobian JSur;  }
    }
  }
}

Dans le cas d'un probleme ouvert (cf. celui de l'antenne parabolique),
une couche d'absorbants de type PML (perfectly matched layers) peut etre
definie grace a une permittivite et une reluctivite tensorielle
complexe. Dans le cas suivant, la couche est situee selon l'axe x :

nu0 = 1 / (4.e-7 * Pi) ;
ep0 = 8.854187817e-12 ;
c[] = Complex[1,-2];
tens[] = TensorDiag[1/c[],c[],c[]];
epsilon[ pml ] = ep0 * tens[];
nu[ pml ] = nu0 / tens[];


Christophe

-- 
Christophe Geuzaine

Tel: 32 (0) 4 366 37 10    http://geuz.org
Fax: 32 (0) 4 366 29 10    mailto:Christophe.Geuzaine at ulg.ac.be