Langkau tajuk talian

!SOLVER

Kawalan penyelesai

Data kawalan wajib.

Parameter

METHOD =    Kaedah penyelesaian (CG、BiCGSTAB、GMRES、GPBiCG、CR、DIRECT、DIRECTmkl、MUMPS)
            DIRECT     : Kaedah langsung selain analisis sentuhan (pemprosesan bersiri sahaja) (kini tidak tersedia)
            DIRECTmkl  : Kaedah langsung menggunakan Intel MKL
            MUMPS      : Kaedah langsung menggunakan MUMPS
            Apabila kaedah langsung dipilih, baris data diabaikan.
            Kaedah lelaran untuk masalah 3 darjah kebebasan menyokong keselarian benang dengan OpenMP

PRECOND =   Kaedah prapensyaratan untuk penyelesai lelaran (1、2、3、5、10、11、12、22)
            1, 2       : SSOR (blok) (dengan penyusunan berbilang warna hanya untuk masalah 3 darjah kebebasan)
            3          : Penskalaan pepenjuru (blok)
            5          : AMG menggunakan pakej prapensyaratan multigrid ML
            10         : ILU(0) blok
            11         : ILU(1) blok
            12         : ILU(2) blok
            22         : AMG menggunakan SA-AMG terbina dalam HEC-MW (AMG agregasi terlicin)
            10、11、12 hanya tersedia untuk masalah 3 darjah kebebasan
            22 hanya tersedia dalam binaan yang mengaktifkan LAPACK
            Untuk keselarian benang OpenMP, SSOR, penskalaan pepenjuru, ML atau SA-AMG disyorkan

ITERLOG =   Sama ada mengeluarkan sejarah penumpuan penyelesai lelaran          (YES/NO)(lalai: NO)

TIMELOG =   Sama ada mengeluarkan masa pengiraan penyelesai                (YES/NO/VERBOSE)(lalai: NO)

LOGLEVEL =  Aras keluaran maklumat diagnostik prapensyarat                (integer)(lalai: tiada keluaran)
            Ditentukan secara bebas daripada ITERLOG dan TIMELOG
            Pada 1 atau lebih tinggi, pembinaan hierarki dan maklumat lain bagi prapensyarat jenis AMG (PRECOND=5、22) dikeluarkan
            Pada 2 atau lebih tinggi, maklumat yang lebih terperinci turut dikeluarkan (seperti penggunaan memori)

USEJAD =    Sama ada menggunakan penyusunan untuk pemproses vektor          (YES/NO)(lalai: NO)
            Sah hanya apabila kaedah lelaran digunakan untuk masalah 3 darjah kebebasan

SCALING =   Sama ada menskalakan matriks supaya unsur pepenjuru menjadi 1 (YES/NO)(lalai: NO)
            Sah hanya apabila kaedah lelaran digunakan untuk masalah 3 darjah kebebasan

DUMPTYPE =  Format dump matriks (NONE、MM、CSR、BSR) (terutamanya untuk penyahpepijatan)
            NONE : Jangan dump (lalai)
            MM   : Format Matrix Market
            CSR  : Format Compressed Sparse Row(CSR)
            BSR  : Format Blocked CSR

DUMPEXIT =  Tamatkan program sejurus selepas dump matriks            (YES/NO)(lalai: NO)

MPCMETHOD = Kaedah pemprosesan kekangan berbilang titik (1、3)
            1: Kaedah penalti (lalai apabila menggunakan kaedah langsung)
            3: Penghapusan darjah kebebasan eksplisit (lalai apabila menggunakan kaedah lelaran)
            Kaedah MPC-CG (2) telah dibuang. Jika 2 ditetapkan, amaran dikeluarkan dan kaedah lalai digunakan.

ESTCOND =   Kekerapan anggaran nombor keadaan (eksperimen)
            Anggarkan nombor keadaan pada setiap sela lelaran yang ditentukan dan pada akhir lelaran
            Jika 0 ditentukan, anggaran tidak dilakukan

