!SOLVER¶
સોલ્વર નિયંત્રણ
આવશ્યક નિયંત્રણ ડેટા.
પરિમાણો¶
METHOD = ઉકેલ પદ્ધતિ (CG、BiCGSTAB、GMRES、GPBiCG、CR、DIRECT、DIRECTmkl、MUMPS)
DIRECT : સંપર્ક વિશ્લેષણ સિવાય માટેની સીધી પદ્ધતિ (ફક્ત ક્રમિક પ્રક્રિયા) (હાલમાં ઉપયોગ અસમર્થ)
DIRECTmkl : Intel MKL દ્વારા સીધી પદ્ધતિ
MUMPS : MUMPS દ્વારા સીધી પદ્ધતિ
સીધી પદ્ધતિ પસંદ થાય ત્યારે ડેટા પંક્તિઓ અવગણાય છે.
3 સ્વતંત્રતા અંશ માટેની પુનરાવર્તક પદ્ધતિમાં OpenMP થ્રેડ સમાંતરતા વાપરી શકાય છે
PRECOND = પુનરાવર્તક પદ્ધતિની પૂર્વશરતીકરણ પદ્ધતિ (1、2、3、5、10、11、12、22)
1, 2 : (Block) SSOR (ફક્ત 3 સ્વતંત્રતા અંશ માટે બહુ-રંગી ક્રમબદ્ધતા સાથે)
3 : (Block) Diagonal Scaling
5 : મલ્ટિગ્રિડ પૂર્વશરતીકરણ પેકેજ ML દ્વારા AMG
10 : Block ILU(0)
11 : Block ILU(1)
12 : Block ILU(2)
22 : HEC-MWમાં અંતર્નિર્મિત SA-AMG (Smoothed Aggregation AMG) વાપરતી AMG પદ્ધતિ
10、11、12 ફક્ત 3 સ્વતંત્રતા અંશની સમસ્યાઓમાં વાપરી શકાય છે
22 માત્ર LAPACK સક્રિય કરેલા બિલ્ડમાં ઉપલબ્ધ છે
OpenMP થ્રેડ સમાંતરતા માટે SSOR, Diagonal Scaling, ML અથવા SA-AMG ની ભલામણ થાય છે
ITERLOG = પુનરાવર્તક સોલ્વરના અભિસરણ ઇતિહાસ આઉટપુટ કરવો કે નહીં (YES/NO)(ડિફૉલ્ટ: NO)
TIMELOG = સોલ્વર ગણતરી સમય આઉટપુટ કરવો કે નહીં (YES/NO/VERBOSE)(ડિફૉલ્ટ: NO)
LOGLEVEL = પૂર્વશરતીકારક નિદાન માહિતીનું આઉટપુટ સ્તર (પૂર્ણાંક)(ડિફૉલ્ટ: આઉટપુટ નહીં)
ITERLOG અને TIMELOGથી સ્વતંત્ર રીતે નિર્દિષ્ટ થાય છે
1 અથવા વધુ હોય ત્યારે AMG પૂર્વશરતીકારકોની (PRECOND=5,22) સ્તરરચના અને અન્ય માહિતી આઉટપુટ થાય છે
2 અથવા વધુ હોય ત્યારે વધુ વિગતવાર માહિતી (જેમ કે સ્મૃતિ વપરાશ) આઉટપુટ થાય છે
USEJAD = વેક્ટર મશીન માટે ક્રમબદ્ધતા કરવું કે નહીં (YES/NO)(ડિફૉલ્ટ: NO)
ફક્ત 3 સ્વતંત્રતા અંશની સમસ્યામાં પુનરાવર્તક પદ્ધતિ વાપરતી વખતે માન્ય
SCALING = મેટ્રિક્સના વિકર્ણ ઘટકોને 1 કરતું માપન કરવું કે નહીં (YES/NO)(ડિફૉલ્ટ: NO)
ફક્ત 3 સ્વતંત્રતા અંશની સમસ્યામાં પુનરાવર્તક પદ્ધતિ વાપરતી વખતે માન્ય
DUMPTYPE = મેટ્રિક્સ ડમ્પ ફોર્મેટ(NONE、MM、CSR、BSR) (મુખ્યત્વે દોષનિદાન માટે)
NONE : ડમ્પ ન કરવું(ડિફૉલ્ટ)
MM : Matrix Market ફોર્મેટ
CSR : Compressed Sparse Row(CSR)ફોર્મેટ
BSR : Blocked CSRફોર્મેટ
DUMPEXIT = મેટ્રિક્સ ડમ્પ પછી તરત પ્રોગ્રામ સમાપ્ત કરવો (YES/NO)(ડિફૉલ્ટ: NO)
MPCMETHOD = બહુ-બિંદુ નિયંત્રણ શરતોની પ્રક્રિયા પદ્ધતિ(1、3)
1: પેનલ્ટી પદ્ધતિ(સીધી પદ્ધતિ વાપરતી વખતે ડિફૉલ્ટ)
3: સ્પષ્ટ સ્વતંત્રતા-અંશ ઉચ્છેદન પદ્ધતિ(પુનરાવર્તક પદ્ધતિ વાપરતી વખતે ડિફૉલ્ટ)
અગાઉ પસંદ કરી શકાતી MPC-CG પદ્ધતિ દૂર કરવામાં આવી છે; 2 નિર્દિષ્ટ કરવાથી ચેતવણી આપવામાં આવે છે અને સંબંધિત મૂળભૂત પદ્ધતિ વપરાય છે.
ESTCOND = શરત અંક આકલનની આવર્તનતા (પ્રાયોગિક)
નિર્દિષ્ટ પુનરાવર્તનોએ અને પુનરાવર્તન અંતે શરત અંકનો અંદાજ કરવામાં આવે છે
0 હોય તો અંદાજ કરવામાં આવતો નથી
RECOMPUTE_RESIDUAL = અવશેષ વેક્ટરને ફરી ગણવાની આવર્તનતા
METHOD માં CG, BiCGSTAB, GPBiCG અથવા PipeCG આપેલ હોય ત્યારે જ માન્ય
પુનરાવર્તિત પદ્ધતિ અવશેષ વેક્ટરને પુનરાવર્તન સંબંધથી સુધારે છે, તેથી ગોળીકરણ ભૂલો એકઠી થાય છે
નિર્દિષ્ટ દરેક પુનરાવર્તન પર અવશેષ વેક્ટર {b}-[A]{x} માંથી ફરી ગણાય છે
0 હોય તો દરેક ઉકેલ પદ્ધતિનું ડિફૉલ્ટ મૂલ્ય (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50) વપરાય છે
ઋણ મૂલ્ય આપેલ હોય તો આવર્તક પુનર્ગણતરી કરવામાં આવતી નથી
અભિસરણ માપદંડ પૂર્ણ થાય ત્યારે ચકાસણી માટેની પુનર્ગણતરી આ નિર્દેશથી સ્વતંત્ર રીતે હંમેશા કરવામાં આવે છે
આવર્તન ખૂબ ટૂંકું રાખવાથી મેટ્રિક્સ-વેક્ટર ગુણાકારની સંખ્યા વધે છે એટલું જ નહીં
અભિસરણક્ષમતા પોતે ખરાબ થઈ શકે છે અથવા અભિસરણ ન પણ થાય
ડિફૉલ્ટ મૂલ્યથી બદલ્યું હોય તો અભિસરણ ઇતિહાસ અને અંતિમ સાપેક્ષ અવશેષ તપાસો
METHOD2 = ઉકેલ પદ્ધતિ 2 (BiCGSTAB、GMRES、GPBiCG) (પ્રાયોગિક)
METHOD માં CG નિર્દિષ્ટ હોય ત્યારે જ માન્ય
CG પદ્ધતિ અપસરે તો આપમેળે સ્વિચ કરીને ઉકેલ કરે છે
અન્ય પરિમાણો અને ડેટા પંક્તિની માહિતી એ જ વપરાય છે
CONTACT_ELIM = સંપર્ક વિશ્લેષણમાં સ્વતંત્રતા-અંશ ઉચ્છેદન કરવું કે નહીં તેનો નિર્દેશ (0,1)
0: ફક્ત પુનરાવર્તક પદ્ધતિ વખતે સ્વતંત્રતા-અંશ ઉચ્છેદન કરે છે(ડિફૉલ્ટ)
1: હંમેશા (સીધી પદ્ધતિ વખતે પણ) સ્વતંત્રતા-અંશ ઉચ્છેદન કરે છે
** બીજી પંક્તિથી આગળ **
| ચલનું નામ | ગુણધર્મ | વર્ણન |
|---|---|---|
| NITER | I | પુનરાવર્તનોની સંખ્યા(ડિફૉલ્ટ: 100) |
| iterPREmax | I | Additive Schwarz પૂર્વશરતીકરણના પુનરાવર્તનોની સંખ્યા(ડિફૉલ્ટ: 1) (ભલામણ કરેલું મૂલ્ય 1 છે (સમાંતર ગણતરીમાં 2 અસરકારક હોઈ શકે છે)) |
| NREST | I | Krylov ઉપઅવકાશનું કદ(ડિફૉલ્ટ: 10) (ઉકેલ પદ્ધતિ તરીકે GMRES પસંદ હોય ત્યારે જ માન્ય) |
| NCOLOR_IN | I | બહુ-રંગી ક્રમબદ્ધતામાં લક્ષ્ય રંગોની સંખ્યા(ડિફૉલ્ટ: 10) (OpenMP થ્રેડોની સંખ્યા 2 અથવા વધુ હોય ત્યારે જ માન્ય) |
| RECYCLEPRE | I | પૂર્વશરતીકરણ સેટઅપ માહિતીના પુનઃઉપયોગોની સંખ્યા(ડિફૉલ્ટ: 3) (ફક્ત અરેખીય વિશ્લેષણમાં માન્ય) |
| ચલનું નામ | ગુણધર્મ | વર્ણન |
|---|---|---|
| RESID | R | સમાપ્તિ સહનશક્તિ(ડિફૉલ્ટ મૂલ્ય: 1.0e-8) |
| SIGMA_DIAG | R | પૂર્વશરતીકરણ મેટ્રિક્સ ગણતી વખતે વિકર્ણ ઘટક પર લાગુ ગુણક(ડિફૉલ્ટ મૂલ્ય: 1.0) (ILU પૂર્વશરતીકરણમાં શૂન્યથી ભાગાકાર અથવા અપસરણ થાય તો 1.0 કરતાં મોટું મૂલ્ય સમસ્યા ઉકેલી શકે છે) |
| SIGMA | R | ઉપયોગમાં નથી(ડિફૉલ્ટ મૂલ્ય: 0.0) |
PRECOND=5 ના કિસ્સામાં(વૈકલ્પિક)¶
PRECOND માટે 5 અથવા 22 સિવાયનું મૂલ્ય આપેલ હોય તો ચોથી પંક્તિ અવગણાય છે.
(ચોથી પંક્તિ) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
| ચલનું નામ | ગુણધર્મ | વર્ણન |
|---|---|---|
| ML_CoarseSolver | I | ML સ્થૂલ-ગ્રીડ સોલ્વર(1: સમશીતકથી બદલી શકાય、2: KLU(ક્રમિક સીધી પદ્ધતિ)、3: MUMPS(સમાંતર સીધી પદ્ધતિ))(ડિફૉલ્ટ મૂલ્ય: 1) (મુશ્કેલ સમસ્યાઓ માટે 3 અથવા 2 અને સામાન્ય સમસ્યાઓ માટે 1 ભલામણ કરાયેલ છે) |
| ML_Smoother | I | ML સમશીતક(1: Chebyshev、2: SymBlockGaussSeidel、3: Jacobi)(ડિફૉલ્ટ મૂલ્ય: 1) (ભલામણ કરેલું મૂલ્ય 1 છે) |
| ML_MGCycle | I | ML બહુગ્રીડ ચક્ર(1: V-cycle、2: W-cycle、3: Full-V-cycle)(ડિફૉલ્ટ મૂલ્ય: 1) (મુશ્કેલ સમસ્યાઓ માટે 2 અને સામાન્ય સમસ્યાઓ માટે 1 ભલામણ કરાયેલ છે) |
| ML_MaxLevels | I | ML ના મહત્તમ સ્તરોની સંખ્યા(ડિફૉલ્ટ મૂલ્ય: 10) (ખાસ મુશ્કેલ સમસ્યાઓમાં સ્થૂલ-ગ્રીડ સોલ્વરને સીધી પદ્ધતિ રાખીને 2 (મેમરી અપૂરતી હોય તો 3), અને સામાન્ય સમસ્યાઓમાં 10 ભલામણ કરાયેલ છે) |
| ML_CoarseningScheme | I | ML સ્થૂલીકરણ યોજના(1: UncoupledMIS、2: METIS、4: Zoltan、5: DD)(ડિફૉલ્ટ મૂલ્ય: 1) (ભલામણ કરેલું મૂલ્ય 1 અથવા 5 છે) |
| ML_NumSweep | I | ML સમશીતકના ફેરાની સંખ્યા(Chebyshev માટે બહુપદીનો ક્રમ)(ડિફૉલ્ટ મૂલ્ય: 2) (Chebyshev માટે 2 અને SymBlockGaussSeidel માટે 1 ભલામણ કરાયેલ છે) |
PRECOND=22 ના કિસ્સામાં (વૈકલ્પિક)¶
PRECOND માટે 22 સિવાયનું મૂલ્ય આપેલ હોય તો પાંચમી પંક્તિ અવગણાય છે. ચોથી પંક્તિ અને પાંચમી પંક્તિ બંને સંપૂર્ણપણે છોડી શકાય છે અને દરેક લાઇનના અંતિમ આઇટમો પણ છોડી શકાય છે. 0 આપેલા આઇટમ માટે ડિફૉલ્ટ મૂલ્ય વપરાય છે.
ચોથી પંક્તિના આઇટમ 1થી 7 PRECOND=5 (ML)ની વિકલ્પ લાઇનના સમાન ક્રમમાં છે; તેથી ML વિકલ્પ લાઇનને યથાવત્ ફરી વાપરી શકાય છે. આઇટમ 8થી 10 SA-AMG માટે વિશિષ્ટ છે.
(ચોથી પંક્તિ) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (વપરાતું નથી), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (વપરાતું નથી)
| ચલનું નામ | ગુણધર્મ | વર્ણન |
|---|---|---|
| SA_CoarseSolver | I | સ્થૂલ-ગ્રીડ સોલ્વર (0: સ્વચાલિત, 1: સમશીતકનો ઉપયોગ, 2: સઘન મેટ્રિક્સ સીધી પદ્ધતિ, 3: MUMPS (સમાંતર સીધી પદ્ધતિ)) (ડિફૉલ્ટ: 0) (સ્વચાલિત સ્થિતિમાં MUMPS સક્રિય કરેલા બિલ્ડમાં MUMPS, અન્યથા સઘન મેટ્રિક્સ સીધી પદ્ધતિ વપરાય છે) |
| SA_Smoother | I | સમશીતક (0 અથવા 1: Chebyshev) (ડિફૉલ્ટ: 0) (માત્ર Chebyshev સમર્થિત છે. બીજું મૂલ્ય આપવાથી ચેતવણી આપી Chebyshev વપરાય છે) |
| SA_MGCycle | I | બહુગ્રીડ ચક્ર (0: ડિફૉલ્ટ (W-cycle), 1: V-cycle, 2: W-cycle) (ડિફૉલ્ટ: 0) (Full-V-cycle સમર્થિત નથી) |
| SA_MaxLevels | I | મહત્તમ સ્તરોની સંખ્યા (ડિફૉલ્ટ: 20) |
| (વપરાતું નથી) | I | ML સ્થૂલીકરણ યોજનાને અનુરૂપ સ્થાન. SA-AMG હંમેશા અયુગ્મિત સમૂહીકરણ વાપરે છે, તેથી 0 સિવાયનું મૂલ્ય ચેતવણી ઉત્પન્ન કરીને અવગણાય છે |
| SA_ChebyDegree | I | Chebyshev સમશીતકના બહુપદીની ઘાત (ડિફૉલ્ટ: 2) |
| SA_CoarseSize | I | સ્થૂલ-ગ્રીડ સમાપ્તિ કદ (ડિફૉલ્ટ: સ્થૂલ-ગ્રીડ સોલ્વર તરીકે MUMPS વપરાય તો 50000, અન્યથા 100) |
| SA_MaxAggSize | I | સમૂહનું મહત્તમ કદ (ડિફૉલ્ટ: 96) |
| SA_GalerkinLowMem | I | સ્થૂલ-ગ્રીડ મેટ્રિક્સ ગણતરી પદ્ધતિ (0: સામાન્ય (વેગને પ્રાથમિકતા), ધન મૂલ્ય: સ્મૃતિ-બચત) (ડિફૉલ્ટ: 0) (સેટઅપ સમયે સ્મૃતિ અપૂરતી હોય તો ધન મૂલ્ય આપો) |
| (વપરાતું નથી) | I | ભાવિ વિસ્તરણો માટે અનામત |
પાંચમી પંક્તિ SA-AMG માટે વિશિષ્ટ છે અને ML તેને વાંચતું નથી.
(પાંચમી પંક્તિ) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
| ચલનું નામ | ગુણધર્મ | વર્ણન |
|---|---|---|
| SA_Theta | R | મજબૂત જોડાણ નક્કી કરવાની સીમા (ડિફૉલ્ટ: 0.0) (0.0 પર મેટ્રિક્સની શૂન્યેતર રચના સીધી ગ્રાફ તરીકે વપરાય છે) |
| SA_ChebyAlpha | R | Chebyshev સમશીતકના લક્ષ્ય સ્વમૂલ્ય અંતરાલની નીચલી સીમા નક્કી કરતું ગુણોત્તર (ડિફૉલ્ટ: 20.0) |
| SA_Safety | R | મહત્તમ સ્વમૂલ્યના અંદાજ પર લાગુ સુરક્ષા ગુણક (ડિફૉલ્ટ: 1.1) |
| SA_TaperK | R | સ્થૂલીકરણ ટેપર ગુણક K (ડિફૉલ્ટ: 100) (સ્તર 2થી ઓછામાં ઓછા આશરે K સમૂહો બાકી રહે તે રીતે સ્થૂલીકરણ વધુ ક્રમિક બનાવાય છે. ઋણ મૂલ્ય ટેપરને નિષ્ક્રિય કરે છે) |
| SA_AggOrder | R | સમૂહીકરણ સ્કેન ક્રમ (0: ડિફૉલ્ટ (BFS ક્રમ), 1: BFS ક્રમ, 2: નોડ સંખ્યાઓનો હૅશ ક્રમ (પ્રયોગાત્મક), 3: ડિગ્રીનો ચડતો ક્રમ (પ્રયોગાત્મક), 4: ડિગ્રીનો ઊતરતો ક્રમ (પ્રયોગાત્મક), ઋણ મૂલ્ય: નોડ-સંખ્યા ક્રમ) (ડિફૉલ્ટ: 0) |
| SA_MinAggSize | R | સમૂહનું લઘુત્તમ કદ (ડિફૉલ્ટ: 3) |
| SA_Verify | R | સેટઅપ સમયે સ્વ-ચકાસણી કરવી કે નહીં (0: નહીં, ધન મૂલ્ય: હા) (ડિફૉલ્ટ: 0) (મુખ્યત્વે ડીબગિંગ માટે) |
| SA_DumpVTK | R | સર્વોચ્ચ સ્તરનું સમૂહીકરણ VTK તરીકે આઉટપુટ કરવું કે નહીં (0: આઉટપુટ નહીં, ધન મૂલ્ય: આઉટપુટ) (ડિફૉલ્ટ: 0) (મુખ્યત્વે ડીબગિંગ માટે) |
ઉપયોગનું ઉદાહરણ¶
SSOR પૂર્વશરતીકરણ સાથે CG પદ્ધતિ વાપરો, મહત્તમ પુનરાવર્તન સંખ્યા 10000 અને સમાપ્તિ સહનશક્તિ 1.0e-8 ગોઠવો.
SSOR પૂર્વશરતીકરણ સાથે GMRES પદ્ધતિ વાપરો, Krylov ઉપઅવકાશનું કદ 40 અને બહુ-રંગ ક્રમન માટે લક્ષ્ય રંગોની સંખ્યા 100 ગોઠવો.
ILU(0) પૂર્વશરતીકરણ સાથે CG પદ્ધતિ વાપરો અને પૂર્વશરતીકરણ મેટ્રિક્સ ગણતી વખતે વિકર્ણ ઘટક પર લાગુ ગુણક 1.1 ગોઠવો.
CG પદ્ધતિનું પૂર્વશરતીકરણ ML આધારિત AMG રાખો
CG પદ્ધતિનું પૂર્વશરતીકરણ ML આધારિત AMG અને સ્થૂલ-ગ્રીડ સોલ્વર MUMPS રાખો (મુશ્કેલ સમસ્યાઓ માટે)
CG પદ્ધતિનું પૂર્વશરતીકરણ ML આધારિત AMG અને બહુગ્રીડ ચક્ર W-cycle રાખો (મુશ્કેલ સમસ્યાઓ માટે)
CG પદ્ધતિનું પૂર્વશરતીકરણ ML આધારિત AMG, સ્થૂલ-ગ્રીડ સોલ્વર MUMPS અને મહત્તમ સ્તર 2 રાખો (અત્યંત મુશ્કેલ સમસ્યાઓ માટે)
CG માટે પૂર્વશરતીકારક તરીકે HEC-MWમાં અંતર્નિર્મિત SA-AMG વાપરો
CG માટે પૂર્વશરતીકારક તરીકે SA-AMG અને સ્થૂલ-ગ્રીડ સોલ્વર તરીકે MUMPS વાપરો
ઘર્ષણ સંપર્ક વિશ્લેષણમાં SA-AMG પૂર્વશરતીકરણ સાથે BiCGSTAB વાપરો અને AMG પૂર્વશરતીકારકની સ્તરરચના આઉટપુટ કરો