কনটেন্টে যান

!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 থেকে **

(লাইন 2) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
চলকের নাম ধরন বিষয়বস্তু
NITER I পুনরাবৃত্তির সংখ্যা (ডিফল্ট: 100)
iterPREmax I Additive Schwarz-ভিত্তিক প্রিকন্ডিশনিংয়ের পুনরাবৃত্তির সংখ্যা (ডিফল্ট: 1)
(সুপারিশকৃত মান 1; সমান্তরাল গণনায় কখনও 2 কার্যকর হতে পারে)
NREST I Krylov উপস্থান সংখ্যা (ডিফল্ট: 10)
(সমাধান পদ্ধতি হিসেবে GMRES নির্বাচন করলে শুধু কার্যকর)
NCOLOR_IN I বহুরঙ ক্রমবিন্যাসে লক্ষ্য রঙের সংখ্যা (ডিফল্ট: 10)
(OpenMP থ্রেডের সংখ্যা 2 বা বেশি হলে শুধু কার্যকর)
RECYCLEPRE I প্রিকন্ডিশনিং সেটআপ তথ্য পুনর্ব্যবহারের সংখ্যা (ডিফল্ট: 3)
(শুধু অরৈখিক বিশ্লেষণে কার্যকর)
(লাইন 3) RESID, SIGMA_DIAG, SIGMA
চলকের নাম ধরন বিষয়বস্তু
RESID R সমাপ্তি ত্রুটি (ডিফল্ট মান: 1.0e-8)
SIGMA_DIAG R প্রিকন্ডিশনিং ম্যাট্রিক্স গণনার সময় কর্ণীয় উপাদানে প্রয়োগ করা গুণক (ডিফল্ট মান: 1.0)
(ILU প্রিকন্ডিশনিংয়ে শূন্য দিয়ে ভাগ বা বিচ্যুতি ঘটলে 1.0-এর চেয়ে বড় মান দিলে কখনও সমাধান সম্ভব হয়)
SIGMA R অব্যবহৃত (ডিফল্ট মান: 0.0)

PRECOND=5 হলে (ঐচ্ছিক)

PRECOND-এ 5 বা 22 ছাড়া অন্য মান নির্ধারিত হলে লাইন 4 উপেক্ষা করা হয়।

(লাইন 4) 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 ছাড়া অন্য মান নির্ধারিত হলে লাইন 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 নির্ধারণ করা

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

SSOR প্রিকন্ডিশনিংসহ GMRES পদ্ধতি ব্যবহার করে Krylov উপস্থান সংখ্যা 40 এবং বহুরঙ ক্রমবিন্যাসের লক্ষ্য রঙের সংখ্যা 100 নির্ধারণ করা

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

ILU(0) প্রিকন্ডিশনিংসহ CG পদ্ধতি ব্যবহার করে প্রিকন্ডিশনিং ম্যাট্রিক্স গণনার সময় কর্ণীয় উপাদানে প্রয়োগ করা গুণক 1.1 নির্ধারণ করা

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

CG পদ্ধতির প্রিকন্ডিশনিংকে ML-ভিত্তিক AMG পদ্ধতি করা

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

CG পদ্ধতির প্রিকন্ডিশনিংকে ML-ভিত্তিক AMG পদ্ধতি এবং মোটা-জাল সলভারকে MUMPS করা (কঠিন সমস্যার জন্য)

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

CG পদ্ধতির প্রিকন্ডিশনিংকে ML-ভিত্তিক AMG পদ্ধতি এবং বহুজাল চক্রকে W-cycle করা (কঠিন সমস্যার জন্য)

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

CG পদ্ধতির প্রিকন্ডিশনিংকে ML-ভিত্তিক AMG পদ্ধতি, মোটা-জাল সলভারকে MUMPS এবং সর্বাধিক স্তরের সংখ্যা 2 করা (অত্যন্ত কঠিন সমস্যার জন্য)

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

CG-এর প্রিকন্ডিশনার হিসেবে HEC-MW-তে অন্তর্নির্মিত SA-AMG ব্যবহার করুন

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

CG-এর প্রিকন্ডিশনার হিসেবে SA-AMG এবং মোটা-জাল সলভার হিসেবে MUMPS ব্যবহার করুন

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

ঘর্ষণযুক্ত সংস্পর্শ বিশ্লেষণে SA-AMG প্রিকন্ডিশনিংসহ BiCGSTAB ব্যবহার করুন এবং AMG প্রিকন্ডিশনারের স্তরবিন্যাস আউটপুট করুন

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