Kalo te përmbajtja

!SOLVER

Kontrolli i zgjidhësit

Të dhëna kontrolli të detyrueshme.

Parametrat

METHOD =    Metoda e zgjidhjes (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Metodë direkte përveç analizës së kontaktit (vetëm përpunim serial) (aktualisht e padisponueshme)
            DIRECTmkl  : Metodë direkte duke përdorur Intel MKL
            MUMPS      : Metodë direkte duke përdorur MUMPS
            Kur zgjidhet një metodë direkte, rreshtat e të dhënave shpërfillen.
            Metodat iterative për probleme me 3 DOF mbështesin ekzekutim paralel me fije përmes OpenMP

PRECOND =   Metoda e parakushtëzimit për zgjidhësit iterativë (1, 2, 3, 5, 10, 11, 12, 22)
            1, 2       : SSOR (bllok) (me renditje shumëngjyrëshe vetëm për probleme me 3 DOF)
            3          : Shkallëzim diagonal (bllok)
            5          : AMG duke përdorur paketën e parakushtëzimit multigrid ML
            10         : ILU(0) në bllok
            11         : ILU(1) në bllok
            12         : ILU(2) në bllok
            22         : AMG duke përdorur SA-AMG të integruar në HEC-MW (AMG me agregim të zbutur)
            10, 11 dhe 12 janë të disponueshme vetëm për probleme me 3 DOF
            22 është i disponueshëm vetëm në kompilime me LAPACK të aktivizuar
            Për ekzekutim paralel me fije OpenMP rekomandohet SSOR, shkallëzim diagonal, ML ose SA-AMG

ITERLOG =   Nëse do të nxirret historia e konvergjencës së zgjidhësit iterativ          (YES/NO)(Vlera e parazgjedhur: NO)

TIMELOG =   Nëse do të nxirret koha e llogaritjes së zgjidhësit                       (YES/NO/VERBOSE)(Vlera e parazgjedhur: NO)

LOGLEVEL =  Niveli i daljes së informacionit diagnostik të parakushtëzuesit (numër i plotë)(Vlera e parazgjedhur: pa dalje)
            Përcaktohet në mënyrë të pavarur nga ITERLOG dhe TIMELOG
            Me 1 ose më shumë, nxirren ndërtimi i hierarkisë dhe informacione të tjera për parakushtëzuesit AMG (PRECOND=5,22)
            Me 2 ose më shumë, nxirren informacione më të hollësishme (si përdorimi i memories)

USEJAD =    Nëse do të përdoret renditja për procesorë vektorialë                    (YES/NO)(Vlera e parazgjedhur: NO)
            E vlefshme vetëm kur përdoret një metodë iterative për një problem me 3 DOF

SCALING =   Nëse matrica do të shkallëzohet në mënyrë që elementet diagonale të jenë 1       (YES/NO)(Vlera e parazgjedhur: NO)
            E vlefshme vetëm kur përdoret një metodë iterative për një problem me 3 DOF

DUMPTYPE =  Formati i dump-it të matricës (NONE, MM, CSR, BSR) (kryesisht për debug)
            NONE : Mos bëj dump (Vlera e parazgjedhur)
            MM   : Formati Matrix Market
            CSR  : Formati Compressed Sparse Row (CSR)
            BSR  : Formati CSR me blloqe

DUMPEXIT =  Përfundo programin menjëherë pas dump-it të matricës           (YES/NO)(Vlera e parazgjedhur: NO)

MPCMETHOD = Metoda për trajtimin e kufizimeve me shumë pika (1, 3)
            1: Metoda e penalitetit (vlera e parazgjedhur kur përdoret një metodë direkte)
            3: Eliminim eksplicit i DOF (vlera e parazgjedhur kur përdoret një metodë iterative)
            Metoda MPC-CG, që mund të zgjidhej më parë, është hequr; nëse specifikohet 2, shfaqet një paralajmërim dhe përdoret metoda përkatëse e parazgjedhur.

ESTCOND =   Frekuenca e vlerësimit të numrit të kushtëzimit (eksperimentale)
            Vlerëso numrin e kushtëzimit në çdo interval të përcaktuar iteracionesh dhe në fund të iteracioneve
            Nuk bëhet vlerësim kur përcaktohet 0

RECOMPUTE_RESIDUAL = Frekuenca e rillogaritjes së vektorit të mbetjes
            Vlen vetëm kur në METHOD është specifikuar CG, BiCGSTAB, GPBiCG ose PipeCG
            Metodat iterative e përditësojnë vektorin e mbetjes me një relacion rekurent, prandaj grumbullohen gabimet e rrumbullakimit
            Në çdo interval të specifikuar iteracionesh, vektori i mbetjes rillogaritet nga {b}-[A]{x}
            Kur vlera është 0, përdoret vlera e parazgjedhur për secilën metodë (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
            Kur specifikohet një vlerë negative, nuk kryhet rillogaritje periodike
            Rillogaritja për verifikim kur plotësohet kriteri i konvergjencës kryhet gjithmonë, pavarësisht këtij përcaktimi
            Një periudhë tepër e shkurtër jo vetëm që rrit numrin e produkteve matricë-vektor
            por mund të përkeqësojë vetë konvergjencën ose ta pengojë atë
            Nëse ndryshohet vlera e parazgjedhur, kontrolloni historikun e konvergjencës dhe mbetjen relative përfundimtare

METHOD2 =   Metoda e 2-të e zgjidhjes (BiCGSTAB, GMRES, GPBiCG) (eksperimentale)
            E vlefshme vetëm kur për METHOD përcaktohet CG
            Nëse CG divergon, kalon automatikisht te metoda dytësore dhe vazhdon zgjidhjen
            Për parametrat dhe rreshtat e tjerë të të dhënave përdoren të njëjtat vlera

CONTACT_ELIM = Përcakton nëse kryhet eliminim i DOF në analizën e kontaktit (0,1)
               0: Kryej eliminim të DOF vetëm kur përdoret një metodë iterative (vlera e parazgjedhur)
               1: Kryej gjithmonë eliminim të DOF (edhe kur përdoret një metodë direkte)

** Rreshti i 2-të e në vazhdim **

(rreshti i 2-të) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Ndryshorja Atributi Përshkrimi
NITER I Numri i iteracioneve (vlera e parazgjedhur: 100)
iterPREmax I Numri i iteracioneve të parakushtëzimit Additive Schwarz (vlera e parazgjedhur: 1)
(Vlera e rekomanduar: 1; 2 mund të jetë efektive në disa llogaritje paralele)
NREST I Numri i nën-hapësirave Krylov (vlera e parazgjedhur: 10)
(E vlefshme vetëm kur GMRES zgjidhet si metodë zgjidhjeje)
NCOLOR_IN I Numri objektiv i ngjyrave për renditjen shumëngjyrëshe (vlera e parazgjedhur: 10)
(E vlefshme vetëm kur numri i fijeve OpenMP është 2 ose më shumë)
RECYCLEPRE I Numri i herëve që ripërdoret informacioni i konfigurimit të parakushtëzuesit (vlera e parazgjedhur: 3)
(E vlefshme vetëm në analizën jolineare)
(rreshti i 3-të) RESID, SIGMA_DIAG, SIGMA
Ndryshorja Atributi Përshkrimi
RESID R Pragu i konvergjencës (vlera e parazgjedhur: 1.0e-8)
SIGMA_DIAG R Faktori i shkallëzimit që zbatohet në elementet diagonale gjatë llogaritjes së matricës së parakushtëzimit (vlera e parazgjedhur: 1.0)
(Nëse me parakushtëzimin ILU ndodh pjesëtim me zero ose divergjencë, problemi mund të konvergojë kur përcaktohet një vlerë më e madhe se 1.0)
SIGMA R I papërdorur (vlera e parazgjedhur: 0.0)

Kur PRECOND=5 (opsionale)

Nëse PRECOND vendoset në një vlerë tjetër nga 5 ose 22, rreshti i katërt shpërfillet.

(rreshti i 4-t) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Ndryshorja Atributi Përshkrimi
ML_CoarseSolver I Zgjidhësi i rrjetës së trashë për ML (1: përdor lëmuesin, 2: KLU (metodë direkte seriale), 3: MUMPS (metodë direkte paralele)) (vlera e parazgjedhur: 1)
(Rekomandohet: 3 ose 2 për probleme të vështira, 1 për probleme të zakonshme)
ML_Smoother I Lëmuesi i ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (vlera e parazgjedhur: 1)
(Rekomandohet: 1)
ML_MGCycle I Cikli multigrid i ML (1: cikël V, 2: cikël W, 3: cikël Full-V) (vlera e parazgjedhur: 1)
(Rekomandohet: 2 për probleme të vështira, 1 për probleme të zakonshme)
ML_MaxLevels I Numri maksimal i niveleve ML (vlera e parazgjedhur: 10)
(Për probleme veçanërisht të vështira, përdorni një zgjidhës direkt për nivelin e trashë dhe 2 nivele (ose 3 nëse memoria nuk mjafton); për probleme të zakonshme rekomandohet 10)
ML_CoarseningScheme I Skema e trashjes së ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (vlera e parazgjedhur: 1)
(Rekomandohet: 1 ose 5)
ML_NumSweep I Numri i kalimeve të lëmuesit ML (shkalla e polinomit për Chebyshev) (vlera e parazgjedhur: 2)
(Rekomandohet: 2 për Chebyshev, 1 për SymBlockGaussSeidel)

Kur PRECOND=22 (opsionale)

Nëse PRECOND vendoset në një vlerë tjetër nga 22, rreshti i pestë shpërfillet. Rreshti i katërt dhe i pestë mund të hiqen secili plotësisht, dhe mund të hiqen edhe elementet fundore të secilit rresht. Për çdo element të vendosur në 0 përdoret vlera e parazgjedhur.

Elementet 1 deri në 7 të rreshtit të katërt janë renditur në të njëjtën mënyrë si rreshti i opsioneve për PRECOND=5 (ML), prandaj rreshti i opsioneve të ML mund të ripërdoret pa ndryshim. Elementet 8 deri në 10 janë specifike për SA-AMG.

(rreshti i 4-t) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (e papërdorur), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (e papërdorur)
Ndryshorja Atributi Përshkrimi
SA_CoarseSolver I Zgjidhësi i rrjetës së trashë (0: automatik, 1: përdor lëmuesin, 2: metodë direkte me matricë të dendur, 3: MUMPS (metodë direkte paralele)) (Vlera e parazgjedhur: 0)
(Në modalitetin automatik, MUMPS përdoret në kompilimet ku MUMPS është aktivizuar; përndryshe përdoret metoda direkte me matricë të dendur)
SA_Smoother I Lëmuesi (0, 1: Chebyshev) (Vlera e parazgjedhur: 0)
(Mbështetet vetëm Chebyshev. Nëse përcaktohet një vlerë tjetër, jepet një paralajmërim dhe përdoret Chebyshev)
SA_MGCycle I Cikli multigrid (0: parazgjedhja (W-cycle), 1: V-cycle, 2: W-cycle) (Vlera e parazgjedhur: 0)
(Full-V-cycle nuk mbështetet)
SA_MaxLevels I Numri maksimal i niveleve (Vlera e parazgjedhur: 20)
(e papërdorur) I Pozicioni që i korrespondon skemës së trashimit të ML. Meqë SA-AMG përdor gjithmonë agregim të palidhur, një vlerë tjetër nga 0 jep paralajmërim dhe shpërfillet
SA_ChebyDegree I Shkalla e polinomit të lëmuesit Chebyshev (Vlera e parazgjedhur: 2)
SA_CoarseSize I Madhësia kufi e rrjetës së trashë (Vlera e parazgjedhur: 50000 kur MUMPS përdoret si zgjidhës i rrjetës së trashë; përndryshe 100)
SA_MaxAggSize I Madhësia maksimale e agregatit (Vlera e parazgjedhur: 96)
SA_GalerkinLowMem I Metoda e llogaritjes së matricës së rrjetës së trashë (0: normale (i jep përparësi shpejtësisë), vlerë pozitive: kursim memorieje) (Vlera e parazgjedhur: 0)
(Përcaktoni një vlerë pozitive nëse memoria është e pamjaftueshme gjatë konfigurimit)
(e papërdorur) I Rezervuar për zgjerime të ardhshme

Rreshti i pestë është specifik për SA-AMG dhe nuk lexohet nga ML.

(rreshti i 5-të) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
Ndryshorja Atributi Përshkrimi
SA_Theta R Pragu për përcaktimin e lidhjeve të forta (Vlera e parazgjedhur: 0.0)
(Me 0.0, struktura jo zero e matricës përdoret drejtpërdrejt si graf)
SA_ChebyAlpha R Raporti që përcakton kufirin e poshtëm të intervalit të vlerave vetjake që synon lëmuesi Chebyshev (Vlera e parazgjedhur: 20.0)
SA_Safety R Faktori i sigurisë i zbatuar mbi vlerësimin e vlerës vetjake maksimale (Vlera e parazgjedhur: 1.1)
SA_TaperK R Koeficienti K i zbutjes së trashimit (Vlera e parazgjedhur: 100)
(Nga niveli 2 e tutje, trashimi bëhet më gradual që të mbeten të paktën afërsisht K agregate. Një vlerë negative çaktivizon zbutjen e trashimit)
SA_AggOrder R Rendi i përshkimit të agregimit (0: parazgjedhja (rendi BFS), 1: rendi BFS, 2: rendi hash i numrave të nyjeve (eksperimental), 3: rendi rritës i gradës (eksperimental), 4: rendi zbritës i gradës (eksperimental), vlerë negative: rendi i numrave të nyjeve) (Vlera e parazgjedhur: 0)
SA_MinAggSize R Madhësia minimale e agregatit (Vlera e parazgjedhur: 3)
SA_Verify R Nëse do të kryhet vetëkontroll gjatë konfigurimit (0: jo, vlerë pozitive: po) (Vlera e parazgjedhur: 0) (kryesisht për diagnostikim)
SA_DumpVTK R Nëse agregimi i nivelit më të lartë do të nxirret në formatin VTK (0: pa dalje, vlerë pozitive: dalje) (Vlera e parazgjedhur: 0) (kryesisht për diagnostikim)

Shembuj

Përdorni CG me parakushtëzim SSOR dhe vendosni numrin maksimal të iteracioneve në 10000 dhe pragun e konvergjencës në 1.0e-8

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

Përdorni GMRES me parakushtëzim SSOR dhe vendosni numrin e nën-hapësirave Krylov në 40 dhe numrin objektiv të ngjyrave për renditjen shumëngjyrëshe në 100

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

Përdorni CG me parakushtëzim ILU(0) dhe vendosni faktorin e shkallëzimit që zbatohet në elementet diagonale gjatë llogaritjes së matricës së parakushtëzimit në 1.1

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

Përdorni AMG nga ML si parakushtëzues për CG

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

Përdorni AMG nga ML si parakushtëzues për CG dhe MUMPS si zgjidhës të rrjetës së trashë (për probleme të vështira)

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

Përdorni AMG nga ML si parakushtëzues për CG dhe ciklin W si cikël multigrid (për probleme të vështira)

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

Përdorni AMG nga ML si parakushtëzues për CG, MUMPS si zgjidhës të rrjetës së trashë dhe vendosni numrin maksimal të niveleve në 2 (për probleme shumë të vështira)

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

Përdorni SA-AMG të integruar në HEC-MW si parakushtëzues për CG

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

Përdorni SA-AMG si parakushtëzues për CG dhe MUMPS si zgjidhës të rrjetës së trashë

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

Në analizën e kontaktit me fërkim, përdorni BiCGSTAB me parakushtëzim SA-AMG dhe nxirrni hierarkinë e parakushtëzuesit AMG

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