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


Public Member Functions | |
| procedure, pass(this) | init (this, msh, xh, coef, dof, gs_h, bclst, crs_pctype) | 
| 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) | 
Public Attributes | |
| type(mesh_t), pointer | msh | 
| integer | nlvls | 
| Number of levels in the multigrid.   | |
| type(multigrid_t), dimension(:), allocatable | grids | 
| array for multigrids   | |
| type(gs_t) | gs_crs | 
| type(gs_t) | gs_mg | 
| gather scatter for lower levels   | |
| type(space_t) | xh_crs | 
| type(space_t) | xh_mg | 
| spaces for lower levels   | |
| type(dofmap_t) | dm_crs | 
| type(dofmap_t) | dm_mg | 
| type(coef_t) | c_crs | 
| type(coef_t) | c_mg | 
| type(dirichlet_t) | bc_crs | 
| type(dirichlet_t) | bc_mg | 
| type(dirichlet_t) | bc_reg | 
| type(bc_list_t) | bclst_crs | 
| type(bc_list_t) | bclst_mg | 
| type(bc_list_t) | bclst_reg | 
| type(schwarz_t) | schwarz | 
| type(schwarz_t) | schwarz_mg | 
| type(schwarz_t) | schwarz_crs | 
| Schwarz decompostions.   | |
| type(field_t) | e | 
| type(field_t) | e_mg | 
| type(field_t) | e_crs | 
| Solve fields.   | |
| type(field_t) | wf | 
| Work fields.   | |
| class(ksp_t), allocatable | crs_solver | 
| Solver for course problem.   | |
| integer | niter = 10 | 
| Number of iter of crs sovlve.   | |
| class(pc_t), allocatable | pc_crs | 
| Some basic precon for crs.   | |
| class(ax_t), allocatable | ax | 
| Matrix for crs solve.   | |
| real(kind=rp), dimension(:), allocatable | r | 
| Residual work array.   | |
| type(interpolator_t) | interp_fine_mid | 
| type(interpolator_t) | interp_mid_crs | 
| real(kind=rp), dimension(:), allocatable | w | 
| work array   | |
| type(c_ptr) | w_d = C_NULL_PTR | 
| type(c_ptr) | r_d = C_NULL_PTR | 
| type(c_ptr) | hsmg_event | 
| type(c_ptr) | gs_event | 
Definition at line 102 of file pc_hsmg.f90.
Definition at line 129 of file pc_hsmg.f90.
| procedure, pass(this) hsmg::hsmg_t::init | ( | class(hsmg_t), intent(inout), target | this, | 
| type(mesh_t), intent(inout), target | msh, | ||
| type(space_t), intent(inout), target | xh, | ||
| type(coef_t), intent(inout), target | coef, | ||
| type(dofmap_t), intent(inout), target | dof, | ||
| type(gs_t), intent(inout), target | gs_h, | ||
| type(bc_list_t), intent(inout), target | bclst, | ||
| character(len=*), optional | crs_pctype | ||
| ) | 
Definition at line 128 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 130 of file pc_hsmg.f90.
      
  | 
  pure virtualinherited | 
Definition at line 42 of file precon.f90.
Definition at line 131 of file pc_hsmg.f90.
      
  | 
  pure virtualinherited | 
