24 type (hecmwST_matrix),
target :: hecMAT
25 type (hecmwST_local_mesh) :: hecMESH
27 real(kind=
kreal) :: resid
28 integer(kind=kint) :: myrank, NDOF
29 integer(kind=kint) :: imsg = 51
40 select case(hecmat%Iarray(99))
51 if (hecmat%Iarray(97) .gt. 1) hecmat%Iarray(97)=1
56 if (hecmat%Iarray(2) .eq. 102)
then
57 if(hecmesh%PETOT.GT.1)
then
62 elseif (hecmat%Iarray(2) .eq. 104)
then
64 elseif (hecmat%Iarray(2) .eq. 106)
then
67 if(hecmesh%PETOT.GT.1)
then
77 if (hecmat%Iarray(21) > 0)
then
78 write(*,
"(a,1pe12.5)")
'### Relative residual =', resid
80 if( resid >= 1.0d-8)
then
81 write(*,
"(a)")
'### Relative residual exceeded 1.0d-8---Direct Solver### '
101 type (hecmwST_local_mesh) :: hecMESH
102 type (hecmwST_matrix) :: hecMATorig
103 type (hecmwST_matrix),
pointer :: hecMAT => null()
104 integer(kind=kint) NDOF
105 if (ndof == hecmatorig%NDOF)
then
107 else if (ndof < hecmatorig%NDOF)
then
128 if (ndof /= hecmatorig%NDOF)
then
subroutine, public hecmw_mat_set_flag_diverged(hecMAT, flag_diverged)
real(kind=kreal) function, public hecmw_mat_get_resid(hecMAT)
subroutine, public hecmw_mat_set_flag_converged(hecMAT, flag_converged)
This module provides linear equation solver interface for Cluster Pardiso.
subroutine, public hecmw_solve_direct_clustermkl(hecMESH, hecMAT)
Multifrontal direct solver (METHOD=DIRECTmf): LDLt with threshold pivoting for symmetric (possibly in...
subroutine, public hecmw_solve_direct_mf(hecMESH, hecMAT, imsg)
This module provides linear equation solver interface for Pardiso.
subroutine, public hecmw_solve_direct_mkl(hecMESH, hecMAT)
This module provides linear equation solver interface for MUMPS.
subroutine, public hecmw_solve_direct_mumps(hecMESH, hecMAT)
subroutine, public hecmw_solve_direct_parallel(hecMESH, hecMAT, ii)
HECMW_SOLVE_DIRECT is a program for the matrix direct solver.
subroutine, public hecmw_solve_direct(hecMESH, hecMAT, Ifmsg)
HECMW_SOLVE_DIRECT is a program for the matrix solver.
logical function hecmw_solve_check_zerorhs(hecMESH, hecMAT)
subroutine hecmw_solve_iterative(hecMESH, hecMAT)
real(kind=kreal) function, public hecmw_rel_resid_l2(hecMESH, hecMAT, COMMtime)
subroutine hecmw_substitute_solver(hecMESH, hecMATorig, NDOF)
subroutine hecmw_solve(hecMESH, hecMAT)
subroutine hecmw_abort(comm, code)
integer(kind=kint) function hecmw_comm_get_comm()
integer(kind=4), parameter kreal
integer(kind=kint) function hecmw_comm_get_rank()
subroutine hecmw_clone_matrix(hecMATorig, hecMAT)
subroutine hecmw_vector_contract(hecMATorig, hecMAT, NDOF)