FrontISTR 5.2.0
Large-scale structural analysis program with finit element method
Loading...
Searching...
No Matches
hecmw_jadm.f90
Go to the documentation of this file.
1!-------------------------------------------------------------------------------
2! Copyright (c) 2019 FrontISTR Commons
3! This software is released under the MIT License, see LICENSE.txt
4!-------------------------------------------------------------------------------
7
9 use hecmw_util
14 implicit none
15
16 private
17
18 public :: hecmw_jad_init
19 public :: hecmw_jad_finalize
21 public :: hecmw_jad_matvec
22
23 !C---------------------- AU&AL
24 integer(kind=kint) :: INITIALIZED = 0
25
26contains
27
28 subroutine hecmw_jad_init(hecMAT)
29 type(hecmwst_matrix) :: hecmat
30 select case(hecmat%NDOF)
31 case(3)
32 call hecmw_jad_init_33(hecmat)
33 case(4)
34 call hecmw_jad_init_44(hecmat)
35 case default
36 call hecmw_jad_init_nn(hecmat)
37 end select
38 initialized = 1
39 end subroutine hecmw_jad_init
40
41 subroutine hecmw_jad_finalize(hecMAT)
42 type(hecmwst_matrix) :: hecmat
43
44 select case(hecmat%NDOF)
45 case(3)
47 case(4)
49 case default
51 end select
52 initialized = 0
53 end subroutine hecmw_jad_finalize
54
56 integer(kind=kint) :: hecmw_jad_is_initialized
57 hecmw_jad_is_initialized = initialized
58 end function hecmw_jad_is_initialized
59
60 subroutine hecmw_jad_matvec(hecMESH, hecMAT, X, Y, COMMtime)
61
62 type(hecmwst_local_mesh), intent(in) :: hecmesh
63 type(hecmwst_matrix), intent(in), target :: hecmat
64 real(kind=kreal), intent(in) :: x(:)
65 real(kind=kreal), intent(out) :: y(:)
66 real(kind=kreal), intent(inout) :: commtime
67 select case(hecmat%NDOF)
68 case(3)
69 call hecmw_jad_matvec_33(hecmesh, hecmat, x, y, commtime)
70 case(4)
71 call hecmw_jad_matvec_44(hecmesh, hecmat, x, y, commtime)
72 case default
73 call hecmw_jad_matvec_nn(hecmesh, hecmat, x, y, commtime)
74 end select
75 end subroutine hecmw_jad_matvec
76
77end module hecmw_jad_type
Jagged Diagonal Matrix storage for vector processors. Original code was provided by JAMSTEC.
subroutine, public hecmw_jad_init_33(hecmat)
subroutine, public hecmw_jad_matvec_33(hecmesh, hecmat, x, y, commtime)
subroutine, public hecmw_jad_finalize_33()
Jagged Diagonal Matrix storage for vector processors. Original code was provided by JAMSTEC.
subroutine, public hecmw_jad_init_44(hecmat)
subroutine, public hecmw_jad_finalize_44()
subroutine, public hecmw_jad_matvec_44(hecmesh, hecmat, x, y, commtime)
Jagged Diagonal Matrix storage for vector processors. Original code was provided by JAMSTEC.
subroutine, public hecmw_jad_matvec_nn(hecmesh, hecmat, x, y, commtime)
subroutine, public hecmw_jad_finalize_nn()
subroutine, public hecmw_jad_init_nn(hecmat)
Jagged Diagonal Matrix storage for vector processors. Original code was provided by JAMSTEC.
Definition: hecmw_jadm.f90:8
subroutine, public hecmw_jad_init(hecmat)
Definition: hecmw_jadm.f90:29
integer(kind=kint) function, public hecmw_jad_is_initialized()
Definition: hecmw_jadm.f90:56
subroutine, public hecmw_jad_matvec(hecmesh, hecmat, x, y, commtime)
Definition: hecmw_jadm.f90:61
subroutine, public hecmw_jad_finalize(hecmat)
Definition: hecmw_jadm.f90:42
I/O and Utility.
Definition: hecmw_util_f.F90:7
integer(kind=4), parameter kreal