FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_precond_BILU.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 !-------------------------------------------------------------------------------
5 
7  use hecmw_util
12  implicit none
13 
14  private
15  public :: hecmw_precond_bilu_setup
16  public :: hecmw_precond_bilu_clear
17  public :: hecmw_precond_bilu_apply
18 
19 contains
20 
21  subroutine hecmw_precond_bilu_setup(hecMAT)
22  implicit none
23  type (hecmwst_matrix), intent(inout) :: hecmat
24 
25  select case(hecmat%NDOF)
26  case(3)
27  call hecmw_precond_bilu_33_setup(hecmat)
28  case(4)
29  call hecmw_precond_bilu_44_setup(hecmat)
30  case(6)
31  call hecmw_precond_bilu_66_setup(hecmat)
32  case default
33  call hecmw_precond_bilu_nn_setup(hecmat)
34  end select
35  end subroutine hecmw_precond_bilu_setup
36 
37  subroutine hecmw_precond_bilu_clear(NDOF)
38  implicit none
39  integer(kind=kint), intent(in) :: ndof
40 
41  select case(ndof)
42  case(3)
44  case(4)
46  case(6)
48  case default
50  end select
51  end subroutine hecmw_precond_bilu_clear
52 
53  subroutine hecmw_precond_bilu_apply(ZP, NDOF)
54  implicit none
55  real(kind=kreal), intent(inout) :: zp(:)
56  integer(kind=kint), intent(in) :: ndof
57 
58  select case(ndof)
59  case(3)
61  case(4)
63  case(6)
65  case default
66  call hecmw_precond_bilu_nn_apply(zp,ndof)
67  end select
68  end subroutine hecmw_precond_bilu_apply
69 
70 end module hecmw_precond_bilu
hecmw_precond_bilu_33::hecmw_precond_bilu_33_setup
subroutine, public hecmw_precond_bilu_33_setup(hecMAT)
Definition: hecmw_precond_BILU_33.f90:35
hecmw_precond_bilu_33
Definition: hecmw_precond_BILU_33.f90:11
hecmw_precond_bilu
Definition: hecmw_precond_BILU.f90:6
hecmw_precond_bilu_66
Definition: hecmw_precond_BILU_66.f90:11
hecmw_precond_bilu_nn::hecmw_precond_bilu_nn_setup
subroutine, public hecmw_precond_bilu_nn_setup(hecMAT)
Definition: hecmw_precond_BILU_nn.f90:35
hecmw_util
I/O and Utility.
Definition: hecmw_util_f.F90:7
hecmw_precond_bilu::hecmw_precond_bilu_clear
subroutine, public hecmw_precond_bilu_clear(NDOF)
Definition: hecmw_precond_BILU.f90:38
hecmw_util::kreal
integer(kind=4), parameter kreal
Definition: hecmw_util_f.F90:16
hecmw_precond_bilu_66::hecmw_precond_bilu_66_clear
subroutine, public hecmw_precond_bilu_66_clear()
Definition: hecmw_precond_BILU_66.f90:241
hecmw_precond_bilu_33::hecmw_precond_bilu_33_apply
subroutine, public hecmw_precond_bilu_33_apply(WW)
Definition: hecmw_precond_BILU_33.f90:91
hecmw_precond_bilu_66::hecmw_precond_bilu_66_setup
subroutine, public hecmw_precond_bilu_66_setup(hecMAT)
Definition: hecmw_precond_BILU_66.f90:34
hecmw_precond_bilu_nn::hecmw_precond_bilu_nn_apply
subroutine, public hecmw_precond_bilu_nn_apply(WW, NDOF)
Definition: hecmw_precond_BILU_nn.f90:91
hecmw_precond_bilu_nn::hecmw_precond_bilu_nn_clear
subroutine, public hecmw_precond_bilu_nn_clear()
Definition: hecmw_precond_BILU_nn.f90:171
hecmw_precond_bilu::hecmw_precond_bilu_setup
subroutine, public hecmw_precond_bilu_setup(hecMAT)
Definition: hecmw_precond_BILU.f90:22
hecmw_precond_bilu_44::hecmw_precond_bilu_44_clear
subroutine, public hecmw_precond_bilu_44_clear()
Definition: hecmw_precond_BILU_44.f90:176
hecmw_precond_bilu_33::hecmw_precond_bilu_33_clear
subroutine, public hecmw_precond_bilu_33_clear()
Definition: hecmw_precond_BILU_33.f90:160
hecmw_precond_bilu::hecmw_precond_bilu_apply
subroutine, public hecmw_precond_bilu_apply(ZP, NDOF)
Definition: hecmw_precond_BILU.f90:54
hecmw_precond_bilu_44
Definition: hecmw_precond_BILU_44.f90:11
hecmw_precond_bilu_44::hecmw_precond_bilu_44_setup
subroutine, public hecmw_precond_bilu_44_setup(hecMAT)
Definition: hecmw_precond_BILU_44.f90:35
hecmw_precond_bilu_nn
Definition: hecmw_precond_BILU_nn.f90:11
hecmw_util::hecmwst_matrix
Definition: hecmw_util_f.F90:444
hecmw_precond_bilu_66::hecmw_precond_bilu_66_apply
subroutine, public hecmw_precond_bilu_66_apply(WW)
Definition: hecmw_precond_BILU_66.f90:129
hecmw_precond_bilu_44::hecmw_precond_bilu_44_apply
subroutine, public hecmw_precond_bilu_44_apply(WW)
Definition: hecmw_precond_BILU_44.f90:92