Langkau tajuk talian

Penyelesai dan Prapensyaratan

Penyelesai linear FrontISTR dikonfigurasikan dengan memilih sama ada kaedah langsung atau lelaran; kaedah lelaran digabungkan dengan prapensyarat untuk menyelesaikan persamaan linear. Kaedah pengendalian MPC dan penghapusan DOF sentuhan ialah pilihan tambahan yang menentukan cara sistem linear yang mengandungi kekangan berbilang titik atau sentuhan dikendalikan.

Gambaran Keseluruhan Fungsi

Tetapan penyelesai dan prapensyaratan terdiri daripada pilihan berikut. Mula-mula pilih sama ada kaedah lelaran atau langsung sebagai penyelesai linear. Prapensyarat hanya digabungkan dengan kaedah lelaran.

Kategori Pilihan utama Peranan
Kaedah lelaran CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN Menyelesaikan matriks jarang berskala besar dengan penggunaan memori yang agak cekap.
Prapensyarat untuk kaedah lelaran SSOR, penskalaan pepenjuru, BILU, AMG, SAINV, RIF Meningkatkan penumpuan kaedah lelaran. Tidak digunakan dengan kaedah langsung.
Kaedah langsung MUMPS, MKL Menyelesaikan persamaan linear secara teguh melalui pemfaktoran matriks.
Kaedah pengendalian MPC Kaedah penalti, penghapusan DOF eksplisit Memasukkan kekangan berbilang titik ke dalam sistem linear.
Penghapusan DOF sentuhan Automatik, sentiasa didayakan Mengawal pengendalian darjah kebebasan sentuhan yang ditambah oleh sentuhan SLAGRANGE.
Fungsi tambahan Anggaran nombor keadaan, pelonggokan matriks, pengelogan Menyokong penyahpepijatan, penilaian penumpuan dan penilaian prestasi.

Untuk pelaksanaan selari, keselarian MPI berasaskan penguraian domain boleh digabungkan dengan keselarian bebenang OpenMP. Kaedah lelaran ialah pilihan standard untuk analisis selari berskala besar, manakala kaedah langsung digunakan apabila pustaka yang diperlukan dipautkan dan penyelesaian yang lebih teguh diperlukan.

Memilih Penyelesai dan Prapensyarat

Mula-mula tentukan sama ada hendak menggunakan kaedah lelaran atau langsung. Jika kaedah lelaran dipilih, kemudian pilih prapensyarat.

Faktor keputusan Pendekatan yang disyorkan
Saiz masalah Kaedah langsung stabil dan mudah digunakan untuk masalah kecil hingga sederhana. Kaedah lelaran lebih cekap memori untuk masalah besar.
Kesimetrian matriks Pertimbangkan CG untuk masalah simetri tentu positif. Untuk masalah tak simetri, pertimbangkan BiCGSTAB, GMRES, GPBiCG atau kaedah serupa.
Persekitaran selari Di bawah keselarian MPI, gabungkan kaedah lelaran dengan penguraian domain. Untuk prapensyaratan di bawah keselarian OpenMP, pertimbangkan pelaksanaan SSOR berbilang warna.
Prapensyarat (apabila menggunakan kaedah lelaran) Cuba SSOR lalai terlebih dahulu, kemudian pertimbangkan AMG. SSOR ringan dari segi pengiraan apabila penumpuan baik; prapensyaratan AMG sesuai untuk masalah kompleks berskala besar. AMG tersedia sebagai pelaksanaan Trilinos-ML atau SA-AMG terbina dalam HEC-MW; pilih mengikut konfigurasi binaan.
Sentuhan dan MPC Dalam analisis yang mengandungi sentuhan atau kekangan berbilang titik, pilihan kaedah pengendalian MPC dan penghapusan DOF sentuhan mempengaruhi penumpuan dan keteguhan.
Pustaka luaran MUMPS, MKL dan AMG (Trilinos-ML) tersedia dalam binaan yang dipautkan dengan pustaka berkenaan. AMG (SA-AMG) tersedia dalam binaan yang mengaktifkan LAPACK.

Untuk analisis standard, toleransi penumpuan lalai, bilangan lelaran maksimum dan pekali pembetulan pepenjuru bagi prapensyarat umumnya mencukupi. Hanya apabila penumpuan perlahan atau penyelesaian mencapah, pertimbangkan semula secara berturutan kaedah lelaran, prapensyarat, kaedah pengendalian MPC dan penghapusan DOF sentuhan. Lihat rujukan kata kunci !SOLVER untuk nilai parameter dan sintaks.

Kaedah Lelaran

