23 logical,
save :: NEED_ANALYSIS = .true.
24 type (sparse_matrix),
save :: spMAT
30 logical,
intent(in) :: is_sym
32 integer(kind=kint) :: spmat_type
33 integer(kind=kint) :: spmat_symtype
34 integer(kind=kint) :: i
43 if(hecmesh%PETOT.GT.1)
then
50 need_analysis = .true.
58 integer(kind=kint),
intent(out) :: istat
61 integer(kind=kint) :: phase_start
62 real(kind=
kreal) :: t1,t2
65 call hecmw_mat_dump(hecmat, hecmesh)
67 if (need_analysis)
then
83 if (
myrank==0 .and. spmat%timelog > 0)
then
84 if( hecmesh%PETOT .GT. 1 )
then
85 write(*,
'(A,f10.3)')
' [Cluster Pardiso]: Setup completed. time(sec)=',t2-t1
87 write(*,
'(A,f10.3)')
' [Pardiso]: Setup completed. time(sec)=',t2-t1
92 if (need_analysis)
then
94 need_analysis = .false.
98 if( hecmesh%PETOT.GT.1 )
then
103 deallocate(spmat%rhs)
106 call hecmw_mat_dump_solution(hecmat)
integer(kind=4), parameter kreal
real(kind=kreal) function hecmw_wtime()
This module defined coomon data and basic structures for analysis.
integer(kind=kint) myrank
PARALLEL EXECUTION.
logical paracontactflag
PARALLEL CONTACT FLAG.
This module provides linear equation solver interface for Cluster Pardiso.
subroutine, public hecmw_clustermkl_wrapper(spmat, phase_start, solution, istat)
This module provides linear equation solver interface for Pardiso.
subroutine, public hecmw_mkl_wrapper(spmat, phase_start, solx, istat)
This module provides DOF based sparse matrix data structure (CSR and COO)
integer(kind=kint), parameter, public sparse_matrix_type_coo
integer(kind=kint), parameter, public sparse_matrix_type_csr
subroutine, public sparse_matrix_set_type(spmat, type, symtype)
integer(kind=kint), parameter, public sparse_matrix_symtype_sym
subroutine, public sparse_matrix_finalize(spmat)
integer(kind=kint), parameter, public sparse_matrix_symtype_asym