get_des_pets

Christophe Geuzaine Christophe.Geuzaine at ulg.ac.be
Fri Feb 4 11:30:07 CET 2000


André Nicolet wrote:
> 
> >
> > A premiere vue, je vois 4 problemes :
> >
> > 1) Tu ne peux mettre qu'un seul champ 'Equation' dans une
> > formulation
> > (il n'y a que le dernier a etre pris en compte sinon)
> 
> Ca c'est un peu emmerdant ! Que fait-on si on veut traiter un problème
> couplé avec GetDP (électromagnétique - thermique par exemple ... ) ?
> En fait on peut voir notre formulation comme le couplage entre le
> problème longitudinal et le problème transverse. Il me semble que
> l'évolution de GetDP vers les problèmes couplés et donc plusieurs
> équations dans une formulation est indispensable ...
> 

OK, je me suis mal exprime. On peut evidemment mettre autant d'equations
qu'on veut : c'est la champ qui est unique. On ecrit par exemple :

Equation{
  Galerkin{ [ Dof{x}, {x}] }
  Galerkin{ [ a     , {x}] }
  Galerkin{ [ Dof{y}, {y}] }
  Galerkin{ [ b     , {y}] }
}

et pas 

Equation{
  Galerkin{ [ Dof{x}, {x}] }
  Galerkin{ [ a     , {x}] }
}
Equation{
  Galerkin{ [ Dof{y}, {y}] }
  Galerkin{ [ b     , {y}] } 
}

(c'est juste de la syntaxe)

Si tu veux construire 2 systemes lineaires separes (par exemple pour du
couplage faible), la tu dois definir 2 formulations separees.


> >
> > 2) Prendre {Div ht} n'a pas de sens si ht est discretise avec des
> > elements d'aretes (qui ont d'office une divergence nulle)
> 
> Euh, oui, j'étais un peu distrait. En fait on a mis ce terme comme ça
> à la va vite mais il faut regarder ça de plus près pour voir si cette
> formulation évite les 'spurious propagations' tout comme elle évite
> les 'spurious modes' des cavités ...
> 

OK

> >
> > 3) Le system est complexe -> il faut mettre 'Type Complex' dans le
> > champ resolution
> 
> Ah bon, on a pourtant repris ton fichier pour la cavité, ça devait pas
> y être aussi ? (Je crois que je vois : sans conducteurs on a que du (j
> \omega)^2 qui est réel et on cherche les mode stationnaires donc les
> VP réelles > Bien que le problème mathématique soit HARMONIQUE et
> traité avec des exponentielles complexes on obtient un système
> numérique REEL. 

Exact

> Dans notre problème, on a des termes expicitement
> IMAGINAIRES ... )
> 

Tout a fait

> >
> >
> > 4) Beaucoup plus emmerdant : le systeme global n'est pas symetrique.
> > Tu
> > dois considerer le systeme complexe stocke en reel : i.e. une
> > inconnue
> > complexe est transformee en 2 inconnues relles (sa partie relle et
> > sa
> > partie imaginaire) -> regarde ce que ca donne avec tes equations.
> >
> > Par exemple,
> >
> > [a1+ja2][x1+jx2]=[b1+jb2]
> >
> > (syst de 1 equ cplxe a 1 inconnue) est transforme en
> >
> > [a1 -a2] [x1] = [b1]
> > [a2  a1] [x2]   [b2]
> >
> > (syst. de 2 equ. relles a 2 inconnues).
> 
> Ah, et il faut faire le découpage partie réelle - partie imaginaire
> soit-même à la main dans GetDP ? C'est plutôt lourd, non ?
> 

Non, non, il ne faut rien faire soi-meme. Ce que je dis, c'est que, pour
l'algo de Lanczos de base, tel qu'il est programme, le code, en interne,
traite les nombres complexes de maniere decouplee. Pour d'autres
algorithmes (e.g. si on utilise les solveurs de PETSc, les complexes
sont traites commes des vrais nombres complexes). Ma remarque avait pour
but de signaler que, meme si la matrice est complexe, mais qu'elle est
hermitienne, la maniere interne dont les complexes sont traites dans le
cas de l'algo de Lanczos permettrait de resoudre le probleme.


> >
> > Si le systeme reel equivalent n'est pas symmetrique, adieu
> > Lanczos...
> >
> 
> Oui mais on peut utiliser un autre algorithme, faut voir ce que
> propose Benoît sinon ça doit se trouver dans la littérature ...

Tout a fait. De ce que je connais, il pourrait y avoir 2 choix :

- soit ce que propose Benoit dans sa these ("iteration inverse
non-lineaire"), mais qui ne permet de trouver qu'une seule VP par
calcul.

- soit un Lanczos avec bi-orthogonalisation

> Par contre, est-ce que la non symétrie pose des problèmes pour les
> formats de stockage des matrices ?
> 

Non, tout ca est transparent.


-- 
Christophe Geuzaine

Tel: +32-(0)4-366.37.10    mailto:Christophe.Geuzaine at ulg.ac.be
Fax: +32-(0)4-366.29.10    http://www.montefiore.ulg.ac.be/~geuzaine/