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

Main header file for the FASP project. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "fasp_const.h"

Go to the source code of this file.

Data Structures

struct  ddenmat
 Dense matrix of REAL type. More...
 
struct  idenmat
 Dense matrix of INT type. More...
 
struct  dCSRmat
 Sparse matrix of REAL type in CSR format. More...
 
struct  iCSRmat
 Sparse matrix of INT type in CSR format. More...
 
struct  dCOOmat
 Sparse matrix of REAL type in COO (IJ) format. More...
 
struct  iCOOmat
 Sparse matrix of INT type in COO (IJ) format. More...
 
struct  dCSRLmat
 Sparse matrix of REAL type in CSRL format. More...
 
struct  dSTRmat
 Structure matrix of REAL type. More...
 
struct  dvector
 Vector with n entries of REAL type. More...
 
struct  ivector
 Vector with n entries of INT type. More...
 
struct  ITS_param
 Parameters for iterative solvers. More...
 
struct  ILU_param
 Parameters for ILU. More...
 
struct  SWZ_param
 Parameters for Schwarz method. More...
 
struct  AMG_param
 Parameters for AMG methods. More...
 
struct  Mumps_data
 Data for MUMPS interface. More...
 
struct  Pardiso_data
 Data for Intel MKL PARDISO interface. More...
 
struct  ILU_data
 Data for ILU setup. More...
 
struct  SWZ_data
 Data for Schwarz methods. More...
 
struct  AMG_data
 Data for AMG methods. More...
 
struct  precond_data
 Data for preconditioners. More...
 
struct  precond_data_str
 Data for preconditioners in dSTRmat format. More...
 
struct  precond_diag_str
 Data for diagonal preconditioners in dSTRmat format. More...
 
struct  precond
 Preconditioner data and action. More...
 
struct  mxv_matfree
 Matrix-vector multiplication, replace the actual matrix. More...
 
struct  input_param
 Input parameters. More...
 

Macros

#define __FASP_HEADER__
 
#define FASP_VERSION   2.0
 FASP base version information. More...
 
#define MULTI_COLOR_ORDER    OFF
 
#define DLMALLOC   OFF
 For external software package support. More...
 
#define NEDMALLOC   OFF
 
#define RS_C1   ON
 Flags for internal uses. More...
 
#define DIAGONAL_PREF   OFF
 
#define SHORT   short
 FASP integer and floating point numbers. More...
 
#define INT   int
 
#define LONG   long
 
#define LONGLONG   long long
 
#define REAL   double
 
#define LONGREAL   long double
 
#define STRLEN   256
 
#define MAX(a, b)   (((a) > (b)) ? (a) : (b))
 Definition of max, min, abs. More...
 
#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
 
#define ABS(a)   (((a) >= 0.0) ? (a) : -(a))
 
#define GT(a, b)   (((a) > (b)) ? (TRUE) : (FALSE))
 Definition of >, >=, <, <=, and isnan. More...
 
#define GE(a, b)   (((a) >= (b)) ? (TRUE) : (FALSE))
 
#define LS(a, b)   (((a) < (b)) ? (TRUE) : (FALSE))
 
#define LE(a, b)   (((a) <= (b)) ? (TRUE) : (FALSE))
 
#define ISNAN(a)   (((a) != (a)) ? (TRUE) : (FALSE))
 
#define PUT_INT(A)   printf("### DEBUG: %s = %d\n", #A, (A))
 Definition of print command in DEBUG mode. More...
 
#define PUT_REAL(A)   printf("### DEBUG: %s = %e\n", #A, (A))
 

Typedefs

typedef struct ddenmat ddenmat
 
typedef struct idenmat idenmat
 
typedef struct dCSRmat dCSRmat
 
typedef struct iCSRmat iCSRmat
 
typedef struct dCOOmat dCOOmat
 
typedef struct iCOOmat iCOOmat
 
typedef struct dCSRLmat dCSRLmat
 
typedef struct dSTRmat dSTRmat
 
typedef struct dvector dvector
 
typedef struct ivector ivector
 

Variables

double PreSmoother_time_zl
 
double PostSmoother_time_zl
 
double Krylov_time_zl
 
double Coarsen_time_zl
 
double AMLI_cycle_time_zl
 

Detailed Description

Main header file for the FASP project.

Note
This header file contains general constants and data structures of FASP. It contains macros and data structure definitions; should not include function declarations here.

Copyright (C) 2008–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 fasp.h.

Macro Definition Documentation

◆ __FASP_HEADER__

#define __FASP_HEADER__

indicate fasp.h has been included before

Definition at line 31 of file fasp.h.

◆ ABS

#define ABS (   a)    (((a) >= 0.0) ? (a) : -(a))

absolute value of a

Definition at line 84 of file fasp.h.

◆ DIAGONAL_PREF

#define DIAGONAL_PREF   OFF

order each row such that diagonal appears first

Definition at line 66 of file fasp.h.

