MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
petscsolvermodule::petscsolvertype Type Reference
Inheritance diagram for petscsolvermodule::petscsolvertype:
Inheritance graph
Collaboration diagram for petscsolvermodule::petscsolvertype:
Collaboration graph

Public Member Functions

procedure initialize => petsc_initialize
 
procedure solve => petsc_solve
 
procedure print_summary => petsc_print_summary
 
procedure destroy => petsc_destroy
 
procedure create_matrix => petsc_create_matrix
 

Public Attributes

class(petscmatrixtype), pointer matrix => null()
 the system matrix in PETSc compatible format More...
 
type(imslinearsettingstype), pointer linear_settings => null()
 pointer to linear settings from IMS More...
 
logical(lgp) use_ims_pc
 when true, use custom IMS-style preconditioning More...
 
class(petsccnvgctxtype), pointer petsc_ctx => null()
 context for the PETSc custom convergence check More...
 
type(pcshellctxtype), pointer pc_context => null()
 context for the custom (IMS) precondioner More...
 
type(convergencesummarytype), pointer convergence_summary => null()
 data structure wrapping the convergence data More...
 
character(len=lensolutionname) name
 
integer(i4b) nitermax
 
integer(i4b) iteration_number
 
integer(i4b) is_converged
 

Private Member Functions

procedure, private petsc_check_settings
 
procedure, private get_options_mf6
 
procedure, private create_ksp
 
procedure, private create_convergence_check
 
procedure, private set_petsc_pc
 
procedure, private set_ims_pc
 
procedure, private print_vec
 
procedure, private print_petsc_version
 

Detailed Description

Definition at line 24 of file PetscSolver.F90.

Member Function/Subroutine Documentation

◆ create_convergence_check()

procedure, private petscsolvermodule::petscsolvertype::create_convergence_check
private

Definition at line 49 of file PetscSolver.F90.

◆ create_ksp()

procedure, private petscsolvermodule::petscsolvertype::create_ksp
private

Definition at line 48 of file PetscSolver.F90.

◆ create_matrix()

procedure petscsolvermodule::petscsolvertype::create_matrix

Definition at line 43 of file PetscSolver.F90.

◆ destroy()

procedure petscsolvermodule::petscsolvertype::destroy

Definition at line 42 of file PetscSolver.F90.

◆ get_options_mf6()

procedure, private petscsolvermodule::petscsolvertype::get_options_mf6
private

Definition at line 47 of file PetscSolver.F90.

◆ initialize()

procedure petscsolvermodule::petscsolvertype::initialize

Definition at line 39 of file PetscSolver.F90.

◆ petsc_check_settings()

procedure, private petscsolvermodule::petscsolvertype::petsc_check_settings
private

Definition at line 46 of file PetscSolver.F90.

◆ print_petsc_version()

procedure, private petscsolvermodule::petscsolvertype::print_petsc_version
private

Definition at line 53 of file PetscSolver.F90.

◆ print_summary()

procedure petscsolvermodule::petscsolvertype::print_summary

Definition at line 41 of file PetscSolver.F90.

◆ print_vec()

procedure, private petscsolvermodule::petscsolvertype::print_vec
private

Definition at line 52 of file PetscSolver.F90.

◆ set_ims_pc()

procedure, private petscsolvermodule::petscsolvertype::set_ims_pc
private

Definition at line 51 of file PetscSolver.F90.

◆ set_petsc_pc()

procedure, private petscsolvermodule::petscsolvertype::set_petsc_pc
private

Definition at line 50 of file PetscSolver.F90.

◆ solve()

procedure petscsolvermodule::petscsolvertype::solve

Definition at line 40 of file PetscSolver.F90.

Member Data Documentation

◆ convergence_summary

type(convergencesummarytype), pointer petscsolvermodule::petscsolvertype::convergence_summary => null()

Definition at line 36 of file PetscSolver.F90.

36  type(ConvergenceSummaryType), pointer :: convergence_summary => null() !< data structure wrapping the convergence data

◆ is_converged

integer(i4b) linearsolverbasemodule::linearsolverbasetype::is_converged
inherited

Definition at line 21 of file LinearSolverBase.f90.

21  integer(I4B) :: is_converged

◆ iteration_number

integer(i4b) linearsolverbasemodule::linearsolverbasetype::iteration_number
inherited

Definition at line 20 of file LinearSolverBase.f90.

20  integer(I4B) :: iteration_number

◆ linear_settings

type(imslinearsettingstype), pointer petscsolvermodule::petscsolvertype::linear_settings => null()

Definition at line 29 of file PetscSolver.F90.

29  type(ImsLinearSettingsType), pointer :: linear_settings => null() !< pointer to linear settings from IMS

◆ matrix

class(petscmatrixtype), pointer petscsolvermodule::petscsolvertype::matrix => null()

Definition at line 26 of file PetscSolver.F90.

26  class(PetscMatrixType), pointer :: matrix => null() !< the system matrix in PETSc compatible format

◆ name

character(len=lensolutionname) linearsolverbasemodule::linearsolverbasetype::name
inherited

Definition at line 18 of file LinearSolverBase.f90.

18  character(len=LENSOLUTIONNAME) :: name

◆ nitermax

integer(i4b) linearsolverbasemodule::linearsolverbasetype::nitermax
inherited

Definition at line 19 of file LinearSolverBase.f90.

19  integer(I4B) :: nitermax

◆ pc_context

type(pcshellctxtype), pointer petscsolvermodule::petscsolvertype::pc_context => null()

Definition at line 35 of file PetscSolver.F90.

35  type(PcShellCtxType), pointer :: pc_context => null() !< context for the custom (IMS) precondioner

◆ petsc_ctx

class(petsccnvgctxtype), pointer petscsolvermodule::petscsolvertype::petsc_ctx => null()

Definition at line 34 of file PetscSolver.F90.

34  class(PetscCnvgCtxType), pointer :: petsc_ctx => null() !< context for the PETSc custom convergence check

◆ use_ims_pc

logical(lgp) petscsolvermodule::petscsolvertype::use_ims_pc

the KSP solver type (CG, BCGS, ...) the (global) preconditioner type, should be parallel the block preconditioner type (for the subdomain)

Definition at line 30 of file PetscSolver.F90.

30  logical(LGP) :: use_ims_pc !< when true, use custom IMS-style preconditioning

The documentation for this type was generated from the following file: