Come formulare una matrice di massa concentrata in FEM


11

Quando si risolvono i PDE dipendenti dal tempo usando il metodo degli elementi finiti, ad esempio l'equazione del calore, se si usa un passo temporale esplicito, allora dobbiamo risolvere un sistema lineare a causa della matrice di massa. Ad esempio, se ci atteniamo all'esempio dell'equazione del calore,

ut=c2u

poi usando il forward Euler otteniamo

M(un+1-undt)=-cKun

e quindi anche se stiamo usando uno schema di time stepping esplicito, dobbiamo ancora risolvere un sistema lineare. Questo è ovviamente un grosso problema poiché il vantaggio principale dell'utilizzo di schemi espliciti è di NON dover risolvere un sistema lineare. Ho letto che un modo comune per aggirare questo problema è invece quello di utilizzare una matrice di massa "aggregata" che trasforma la matrice di massa regolare (coerente?) In una matrice diagonale e rende quindi banale l'inversione. Dopo aver fatto una ricerca su Google, tuttavia, non sono ancora del tutto sicuro di come venga creata questa matrice di massa. Ad esempio, guardando il documento ESPERIMENTI NUMERICI SULLA LUMPING DI MASSA PER L'equazione DIFFUSIONE-AVVISOdi Edson Wendland Harry e Edmar Schulz creano la loro matrice di massa aggregata semplicemente sommando tutti i coefficienti sulla diagonale. Ad esempio, se la nostra matrice di massa coerente originale fosse:

(4212242112422124)

quindi la matrice di massa aggregata sarebbe:

(9000090000900009)

La mia domanda allora è: è questo il modo corretto di formare la matrice di massa aggregata? Quali sono gli svantaggi quando si utilizza la matrice di massa concentrata anziché la matrice di massa completamente coerente in termini di precisione? Gli autori del documento che ho citato in realtà hanno suggerito di non usare la matrice di massa aggregata, sebbene sembrasse che stessero usando solo uno schema implicito di stepping del tempo che pensavo fosse strano dato che il motivo principale per usare tali matrici è per metodi espliciti.

Nota: non avrei mai usato Euler in avanti per risolvere l'equazione del calore, questo era solo un esempio. Anche se è importante che il mio problema sia risolvere le equazioni di Navier Stokes in cui il termine non lineare viene trattato in modo esplicito e il termine di diffusione viene trattato in modo implicito.

Grazie


1
O(n2)

Sì, potrei farlo se stavo usando un solutore diretto, ma se sto usando PCG o qualche altro solutore iterativo, non credo che sarebbe di aiuto
James,

2
Personalmente non mi fido matematicamente dei grumi di massa. Computazionalmente, non ti dà alcun vantaggio se non miri a un passo temporale esplicito, nel qual caso la matrice di massa diagonale rende molto più facile da risolvere. Se si utilizza un metodo di stepping temporale implicito, non si ottiene alcuna scarsità nella matrice. Penso che tu ottenga un errore solo a quel punto non usando una matrice coerente.
Paolo

Sono sorpreso che nessuno abbia menzionato il metodo di Fried and Markus (1975) per i quadrilateri, che utilizza nodi nei punti Lobatto per evitare una perdita di errore di troncamento. Non è un problema fino a quando non si arriva ai cubi, ma impedisce gli elementi di serendipity. L'idea è stata estesa ai triangoli, ma richiede una base e una quadratura speciali.
L. Young,

Risposte:


12

Non penso che ci sia una risposta definitiva a questo, perché potrebbe cambiare da un argomento all'altro (e dipende anche dal tipo di elementi che stai usando). Alcuni articoli recenti ne parlano anche [2]. Quindi, non è una discussione chiusa. Inoltre, puoi avere diversi componenti inerziali (almeno in meccanica), quando hai elementi con vincoli cinematici come travi o conchiglie.

Zienkiewicz (Vedi [1], sezione 16.2.4) discute tre metodi per il raggruppamento della matrice di massa

  1. Mioio(concentrati)=ΣjMioj
  2. Mioio(concentrati)=cMioio
    cΣjMjj(concentrati)=ΩρdΩ
  3. MNio=0X=Xjioj

Non tutti i metodi funzionano in tutti i casi, ad esempio il metodo della somma delle righe non funziona per gli elementi di serendipità a 8 nodi poiché porterebbe a masse negative.

MbimboTr(M)

Mioio(concentrati)=MbimboTr(M)Mioio(nessuna somma su io).

Ho anche usato il metodo 3 con i cosiddetti metodi degli elementi spettrali con nodi Lobatto (usando queste posizioni come nodi e punti di integrazione), che portano automaticamente a matrici diagonali.

Da [1], puoi vedere questa figura che descrive alcuni dei metodi per alcuni tipi di elementi Massa in serie per alcuni elementi finiti bidimensionali

Riferimenti

[1] Zhu, J., ZRL Taylor e OC Zienkiewicz. "Il metodo degli elementi finiti: le sue basi e fondamenti." (2005): 54-102.

[2] Felippa, Carlos A., Qiong Guo e KC Park. "Modelli di matrice di massa: descrizione generale ed esempi 1d." Archives of Computational Methods in Engineering 22.1 (2015): 1-65.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.