|
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.