FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_precond_RIF.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
10  implicit none
11 
12  private
13  public :: hecmw_precond_rif_setup
14  public :: hecmw_precond_rif_clear
15  public :: hecmw_precond_rif_apply
16 
17 contains
18 
19  subroutine hecmw_precond_rif_setup(hecMAT)
20  implicit none
21  type (hecmwst_matrix), intent(inout) :: hecmat
22 
23  select case(hecmat%NDOF)
24  case(3)
25  call hecmw_precond_rif_33_setup(hecmat)
26  case default
27  call hecmw_precond_rif_nn_setup(hecmat)
28  end select
29  end subroutine hecmw_precond_rif_setup
30 
31  subroutine hecmw_precond_rif_clear(NDOF)
32  implicit none
33  integer(kind=kint), intent(in) :: ndof
34 
35  select case(ndof)
36  case(3)
38  case default
40  end select
41  end subroutine hecmw_precond_rif_clear
42 
43  subroutine hecmw_precond_rif_apply(ZP, NDOF)
44  implicit none
45  real(kind=kreal), intent(inout) :: zp(:)
46  integer(kind=kint), intent(in) :: ndof
47 
48  select case(ndof)
49  case(3)
51  case default
52  call hecmw_precond_rif_nn_apply(zp,ndof)
53  end select
54  end subroutine hecmw_precond_rif_apply
55 
56 end module hecmw_precond_rif
hecmw_precond_rif_33::hecmw_precond_rif_33_setup
subroutine, public hecmw_precond_rif_33_setup(hecMAT)
Definition: hecmw_precond_RIF_33.f90:46
hecmw_precond_rif
Definition: hecmw_precond_RIF.f90:6
hecmw_precond_rif_nn::hecmw_precond_rif_nn_apply
subroutine, public hecmw_precond_rif_nn_apply(ZP, NDOF)
Definition: hecmw_precond_RIF_nn.f90:91
hecmw_precond_rif::hecmw_precond_rif_clear
subroutine, public hecmw_precond_rif_clear(NDOF)
Definition: hecmw_precond_RIF.f90:32
hecmw_precond_rif_33::hecmw_precond_rif_33_apply
subroutine, public hecmw_precond_rif_33_apply(ZP)
Definition: hecmw_precond_RIF_33.f90:89
hecmw_precond_rif_nn
Definition: hecmw_precond_RIF_nn.f90:6
hecmw_precond_rif::hecmw_precond_rif_apply
subroutine, public hecmw_precond_rif_apply(ZP, NDOF)
Definition: hecmw_precond_RIF.f90:44
hecmw_util
I/O and Utility.
Definition: hecmw_util_f.F90:7
hecmw_util::kreal
integer(kind=4), parameter kreal
Definition: hecmw_util_f.F90:16
hecmw_precond_rif_33::hecmw_precond_rif_33_clear
subroutine, public hecmw_precond_rif_33_clear()
Definition: hecmw_precond_RIF_33.f90:999
hecmw_precond_rif_nn::hecmw_precond_rif_nn_clear
subroutine, public hecmw_precond_rif_nn_clear()
Definition: hecmw_precond_RIF_nn.f90:713
hecmw_precond_rif_33
Definition: hecmw_precond_RIF_33.f90:6
hecmw_precond_rif_nn::hecmw_precond_rif_nn_setup
subroutine, public hecmw_precond_rif_nn_setup(hecMAT)
Definition: hecmw_precond_RIF_nn.f90:46
hecmw_precond_rif::hecmw_precond_rif_setup
subroutine, public hecmw_precond_rif_setup(hecMAT)
Definition: hecmw_precond_RIF.f90:20
hecmw_util::hecmwst_matrix
Definition: hecmw_util_f.F90:444