Kaedah lelaran menyelesaikan sistem jarang berskala besar dengan mengemas kini penyelesaian berulang kali melalui hasil darab matriks-vektor dan prapensyaratan. FrontISTR menyediakan kaedah lelaran berikut.

Kaedah lelaran Aplikasi lazim Catatan
CG Masalah simetri tentu positif Calon standard untuk analisis struktur dan konduksi haba.
BiCGSTAB Masalah tak simetri Calon apabila sentuhan atau kesan gandingan menghasilkan ketaksimetrian yang kuat.
GMRES Masalah tak simetri Digunakan dengan saiz subruang Krylov yang ditentukan.
GPBiCG Masalah tak simetri Digunakan sebagai kaedah dipertingkat dalam keluarga BiCGSTAB.
GMRESR Masalah tak simetri, aplikasi lanjutan Pilihan yang menggunakan GMRES dalam bentuk bersarang.
GMRESREN Masalah tak simetri, aplikasi lanjutan Varian rekursif dalam keluarga GMRESR.

CG mengandaikan matriks simetri tentu positif. Jika sentuhan geseran, pengendalian kekangan tak simetri, kesan gandingan atau faktor serupa memperkenalkan ketaksimetrian yang kuat, pertimbangkan BiCGSTAB, GMRES, GPBiCG atau penyelesai tak simetri lain. Dengan GMRES, meningkatkan saiz subruang Krylov boleh meningkatkan penumpuan, tetapi turut meningkatkan penggunaan memori.

Apabila METHOD2 ditentukan, FrontISTR boleh beralih kepada kaedah lelaran alternatif jika CG mencapah atau gagal. Fungsi ini ialah pilihan sandaran apabila CG merupakan penyelesai utama; kaedah alternatif menggunakan tetapan dan baris data selebihnya yang sama seperti penyelesai utama.

Kaedah CG, BiCGSTAB, GPBiCG dan PipeCG mengemas kini vektor residu menggunakan hubungan rekursif, maka apabila lelaran bertambah, ralat pembundaran boleh terkumpul dan residu boleh menyimpang daripada residu sebenar. Untuk mengelakkannya, vektor residu dikira semula pada selang lelaran tertentu daripada ruas kanan dan hasil darab matriks-vektor. Selang ini boleh ditetapkan dengan RECOMPUTE_RESIDUAL. Selang yang lebih panjang mengurangkan bilangan hasil darab matriks-vektor, tetapi meningkatkan risiko residu yang dikemas kini secara rekursif menyimpang daripada residu sebenar sehingga penyelesaian yang belum menumpu dianggap telah menumpu. Sebaliknya, jika selang terlalu pendek, bukan sahaja bilangan hasil darab matriks-vektor bertambah, malah hubungan antara residu yang dikekalkan oleh hubungan rekursif dengan vektor bantuan boleh terganggu dan penumpuan itu sendiri boleh merosot. Nilai lalai bagi setiap kaedah mengimbangi kesan-kesan ini; jika nilainya diubah, semak sejarah penumpuan dan residu relatif akhir.

Prapensyaratan

Prapensyaratan mengubah matriks pekali untuk meningkatkan penumpuan kaedah lelaran dan hanya digunakan apabila kaedah lelaran dipilih. Kaedah langsung tidak menggunakan prapensyaratan. Walaupun bagi kaedah lelaran yang sama, pilihan prapensyarat boleh mengubah dengan ketara bilangan lelaran dan masa pengiraan yang diperlukan untuk penumpuan.

Prapensyarat Ciri Aplikasi lazim
SSOR Prapensyarat standard; menyokong susunan berbilang warna. Calon pertama untuk dicuba; digunakan secara meluas dalam analisis struktur.
Penskalaan pepenjuru Prapensyarat ringan yang menggunakan entri pepenjuru. Apabila kos pengiraan rendah diutamakan.
BILU Pemfaktoran LU tak lengkap berblok. Calon untuk masalah yang sukar menumpu dengan SSOR.
AMG (Trilinos-ML) Multigrid algebra yang menggunakan pustaka luaran Trilinos-ML. Calon untuk masalah berskala besar atau masalah yang didominasi komponen ralat berhierarki.
AMG (SA-AMG) Multigrid algebra jenis Smoothed Aggregation yang terbina dalam HEC-MW. Kegunaan seperti di atas; calon apabila menggunakan AMG tanpa menambah pustaka luaran.
SAINV Sparse Approximate Inverse. Pilihan prapensyaratan khusus untuk masalah sentuhan atau persekitaran memori teragih.
RIF Robust Incomplete Factorization. Pilihan pemfaktoran tak lengkap yang lain.

