Precond_x Function

public function Precond_x(x)

This is a routine to select which preconditioner is applied, Precond_x = P^(-1)x

Arguments

Type IntentOptional Attributes Name
complex(kind=realdp), dimension(1-LAP:nx+LAP,1-LAP:ny+LAP) :: x

Return Value complex(kind=realdp), (1-LAP:nx+LAP,1-LAP:ny+LAP)


Calls

proc~~precond_x~~CallsGraph proc~precond_x Precond_x proc~def_px DEF_Px proc~precond_x->proc~def_px proc~mgcslp_invmx MGCSLP_invMx proc~precond_x->proc~mgcslp_invmx proc~default_gridpara default_gridpara proc~def_px->proc~default_gridpara proc~multileveladp_px MultiLevelADP_Px proc~def_px->proc~multileveladp_px proc~p_adef1x P_ADEF1x proc~def_px->proc~p_adef1x proc~p_defx P_DEFx proc~def_px->proc~p_defx proc~p_tlkmx P_TLKMx proc~def_px->proc~p_tlkmx proc~f_cycle F_cycle proc~mgcslp_invmx->proc~f_cycle proc~finestgrid_define finestgrid_define proc~mgcslp_invmx->proc~finestgrid_define proc~grid_destroy grid_destroy proc~mgcslp_invmx->proc~grid_destroy proc~v_cycle V_cycle proc~mgcslp_invmx->proc~v_cycle proc~f_cycle->proc~f_cycle proc~f_cycle->proc~grid_destroy proc~f_cycle->proc~v_cycle proc~coarsegrid_create coarsegrid_create proc~f_cycle->proc~coarsegrid_create proc~cslp_op_bc CSLP_OP_BC proc~f_cycle->proc~cslp_op_bc proc~damp_jacobi_smoother Damp_Jacobi_smoother proc~f_cycle->proc~damp_jacobi_smoother proc~mg_bicgstab mg_bicgstab proc~f_cycle->proc~mg_bicgstab proc~mg_fullgmres mg_fullgmres proc~f_cycle->proc~mg_fullgmres proc~prolongation_en_correct prolongation_en_correct proc~f_cycle->proc~prolongation_en_correct proc~restriction restriction proc~f_cycle->proc~restriction proc~helm_ax_nth Helm_Ax_nth proc~multileveladp_px->proc~helm_ax_nth proc~krylovcslp_invmhx KrylovCSLP_invMHx proc~multileveladp_px->proc~krylovcslp_invmhx proc~log2 LOG2 proc~multileveladp_px->proc~log2 proc~mgcslp_invmhx MGCSLP_invMHx proc~multileveladp_px->proc~mgcslp_invmhx proc~multilevel_invey MultiLevel_invEy proc~multileveladp_px->proc~multilevel_invey proc~ztx ZTx proc~multileveladp_px->proc~ztx proc~zx Zx proc~multileveladp_px->proc~zx proc~p_adef1x->proc~mgcslp_invmx proc~helm_ahx Helm_Ahx proc~p_adef1x->proc~helm_ahx proc~qx Qx proc~p_adef1x->proc~qx proc~p_defx->proc~helm_ahx proc~p_defx->proc~qx proc~p_tlkmx->proc~mgcslp_invmx proc~p_tlkmx->proc~helm_ahx proc~p_tlkmx->proc~qx proc~v_cycle->proc~grid_destroy proc~v_cycle->proc~v_cycle proc~v_cycle->proc~coarsegrid_create proc~v_cycle->proc~cslp_op_bc proc~v_cycle->proc~damp_jacobi_smoother proc~v_cycle->proc~mg_bicgstab proc~v_cycle->proc~mg_fullgmres proc~v_cycle->proc~prolongation_en_correct proc~v_cycle->proc~restriction proc~cslp2d_stencils cslp2d_stencils proc~cslp_op_bc->proc~cslp2d_stencils proc~if_bcs if_BCs proc~cslp_op_bc->proc~if_bcs proc~mg_check_xy2d mg_check_xy2d proc~cslp_op_bc->proc~mg_check_xy2d proc~damp_jacobi_smoother->proc~cslp2d_stencils proc~damp_jacobi_smoother->proc~if_bcs proc~damp_jacobi_smoother->proc~mg_check_xy2d proc~helmholtz2d_bc_mg Helmholtz2d_BC_mg proc~helm_ahx->proc~helmholtz2d_bc_mg proc~helm_ax_nth->proc~log2 proc~gridbase_extrpltghostbcs GridBase_ExtrpltGhostBCs proc~helm_ax_nth->proc~gridbase_extrpltghostbcs proc~helm_ax_nth_stencils Helm_Ax_nth_stencils proc~helm_ax_nth->proc~helm_ax_nth_stencils proc~helmholtz2d_stencils Helmholtz2d_stencils proc~helm_ax_nth->proc~helmholtz2d_stencils proc~helm_ax_nth->proc~mg_check_xy2d proc~krylovcslp_invmhx->proc~grid_destroy proc~gridsys_define gridsys_define proc~krylovcslp_invmhx->proc~gridsys_define proc~red_glk_cslp_gmres ReD_Glk_CSLP_gmres proc~krylovcslp_invmhx->proc~red_glk_cslp_gmres proc~mg_bicgstab->proc~cslp_op_bc proc~mg_dot_prod mg_dot_prod proc~mg_bicgstab->proc~mg_dot_prod proc~mg_norm mg_norm proc~mg_bicgstab->proc~mg_norm proc~mg_fullgmres->proc~cslp_op_bc proc~mg_apply_givens_rotation mg_apply_givens_rotation proc~mg_fullgmres->proc~mg_apply_givens_rotation proc~mg_arnoldi mg_arnoldi proc~mg_fullgmres->proc~mg_arnoldi proc~mg_back_substitute mg_back_substitute proc~mg_fullgmres->proc~mg_back_substitute proc~mg_fullgmres->proc~mg_norm proc~mgcslp_invmhx->proc~f_cycle proc~mgcslp_invmhx->proc~grid_destroy proc~mgcslp_invmhx->proc~v_cycle proc~mgcslp_invmhx->proc~gridsys_define proc~multilevel_invey->proc~log2 proc~def_prefgmres DEF_prefgmres proc~multilevel_invey->proc~def_prefgmres proc~prolongation_en_correct->proc~mg_check_xy2d proc~qx->proc~ztx proc~qx->proc~zx proc~invey invEy proc~qx->proc~invey proc~restriction->proc~mg_check_xy2d proc~mg_checkreal_xy2d mg_checkreal_xy2d proc~restriction->proc~mg_checkreal_xy2d proc~ztx->proc~mg_check_xy2d proc~zx->proc~mg_check_xy2d proc~def_prefgmres->proc~multileveladp_px proc~def_prefgmres->proc~helm_ax_nth proc~def_prefgmres->proc~krylovcslp_invmhx proc~def_prefgmres->proc~mg_dot_prod proc~def_prefgmres->proc~mg_norm cdsqrt cdsqrt proc~def_prefgmres->cdsqrt proc~coarsegridpara CoarseGridpara proc~def_prefgmres->proc~coarsegridpara proc~helm_ax_nth_stencils->proc~log2 proc~helmholtz2d_bc_mg->proc~helmholtz2d_stencils proc~helmholtz2d_bc_mg->proc~if_bcs proc~helmholtz2d_bc_mg->proc~mg_check_xy2d proc~dirichlet Dirichlet proc~if_bcs->proc~dirichlet proc~first_order_neum first_order_Neum proc~if_bcs->proc~first_order_neum proc~def_bicgstab DEF_bicgstab proc~invey->proc~def_bicgstab proc~def_fullgmres DEF_fullgmres proc~invey->proc~def_fullgmres proc~mg_apply_givens_rotation->cdsqrt proc~mg_arnoldi->proc~cslp_op_bc proc~mg_arnoldi->proc~mg_dot_prod proc~mg_arnoldi->proc~mg_norm proc~mg_check_x2d mg_check_x2d proc~mg_check_xy2d->proc~mg_check_x2d proc~mg_check_y2d mg_check_y2d proc~mg_check_xy2d->proc~mg_check_y2d proc~mg_checkreal_x2d mg_checkreal_x2d proc~mg_checkreal_xy2d->proc~mg_checkreal_x2d proc~mg_checkreal_y2d mg_checkreal_y2d proc~mg_checkreal_xy2d->proc~mg_checkreal_y2d mpi_allreduce mpi_allreduce proc~mg_dot_prod->mpi_allreduce proc~mg_norm->mpi_allreduce proc~red_glk_cslp_gmres->proc~log2 proc~red_glk_cslp_gmres->proc~mg_dot_prod proc~red_glk_cslp_gmres->proc~mg_norm proc~red_glk_cslp_gmres->cdsqrt proc~cslp_mx_nth CSLP_Mx_nth proc~red_glk_cslp_gmres->proc~cslp_mx_nth proc~cslp_mx_nth->proc~log2 proc~cslp_mx_nth->proc~cslp2d_stencils proc~cslp_mx_nth->proc~gridbase_extrpltghostbcs proc~cslp_mx_nth->proc~mg_check_xy2d proc~cslp_mx_nth_stencils CSLP_Mx_nth_stencils proc~cslp_mx_nth->proc~cslp_mx_nth_stencils proc~def_bicgstab->proc~mgcslp_invmhx proc~def_bicgstab->proc~mg_dot_prod proc~def_bicgstab->proc~mg_norm proc~def_bicgstab->proc~coarsegridpara proc~ex Ex proc~def_bicgstab->proc~ex proc~def_fullgmres->proc~mgcslp_invmhx proc~def_fullgmres->proc~mg_norm proc~def_fullgmres->proc~coarsegridpara proc~def_apply_givens_rotation def_apply_givens_rotation proc~def_fullgmres->proc~def_apply_givens_rotation proc~def_arnoldi def_arnoldi proc~def_fullgmres->proc~def_arnoldi proc~def_back_substitute def_back_substitute proc~def_fullgmres->proc~def_back_substitute proc~def_fullgmres->proc~ex mpi_sendrecv mpi_sendrecv proc~mg_check_x2d->mpi_sendrecv proc~mg_check_y2d->mpi_sendrecv proc~mg_checkreal_x2d->mpi_sendrecv proc~mg_checkreal_y2d->mpi_sendrecv proc~cslp_mx_nth_stencils->proc~log2 proc~def_apply_givens_rotation->cdsqrt proc~def_arnoldi->proc~mgcslp_invmhx proc~def_arnoldi->proc~mg_dot_prod proc~def_arnoldi->proc~mg_norm proc~def_arnoldi->proc~ex proc~ex->proc~helm_ahx proc~ex->proc~mgcslp_invmhx proc~ex->proc~ztx proc~ex->proc~zx proc~ex->proc~coarsegridpara proc~helm_a2hx Helm_A2hx proc~ex->proc~helm_a2hx proc~ztzx ZTZx proc~ex->proc~ztzx proc~helm_a2hx->proc~helmholtz2d_bc_mg proc~helmholtz2d_o4cmpct Helmholtz2d_O4cmpct proc~helm_a2hx->proc~helmholtz2d_o4cmpct proc~helmholtz2d_red_glk Helmholtz2d_ReD_Glk proc~helm_a2hx->proc~helmholtz2d_red_glk proc~ztzx->proc~ztx proc~ztzx->proc~zx proc~helmholtz2d_o4cmpct->proc~mg_check_xy2d proc~helmholtz2d_red_glk->proc~helmholtz2d_stencils proc~helmholtz2d_red_glk->proc~mg_check_xy2d proc~extrpltghostbcs ExtrpltGhostBCs proc~helmholtz2d_red_glk->proc~extrpltghostbcs proc~red_glk_stencils ReD_Glk_stencils proc~helmholtz2d_red_glk->proc~red_glk_stencils

Called by

proc~~precond_x~~CalledByGraph proc~precond_x Precond_x proc~full_pgcr full_pgcr proc~full_pgcr->proc~precond_x proc~full_pgmres full_pgmres proc~full_pgmres->proc~precond_x proc~pfgmres pfgmres proc~pfgmres->proc~precond_x proc~pre_fullgmres Pre_fullgmres proc~pre_fullgmres->proc~precond_x proc~prearnoldi Prearnoldi proc~pre_fullgmres->proc~prearnoldi proc~pre_restartgmres Pre_restartgmres proc~pre_restartgmres->proc~precond_x proc~pre_restartgmres->proc~prearnoldi proc~prearnoldi->proc~precond_x program~helmholtz_2d helmholtz_2d program~helmholtz_2d->proc~full_pgcr program~helmholtz_2d->proc~full_pgmres program~helmholtz_2d->proc~pfgmres program~helmholtz_2d->proc~pre_fullgmres program~helmholtz_2d->proc~pre_restartgmres