MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
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...
 
logical(lgp) use_ims_cnvgopt
 when true, use IMS convergence check in PETSc solve 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_ims_pc
 
procedure, private print_vec
 
procedure, private print_petsc_version
 

Detailed Description

Definition at line 25 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 52 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 51 of file PetscSolver.F90.

◆ set_ims_pc()

procedure, private petscsolvermodule::petscsolvertype::set_ims_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 30 of file PetscSolver.F90.

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

◆ matrix

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

Definition at line 27 of file PetscSolver.F90.

27  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_cnvgopt

logical(lgp) petscsolvermodule::petscsolvertype::use_ims_cnvgopt

the KSP solver type (CG, BCGS, ...)

Definition at line 32 of file PetscSolver.F90.

32  logical(LGP) :: use_ims_cnvgopt !< when true, use IMS convergence check in PETSc solve

◆ use_ims_pc

logical(lgp) petscsolvermodule::petscsolvertype::use_ims_pc

Definition at line 31 of file PetscSolver.F90.

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

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