Bỏ qua

!SOLVER

Điều khiển bộ giải

Dữ liệu điều khiển bắt buộc.

Tham số

METHOD =    Phương pháp giải (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Phương pháp trực tiếp ngoại trừ phân tích tiếp xúc (chỉ xử lý tuần tự) (hiện không khả dụng)
            DIRECTmkl  : Phương pháp trực tiếp sử dụng Intel MKL
            MUMPS      : Phương pháp trực tiếp sử dụng MUMPS
            Khi chọn phương pháp trực tiếp, các dòng dữ liệu bị bỏ qua.
            Các phương pháp lặp cho bài toán 3 bậc tự do hỗ trợ thực thi song song theo luồng bằng OpenMP

PRECOND =   Phương pháp tiền điều kiện cho bộ giải lặp (1, 2, 3, 5, 10, 11, 12)
            1, 2       : (Block) SSOR (chỉ có sắp thứ tự đa màu cho bài toán 3 bậc tự do)
            3          : (Block) Diagonal Scaling
            5          : AMG sử dụng gói tiền điều kiện đa lưới ML
            10         : Block ILU(0)
            11         : Block ILU(1)
            12         : Block ILU(2)
            10, 11 và 12 chỉ khả dụng cho bài toán 3 bậc tự do
            Đối với thực thi song song theo luồng OpenMP, nên dùng SSOR, Diagonal Scaling hoặc ML

ITERLOG =   Có xuất lịch sử hội tụ của bộ giải lặp hay không          (YES/NO)(Mặc định: NO)

TIMELOG =   Có xuất thời gian tính toán của bộ giải hay không                       (YES/NO/VERBOSE)(Mặc định: NO)

USEJAD =    Có dùng sắp thứ tự cho bộ xử lý vectơ hay không                    (YES/NO)(Mặc định: NO)
            Chỉ có hiệu lực khi dùng phương pháp lặp cho bài toán 3 bậc tự do

SCALING =   Có co giãn ma trận để các phần tử đường chéo bằng 1 hay không       (YES/NO)(Mặc định: NO)
            Chỉ có hiệu lực khi dùng phương pháp lặp cho bài toán 3 bậc tự do

DUMPTYPE =  Định dạng dump ma trận (NONE, MM, CSR, BSR) (chủ yếu dùng để gỡ lỗi)
            NONE : Không dump (Mặc định)
            MM   : Định dạng Matrix Market
            CSR  : Định dạng Compressed Sparse Row (CSR)
            BSR  : Định dạng Blocked CSR

DUMPEXIT =  Kết thúc chương trình ngay sau khi dump ma trận           (YES/NO)(Mặc định: NO)

MPCMETHOD = Phương pháp xử lý ràng buộc đa điểm (1, 2, 3)
            1: Phương pháp penalty (Mặc định khi dùng phương pháp trực tiếp)
            2: Phương pháp MPC-CG (Không khuyến nghị)
            3: Khử bậc tự do tường minh (Mặc định khi dùng phương pháp lặp)

ESTCOND =   Tần suất ước lượng số điều kiện (thử nghiệm)
            Ước lượng số điều kiện ở mỗi khoảng lặp được chỉ định và khi kết thúc các vòng lặp
            Không thực hiện ước lượng khi chỉ định 0

METHOD2 =   Phương pháp giải thứ hai (BiCGSTAB, GMRES, GPBiCG) (thử nghiệm)
            Chỉ có hiệu lực khi CG được chỉ định cho METHOD
            Nếu CG phân kỳ, tự động chuyển sang phương pháp thứ hai và tiếp tục giải
            Các giá trị tương tự được dùng cho những tham số và dòng dữ liệu khác

CONTACT_ELIM = Chỉ định có thực hiện khử bậc tự do trong phân tích tiếp xúc hay không (0,1)
               0: Chỉ thực hiện khử bậc tự do khi dùng phương pháp lặp (Mặc định)
               1: Luôn thực hiện khử bậc tự do (kể cả khi dùng phương pháp trực tiếp)

** Dòng thứ 2 và các dòng tiếp theo **

(Dòng thứ 2) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Biến Thuộc tính Mô tả
NITER I Số vòng lặp (Mặc định: 100)
iterPREmax I Số vòng lặp tiền điều kiện Additive Schwarz (Mặc định: 1)
(Giá trị khuyến nghị: 1; 2 có thể hiệu quả trong một số tính toán song song)
NREST I Số không gian con Krylov (Mặc định: 10)
(Chỉ có hiệu lực khi GMRES được chọn làm phương pháp giải)
NCOLOR_IN I Số màu mục tiêu cho sắp thứ tự đa màu (Mặc định: 10)
(Chỉ có hiệu lực khi số luồng OpenMP từ 2 trở lên)
RECYCLEPRE I Số lần tái sử dụng thông tin thiết lập bộ tiền điều kiện (Mặc định: 3)
(Chỉ có hiệu lực trong phân tích phi tuyến)
(Dòng thứ 3) RESID, SIGMA_DIAG, SIGMA
Biến Thuộc tính Mô tả
RESID R Sai số cắt cụt (Mặc định: 1.0e-8)
SIGMA_DIAG R Hệ số tỷ lệ áp dụng cho các phần tử đường chéo khi tính ma trận tiền điều kiện (Mặc định: 1.0)
(Nếu xảy ra chia cho không hoặc phân kỳ với tiền điều kiện ILU, bài toán có thể hội tụ khi chỉ định giá trị lớn hơn 1.0)
SIGMA R Không sử dụng (Mặc định: 0.0)

Khi PRECOND=5 (tùy chọn)

Nếu chỉ định giá trị khác cho PRECOND, dòng thứ 4 bị bỏ qua.

(Dòng thứ 4) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Biến Thuộc tính Mô tả
ML_CoarseSolver I Bộ giải lưới thô cho ML (1: dùng smoother, 2: KLU (phương pháp trực tiếp tuần tự), 3: MUMPS (phương pháp trực tiếp song song)) (Mặc định: 1)
(Khuyến nghị: 3 hoặc 2 cho bài toán khó, 1 cho bài toán thông thường)
ML_Smoother I Smoother của ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (Mặc định: 1)
(Khuyến nghị: 1)
ML_MGCycle I Chu trình đa lưới ML (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (Mặc định: 1)
(Khuyến nghị: 2 cho bài toán khó, 1 cho bài toán thông thường)
ML_MaxLevels I Số mức ML tối đa (Mặc định: 10)
(Đối với bài toán đặc biệt khó, dùng bộ giải trực tiếp trên lưới thô và 2 mức (hoặc 3 nếu thiếu bộ nhớ); với bài toán thông thường, khuyến nghị 10)
ML_CoarseningScheme I Lược đồ làm thô ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (Mặc định: 1)
(Khuyến nghị: 1 hoặc 5)
ML_NumSweep I Số lượt quét smoother ML (bậc đa thức đối với Chebyshev) (Mặc định: 2)
(Khuyến nghị: 2 cho Chebyshev, 1 cho SymBlockGaussSeidel)

Ví dụ

Dùng CG với tiền điều kiện SSOR và đặt số vòng lặp tối đa là 10000, sai số cắt cụt là 1.0e-8

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

Dùng GMRES với tiền điều kiện SSOR, đặt số không gian con Krylov là 40 và số màu mục tiêu cho sắp thứ tự đa màu là 100

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

Dùng CG với tiền điều kiện ILU(0) và đặt hệ số tỷ lệ áp dụng cho các phần tử đường chéo khi tính ma trận tiền điều kiện là 1.1

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

Dùng AMG bằng ML làm bộ tiền điều kiện cho CG

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

Dùng AMG bằng ML làm bộ tiền điều kiện cho CG và dùng MUMPS làm bộ giải lưới thô (cho bài toán khó)

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

Dùng AMG bằng ML làm bộ tiền điều kiện cho CG và dùng W-cycle làm chu trình đa lưới (cho bài toán khó)

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

Dùng AMG bằng ML làm bộ tiền điều kiện cho CG, dùng MUMPS làm bộ giải lưới thô và đặt số mức tối đa là 2 (cho bài toán rất khó)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2
AI-assisted translation May contain errors Official docs Status