Fast Auxiliary Space Preconditioning  2.0.6 Jan/10/2018
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   1.9
 FASP base version information. More...
 
#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 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))
 
#define FASP_GSRB   0
 

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

unsigned INT total_alloc_mem
 
unsigned INT total_alloc_count
 Total allocated memory amount. More...
 
INT count
 

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–2017 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 32 of file fasp.h.

◆ ABS

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

absolute value of a

Definition at line 73 of file fasp.h.

◆ DIAGONAL_PREF

#define DIAGONAL_PREF   OFF

order each row such that diagonal appears first

Definition at line 57 of file fasp.h.

◆ DLMALLOC

#define DLMALLOC   OFF

For external software package support.

use dlmalloc instead of standard malloc

Definition at line 46 of file fasp.h.

◆ FASP_GSRB

#define FASP_GSRB   0

Use Red-Black Gauss Seidel Smoother on level 0

Definition at line 1175 of file fasp.h.

◆ FASP_VERSION

#define FASP_VERSION   1.9

FASP base version information.

faspsolver version

Definition at line 41 of file fasp.h.

◆ GE

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

is a >= b?

Definition at line 79 of file fasp.h.

◆ GT

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

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

is a > b?

Definition at line 78 of file fasp.h.

◆ INT

#define INT   int

regular integer type: int or long

Definition at line 63 of file fasp.h.

◆ ISNAN

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

is a == NAN?

Definition at line 82 of file fasp.h.

◆ LE

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

is a <= b?

Definition at line 81 of file fasp.h.

◆ LONG

#define LONG   long

long integer type

Definition at line 64 of file fasp.h.

◆ LONGLONG

#define LONGLONG   long long

long integer type

Definition at line 65 of file fasp.h.

◆ LS

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

is a < b?

Definition at line 80 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 71 of file fasp.h.

◆ MIN

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

smaller one in a and b

Definition at line 72 of file fasp.h.

◆ NEDMALLOC

#define NEDMALLOC   OFF

use nedmalloc instead of standard malloc

Definition at line 47 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 87 of file fasp.h.

◆ PUT_REAL

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

print real num

Definition at line 88 of file fasp.h.

◆ REAL

#define REAL   double

float type

Definition at line 66 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 55 of file fasp.h.

◆ SHORT

#define SHORT   short

FASP integer and floating point numbers.

short integer type

Definition at line 62 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

◆ count

INT count

Counter for multiple calls

◆ total_alloc_count

unsigned INT total_alloc_count

Total allocated memory amount.

total allocation times

Definition at line 44 of file AuxMemory.c.

◆ total_alloc_mem

unsigned INT total_alloc_mem

total allocated memory

Definition at line 43 of file AuxMemory.c.