!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: সবসময়, অর্থাৎ প্রত্যক্ষ পদ্ধতি ব্যবহার করলেও স্বাধীনতার মাত্রা বিলোপ করা হয়
** লাইন 2 থেকে **
| চলকের নাম | ধরন | বিষয়বস্তু |
|---|---|---|
| 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 ছাড়া অন্য মান নির্ধারিত হলে লাইন 4 উপেক্ষা করা হয়।
| চলকের নাম | ধরন | বিষয়বস্তু |
|---|---|---|
| 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 ছাড়া অন্য মান নির্ধারিত হলে লাইন 5 উপেক্ষা করা হয়। লাইন 4 ও 5 উভয়ই সম্পূর্ণ বাদ দেওয়া যায় এবং প্রতিটি লাইনের শেষের আইটেমগুলোও বাদ দেওয়া যায়। কোনো আইটেমে 0 দিলে তার ডিফল্ট মান ব্যবহৃত হয়।
লাইন 4-এর আইটেম 1 থেকে 7, PRECOND=5 (ML)-এর বিকল্প লাইনের একই ক্রমে সাজানো; তাই ML-এর বিকল্প লাইনটি অপরিবর্তিতভাবে পুনরায় ব্যবহার করা যায়। আইটেম 8 থেকে 10 কেবল SA-AMG-এর জন্য।
(লাইন 4) 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 | ভবিষ্যৎ সম্প্রসারণের জন্য সংরক্ষিত |
লাইন 5 শুধু SA-AMG-এর জন্য এবং ML এটি পড়ে না।
(লাইন 5) 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 প্রিকন্ডিশনারের স্তরবিন্যাস আউটপুট করুন