SSOR ialah pilihan standard, dan versi susunan berbilang warna digunakan di bawah keselarian OpenMP. Penskalaan pepenjuru ringan, walaupun peningkatan penumpuannya bergantung pada masalah. BILU dilaksanakan sebagai pemfaktoran LU tak lengkap berblok dan turut menyokong matriks dengan bilangan darjah kebebasan umum. Untuk keluarga BILU, terdapat laluan yang secara automatik meningkatkan pekali pembetulan pepenjuru SIGMA_DIAG dan mencuba semula apabila kaedah lelaran mencapah; lihat rujukan kata kunci untuk cara menentukan nilainya.

AMG (multigrid algebra) mempunyai dua pelaksanaan: satu menggunakan pustaka luaran Trilinos-ML dan satu lagi SA-AMG terbina dalam HEC-MW. Kedua-duanya ialah pelaksanaan berasingan dengan konfigurasi binaan yang diperlukan dan pilihan yang tersedia yang berbeza.

AMG berasaskan Trilinos-ML memerlukan ML diaktifkan semasa binaan. Pelicin, kitaran multigrid, skema pengasaran dan tetapan lain boleh ditentukan; lihat rujukan kata kunci untuk nilai terperinci.

SA-AMG ialah prapensyarat multigrid algebra jenis Smoothed Aggregation dan tidak memerlukan Trilinos-ML. Namun, ia menggunakan LAPACK secara dalaman, maka binaan yang mengaktifkan LAPACK diperlukan; jika dipilih dalam binaan tanpa LAPACK, program tamat tanpa memulakan analisis. Untuk penyelesaian grid kasar, MUMPS boleh digunakan dalam binaan yang mengaktifkan MUMPS; jika tidak, kaedah langsung matriks padat terbina dalam digunakan.

SA-AMG terutamanya menyasarkan sistem simetri positif tentu (CG), tetapi turut menyokong sistem terturun tak simetri yang terhasil daripada sentuhan geseran (BiCGSTAB, GMRES dan lain-lain). Ia menyokong 1 (pengaliran haba), 2 (satah), 3 (pepejal) dan 6 (cangkerang) darjah kebebasan bagi setiap nod, tetapi tidak menyokong matriks yang bilangan darjah kebebasannya berbeza antara nod. Penyelesai grid kasar, kitaran multigrid, darjah pelicin dan pilihan lain boleh ditentukan, tetapi nilai lalai boleh digunakan untuk analisis biasa. Lihat rujukan kata kunci untuk nilai dan sintaks. Dalam binaan yang mengaktifkan GPU (OpenACC), fasa penggunaan prapensyarat dijalankan pada GPU.

Apabila SAINV digunakan dalam analisis selari yang mengandungi sentuhan atau kekangan MPC, kedalaman tindihan yang digunakan untuk penguraian domain boleh mempengaruhi penumpuan.

Kaedah Langsung

Kaedah langsung menyelesaikan persamaan linear dengan memfaktorkan matriks pekali. Oleh sebab ia tidak bergantung pada bilangan lelaran, kaedah ini teguh dan boleh menjadi pilihan stabil untuk analisis yang mengandungi syarat sentuhan atau kekangan. Walau bagaimanapun, penggunaan memorinya meningkat mengikut saiz masalah.

Kaedah langsung Persekitaran selari Aplikasi
MUMPS MPI selari Menyelesaikan matriks jarang dengan kaedah langsung dalam persekitaran memori teragih.
MKL Intel MKL / OpenMP Kaedah langsung berasaskan Intel MKL. Intel PARDISO digunakan secara dalaman. Dengan berbilang proses MPI, laluan Cluster MKL digunakan. DIRECTmkl ialah alias bagi MKL.

Kaedah langsung boleh digunakan untuk matriks simetri dan tak simetri. MUMPS dan MKL memerlukan pustaka masing-masing dipautkan semasa binaan. Ia tidak boleh digunakan dalam persekitaran tanpa pustaka tersebut, jadi lihat panduan binaan untuk kebergantungan dan pilihan CMake yang diperlukan.

FrontISTR juga mengandungi laluan penyelesai langsung terbina dalam yang tidak menggunakan pustaka luaran, tetapi untuk analisis biasa yang memerlukan kaedah langsung, MUMPS atau MKL biasanya wajar dipertimbangkan terlebih dahulu.

Prapensyaratan tidak digunakan pada kaedah langsung. Walaupun prapensyarat ditentukan dalam !SOLVER, ia tidak dirujuk pada laluan penyelesai langsung.

Kaedah Pengendalian MPC

Kaedah pengendalian MPC menentukan cara darjah kebebasan yang dihubungkan oleh kekangan berbilang titik dimasukkan ke dalam persamaan linear. Walaupun dengan persamaan kekangan yang sama dalam data input, kaedah pengendalian mengubah sifat dan tingkah laku penumpuan matriks pekali.

