FEM'de topaklı kütle matrisi nasıl formüle edilir


11

Sonlu elemanlar yöntemini kullanarak zamana bağlı PDE'leri çözerken, örneğin ısı denklemini söyleyin, eğer açık zaman adımlaması kullanırsak, kütle matrisi nedeniyle doğrusal bir sistemi çözmeliyiz. Örneğin, ısı denklemi örneğine bağlı kalırsak,

ut=c2u

sonra ileri Euler kullanarak

M(un+1undt)=cKun

ve dolayısıyla açık bir zaman atlama şeması kullanıyor olsak da, yine de doğrusal bir sistemi çözmemiz gerekir. Açıkça kullanılan şemaları kullanmanın birincil avantajı doğrusal bir sistemi çözmek zorunda DEĞİLDİR çünkü bu açık bir şekilde büyük bir sorundur. Bu sorunun üstesinden gelmek için yaygın bir yol yerine düzenli (tutarlı?) Kütle matrisini çapraz bir matrise dönüştüren ve böylece tersine çevirmeyi önemsiz kılan "topaklı" bir kütle matrisi kullanmak olduğunu okudum. Ancak bir google arama yaparken hala bu toplu kitle matrisinin nasıl oluşturulduğundan emin değilim. Örneğin, KESİNLİK-DİFÜZYON DENKLEMİ İÇİN TOPLU TOPLAMA ÜZERİNE SAYISAL DENEYLEREdson Wendland Harry ve Edmar Schulz tarafından, tüm katsayıları diyagonal üzerine toplayarak topaklı kütle matrisini yaratırlar. Örneğin, orijinal tutarlı kütle matrisimiz:

(4212242112422124)

o zaman topaklanan kütle matrisi şöyle olur:

(9000090000900009)

O zaman sorum şu: Topaklanan kütle matrisini oluşturmanın doğru yolu bu mu? Doğruluk açısından tam tutarlı kütle matrisi yerine toplanmış kütle matrisi kullanılırken hangi dezavantajlar vardır? Bahsettiğim makalenin yazarları, toplanmış kütle matrisini kullanmamalarını önerdiler, ancak bu matrisleri kullanmanın birincil nedeninin açık yöntemler için olduğu düşünüldüğünde garip olduğunu düşündüğüm örtük bir zaman atlama şeması kullandılar.

Not: Isı denklemini çözmek için asla ileri Euler kullanmam, bu sadece bir örnekti. Ayrıca benim sorunum önemliyse, doğrusal olmayan terimin açıkça ve difüzyon teriminin dolaylı olarak ele alındığı Navier Stokes denklemlerini çözmektir.

Teşekkürler


1
Anladığım kadarıyla, kütle matrisi zamana göre sabittir, bu yüzden sadece bir LU çarpanlara ayırma işlemi yapmanız gerekir ve sonra kalan çalışma farklı sağ taraflardaki işlemler olacaktır, bu zahmetli görünmüyor çünkü matris-vektör çarpanlarıyla benzer bir şey yapıyorsunuz zaten. Ö(n2)
Geoff Oxberry

Evet, doğrudan çözücü kullanıyorsam bunu yapabilirdim, ancak PCG veya başka bir yinelemeli çözücü kullanıyorsam bunun yardımcı olacağını düşünmüyorum
James

2
Şahsen kitlesel topaklanmaya matematik olarak güvenmiyorum. Açık bir şekilde adım atmayı hedeflemediğiniz sürece, bu durumda, diyagonal kütle matrisinin çözülmesi çok daha kolay hale gelir. Örtük bir zaman adımlama yöntemi kullanıyorsanız, matriste herhangi bir esneklik kazanmazsınız. Sanırım bu noktada sadece tutarlı bir matris kullanmadan hata alıyorsunuz.
Paul

Kimse Fried ve Markus'un (1975) dörtgenler için yönteminden bahsetmediğine şaşırdım, bu da kesme hatası kaybını önlemek için Lobatto noktalarındaki düğümleri kullanıyor. Kübiklere ulaşana kadar bir sorun değil, ancak tesadüf unsurlarını engelliyor. Fikir üçgenlere genişletildi, ancak özel bir temel ve kareleme gerektiriyor.
L. Young

Yanıtlar:


12

Bu konuya kesin bir cevap olduğunu düşünmüyorum, çünkü bir konudan diğerine değişebilir (ve ayrıca kullandığınız elemanların türüne de bağlıdır). Bunun hakkında konuşan bazı yeni yazılar da var [2]. Yani kapalı bir tartışma değil. Ayrıca, kirişler veya kabuklar gibi kinematik kısıtlamalara sahip elemanlarınız olduğunda, farklı eylemsizlik bileşenlerine (en azından mekanikte) sahip olabilirsiniz.

Zienkiewicz (Bkz. [1], bölüm 16.2.4) kütle matrisinin topaklanması için üç yöntemi tartışır

  1. Satır toplamı yöntemi

    Mbenben(topaklanmış)=ΣjMbenj
  2. Çapraz ölçekleme ile ayarlandı tatmin .

    Mbenben(topaklanmış)=cMbenben
    cΣjMjj(topaklanmış)=ΩρdΩ
  3. sadece düğüm noktalarını içeren ve böylece otomatik olarak , için olan standart eleman şekli fonksiyonu için diyagonal bir matris veren bir dördün kullanılarak değerlendirilmesi .MN-ben=0x=xjbenj

Tüm durumlarda tüm yöntemler işe yaramaz, örneğin, satır toplamı yöntemi negatif düğümlere yol açacağı için 8 düğümlü tesadüf öğeleri için çalışmaz.

Yöntem 2 kullandığım faktör ile elemanın toplam kütlesi ( ) matrisin izine ( ), yaniMufaklıkTr(M)

Mbenben(topaklanmış)=MufaklıkTr(M)Mbenben(hakkında özet yok ben).

Ayrıca otomatik olarak diyagonal matrislere yol açan Lobatto düğümleri (bu konumları düğümler ve entegrasyon noktaları olarak kullanarak) ile Spektral Element Yöntemleri ile yöntem 3'ü kullandım.

[1] 'den, bazı öğe türleri için bazı yöntemleri açıklayan bu şekli görebilirsiniz Bazı iki boyutlu sonlu elemanlar için kütle topaklanması

Referanslar

[1] Zhu, J., ZRL Taylor ve OC Zienkiewicz. "Sonlu elemanlar yöntemi: temeli ve temelleri." (2005): 54-102.

[2] Felippa, Carlos A., Qiong Guo ve KC Park. "Kitle matris şablonları: Genel açıklama ve 1d örnekler." Mühendislikte Hesaplamalı Yöntem Arşivi 22.1 (2015): 1-65.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.