CSLP_OP_BC Subroutine

public subroutine CSLP_OP_BC(v_in, v_out, ni, nj, hx_c, hy_c, kxy, kh2)

matrix-free CSLP operator, for the specified gird systems

Arguments

Type IntentOptional Attributes Name
complex(kind=realdp), intent(inout), dimension(1-LAP:ni+LAP,1-LAP:nj+LAP) :: v_in
complex(kind=realdp), intent(inout), dimension(1-LAP:ni+LAP,1-LAP:nj+LAP) :: v_out
integer, intent(in) :: ni

ni,nj: grid size of subdomain on the current grid level

integer, intent(in) :: nj

ni,nj: grid size of subdomain on the current grid level

real(kind=realdp), intent(in) :: hx_c

hx_c,hy_c: space step of subdomain on the current grid level

real(kind=realdp), intent(in) :: hy_c

hx_c,hy_c: space step of subdomain on the current grid level

real(kind=realdp), intent(in), dimension(1-LAP:ni+LAP,1-LAP:nj+LAP) :: kxy

kxy: wavenumber profile of subdomain on the current grid level,kh2=(kh)^2

real(kind=realdp), intent(in), dimension(1-LAP:ni+LAP,1-LAP:nj+LAP) :: kh2

kxy: wavenumber profile of subdomain on the current grid level,kh2=(kh)^2


Calls

proc~~cslp_op_bc~~CallsGraph proc~cslp_op_bc CSLP_OP_BC 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~dirichlet Dirichlet proc~if_bcs->proc~dirichlet proc~first_order_neum first_order_Neum proc~if_bcs->proc~first_order_neum 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 mpi_sendrecv mpi_sendrecv proc~mg_check_x2d->mpi_sendrecv proc~mg_check_y2d->mpi_sendrecv

Called by

proc~~cslp_op_bc~~CalledByGraph proc~cslp_op_bc CSLP_OP_BC proc~f_cycle F_cycle proc~f_cycle->proc~cslp_op_bc proc~f_cycle->proc~f_cycle proc~mg_bicgstab mg_bicgstab proc~f_cycle->proc~mg_bicgstab proc~mg_fullgmres mg_fullgmres proc~f_cycle->proc~mg_fullgmres proc~v_cycle V_cycle proc~f_cycle->proc~v_cycle proc~mg_arnoldi mg_arnoldi proc~mg_arnoldi->proc~cslp_op_bc proc~mg_bicgstab->proc~cslp_op_bc proc~mg_fullgmres->proc~cslp_op_bc proc~mg_fullgmres->proc~mg_arnoldi proc~v_cycle->proc~cslp_op_bc proc~v_cycle->proc~mg_bicgstab proc~v_cycle->proc~mg_fullgmres proc~v_cycle->proc~v_cycle proc~mgcslp_invmhx MGCSLP_invMHx proc~mgcslp_invmhx->proc~f_cycle proc~mgcslp_invmhx->proc~v_cycle proc~mgcslp_invmx MGCSLP_invMx proc~mgcslp_invmx->proc~f_cycle proc~mgcslp_invmx->proc~v_cycle proc~cprecon cprecon proc~cprecon->proc~mgcslp_invmx proc~def_arnoldi def_arnoldi proc~def_arnoldi->proc~mgcslp_invmhx proc~ex Ex proc~def_arnoldi->proc~ex proc~def_bicgstab DEF_bicgstab proc~def_bicgstab->proc~mgcslp_invmhx proc~def_bicgstab->proc~ex proc~def_fullgmres DEF_fullgmres proc~def_fullgmres->proc~mgcslp_invmhx proc~def_fullgmres->proc~def_arnoldi proc~def_fullgmres->proc~ex proc~ex->proc~mgcslp_invmhx proc~multileveladp_px MultiLevelADP_Px proc~multileveladp_px->proc~mgcslp_invmhx proc~multilevel_invey MultiLevel_invEy proc~multileveladp_px->proc~multilevel_invey proc~p_adef1x P_ADEF1x proc~p_adef1x->proc~mgcslp_invmx proc~qx Qx proc~p_adef1x->proc~qx proc~p_tlkmx P_TLKMx proc~p_tlkmx->proc~mgcslp_invmx proc~p_tlkmx->proc~qx proc~precond_x Precond_x proc~precond_x->proc~mgcslp_invmx proc~def_px DEF_Px proc~precond_x->proc~def_px interface~operator(SLASH) OPERATOR(/) interface~operator(SLASH)->proc~cprecon proc~def_prefgmres DEF_prefgmres proc~def_prefgmres->proc~multileveladp_px proc~def_px->proc~multileveladp_px proc~def_px->proc~p_adef1x proc~def_px->proc~p_tlkmx proc~p_defx P_DEFx proc~def_px->proc~p_defx proc~full_pgcr full_pgcr proc~full_pgcr->proc~precond_x proc~full_pgmres full_pgmres proc~full_pgmres->proc~precond_x proc~invey invEy proc~invey->proc~def_bicgstab proc~invey->proc~def_fullgmres 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 proc~multilevel_invey->proc~def_prefgmres proc~qx->proc~invey 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 proc~p_defx->proc~qx proc~px Px proc~px->proc~qx