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
44 if(hecmesh%PETOT.GT.1)
then
51 need_analysis = .true.
59 type (hecmwst_ebc),
intent(inout) :: hecebc
60 integer(kind=kint),
intent(out) :: istat
63 integer(kind=kint) :: phase_start
64 real(kind=
kreal) :: t1,t2
65 integer(kind=kint) :: mpc_method
70 if (mpc_method /= 1 .and. mpc_method /= 3)
then
74 if (mpc_method /= 1)
then
75 write(*,*)
'ERROR: MPCMETHOD other than penalty is not available for DIRECTmkl solver', &
76 ' in contact analysis without elimination'
81 if(
present(conmat))
then
89 if (need_analysis)
then
95 if(
present(conmat))
then
105 if( hecmesh%PETOT .GT. 1 )
then
106 write(*,
'(A)')
' [Cluster Pardiso]: Setup completed.'
108 write(*,
'(A)')
' [Pardiso]: Setup completed.'
112 if( hecmesh%PETOT .GT. 1 )
then
113 write(*,
'(A,f10.3)')
' [Cluster Pardiso]: Setup time(sec)=',t2-t1
115 write(*,
'(A,f10.3)')
' [Pardiso]: Setup time(sec)=',t2-t1
120 if (need_analysis)
then
122 need_analysis = .false.
126 if( hecmesh%PETOT.GT.1 )
then
131 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...