09.08.2015 Views

Etude de méthodes de pas de temps local dans un schéma Galerkin ...

Etude de méthodes de pas de temps local dans un schéma Galerkin ...

Etude de méthodes de pas de temps local dans un schéma Galerkin ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

===3∑∑EK,lii=1 l∈{1,...,(r+1)} 33∑∑EK,lii=1 l∈{1,...,(r+1)} 33∑∑EK,lii=1 l∈{1,...,(r+1)} 3∫∫ˆKˆK|J K | ( ε ◦ F K DF ∗−1 )Kθi l · DF∗−1K θi 0l0d̂x d’après (10)|J K | ( DF −1K ε ◦ F K DF ∗−1 )Kθi l · θi 0l0d̂x∑ω n |J K (ξ n )| ( DF −1K ε ◦ F K DF ∗−1Kn∈{1,...,(r+1)} 3)(ξn ) θ i l (ξ n) · θ i 0l0(ξ n ).Comme θ i l (ξ n) = δ l,n−→ ei et θ i 0l0(ξ n ) = δ l0 ,n −→ e i0 , cette expression est non nulle lorsque l = n = l 0 , d’où :∫Kε E · ψ dx =3∑EK,l i 0ω l0i=1∣ ∣ J K (ξ l0) ∣ ∣ ( DF −1K ε ◦ F K DF ∗−1K (ξ l 0) −→ e i)· −→ ei0 .En écrivant cette expression pour i 0 = 1, 2, 3 on obtient, en regroupant les trois scalaires {EK,l i 0} i0 =1,2,3<strong>dans</strong> <strong>un</strong> vecteur E K,l0 , <strong>un</strong> produit matrice-vecteur M K,l 0ε {EK,l i 0} i0 =1,2,3 <strong>de</strong> taille 3 × 3. En faisant <strong>de</strong>même avec tous les l 0 ∈ {1, ..., (r + 1)} 3 (i.e : ψ 0 parcourt toutes les fonctions <strong>de</strong> base <strong>de</strong> K), on obtient<strong>un</strong> produit matrice-vecteur Mε K E K dont la matrice Mε K =diag(M K,l 0ε ) l0 ∈{1,...,(r+1)} 3 est bloc-diagonaleet dont les inconnues sont regroupées <strong>dans</strong> <strong>un</strong> vecteur E K contenant tous les {E K,l0 } l0 ∈{1,...,(r+1)} 3.Enfin, en faisant ainsi pour toutes les cellules K ∈ T , on obtient <strong>un</strong>e matrice globale bloc-diagonaleM ε =diag(Mε K ) K∈T dont chaque bloc (correspondant à chaque cellule) est lui-même bloc-diagonal(blocs 3 × 3), cette <strong>de</strong>rnière propriété étant due au choix <strong>de</strong>s espaces d’approximation particuliers.Les∫inconnues sont <strong>dans</strong> <strong>un</strong> vecteur E qui contient tous les vecteurs {E K } K∈T . Au final, le terme∂ t K ε E · ψ dx est donc discrétisé en M ε ∂ t E. On peut également remarquer que M ε est symétrique :en effet, il est facile <strong>de</strong> voir que chaque bloc M K,l 0ε est symétrique.La démarche est similaire pour ∫ K σE · ψ dx (resp. ∂ ∫t K µ H · φ dx) et on obtient M σE (resp.M µ ∂ t H). Par la suite, les calculs se déroulant plus ou moins <strong>de</strong> la même manière, ils seront <strong>un</strong> peumoins détaillés, et les notations utilisées seront les mêmes.Calcul <strong>de</strong>s matrices <strong>de</strong> rigidité Elles sont obtenues en discrétisant ∫ K ∇ × E · φ dx et ∫ K ∇ × H · ψ dx<strong>dans</strong> la formulation (7). Soit φ 0 ∈ B, supp(φ 0 ) = K ∈ T , alors ∃ l 0 , i 0 tels que φ 0 ◦ F K = DF ∗−1K θi 0l0.On admettra que :∫K∇ × E · φ dx = signe(J K)= signe(J K)= signe(J K)3∑∑EK,lii=1 l∈{1,...,(r+1)} 33∑∑EK,lii=1 l∈{1,...,(r+1)} 33∑i=1∑∫ˆKl∈{1,...,(r+1)} 3 E i K,l ω n̂∇ × θ i l · θi 0l0d̂x∑ ( )ω n ̂∇ × θiln∈{1,...,(r+1)} 3(̂∇ × θil)(ξ l0) · −→ e i0(ξ n ) · θ i 0l0(ξ n )En faisant <strong>de</strong> même pour i 0 = 1, 2, 3 et l 0 ∈ {1, ..., (r + 1)} 3 (i.e ψ 0 parcourt toutes les fonctions <strong>de</strong>base <strong>de</strong> K), on obtient <strong>un</strong>e formulation <strong>de</strong> la forme R K E K . Enfin, la même démarche pour toutes lescellules K ∈ T donne <strong>un</strong>e discrétisation <strong>de</strong> la forme RE où R =diag(R K ) K∈T est bloc diagonale. Onpeut remarquer que le calcul <strong>de</strong> la matrice <strong>de</strong> rigidité sur les cellules K ∈ T ne dépend que du signe dujacobien J K , ce qui implique <strong>un</strong> très faible stockage par rapport aux métho<strong>de</strong>s <strong>de</strong> <strong>Galerkin</strong> discontinuclassiques.Il en est <strong>de</strong> même pour la discrétisation du terme ∫ K∇ × H · ψ dx qui donne RH.15

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!