Uyarlanabilir FEM'de hangi yeni veri yapıları kullanılır?


9

Birçok uyarlanabilir FEM kütüphanesi, düğümleri, kenarları, üçgenleri, tetrahedra vb. Ekleme / çıkarma işlemlerini gerçekleştirmek için daha gelişmiş ağ veri yapıları kullanır . Örneğin, en yaygın kitaplık, uyarlanabilir ağ inceltme için oktree veri yapılarını kullanır; statik bir ağda hesaplamalar için kullanılan oktrees genellikle bulamazsınız.

Uyarlamalı FEM için lineer cebir tarafında neler değişir?

Düşünebildiğim en künt yol, kafes rafine edildiğinde veya kalınlaştığında tüm sistem matrislerini tamamen yeniden oluşturmak olacaktır. Kafes uyarlaması yeterince seyrek bir işlemse, bunu yapma masrafı sonuçta hesaplamanın geri kalanında amortismana tabi tutulur. Bu yaklaşımla mevcut seyrek doğrusal cebir yazılımından (PETSc, Trilinos, vb.) Kolayca faydalanılabilir.

Bu künt yöntem en yaygın kullanılan yöntem midir yoksa ayrıntılandırma sırasında eski matrisi yeniden kullanmayı veya değiştirmeyi başaran kütüphaneler var mı? Sonuçta, ağ adaptasyonu sırasında ağın çoğu ve karşılık gelen matrisler değişmez.

Yanıtlar:


6

Evet, en yaygın yaklaşım yeniden inşa etmektir. Yerinde değiştirilebilir veri yapıları kurulduktan sonra daha az verimli olma eğilimindedir ve yeniden yerleştirme aslında yeniden birleştirmeye kıyasla oldukça ucuzdur (örn. Doğrusal olmama nedeniyle), bu yüzden gerçekten iyi bir çözümdür. Çok kolay çözüme sahip nispeten nadir nişlerin dışında, çözücülerde dinamik veri yapılarını kullanma girişimleri yalnızca uygulamanızı yavaşlatır. Bununla birlikte, performansı ölçmeyi veya modellemeyi unutanlar arasında ortak bir algıdır.


3

Jed'in daha önce de söylediği gibi, matrisler ve vektörler gibi doğrusal cebir bileşenlerinin yeniden kullanımı yaygın olarak yapılmamaktadır. Ayrıca gerekli değildir: bu bileşenlerin kurulması, doğrusal sistemlerin çözülme maliyetine kıyasla nispeten çok ucuzdur.

Statikten uyarlanabilir raflara kadar değişen şeyleri ararsanız, en büyük engel asılı düğümlerle uğraşmaktır. Gelen deal.II bu tarafından işlenir ConstraintMatrix kod altında birçok 1000 satır alır sınıfı sağlar. Bu sınıfın yaptıklarının bazılarını kendim ve Oliver Kayser-Herold ( yayınları sayfamla bağlantılı ) tarafından bulabilirsiniz. Başka hiçbir bileşen (ağın işlenmesi dışında, elbette) sabitten adaptif ağlara giderken çok fazla adaptasyon gerektirmedi.

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.