RECOMPUTE_RESIDUAL = Kekerapan pengiraan semula vektor residu
            Sah hanya apabila METHOD ditetapkan kepada CG, BiCGSTAB, GPBiCG atau PipeCG
            Kaedah lelaran mengemas kini vektor residu dengan hubungan rekursif, menyebabkan ralat pembundaran terkumpul
            Pada setiap sela lelaran yang ditetapkan, vektor residu dikira semula daripada {b}-[A]{x}
            Jika 0 ditetapkan, nilai lalai bagi setiap kaedah digunakan (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
            Jika nilai negatif ditetapkan, pengiraan semula berkala tidak dilakukan
            Pengiraan semula untuk pengesahan apabila kriteria penumpuan dipenuhi sentiasa dilakukan tanpa mengira tetapan ini
            Jika tempoh terlalu pendek, bukan sahaja bilangan hasil darab matriks-vektor meningkat
            malah penumpuan itu sendiri boleh merosot atau gagal dicapai
            Jika nilai lalai diubah, semak sejarah penumpuan dan residu relatif akhir

METHOD2 =   Kaedah penyelesaian kedua (BiCGSTAB、GMRES、GPBiCG) (eksperimen)
            Sah hanya apabila CG ditentukan untuk METHOD
            Jika kaedah CG mencapah, beralih secara automatik dan meneruskan penyelesaian
            Nilai yang sama digunakan untuk parameter lain dan baris data

CONTACT_ELIM = Menentukan sama ada penghapusan darjah kebebasan dilakukan dalam analisis sentuhan (0,1)
               0: Lakukan penghapusan darjah kebebasan hanya apabila menggunakan kaedah lelaran (lalai)
               1: Sentiasa lakukan penghapusan darjah kebebasan (termasuk apabila menggunakan kaedah langsung)

** Baris kedua dan seterusnya **

(Baris kedua) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Pemboleh ubah Atribut Keterangan
NITER I Bilangan lelaran (lalai: 100)
iterPREmax I Bilangan lelaran prapensyaratan Additive Schwarz (lalai: 1)
(nilai disyorkan ialah 1; 2 mungkin berkesan dalam pengiraan selari)
NREST I Bilangan subruang Krylov (lalai: 10)
(sah hanya apabila GMRES dipilih sebagai kaedah penyelesaian)
NCOLOR_IN I Bilangan warna sasaran bagi penyusunan berbilang warna (lalai: 10)
(sah hanya apabila bilangan benang OpenMP ialah 2 atau lebih)
RECYCLEPRE I Bilangan kali maklumat persediaan prapensyarat digunakan semula (lalai: 3)
(sah hanya dalam analisis tak linear)
(Baris ketiga) RESID, SIGMA_DIAG, SIGMA
Pemboleh ubah Atribut Keterangan
RESID R Toleransi penumpuan (lalai: 1.0e-8)
SIGMA_DIAG R Faktor yang dikenakan pada unsur pepenjuru semasa mengira matriks prapensyaratan (lalai: 1.0)
(jika pembahagian dengan sifar atau pencapahan berlaku dengan prapensyaratan ILU, nilai lebih besar daripada 1.0 mungkin membolehkan masalah diselesaikan)
SIGMA R Tidak digunakan (lalai: 0.0)

Apabila PRECOND=5 (pilihan)

Jika PRECOND ditetapkan kepada nilai selain 5 atau 22, baris keempat diabaikan.

(Baris keempat) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Pemboleh ubah Atribut Keterangan
ML_CoarseSolver I Penyelesai grid kasar ML (1: gunakan pelicin, 2: KLU (kaedah langsung bersiri), 3: MUMPS (kaedah langsung selari)) (lalai: 1)
(disyorkan: 3 atau 2 untuk masalah sukar, 1 untuk masalah biasa)
ML_Smoother I Pelicin ML (1: Chebyshev、2: SymBlockGaussSeidel、3: Jacobi) (lalai: 1)
(disyorkan: 1)
ML_MGCycle I Kitaran multigrid ML (1: V-cycle、2: W-cycle、3: Full-V-cycle) (lalai: 1)
(disyorkan: 2 untuk masalah sukar, 1 untuk masalah biasa)
ML_MaxLevels I Bilangan aras maksimum ML (lalai: 10)
(untuk masalah yang sangat sukar, gunakan penyelesai grid kasar langsung dan 2 aras (3 jika memori tidak mencukupi); untuk masalah biasa, 10)
ML_CoarseningScheme I Skema pengasaran ML (1: UncoupledMIS、2: METIS、4: Zoltan、5: DD) (lalai: 1)
(disyorkan: 1 atau 5)
ML_NumSweep I Bilangan sweep pelicin ML (darjah polinomial bagi Chebyshev) (lalai: 2)
(disyorkan: 2 untuk Chebyshev, 1 untuk SymBlockGaussSeidel)

Apabila PRECOND=22 (pilihan)

Jika PRECOND ditetapkan kepada nilai selain 22, baris kelima diabaikan. Baris keempat dan kelima boleh ditinggalkan sepenuhnya, dan item di hujung setiap baris juga boleh ditinggalkan. Nilai lalai digunakan untuk mana-mana item yang ditetapkan kepada 0.

Item 1 hingga 7 pada baris keempat disusun dalam tertib yang sama dengan baris pilihan PRECOND=5 (ML), maka baris pilihan ML boleh digunakan semula tanpa perubahan. Item 8 hingga 10 adalah khusus untuk SA-AMG.

(Baris keempat) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (tidak digunakan), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (tidak digunakan)
Pemboleh ubah Atribut Keterangan
SA_CoarseSolver I Penyelesai grid kasar (0: automatik, 1: gunakan pelicin, 2: kaedah langsung matriks padat, 3: MUMPS (kaedah langsung selari)) (lalai: 0)
(Dalam mod automatik, MUMPS digunakan dalam binaan yang mengaktifkan MUMPS; jika tidak, kaedah langsung matriks padat digunakan)
SA_Smoother I Pelicin (0, 1: Chebyshev) (lalai: 0)
(Hanya Chebyshev disokong. Jika nilai lain ditentukan, amaran dikeluarkan dan Chebyshev digunakan)
SA_MGCycle I Kitaran multigrid (0: lalai (W-cycle), 1: V-cycle, 2: W-cycle) (lalai: 0)
(Full-V-cycle tidak disokong)
SA_MaxLevels I Bilangan aras maksimum (lalai: 20)
(tidak digunakan) I Kedudukan yang sepadan dengan skema pengasaran ML. Oleh sebab SA-AMG sentiasa menggunakan agregasi tidak berangkai, nilai selain 0 menghasilkan amaran dan diabaikan
SA_ChebyDegree I Darjah polinomial pelicin Chebyshev (lalai: 2)
SA_CoarseSize I Saiz pemotongan grid kasar (lalai: 50000 apabila MUMPS digunakan sebagai penyelesai grid kasar; selainnya 100)
SA_MaxAggSize I Saiz agregat maksimum (lalai: 96)
SA_GalerkinLowMem I Kaedah pengiraan matriks grid kasar (0: biasa (mengutamakan kelajuan), nilai positif: penjimatan memori) (lalai: 0)
(Tentukan nilai positif jika memori tidak mencukupi semasa persediaan)
(tidak digunakan) I Dikhaskan untuk pengembangan masa hadapan

Baris kelima adalah khusus untuk SA-AMG dan tidak dibaca oleh ML.

(Baris kelima) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
Pemboleh ubah Atribut Keterangan
SA_Theta R Ambang untuk menentukan sambungan kuat (lalai: 0.0)
(Pada 0.0, struktur bukan sifar matriks digunakan secara langsung sebagai graf)
SA_ChebyAlpha R Nisbah yang menentukan had bawah julat nilai eigen yang disasarkan oleh pelicin Chebyshev (lalai: 20.0)
SA_Safety R Faktor keselamatan yang digunakan pada anggaran nilai eigen maksimum (lalai: 1.1)
SA_TaperK R Pekali K bagi penirusan pengasaran (lalai: 100)
(Mulai aras 2, pengasaran dibuat lebih beransur-ansur supaya sekurang-kurangnya kira-kira K agregat kekal. Nilai negatif melumpuhkan penirusan)
SA_AggOrder R Tertib penelusuran agregasi (0: lalai (tertib BFS), 1: tertib BFS, 2: tertib hash nombor nod (eksperimen), 3: tertib darjah menaik (eksperimen), 4: tertib darjah menurun (eksperimen), nilai negatif: tertib nombor nod) (lalai: 0)
SA_MinAggSize R Saiz agregat minimum (lalai: 3)
SA_Verify R Sama ada menjalankan semakan kendiri semasa persediaan (0: tidak, nilai positif: ya) (lalai: 0) (terutamanya untuk penyahpepijatan)
SA_DumpVTK R Sama ada mengeluarkan agregasi pada aras tertinggi dalam format VTK (0: tiada keluaran, nilai positif: keluaran) (lalai: 0) (terutamanya untuk penyahpepijatan)

Contoh penggunaan

Gunakan CG dengan prapensyaratan SSOR dan tetapkan bilangan lelaran maksimum kepada 10000 serta toleransi penumpuan kepada 1.0e-8

!SOLVER, METHOD=CG, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

Gunakan GMRES dengan prapensyaratan SSOR dan tetapkan bilangan subruang Krylov kepada 40 serta bilangan warna sasaran penyusunan berbilang warna kepada 100

!SOLVER, METHOD=GMRES, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1, 40, 100
  1.0e-8, 1.0, 0.0

Gunakan CG dengan prapensyaratan ILU(0) dan tetapkan faktor pada unsur pepenjuru semasa pengiraan matriks prapensyaratan kepada 1.1

!SOLVER, METHOD=CG, PRECOND=10, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.1, 0.0

Gunakan AMG oleh ML sebagai prapensyarat CG

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

Gunakan AMG oleh ML sebagai prapensyarat CG dan MUMPS sebagai penyelesai grid kasar (untuk masalah sukar)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

Gunakan AMG oleh ML sebagai prapensyarat CG dan W-cycle sebagai kitaran multigrid (untuk masalah sukar)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  1, 1, 2

Gunakan AMG oleh ML sebagai prapensyarat CG, MUMPS sebagai penyelesai grid kasar dan tetapkan bilangan aras maksimum kepada 2 (untuk masalah yang sangat sukar)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2

Gunakan SA-AMG terbina dalam HEC-MW sebagai prapensyarat CG

!SOLVER, METHOD=CG, PRECOND=22, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

Gunakan SA-AMG sebagai prapensyarat CG dan MUMPS sebagai penyelesai grid kasar

!SOLVER, METHOD=CG, PRECOND=22, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

Bagi analisis sentuhan bergeseran, gunakan BiCGSTAB dengan prapensyaratan SA-AMG dan keluarkan hierarki prapensyarat AMG

!SOLVER, METHOD=BiCGSTAB, PRECOND=22, ITERLOG=YES, TIMELOG=YES, LOGLEVEL=1
  10000, 1
  1.0e-8, 1.0, 0.0