FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
hecmw_precond_ML.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_ml_setup
14  public :: hecmw_precond_ml_clear
15  public :: hecmw_precond_ml_apply
16 
17 contains
18 
19  subroutine hecmw_precond_ml_setup(hecMAT, hecMESH, sym)
20  implicit none
21  type (hecmwst_matrix), intent(inout) :: hecmat
22  type (hecmwst_local_mesh), intent(in) :: hecmesh
23  integer(kind=kint), intent(in) :: sym
24 
25  select case(hecmat%NDOF)
26  case(3)
27  call hecmw_precond_ml_33_setup(hecmat, hecmesh, sym)
28  case default
29  call hecmw_precond_ml_nn_setup(hecmat, hecmesh, sym)
30  end select
31  end subroutine hecmw_precond_ml_setup
32 
33  subroutine hecmw_precond_ml_clear(NDOF)
34  implicit none
35  integer(kind=kint), intent(in) :: ndof
36 
37  select case(ndof)
38  case(3)
40  case default
42  end select
43  end subroutine hecmw_precond_ml_clear
44 
45  subroutine hecmw_precond_ml_apply(ZP, NDOF)
46  implicit none
47  real(kind=kreal), intent(inout) :: zp(:)
48  integer(kind=kint), intent(in) :: ndof
49 
50  select case(ndof)
51  case(3)
53  case default
55  end select
56  end subroutine hecmw_precond_ml_apply
57 
58 end module hecmw_precond_ml
hecmw_precond_ml_33::hecmw_precond_ml_33_setup
subroutine, public hecmw_precond_ml_33_setup(hecMAT, hecMESH, sym)
Definition: hecmw_precond_ML_33.f90:27
hecmw_precond_ml_nn::hecmw_precond_ml_nn_clear
subroutine, public hecmw_precond_ml_nn_clear()
Definition: hecmw_precond_ML_nn.f90:62
hecmw_precond_ml::hecmw_precond_ml_clear
subroutine, public hecmw_precond_ml_clear(NDOF)
Definition: hecmw_precond_ML.f90:34
hecmw_precond_ml_33::hecmw_precond_ml_33_apply
subroutine, public hecmw_precond_ml_33_apply(WW)
Definition: hecmw_precond_ML_33.f90:55
hecmw_util
I/O and Utility.
Definition: hecmw_util_f.F90:7
hecmw_util::hecmwst_local_mesh
Definition: hecmw_util_f.F90:234
hecmw_util::kreal
integer(kind=4), parameter kreal
Definition: hecmw_util_f.F90:16
hecmw_precond_ml_nn
Definition: hecmw_precond_ML_nn.f90:11
hecmw_precond_ml_33::hecmw_precond_ml_33_clear
subroutine, public hecmw_precond_ml_33_clear()
Definition: hecmw_precond_ML_33.f90:62
hecmw_precond_ml_nn::hecmw_precond_ml_nn_apply
subroutine, public hecmw_precond_ml_nn_apply(WW)
Definition: hecmw_precond_ML_nn.f90:55
hecmw_precond_ml::hecmw_precond_ml_setup
subroutine, public hecmw_precond_ml_setup(hecMAT, hecMESH, sym)
Definition: hecmw_precond_ML.f90:20
hecmw_precond_ml_33
Definition: hecmw_precond_ML_33.f90:11
hecmw_precond_ml
Definition: hecmw_precond_ML.f90:6
hecmw_precond_ml_nn::hecmw_precond_ml_nn_setup
subroutine, public hecmw_precond_ml_nn_setup(hecMAT, hecMESH, sym)
Definition: hecmw_precond_ML_nn.f90:27
hecmw_precond_ml::hecmw_precond_ml_apply
subroutine, public hecmw_precond_ml_apply(ZP, NDOF)
Definition: hecmw_precond_ML.f90:46
hecmw_util::hecmwst_matrix
Definition: hecmw_util_f.F90:444