Apa itu solver tangguh dan iteratif untuk masalah 3-d linier-elastis yang besar?

9

Saya terjun ke dunia analisis elemen hingga yang menakjubkan dan ingin menyelesaikan masalah termo-mekanis yang besar (hanya termal mekanis, tanpa umpan balik).

Untuk masalah mekanis, saya sudah memahami jawaban Geoff , bahwa saya harus menggunakan solver iteratif karena ukuran mesh saya. Saya selanjutnya membaca dalam jawaban Matt , bahwa pilihan algoritma iteratif yang benar adalah tugas yang menakutkan.

Saya bertanya di sini apakah ada pengalaman tentang masalah 3-d linier-elastis besar yang akan membantu saya mempersempit pencarian saya untuk kinerja terbaik? Dalam kasus saya, ini adalah struktur dengan film tipis, bermotif , dan material yang ditempatkan tidak teratur (baik CTE tinggi dan CTE rendah). Tidak ada deformasi besar dalam analisis termo-mekanis ini. Saya dapat menggunakan HPC [1.314 node universitas saya, dengan 2 prosesor AMD Opteron (masing-masing 2,2 GHz / 8 core)].

Saya pikir PETScbisa berisi sesuatu yang menarik, terutama algoritma yang melakukan semacam penguraian domain (FETI, multigrid) tapi saya agak kewalahan dengan pilihan dan tidak memiliki pengalaman. Saya juga suka frasa "prekondisi yang diinformasikan secara geometris" , tetapi tidak yakin apakah ini membantu saya. Saya belum menemukan sesuatu yang fokus pada mekanika kontinum linier.

Penskalaan kuat (Amdahl) sangat penting dalam aplikasi saya karena mitra industri saya tidak bisa menunggu lama untuk hasil simulasi. Saya pasti tidak hanya menghargai jawaban, tetapi juga rekomendasi untuk membaca lebih lanjut di komentar.

Sebastian
sumber
Apakah Anda memecahkan masalah statis? Sepertinya iya. Untuk masalah dinamis atau waktu-harmonik, jawabannya akan berbeda, saya pikir.
Hui Zhang
statis ya. Dinamis terlalu mahal.
Sebastian

Jawaban:

6

Dengan asumsi bahwa struktur Anda sebenarnya 3D (bukan hanya fitur tipis, mungkin didiskritkan dengan elemen shell) dan bahwa model lebih besar dari beberapa ratus ribu dof, pemecah langsung menjadi tidak praktis, terutama jika Anda hanya perlu menyelesaikan setiap masalah sekali. Selain itu, kecuali jika struktur selalu "dekat" dengan batas Dirichlet, Anda akan memerlukan metode bertingkat agar menjadi efisien. Komunitas ini dibagi antara "dekomposisi domain multigrid" dan "multilevel". Untuk perbandingan matematika, lihat jawaban saya untuk: Apa keuntungan dari preconditioners penguraian domain multigrid atas domain, dan sebaliknya?

Komunitas multigrid umumnya lebih sukses dalam memproduksi perangkat lunak tujuan umum. Untuk elastisitas, saya sarankan menggunakan agregasi yang dihaluskan yang membutuhkan perkiraan "ruang kosong dekat". Dalam PETSc, ini dilakukan dengan memilih PCGAMG atau PCML (konfigurasikan dengan --download-ml) dan panggilan MatSetNearNullSpace()untuk menyediakan mode bodi yang kaku.

Metode dekomposisi domain menawarkan peluang untuk lebih cepat kasar daripada agregasi yang dihaluskan, sehingga mungkin lebih toleran terhadap latensi, tetapi "sweet spot" dalam hal kinerja cenderung lebih sempit daripada agregasi yang diperhalus. Kecuali jika Anda ingin melakukan penelitian tentang metode dekomposisi domain, saya sarankan hanya menggunakan agregasi dihaluskan, dan mungkin mencoba metode dekomposisi domain ketika perangkat lunak menjadi lebih baik.

Jed Brown
sumber
terima kasih banyak atas jawaban yang sangat informatif ini! Apa yang sebenarnya Anda maksud dengan mendekati batas Dirichlet ? Tutup dalam hal jumlah elemen?
Sebastian
Tutup dalam hal jarak, diukur dalam elemen atau subdomain (untuk dekomposisi domain satu tingkat dengan pemecahan subdomain yang kuat), di sepanjang jalur materi yang kuat. Jika informasi harus melalui banyak subdomain untuk menentukan solusi lokal, metode satu tingkat akan menyatu secara perlahan. Perhatikan bahwa satu koneksi yang kuat tidak cukup untuk elastisitas, semua mode bodi yang kaku harus dikontrol.
Jed Brown
4

Saya akan mengatakan pilihan kanonik untuk masalah ini adalah pemecah Konjugat Gradient ditambah prondisier multigrid aljabar. Untuk PETSc, hypre / boomeramg atau ML akan menjadi pilihan prekondisi yang jelas.

Semua komponen ini bila digunakan melalui skala PETSc dengan sangat baik untuk ribuan atau puluhan ribu prosesor jika masalahnya cukup besar (setidaknya ~ 100.000 derajat kebebasan per proses MPI).

Wolfgang Bangerth
sumber
Perhatikan bahwa BoomerAMG (dan AMG klasik pada umumnya) tidak menggunakan informasi ruang nol atau memastikan bahwa ruang kasar dapat secara akurat mewakili mode rotasi. Anda dapat (dan harus) mencobanya, serta membelah komponen dan menyelesaikannya secara terpisah (digunakan PCFIELDSPLITdalam PETSc), tetapi agregasi yang dihaluskan biasanya lebih kuat untuk elastisitas.
Jed Brown
1

<0.4(x,y,z)KxxKyyKzz

Dalam hal ini, Anda dapat menggunakan metode AMG yang kurang canggih untuk menghitung perkiraan setiap blok terbalik dan mendapatkan prekondisi yang cukup bagus.

Tom
sumber
1

Walter Landry mengembangkan kode untuk deformasi elastostatik tiga dimensi menggunakan multigrid adaptif. Anda dapat menemukan kode di

https://bitbucket.org/wlandry/gamra

Anda dapat memasukkan efek pemaksaan termal dengan isotropik eigenstrain dan kekuatan tubuh yang setara. Setelah ini di tempat, pemecah akan bekerja dengan baik.

sylvain barbot
sumber