Definition at line 43 of file precon.f90.
| class(ax_t), allocatable hsmg::hsmg_t::ax | 
Definition at line 118 of file pc_hsmg.f90.
| type(dirichlet_t) hsmg::hsmg_t::bc_crs | 
Definition at line 110 of file pc_hsmg.f90.
| type(dirichlet_t) hsmg::hsmg_t::bc_mg | 
Definition at line 110 of file pc_hsmg.f90.
| type(dirichlet_t) hsmg::hsmg_t::bc_reg | 
Definition at line 110 of file pc_hsmg.f90.
| type(bc_list_t) hsmg::hsmg_t::bclst_crs | 
Definition at line 111 of file pc_hsmg.f90.
| type(bc_list_t) hsmg::hsmg_t::bclst_mg | 
Definition at line 111 of file pc_hsmg.f90.
| type(bc_list_t) hsmg::hsmg_t::bclst_reg | 
Definition at line 111 of file pc_hsmg.f90.
| type(coef_t) hsmg::hsmg_t::c_crs | 
Definition at line 109 of file pc_hsmg.f90.
| type(coef_t) hsmg::hsmg_t::c_mg | 
Definition at line 109 of file pc_hsmg.f90.
| class(ksp_t), allocatable hsmg::hsmg_t::crs_solver | 
Definition at line 115 of file pc_hsmg.f90.
| type(dofmap_t) hsmg::hsmg_t::dm_crs | 
Definition at line 108 of file pc_hsmg.f90.
| type(dofmap_t) hsmg::hsmg_t::dm_mg | 
Definition at line 108 of file pc_hsmg.f90.
| type(field_t) hsmg::hsmg_t::e | 
Definition at line 113 of file pc_hsmg.f90.
| type(field_t) hsmg::hsmg_t::e_crs | 
Definition at line 113 of file pc_hsmg.f90.
| type(field_t) hsmg::hsmg_t::e_mg | 
Definition at line 113 of file pc_hsmg.f90.
| type(multigrid_t), dimension(:), allocatable hsmg::hsmg_t::grids | 
Definition at line 105 of file pc_hsmg.f90.
| type(gs_t) hsmg::hsmg_t::gs_crs | 
Definition at line 106 of file pc_hsmg.f90.
| type(c_ptr) hsmg::hsmg_t::gs_event | 
Definition at line 126 of file pc_hsmg.f90.
| type(gs_t) hsmg::hsmg_t::gs_mg | 
Definition at line 106 of file pc_hsmg.f90.
| type(c_ptr) hsmg::hsmg_t::hsmg_event | 
Definition at line 125 of file pc_hsmg.f90.
| type(interpolator_t) hsmg::hsmg_t::interp_fine_mid | 
Definition at line 120 of file pc_hsmg.f90.
| type(interpolator_t) hsmg::hsmg_t::interp_mid_crs | 
Definition at line 121 of file pc_hsmg.f90.
Definition at line 103 of file pc_hsmg.f90.
| integer hsmg::hsmg_t::niter = 10 | 
Definition at line 116 of file pc_hsmg.f90.
| integer hsmg::hsmg_t::nlvls | 
Definition at line 104 of file pc_hsmg.f90.
| class(pc_t), allocatable hsmg::hsmg_t::pc_crs | 
Definition at line 117 of file pc_hsmg.f90.
| real(kind=rp), dimension(:), allocatable hsmg::hsmg_t::r | 
Definition at line 119 of file pc_hsmg.f90.
| type(c_ptr) hsmg::hsmg_t::r_d = C_NULL_PTR | 
Definition at line 124 of file pc_hsmg.f90.
| type(schwarz_t) hsmg::hsmg_t::schwarz | 
Definition at line 112 of file pc_hsmg.f90.
| type(schwarz_t) hsmg::hsmg_t::schwarz_crs | 
Definition at line 112 of file pc_hsmg.f90.
| type(schwarz_t) hsmg::hsmg_t::schwarz_mg | 
Definition at line 112 of file pc_hsmg.f90.
| real(kind=rp), dimension(:), allocatable hsmg::hsmg_t::w | 
Definition at line 122 of file pc_hsmg.f90.
| type(c_ptr) hsmg::hsmg_t::w_d = C_NULL_PTR | 
Definition at line 123 of file pc_hsmg.f90.
| type(field_t) hsmg::hsmg_t::wf | 
Definition at line 114 of file pc_hsmg.f90.
| type(space_t) hsmg::hsmg_t::xh_crs | 
Definition at line 107 of file pc_hsmg.f90.
| type(space_t) hsmg::hsmg_t::xh_mg | 
Definition at line 107 of file pc_hsmg.f90.