factory_petsc Subroutine

public subroutine factory_petsc(multigrid, bnd_type_core, bnd_type_wall, bnd_type_dome, bnd_type_out, co, lambda, xi, par, hsolver, pc_sel)

Factory routine for 2D Helmholtz solver, type PETSC. Only the finest mesh of the multigrid will be used.

Arguments

Type IntentOptional Attributes Name
type(multigrid_t), intent(inout) :: multigrid
integer, intent(in) :: bnd_type_core
integer, intent(in) :: bnd_type_wall
integer, intent(in) :: bnd_type_dome
integer, intent(in) :: bnd_type_out
real(kind=FP), intent(in), dimension(multigrid%get_np(1)) :: co
real(kind=FP), intent(in), dimension(multigrid%get_np_inner(1)) :: lambda
real(kind=FP), intent(in), dimension(multigrid%get_np_inner(1)) :: xi
type(parameters_helmholtz_solver_factory), intent(in) :: par
type(helmholtz_solver_petsc_t), intent(inout) :: hsolver
character(len=*), intent(in) :: pc_sel

Type of Preconditioner PGMG: Multigrid with operators from parallax-multigrid PCRC: As specified in file petscrc