Fast Auxiliary Space Preconditioning 2.7.7 Aug/28/2022
Loading...
Searching...
No Matches
PreMGRecurAMLI.c File Reference

Abstract AMLI multilevel iteration – recursive version. More...

#include <math.h>
#include <time.h>
#include "fasp.h"
#include "fasp_functs.h"
#include "PreMGRecurAMLI.inl"
#include "PreMGSmoother.inl"
#include "PreMGUtil.inl"

Go to the source code of this file.

Functions

void fasp_solver_amli (AMG_data *mgl, AMG_param *param, INT l)
 Solve Ax=b with recursive AMLI-cycle. More...
 
void fasp_solver_namli (AMG_data *mgl, AMG_param *param, INT l, INT num_levels)
 Solve Ax=b with recursive nonlinear AMLI-cycle. More...
 
void fasp_solver_namli_bsr (AMG_data_bsr *mgl, AMG_param *param, INT l, INT num_levels)
 Solve Ax=b with recursive nonlinear AMLI-cycle. More...
 
void fasp_amg_amli_coef (const REAL lambda_max, const REAL lambda_min, const INT degree, REAL *coef)
 Compute the coefficients of the polynomial used by AMLI-cycle. More...
 

Detailed Description

Abstract AMLI multilevel iteration – recursive version.

Note
This file contains Level-4 (Pre) functions. It requires: AuxArray.c, AuxMemory.c, AuxMessage.c, AuxParam.c, AuxVector.c, BlaSchwarzSetup.c, BlaArray.c, BlaSpmvBSR.c, BlaSpmvCSR.c, ItrSmootherBSR.c, ItrSmootherCSR.c, ItrSmootherCSRpoly.c, KryPcg.c, KryPvfgmres.c, KrySPcg.c, KrySPvgmres.c, PreBSR.c, and PreCSR.c
This file includes both AMLI and non-linear AMLI cycles

Copyright (C) 2009–Present by the FASP team. All rights reserved.

Released under the terms of the GNU Lesser General Public License 3.0 or later.

Definition in file PreMGRecurAMLI.c.

Function Documentation

◆ fasp_amg_amli_coef()

void fasp_amg_amli_coef ( const REAL  lambda_max,
const REAL  lambda_min,
const INT  degree,
REAL coef 
)

Compute the coefficients of the polynomial used by AMLI-cycle.

Parameters
lambda_maxMaximal lambda
lambda_minMinimal lambda
degreeDegree of polynomial approximation
coefCoefficient of AMLI (output)
Author
Xiaozhe Hu
Date
01/23/2011

Definition at line 791 of file PreMGRecurAMLI.c.

◆ fasp_solver_amli()

void fasp_solver_amli ( AMG_data mgl,
AMG_param param,
INT  l 
)

Solve Ax=b with recursive AMLI-cycle.

Parameters
mglPointer to AMG data: AMG_data
paramPointer to AMG parameters: AMG_param
lCurrent level
Author
Xiaozhe Hu
Date
01/23/2011
Note
AMLI polynomial computed by the best approximation of 1/x. Refer to Johannes K. Kraus, Panayot S. Vassilevski, Ludmil T. Zikatanov, "Polynomial of best uniform approximation to $x^{-1}$ and smoothing in two-level methods", 2013.

Modified by Chensong Zhang on 02/27/2013: update direct solvers. Modified by Zheng Li on 11/10/2014: update direct solvers. Modified by Hongxuan Zhang on 12/15/2015: update direct solvers.

Definition at line 58 of file PreMGRecurAMLI.c.

◆ fasp_solver_namli()

void fasp_solver_namli ( AMG_data mgl,
AMG_param param,
INT  l,
INT  num_levels 
)

Solve Ax=b with recursive nonlinear AMLI-cycle.

Parameters
mglPointer to AMG_data data
paramPointer to AMG parameters
lCurrent level
num_levelsTotal number of levels
Author
Xiaozhe Hu
Date
04/06/2010
Note
Refer to Xiazhe Hu, Panayot S. Vassilevski, Jinchao Xu "Comparative Convergence Analysis of Nonlinear AMLI-cycle Multigrid", 2013.

Modified by Chensong Zhang on 02/27/2013: update direct solvers. Modified by Zheng Li on 11/10/2014: update direct solvers. Modified by Hongxuan Zhang on 12/15/2015: update direct solvers.

Definition at line 291 of file PreMGRecurAMLI.c.

◆ fasp_solver_namli_bsr()

void fasp_solver_namli_bsr ( AMG_data_bsr mgl,
AMG_param param,
INT  l,
INT  num_levels 
)

Solve Ax=b with recursive nonlinear AMLI-cycle.

Parameters
mglPointer to AMG data: AMG_data
paramPointer to AMG parameters: AMG_param
lCurrent level
num_levelsTotal number of levels
Author
Xiaozhe Hu
Date
04/06/2010
Note
Nonlinear AMLI-cycle. Refer to Xiazhe Hu, Panayot S. Vassilevski, Jinchao Xu "Comparative Convergence Analysis of Nonlinear AMLI-cycle Multigrid", 2013.

Modified by Chensong Zhang on 02/27/2013: update direct solvers. Modified by Hongxuan Zhang on 12/15/2015: update direct solvers. Modified by Li Zhao on 05/01/2023: update direct solvers and smoothers.

该函数内部生成了对角块的逆, zhaoli, 2023.05.01

该函数直接使用对角块的逆(在setup阶段生成), zhaoli, 2023.05.01

该函数内部生成了对角块的逆, zhaoli, 2023.05.01

该函数直接使用对角块的逆(在setup阶段生成), zhaoli, 2023.05.01

Definition at line 528 of file PreMGRecurAMLI.c.