Newer
Older
/*----------------------------------------------------------------------
PuReMD - Purdue ReaxFF Molecular Dynamics Program
Copyright (2010) Purdue University
Hasan Metin Aktulga, haktulga@cs.purdue.edu
Joseph Fogarty, jcfogart@mail.usf.edu
Sagar Pandit, pandit@usf.edu
Ananth Y Grama, ayg@cs.purdue.edu
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
See the GNU General Public License for more details:
<http://www.gnu.org/licenses/>.
----------------------------------------------------------------------*/
#ifndef __LIN_ALG_H_
#define __LIN_ALG_H_
Kurt A. O'Hearn
committed
#ifdef __cplusplus
extern "C" {
#endif
Kurt A. O'Hearn
committed
void Sort_Matrix_Rows( sparse_matrix * const );
Kurt A. O'Hearn
committed
void jacobi( sparse_matrix const * const, real * const );
Kurt A. O'Hearn
committed
void setup_sparse_approx_inverse( reax_system const * const,
Kurt A. O'Hearn
committed
simulation_data * const,
storage * const, mpi_datatypes * const,
sparse_matrix * const, sparse_matrix *, int, double );
real sparse_approx_inverse( reax_system const * const,
simulation_data * const,
storage * const, mpi_datatypes * const,
sparse_matrix * const, sparse_matrix * const, sparse_matrix * const, int );
Kurt A. O'Hearn
committed
int dual_SDM( reax_system const * const, control_params const * const,
simulation_data * const,
storage * const, sparse_matrix * const, rvec2 * const,
real, rvec2 * const, mpi_datatypes * const, int );
Kurt A. O'Hearn
committed
int SDM( reax_system const * const, control_params const * const,
simulation_data * const,
storage * const, sparse_matrix * const, real * const,
Kurt A. O'Hearn
committed
real, real * const, mpi_datatypes * const, int );
Kurt A. O'Hearn
committed
int dual_CG( reax_system const * const, control_params const * const,
simulation_data * const,
storage * const, sparse_matrix * const,
Kurt A. O'Hearn
committed
rvec2 * const, real, rvec2 * const, mpi_datatypes * const, int );
Kurt A. O'Hearn
committed
int CG( reax_system const * const, control_params const * const,
simulation_data * const,
storage * const, sparse_matrix * const, real * const,
Kurt A. O'Hearn
committed
real, real * const, mpi_datatypes * const, int );
Kurt A. O'Hearn
committed
int dual_BiCGStab( reax_system const * const, control_params const * const,
simulation_data * const,
storage * const, sparse_matrix * const, rvec2 * const,
real, rvec2 * const, mpi_datatypes * const, int );
Kurt A. O'Hearn
committed
int BiCGStab( reax_system const * const, control_params const * const,
simulation_data * const,
storage * const, sparse_matrix * const, real * const,
Kurt A. O'Hearn
committed
real, real * const, mpi_datatypes * const, int );
Kurt A. O'Hearn
committed
int dual_PIPECG( reax_system const * const, control_params const * const,
simulation_data * const,
storage * const, sparse_matrix * const,
Kurt A. O'Hearn
committed
rvec2 * const, real, rvec2 * const, mpi_datatypes * const, int );
Kurt A. O'Hearn
committed
int PIPECG( reax_system const * const, control_params const * const,
simulation_data * const,
storage * const, sparse_matrix * const, real * const,
Kurt A. O'Hearn
committed
real, real * const, mpi_datatypes * const, int );
Kurt A. O'Hearn
committed
int dual_PIPECR( reax_system const * const, control_params const * const,
simulation_data * const,
storage * const, sparse_matrix * const, rvec2 * const,
real, rvec2 * const, mpi_datatypes * const, int );
Kurt A. O'Hearn
committed
int PIPECR( reax_system const * const, control_params const * const,
simulation_data * const,
storage * const, sparse_matrix * const, real * const,
Kurt A. O'Hearn
committed
real, real * const, mpi_datatypes * const, int );
Kurt A. O'Hearn
committed
#ifdef __cplusplus
}
#endif