| 
    Neko 1.99.1
    
   A portable framework for high-order spectral element flow simulations 
   | 
 


Public Member Functions | |
| procedure, pass(this) | init (this, coef, bclst, hsmg_params) | 
| procedure, pass(this) | init_from_components (this, coef, bclst, crs_solver, crs_pc, crs_monitor, crs_tamg_lvls, crs_tamg_itrs, crs_tamg_cheby_degree) | 
| procedure, pass(this) | free (this) | 
| procedure, pass(this) | solve (this, z, r, n) | 
| The h1mg preconditioner from Nek5000.   | |
| procedure, pass(this) | update (this) | 
| procedure(pc_solve), deferred, pass | solve (this, z, r, n) | 
| procedure(pc_update), deferred, pass | update (this) | 
Definition at line 108 of file pc_hsmg.f90.
Definition at line 138 of file pc_hsmg.f90.
| procedure, pass(this) hsmg::hsmg_t::init | ( | class(hsmg_t), intent(inout), target | this, | 
| type(coef_t), intent(in), target | coef, | ||
| type(bc_list_t), intent(inout), target | bclst, | ||
| type(json_file), intent(inout) | hsmg_params | ||
| ) | 
Definition at line 135 of file pc_hsmg.f90.
| procedure, pass(this) hsmg::hsmg_t::init_from_components | ( | class(hsmg_t), intent(inout), target | this, | 
| type(coef_t), intent(in), target | coef, | ||
| type(bc_list_t), intent(inout), target | bclst, | ||
| character(len=:), intent(inout), allocatable | crs_solver, | ||
| character(len=:), intent(inout), allocatable | crs_pc, | ||
| logical, intent(inout) | crs_monitor, | ||
| integer, intent(in) | crs_tamg_lvls, | ||
| integer, intent(in) | crs_tamg_itrs, | ||
| integer, intent(in) | crs_tamg_cheby_degree | ||
| ) | 
Definition at line 136 of file pc_hsmg.f90.
| procedure, pass(this) hsmg::hsmg_t::solve | ( | class(hsmg_t), intent(inout) | this, | 
| real(kind=rp), dimension(n), intent(inout) | z, | ||
| real(kind=rp), dimension(n), intent(inout) | r, | ||
| integer, intent(in) | n | ||
| ) | 
Definition at line 139 of file pc_hsmg.f90.
      
  | 
  pure virtualinherited | 
Definition at line 42 of file precon.f90.
Definition at line 140 of file pc_hsmg.f90.
      
  | 
  pure virtualinherited | 
Definition at line 43 of file precon.f90.
| type(tamg_solver_t), allocatable hsmg::hsmg_t::amg_solver | 
Definition at line 122 of file pc_hsmg.f90.
| class(ax_t), allocatable hsmg::hsmg_t::ax | 
Definition at line 125 of file pc_hsmg.f90.
| type(zero_dirichlet_t) hsmg::hsmg_t::bc_crs | 
Definition at line 116 of file pc_hsmg.f90.
| type(zero_dirichlet_t) hsmg::hsmg_t::bc_mg | 
Definition at line 116 of file pc_hsmg.f90.
| type(zero_dirichlet_t) hsmg::hsmg_t::bc_reg | 
Definition at line 116 of file pc_hsmg.f90.
| type(bc_list_t) hsmg::hsmg_t::bclst_crs | 
Definition at line 117 of file pc_hsmg.f90.
| type(bc_list_t) hsmg::hsmg_t::bclst_mg | 
Definition at line 117 of file pc_hsmg.f90.
| type(bc_list_t) hsmg::hsmg_t::bclst_reg | 
Definition at line 117 of file pc_hsmg.f90.
| type(coef_t) hsmg::hsmg_t::c_crs | 
Definition at line 115 of file pc_hsmg.f90.
| type(coef_t) hsmg::hsmg_t::c_mg | 
Definition at line 115 of file pc_hsmg.f90.
| class(ksp_t), allocatable hsmg::hsmg_t::crs_solver | 
Definition at line 121 of file pc_hsmg.f90.
| type(dofmap_t) hsmg::hsmg_t::dm_crs | 
Definition at line 114 of file pc_hsmg.f90.
| type(dofmap_t) hsmg::hsmg_t::dm_mg | 
Definition at line 114 of file pc_hsmg.f90.
| type(field_t) hsmg::hsmg_t::e | 
Definition at line 119 of file pc_hsmg.f90.
| type(field_t) hsmg::hsmg_t::e_crs | 
Definition at line 119 of file pc_hsmg.f90.
| type(field_t) hsmg::hsmg_t::e_mg | 
Definition at line 119 of file pc_hsmg.f90.
| type(multigrid_t), dimension(:), allocatable hsmg::hsmg_t::grids | 
Definition at line 111 of file pc_hsmg.f90.
| type(gs_t) hsmg::hsmg_t::gs_crs | 
Definition at line 112 of file pc_hsmg.f90.
| type(c_ptr) hsmg::hsmg_t::gs_event | 
Definition at line 133 of file pc_hsmg.f90.
| type(gs_t) hsmg::hsmg_t::gs_mg | 
Definition at line 112 of file pc_hsmg.f90.
| type(c_ptr) hsmg::hsmg_t::hsmg_event | 
Definition at line 132 of file pc_hsmg.f90.
| type(interpolator_t) hsmg::hsmg_t::interp_fine_mid | 
Definition at line 127 of file pc_hsmg.f90.
| type(interpolator_t) hsmg::hsmg_t::interp_mid_crs | 
Definition at line 128 of file pc_hsmg.f90.
Definition at line 109 of file pc_hsmg.f90.
| integer hsmg::hsmg_t::niter | 
Definition at line 123 of file pc_hsmg.f90.
| integer hsmg::hsmg_t::nlvls | 
Definition at line 110 of file pc_hsmg.f90.
| class(pc_t), allocatable hsmg::hsmg_t::pc_crs | 
Definition at line 124 of file pc_hsmg.f90.
| real(kind=rp), dimension(:), allocatable hsmg::hsmg_t::r | 
Definition at line 126 of file pc_hsmg.f90.
| type(c_ptr) hsmg::hsmg_t::r_d = C_NULL_PTR | 
Definition at line 131 of file pc_hsmg.f90.
| type(schwarz_t) hsmg::hsmg_t::schwarz | 
Definition at line 118 of file pc_hsmg.f90.
| type(schwarz_t) hsmg::hsmg_t::schwarz_crs | 
Definition at line 118 of file pc_hsmg.f90.
| type(schwarz_t) hsmg::hsmg_t::schwarz_mg | 
Definition at line 118 of file pc_hsmg.f90.
| real(kind=rp), dimension(:), allocatable hsmg::hsmg_t::w | 
Definition at line 129 of file pc_hsmg.f90.
| type(c_ptr) hsmg::hsmg_t::w_d = C_NULL_PTR | 
Definition at line 130 of file pc_hsmg.f90.
| type(field_t) hsmg::hsmg_t::wf | 
Definition at line 120 of file pc_hsmg.f90.
| type(space_t) hsmg::hsmg_t::xh_crs | 
Definition at line 113 of file pc_hsmg.f90.
| type(space_t) hsmg::hsmg_t::xh_mg | 
Definition at line 113 of file pc_hsmg.f90.