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 PETSc
bisa 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.
sumber
Jawaban:
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 panggilanMatSetNearNullSpace()
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.
sumber
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).
sumber
PCFIELDSPLIT
dalam PETSc), tetapi agregasi yang dihaluskan biasanya lebih kuat untuk elastisitas.Dalam hal ini, Anda dapat menggunakan metode AMG yang kurang canggih untuk menghitung perkiraan setiap blok terbalik dan mendapatkan prekondisi yang cukup bagus.
sumber
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.
sumber