◆ DLMALLOC

#define DLMALLOC   OFF

For external software package support.

use dlmalloc instead of standard malloc

Definition at line 55 of file fasp.h.

◆ FASP_VERSION

#define FASP_VERSION   2.0

FASP base version information.

faspsolver version

Definition at line 40 of file fasp.h.

◆ GE

#define GE (   a,
 
)    (((a) >= (b)) ? (TRUE) : (FALSE))

is a >= b?

Definition at line 90 of file fasp.h.

◆ GT

#define GT (   a,
 
)    (((a) > (b)) ? (TRUE) : (FALSE))

Definition of >, >=, <, <=, and isnan.

is a > b?

Definition at line 89 of file fasp.h.

◆ INT

#define INT   int

signed integer types: signed, long enough

Definition at line 72 of file fasp.h.

◆ ISNAN

#define ISNAN (   a)    (((a) != (a)) ? (TRUE) : (FALSE))

is a == NAN?

Definition at line 93 of file fasp.h.

◆ LE

#define LE (   a,
 
)    (((a) <= (b)) ? (TRUE) : (FALSE))

is a <= b?

Definition at line 92 of file fasp.h.

◆ LONG

#define LONG   long

long integer type

Definition at line 73 of file fasp.h.

◆ LONGLONG

#define LONGLONG   long long

long long integer type

Definition at line 74 of file fasp.h.

◆ LONGREAL

#define LONGREAL   long double

long double type

Definition at line 76 of file fasp.h.

◆ LS

#define LS (   a,
 
)    (((a) < (b)) ? (TRUE) : (FALSE))

is a < b?

Definition at line 91 of file fasp.h.

◆ MAX

#define MAX (   a,
 
)    (((a) > (b)) ? (a) : (b))

Definition of max, min, abs.

bigger one in a and b

Definition at line 82 of file fasp.h.

◆ MIN

#define MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

smaller one in a and b

Definition at line 83 of file fasp.h.

◆ MULTI_COLOR_ORDER

#define MULTI_COLOR_ORDER    OFF

Multicolor parallel GS smoothing method based on strongly connected \ matrix

Definition at line 49 of file fasp.h.

◆ NEDMALLOC

#define NEDMALLOC   OFF

use nedmalloc instead of standard malloc

Definition at line 56 of file fasp.h.

◆ PUT_INT

#define PUT_INT (   A)    printf("### DEBUG: %s = %d\n", #A, (A))

Definition of print command in DEBUG mode.

print integer

Definition at line 98 of file fasp.h.

◆ PUT_REAL

#define PUT_REAL (   A)    printf("### DEBUG: %s = %e\n", #A, (A))

print real num

Definition at line 99 of file fasp.h.

◆ REAL

#define REAL   double

float type

Definition at line 75 of file fasp.h.

◆ RS_C1

#define RS_C1   ON

Flags for internal uses.

Warning
Change the following marcos with caution! CF splitting of RS: check C1 Criterion

Definition at line 64 of file fasp.h.

◆ SHORT

#define SHORT   short

FASP integer and floating point numbers.

short integer type

Definition at line 71 of file fasp.h.

◆ STRLEN

#define STRLEN   256

length of strings

Definition at line 77 of file fasp.h.

Typedef Documentation

◆ dCOOmat

typedef struct dCOOmat dCOOmat

Sparse matrix of REAL type in COO format

◆ dCSRLmat

typedef struct dCSRLmat dCSRLmat

Sparse matrix of REAL type in CSRL format

◆ dCSRmat

typedef struct dCSRmat dCSRmat

Sparse matrix of REAL type in CSR format

◆ ddenmat

typedef struct ddenmat ddenmat

Dense matrix of REAL type

◆ dSTRmat

typedef struct dSTRmat dSTRmat

Structured matrix of REAL type

◆ dvector

typedef struct dvector dvector

Vector of REAL type

◆ iCOOmat

typedef struct iCOOmat iCOOmat

Sparse matrix of INT type in COO format

◆ iCSRmat

typedef struct iCSRmat iCSRmat

Sparse matrix of INT type in CSR format

◆ idenmat

typedef struct idenmat idenmat

Dense matrix of INT type

◆ ivector

typedef struct ivector ivector

Vector of INT type

Variable Documentation

◆ AMLI_cycle_time_zl

double AMLI_cycle_time_zl
extern

Definition at line 1280 of file PreBSR.c.

◆ Coarsen_time_zl

double Coarsen_time_zl
extern

Definition at line 1279 of file PreBSR.c.

◆ Krylov_time_zl

double Krylov_time_zl
extern

Definition at line 1278 of file PreBSR.c.

◆ PostSmoother_time_zl

double PostSmoother_time_zl
extern

Definition at line 1277 of file PreBSR.c.

◆ PreSmoother_time_zl

double PreSmoother_time_zl
extern

Definition at line 1276 of file PreBSR.c.