Kaedah pengendalian MPC Kedudukan Penggunaan lalai
Kaedah penalti Memenuhi kekangan secara hampiran dengan menambah sebutan kekakuan besar pada persamaan kekangan. Lalai untuk kaedah langsung.
Penghapusan DOF eksplisit Menghapuskan darjah kebebasan terkekang dan menyelesaikan sistem linear terkurang. Lalai untuk kaedah lelaran.

Kaedah penalti ialah lalai untuk kaedah langsung, manakala penghapusan DOF eksplisit ialah lalai untuk kaedah lelaran. Kaedah MPC-CG yang dahulunya boleh dipilih telah dibuang; input yang menetapkan MPCMETHOD=2 menghasilkan amaran dan diproses mengikut tetapan lalai ini.

Dalam penghapusan darjah kebebasan secara tersurat, jisim tertumpu yang digunakan dalam analisis modal dan analisis dinamik dengan kaedah tersurat turut dikurangkan melalui penjelmaan yang sama seperti matriks kekakuan. Oleh sebab matriks jisim selepas pengurangan secara amnya bukan matriks pepenjuru, jumlah setiap barisnya digunakan sebagai jisim tertumpu. Bagi kekangan sambungan atau interpolasi yang jumlah pekali persamaan kekangannya ialah 1, jisim darjah kebebasan hamba diagihkan kepada darjah kebebasan induk secara berkadar dengan pekali tersebut.

Kaedah pengendalian MPC boleh ditentukan secara eksplisit dengan MPCMETHOD dalam !SOLVER. Lihat rujukan kata kunci untuk makna dan sintaks setiap nilai.

Penghapusan DOF Sentuhan

Penghapusan DOF sentuhan mengurangkan darjah kebebasan sentuhan tambahan yang diperkenalkan oleh sentuhan SLAGRANGE sebelum menghantar sistem kepada penyelesai linear. Menghapuskan darjah kebebasan sentuhan ini boleh memperbaiki sifat sistem linear yang dikendalikan oleh kaedah lelaran.

Dalam mod automatik lalai, penghapusan DOF sentuhan didayakan untuk kaedah lelaran dan dinyahdayakan untuk kaedah langsung. Bagi kaedah langsung, disediakan laluan yang menyelesaikan secara langsung sistem diperbesar yang mengandungi darjah kebebasan sentuhan.

Apabila CONTACT_ELIM ditentukan secara eksplisit, penghapusan DOF sentuhan juga boleh dilakukan apabila kaedah langsung digunakan. Untuk pilihan jenis sentuhan, pasangan sentuhan dan algoritma sentuhan pada sisi input, lihat halaman Sentuhan dan Pembenaman.

Fungsi Tambahan

Anggaran nombor keadaan, pelonggokan matriks dan pengelogan boleh digunakan untuk menyiasat penumpuan dan prestasi penyelesai. Fungsi ini tidak diperlukan untuk analisis biasa dan didayakan terutamanya untuk penyahpepijatan atau penilaian prestasi.

Fungsi Tujuan Catatan
Anggaran nombor keadaan Mengeluarkan penunjuk nombor keadaan untuk CG dan GMRES. Tersedia dalam binaan dengan LAPACK didayakan.
Pelonggokan matriks Menyimpan matriks dan sisi kanan yang dihantar kepada penyelesai. Menyokong format Matrix Market, CSR dan BSR.
DUMPEXIT Menamatkan analisis selepas melonggokkan matriks. Digunakan apabila hanya matriks diperlukan untuk pengesahan luaran.
ITERLOG Mengeluarkan sejarah penumpuan kaedah lelaran. Digunakan untuk memeriksa trend residu.
TIMELOG Mengeluarkan masa pengiraan penyelesai. VERBOSE mengeluarkan pecahan yang lebih terperinci.
STEPLOG Mengeluarkan maklumat langkah. Digunakan untuk memeriksa prosedur analisis.
LOGLEVEL Mengeluarkan maklumat diagnostik seperti pembinaan hierarki prapensyarat AMG. Ditentukan secara berasingan daripada ITERLOG dan TIMELOG. Nilai yang lebih besar menambah jumlah keluaran.

Pelonggokan matriks membolehkan matriks pekali yang dipasang oleh analisis diperiksa dengan alat luaran. Apabila DUMPEXIT didayakan, analisis tamat selepas matriks dan sisi kanan disimpan. Anggaran nombor keadaan ialah fungsi eksperimen yang tersedia dengan CG dan GMRES, dan boleh digunakan untuk mendiagnosis tingkah laku penumpuan.

Topik Berkaitan