Hybrid ph-multigrid preconditioner.
|
subroutine | phmg_init (this, msh, xh, coef, dof, gs_h, bclst) |
|
subroutine | phmg_free (this) |
|
subroutine | phmg_solve (this, z, r, n) |
|
subroutine | phmg_update (this) |
|
recursive subroutine | phmg_mg_cycle (z, r, w, lvl, clvl, mg, intrp, msh, ax, amg_solver) |
|
◆ phmg_free()
◆ phmg_init()
subroutine phmg::phmg_init |
( |
class(phmg_t), intent(inout), target |
this, |
|
|
type(mesh_t), intent(inout), target |
msh, |
|
|
type(space_t), intent(inout), target |
xh, |
|
|
type(coef_t), intent(in), target |
coef, |
|
|
type(dofmap_t), intent(in), target |
dof, |
|
|
type(gs_t), intent(inout), target |
gs_h, |
|
|
type(bc_list_t), intent(inout), target |
bclst |
|
) |
| |
◆ phmg_mg_cycle()
recursive subroutine phmg::phmg_mg_cycle |
( |
type(field_t) |
z, |
|
|
type(field_t) |
r, |
|
|
type(field_t) |
w, |
|
|
integer |
lvl, |
|
|
integer |
clvl, |
|
|
type(phmg_lvl_t), dimension(0:clvl) |
mg, |
|
|
type(interpolator_t), dimension(1:clvl) |
intrp, |
|
|
type(mesh_t), intent(inout) |
msh, |
|
|
class(ax_t), intent(inout) |
ax, |
|
|
type(tamg_solver_t), intent(inout) |
amg_solver |
|
) |
| |
|
private |
◆ phmg_solve()
◆ phmg_update()