SICOPOLIS V5-dev  Revision 1368
Data Types | Functions/Subroutines
sico_maths_m_grad Module Reference

Solvers for systems of linear equations used by SICOPOLIS. More...

Data Types

interface  sor_sprs_grad
 
interface  tri_sle_grad
 

Functions/Subroutines

subroutine transpose_csr_no_diagonal (a_value, a_index, a_ptr, nnz, nmax, b_value, b_index, b_ptr)
 
subroutine sor_sprs_grad_local (lgs_a_value, lgs_a_value_b, lgs_a_index, lgs_a_diag_index, lgs_a_ptr, lgs_b_value, lgs_b_value_b, nnz, nmax, n_sprs, omega, eps_sor, lgs_x_value, lgs_x_value_b, ierr)
 SOR solver for a system of linear equations lgs_a*lgs_x=lgs_b [matrix storage: compressed sparse row CSR, represented by arrays lgs_a_value(values), lgs_a_index (indices) and lgs_a_ptr (pointers)]. More...
 
subroutine tri_sle_grad_local (a0, a0_b, a1, a1_b, a2, a2_b, x, x_b, b, b_b, nrows)
 Solution of a system of linear equations Ax=b with tridiagonal matrix A. More...
 

Detailed Description

Solvers for systems of linear equations used by SICOPOLIS.

Function/Subroutine Documentation

subroutine sico_maths_m_grad::sor_sprs_grad_local ( real(dp), dimension(nnz), intent(in)  lgs_a_value,
real(dp), dimension(nnz), intent(inout)  lgs_a_value_b,
integer(i4b), dimension(nnz), intent(in)  lgs_a_index,
integer(i4b), dimension(nmax), intent(in)  lgs_a_diag_index,
integer(i4b), dimension(nmax+1), intent(in)  lgs_a_ptr,
real(dp), dimension(nmax), intent(in)  lgs_b_value,
real(dp), dimension(nmax), intent(inout)  lgs_b_value_b,
integer(i4b), intent(in)  nnz,
integer(i4b), intent(in)  nmax,
integer(i4b), intent(in)  n_sprs,
real(dp), intent(in)  omega,
real(dp), intent(in)  eps_sor,
real(dp), dimension(nmax), intent(inout)  lgs_x_value,
real(dp), dimension(nmax), intent(inout)  lgs_x_value_b,
integer(i4b), intent(out)  ierr 
)

SOR solver for a system of linear equations lgs_a*lgs_x=lgs_b [matrix storage: compressed sparse row CSR, represented by arrays lgs_a_value(values), lgs_a_index (indices) and lgs_a_ptr (pointers)].

Definition at line 147 of file sico_maths_m_grad.F90.

subroutine sico_maths_m_grad::transpose_csr_no_diagonal ( real(dp), dimension(nnz), intent(in)  a_value,
integer(i4b), dimension(nnz), intent(in)  a_index,
integer(i4b), dimension(nmax+1), intent(in)  a_ptr,
integer(i4b), intent(in)  nnz,
integer(i4b), intent(in)  nmax,
real(dp), dimension(nnz), intent(out)  b_value,
integer(i4b), dimension(nnz), intent(out)  b_index,
integer(i4b), dimension(nmax+1), intent(out)  b_ptr 
)

Definition at line 105 of file sico_maths_m_grad.F90.

subroutine sico_maths_m_grad::tri_sle_grad_local ( real(dp), dimension(0:*), intent(in)  a0,
real(dp), dimension(0:*), intent(inout)  a0_b,
real(dp), dimension(0:*), intent(inout)  a1,
real(dp), dimension(0:*), intent(inout)  a1_b,
real(dp), dimension(0:*), intent(in)  a2,
real(dp), dimension(0:*), intent(inout)  a2_b,
real(dp), dimension(0:*), intent(out)  x,
real(dp), dimension(0:*), intent(inout)  x_b,
real(dp), dimension(0:*), intent(inout)  b,
real(dp), dimension(0:*), intent(inout)  b_b,
integer(i4b), intent(in)  nrows 
)

Solution of a system of linear equations Ax=b with tridiagonal matrix A.

Parameters
[in]a0a0(j) is element A_(j,j-1) of Matrix A
[in]a1a1(j) is element A_(j,j) of Matrix A
[in]a2a2(j) is element A_(j,j+1) of Matrix A
[in]binhomogeneity vector
[in]nrowssize of matrix A (indices run from 0 (!!!) to nrows)
[out]xSolution vector.

Definition at line 222 of file sico_maths_m_grad.F90.