DOUG 0.2
Functions/Subroutines | Variables

subsolvers Module Reference

Functions/Subroutines

subroutine Solve_subdomains (sol, DD, subsolve_ids, rhs)
subroutine Factorise_subdomains (DD, A, A_ghost, subsolve_ids)
subroutine Factorise_subdomain (A, nodes, id, A_ghost)
subroutine sparse_singlesolve (id, sol, rhs, nfreds, nnz, indi, indj, val, tot_nfreds, nnz_est)
subroutine factorise (id, nfreds, nnz, indi, indj, val)
subroutine factorise_and_solve (id, sol, rhs, nfreds, nnz, indi, indj, val)
real(kind=rk) total_setup_time ()
real(kind=rk) total_factorisation_time ()
real(kind=rk) total_backsolve_time ()

Variables

integer nfacts = 0
integer maxnfacts = 0
integer subsolver = D_MUMPS
real(kind=rk) setuptime = 0.0_rk
real(kind=rk) factorisation_time = 0.0_rk
real(kind=rk) backsolve_time = 0.0_rk
type(Fact), dimension(:), pointer fakts = > NULL()

Function/Subroutine Documentation

subroutine subsolvers::factorise ( integer,intent(out)  id,
integer,intent(in)  nfreds,
integer,intent(in),optional  nnz,
integer,dimension(:),intent(inout),optional  indi,
integer,dimension(:),intent(inout),optional  indj,
real(kind=rk),dimension(:),intent(in),optional  val 
)
subroutine subsolvers::factorise_and_solve ( integer,intent(inout)  id,
real(kind=rk),dimension(:),pointer  sol,
real(kind=rk),dimension(:),pointer  rhs,
integer,intent(in)  nfreds,
integer,intent(in),optional  nnz,
integer,dimension(:),intent(inout),optional  indi,
integer,dimension(:),intent(inout),optional  indj,
real(kind=rk),dimension(:),intent(in),optional  val 
)

Definition at line 234 of file subsolvers.F90.

References backsolve_time, factorise(), fakts, and globals::stream.

Referenced by sparse_singlesolve().

subroutine subsolvers::Factorise_subdomain ( type(SpMtx),intent(in)  A,
integer,dimension(:),intent(in)  nodes,
integer,intent(out)  id,
type(SpMtx),intent(in),optional  A_ghost 
)
Parameters:
Amatrix
nodessubdomain nodes
A_ghostghost matrix values

Definition at line 104 of file subsolvers.F90.

References factorise().

Referenced by Factorise_subdomains().

subroutine subsolvers::Factorise_subdomains ( type(Decomposition),intent(in)  DD,
type(SpMtx),intent(in)  A,
type(SpMtx),optional  A_ghost,
integer,dimension(:),pointer  subsolve_ids 
)
Parameters:
subsolve_idsnumeric object handles of (UMFPACK,...) factorizations

Definition at line 78 of file subsolvers.F90.

References factorisation_time, Factorise_subdomain(), and setuptime.

Referenced by FinePreconditioner_complete_mod::FinePreconditioner_complete_Apply().

subroutine subsolvers::Solve_subdomains ( real(kind=rk),dimension(:),pointer  sol,
type(Decomposition),intent(in)  DD,
integer,dimension(:),pointer  subsolve_ids,
real(kind=rk),dimension(:),pointer  rhs 
)
Parameters:
DDsubdomains
subsolve_idsnumeric object handles of (UMFPACK,...) factorizations

Definition at line 54 of file subsolvers.F90.

References Fact_class::Fact_solve(), and fakts.

subroutine subsolvers::sparse_singlesolve ( integer,intent(inout)  id,
real(kind=rk),dimension(:),pointer  sol,
real(kind=rk),dimension(:),pointer  rhs,
integer,intent(in)  nfreds,
integer,intent(in),optional  nnz,
integer,dimension(:),intent(inout),optional  indi,
integer,dimension(:),intent(inout),optional  indj,
real(kind=rk),dimension(:),optional  val,
integer,intent(in),optional  tot_nfreds,
integer,intent(in),optional  nnz_est 
)
real(kind=rk) subsolvers::total_backsolve_time ( )

Definition at line 298 of file subsolvers.F90.

References backsolve_time.

real(kind=rk) subsolvers::total_factorisation_time ( )

Definition at line 293 of file subsolvers.F90.

References factorisation_time.

real(kind=rk) subsolvers::total_setup_time ( )

Definition at line 288 of file subsolvers.F90.

References factorisation_time, and setuptime.


Variable Documentation

real(kind=rk) subsolvers::backsolve_time = 0.0_rk

Definition at line 49 of file subsolvers.F90.

Referenced by factorise_and_solve(), and total_backsolve_time().

real(kind=rk) subsolvers::factorisation_time = 0.0_rk
type(Fact),dimension(:),pointer subsolvers::fakts = > NULL()

Definition at line 50 of file subsolvers.F90.

Referenced by factorise(), factorise_and_solve(), and Solve_subdomains().

integer subsolvers::maxnfacts = 0

Definition at line 43 of file subsolvers.F90.

integer subsolvers::nfacts = 0

Definition at line 42 of file subsolvers.F90.

real(kind=rk) subsolvers::setuptime = 0.0_rk

Definition at line 49 of file subsolvers.F90.

Referenced by Factorise_subdomains(), and total_setup_time().

integer subsolvers::subsolver = D_MUMPS

Definition at line 47 of file subsolvers.F90.

Referenced by factorise().