25 logical,
save :: NEED_ANALYSIS = .true.
26 type (sparse_matrix),
save :: spMAT
32 logical,
intent(in) :: is_sym
34 integer(kind=kint) :: spmat_type
35 integer(kind=kint) :: spmat_symtype
36 integer(kind=kint) :: i
45 if(hecmesh%PETOT.GT.1)
then
52 need_analysis = .true.
60 type (hecmwst_ebc),
intent(inout) :: hecebc
61 integer(kind=kint),
intent(out) :: istat
64 integer(kind=kint) :: phase_start
65 real(kind=
kreal) :: t1,t2
66 integer(kind=kint) :: mpc_method
71 if (mpc_method /= 1 .and. mpc_method /= 3)
then
75 if (mpc_method /= 1)
then
76 write(*,*)
'ERROR: MPCMETHOD other than penalty is not available for DIRECTmkl solver', &
77 ' in contact analysis without elimination'
82 if(
present(conmat))
then
90 if (need_analysis)
then
96 if(
present(conmat))
then
106 if( hecmesh%PETOT .GT. 1 )
then
107 write(*,
'(A,f10.3)')
' [Cluster Pardiso]: Setup completed. time(sec)=',t2-t1
109 write(*,
'(A,f10.3)')
' [Pardiso]: Setup completed. time(sec)=',t2-t1
114 if (need_analysis)
then
116 need_analysis = .false.
120 if( hecmesh%PETOT.GT.1 )
then
125 deallocate(spmat%rhs)
Essential boundary conditions kept as per-DOF marks and values so that they can be imposed on the mat...
subroutine, public hecmw_ebc_apply(hecMESH, hecMAT, hecEBC, conMAT)
subroutine, public hecmw_mat_ass_equation_rhs(hecMESH, hecMAT)
subroutine, public hecmw_mat_ass_equation(hecMESH, hecMAT)
subroutine, public hecmw_mat_dump(hecMAT, hecMESH)
subroutine, public hecmw_mat_dump_solution(hecMAT)
integer(kind=kint) function, public hecmw_mat_get_mpc_method(hecMAT)
subroutine, public hecmw_mat_set_mpc_method(hecMAT, mpc_method)
integer(kind=4), parameter kreal
integer(kind=kint) function hecmw_comm_get_rank()
real(kind=kreal) function hecmw_wtime()
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
integer(kind=kint), parameter, public sparse_matrix_symtype_sym
subroutine, public sparse_matrix_finalize(spMAT)
integer(kind=kint), parameter, public sparse_matrix_symtype_asym
subroutine, public sparse_matrix_set_type(spMAT, type, symtype)
Structure for Lagrange multiplier-related part of stiffness matrix (Lagrange multiplier-related matri...