MODFLOW 6  version 6.7.0.dev1
USGS Modular Hydrologic Model
parallelsolutionmodule::parallelsolutiontype Type Reference
Inheritance diagram for parallelsolutionmodule::parallelsolutiontype:
Inheritance graph
Collaboration diagram for parallelsolutionmodule::parallelsolutiontype:
Collaboration graph

Public Member Functions

procedure, public preparesolve
 
procedure, public solve
 
procedure, public finalizesolve
 

Private Member Functions

procedure sln_has_converged => par_has_converged
 
procedure sln_package_convergence => par_package_convergence
 
procedure sln_sync_newtonur_flag => par_sync_newtonur_flag
 
procedure sln_nur_has_converged => par_nur_has_converged
 
procedure sln_calc_ptc => par_calc_ptc
 
procedure sln_underrelax => par_underrelax
 
procedure sln_backtracking_xupdate => par_backtracking_xupdate
 
procedure sln_df
 
procedure sln_ar
 
procedure sln_dt
 
procedure sln_ad
 
procedure sln_ot
 
procedure sln_ca
 
procedure sln_fp
 
procedure sln_da
 
procedure add_model
 
procedure add_exchange
 
procedure get_models
 
procedure get_exchanges
 
procedure get_backtracking_flag
 
procedure apply_backtracking
 
procedure, private sln_connect
 
procedure, private sln_reset
 
procedure, private sln_ls
 
procedure, private sln_setouter
 
procedure, private sln_backtracking
 
procedure, private sln_maxval
 
procedure, private sln_calcdx
 
procedure, private sln_calc_residual
 
procedure, private sln_l2norm
 
procedure, private sln_get_dxmax
 
procedure, private sln_get_loc
 
procedure, private sln_get_nodeu
 
procedure, private allocate_scalars
 
procedure, private allocate_arrays
 
procedure, private convergence_summary
 
procedure, private csv_convergence_summary
 
procedure, private sln_buildsystem
 
procedure, private writecsvheader
 
procedure, private writeptcinfotofile
 

Private Attributes

integer(i4b) tmr_convergence = -1
 timer for convergence check More...
 
integer(i4b) tmr_pkg_cnvg = -1
 timer for package convergence check More...
 
integer(i4b) tmr_sync_nur = -1
 timer for NUR synchronization More...
 
integer(i4b) tmr_nur_cnvg = -1
 timer for NUR convergence check More...
 
integer(i4b) tmr_calcptc = -1
 timer for PTC calculation More...
 
integer(i4b) tmr_underrelax = -1
 timer for underrelaxation More...
 
integer(i4b) tmr_backtracking = -1
 timer for backtracking More...
 
character(len=lenmempath) memory_path
 the path for storing solution variables in the memory manager More...
 
character(len=linelength) fname
 input file name More...
 
character(len=16) solver_mode
 the type of solve: sequential, parallel, mayve block, etc. More...
 
type(listtype), pointer modellist
 list of models in solution More...
 
type(listtype), pointer exchangelist
 list of exchanges in solution More...
 
integer(i4b), pointer id
 solution number More...
 
integer(i4b), pointer iu
 input file unit More...
 
real(dp), pointer ttform
 timer - total formulation time More...
 
real(dp), pointer ttsoln
 timer - total solution time More...
 
integer(i4b), pointer isymmetric => null()
 flag indicating if matrix symmetry is required More...
 
integer(i4b), pointer neq => null()
 number of equations More...
 
integer(i4b), pointer matrix_offset => null()
 offset of linear system when part of distributed solution More...
 
class(linearsolverbasetype), pointer linear_solver => null()
 the linear solver for this solution More...
 
class(matrixbasetype), pointer system_matrix => null()
 sparse A-matrix for the system of equations More...
 
class(vectorbasetype), pointer vec_rhs => null()
 the right-hand side vector More...
 
class(vectorbasetype), pointer vec_x => null()
 the dependent-variable vector More...
 
real(dp), dimension(:), pointer, contiguous rhs => null()
 right-hand side vector values More...
 
real(dp), dimension(:), pointer, contiguous x => null()
 dependent-variable vector values More...
 
integer(i4b), dimension(:), pointer, contiguous active => null()
 active cell array More...
 
real(dp), dimension(:), pointer, contiguous xtemp => null()
 temporary vector for previous dependent-variable iterate More...
 
type(blockparsertype) parser
 block parser object More...
 
real(dp), pointer theta => null()
 under-relaxation theta More...
 
real(dp), pointer akappa => null()
 under-relaxation kappa More...
 
real(dp), pointer gamma => null()
 under-relaxation gamma More...
 
real(dp), pointer amomentum => null()
 under-relaxation momentum term More...
 
real(dp), pointer breduc => null()
 backtracking reduction factor More...
 
real(dp), pointer btol => null()
 backtracking tolerance More...
 
real(dp), pointer res_lim => null()
 backtracking residual threshold More...
 
real(dp), pointer dvclose => null()
 dependent-variable closure criteria More...
 
real(dp), pointer bigchold => null()
 cooley under-relaxation weight More...
 
real(dp), pointer bigch => null()
 under-relaxation maximum dependent-variable change More...
 
real(dp), pointer relaxold => null()
 under-relaxation previous relaxation factor More...
 
real(dp), pointer res_prev => null()
 previous L-2 norm More...
 
real(dp), pointer res_new => null()
 current L-2 norm More...
 
integer(i4b), pointer icnvg => null()
 convergence flag (1) non-convergence (0) More...
 
integer(i4b), pointer itertot_timestep => null()
 total nr. of linear solves per call to sln_ca More...
 
integer(i4b), pointer iouttot_timestep => null()
 total nr. of outer iterations per call to sln_ca More...
 
integer(i4b), pointer itertot_sim => null()
 total nr. of inner iterations for simulation More...
 
integer(i4b), pointer mxiter => null()
 maximum number of Picard iterations More...
 
integer(i4b), pointer linsolver => null()
 linear solver used (IMS, PETSC, ...) More...
 
integer(i4b), pointer nonmeth => null()
 under-relaxation method used More...
 
integer(i4b), pointer numtrack => null()
 maximum number of backtracks More...
 
integer(i4b), pointer iprims => null()
 solver print option More...
 
integer(i4b), pointer ibflag => null()
 backtracking flag (1) on (0) off More...
 
integer(i4b), dimension(:, :), pointer, contiguous lrch => null()
 location of the largest dependent-variable change at the end of a Picard iteration More...
 
real(dp), dimension(:), pointer, contiguous hncg => null()
 largest dependent-variable change at the end of a Picard iteration More...
 
real(dp), dimension(:), pointer, contiguous dxold => null()
 DBD under-relaxation previous dependent-variable change. More...
 
real(dp), dimension(:), pointer, contiguous deold => null()
 DBD under-relaxation dependent-variable change variable. More...
 
real(dp), dimension(:), pointer, contiguous wsave => null()
 DBD under-relaxation sign-change factor. More...
 
real(dp), dimension(:), pointer, contiguous hchold => null()
 DBD under-relaxation weighted dependent-variable change. More...
 
character(len=31), dimension(:), pointer, contiguous caccel => null()
 convergence string More...
 
integer(i4b), pointer icsvouterout => null()
 Picard iteration CSV output flag and file unit. More...
 
integer(i4b), pointer icsvinnerout => null()
 Inner iteration CSV output flag and file unit. More...
 
integer(i4b), pointer nitermax => null()
 maximum number of iterations in a time step (maxiter * maxinner) More...
 
integer(i4b), pointer convnmod => null()
 number of models in the solution More...
 
integer(i4b), dimension(:), pointer, contiguous convmodstart => null()
 pointer to the start of each model in the convmod* arrays More...
 
type(convergencesummarytype), pointer cnvg_summary => null()
 details on the convergence behavior within a timestep More...
 
type(imslinearsettingstype), pointer linear_settings => null()
 IMS settings for linear solver. More...
 
integer(i4b), pointer iallowptc => null()
 flag indicating if ptc applied this time step More...
 
integer(i4b), pointer iptcopt => null()
 option for how to calculate the initial PTC value (ptcdel0) More...
 
integer(i4b), pointer iptcout => null()
 PTC output flag and file unit. More...
 
real(dp), pointer l2norm0 => null()
 L-2 norm at the start of the first Picard iteration. More...
 
real(dp), pointer ptcdel => null()
 PTC delta value. More...
 
real(dp), pointer ptcdel0 => null()
 initial PTC delta value More...
 
real(dp), pointer ptcexp => null()
 PTC exponent. More...
 
integer(i4b) tmr_prep_solve
 timer - prepare solve More...
 
integer(i4b) tmr_solve
 timer - solve More...
 
integer(i4b) tmr_final_solve
 timer - finalize solve More...
 
integer(i4b) tmr_formulate
 timer - formulate More...
 
integer(i4b) tmr_linsolve
 timer - linear solve More...
 
integer(i4b) tmr_flows
 timer - calculate flows More...
 
integer(i4b) tmr_budgets
 timer - calculate budgets More...
 
character(len=24) id_postfix
 solution id based postfix for timer titles More...
 
real(dp), pointer atsfrac => null()
 adaptive time step faction More...
 
type(imslineardatatype), pointer imslinear => null()
 IMS linear acceleration object. More...
 
type(sparsematrixsparse
 sparse object More...
 
type(tabletype), pointer innertab => null()
 inner iteration table object More...
 
type(tabletype), pointer outertab => null()
 Picard iteration table object. More...
 
class(*), pointer synchronize_ctx => null()
 
procedure(synchronize_iface), pointer synchronize => null()
 
character(len=lensolutionname) name
 

Detailed Description

Definition at line 13 of file ParallelSolution.f90.

Member Function/Subroutine Documentation

◆ add_exchange()

procedure numericalsolutionmodule::numericalsolutiontype::add_exchange
privateinherited

Definition at line 169 of file NumericalSolution.f90.

◆ add_model()

procedure numericalsolutionmodule::numericalsolutiontype::add_model
privateinherited

Definition at line 168 of file NumericalSolution.f90.

◆ allocate_arrays()

procedure, private numericalsolutionmodule::numericalsolutiontype::allocate_arrays
privateinherited

Definition at line 199 of file NumericalSolution.f90.

◆ allocate_scalars()

procedure, private numericalsolutionmodule::numericalsolutiontype::allocate_scalars
privateinherited

Definition at line 198 of file NumericalSolution.f90.

◆ apply_backtracking()

procedure numericalsolutionmodule::numericalsolutiontype::apply_backtracking
privateinherited

Definition at line 183 of file NumericalSolution.f90.

◆ convergence_summary()

procedure, private numericalsolutionmodule::numericalsolutiontype::convergence_summary
privateinherited

Definition at line 200 of file NumericalSolution.f90.

◆ csv_convergence_summary()

procedure, private numericalsolutionmodule::numericalsolutiontype::csv_convergence_summary
privateinherited

Definition at line 201 of file NumericalSolution.f90.

◆ finalizesolve()

procedure, public numericalsolutionmodule::numericalsolutiontype::finalizesolve
inherited

Definition at line 209 of file NumericalSolution.f90.

◆ get_backtracking_flag()

procedure numericalsolutionmodule::numericalsolutiontype::get_backtracking_flag
privateinherited

Definition at line 182 of file NumericalSolution.f90.

◆ get_exchanges()

procedure numericalsolutionmodule::numericalsolutiontype::get_exchanges
privateinherited

Definition at line 171 of file NumericalSolution.f90.

◆ get_models()

procedure numericalsolutionmodule::numericalsolutiontype::get_models
privateinherited

Definition at line 170 of file NumericalSolution.f90.

◆ preparesolve()

procedure, public numericalsolutionmodule::numericalsolutiontype::preparesolve
inherited

Definition at line 207 of file NumericalSolution.f90.

◆ sln_ad()

procedure numericalsolutionmodule::numericalsolutiontype::sln_ad
privateinherited

Definition at line 163 of file NumericalSolution.f90.

◆ sln_ar()

procedure numericalsolutionmodule::numericalsolutiontype::sln_ar
privateinherited

Definition at line 161 of file NumericalSolution.f90.

◆ sln_backtracking()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_backtracking
privateinherited

Definition at line 190 of file NumericalSolution.f90.

◆ sln_backtracking_xupdate()

procedure parallelsolutionmodule::parallelsolutiontype::sln_backtracking_xupdate
private

Definition at line 29 of file ParallelSolution.f90.

◆ sln_buildsystem()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_buildsystem
privateinherited

Definition at line 202 of file NumericalSolution.f90.

◆ sln_ca()

procedure numericalsolutionmodule::numericalsolutiontype::sln_ca
privateinherited

Definition at line 165 of file NumericalSolution.f90.

◆ sln_calc_ptc()

procedure parallelsolutionmodule::parallelsolutiontype::sln_calc_ptc
private

Definition at line 27 of file ParallelSolution.f90.

◆ sln_calc_residual()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_calc_residual
privateinherited

Definition at line 193 of file NumericalSolution.f90.

◆ sln_calcdx()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_calcdx
privateinherited

Definition at line 192 of file NumericalSolution.f90.

◆ sln_connect()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_connect
privateinherited

Definition at line 186 of file NumericalSolution.f90.

◆ sln_da()

procedure numericalsolutionmodule::numericalsolutiontype::sln_da
privateinherited

Definition at line 167 of file NumericalSolution.f90.

◆ sln_df()

procedure numericalsolutionmodule::numericalsolutiontype::sln_df
privateinherited

Definition at line 160 of file NumericalSolution.f90.

◆ sln_dt()

procedure numericalsolutionmodule::numericalsolutiontype::sln_dt
privateinherited

Definition at line 162 of file NumericalSolution.f90.

◆ sln_fp()

procedure numericalsolutionmodule::numericalsolutiontype::sln_fp
privateinherited

Definition at line 166 of file NumericalSolution.f90.

◆ sln_get_dxmax()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_get_dxmax
privateinherited

Definition at line 195 of file NumericalSolution.f90.

◆ sln_get_loc()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_get_loc
privateinherited

Definition at line 196 of file NumericalSolution.f90.

◆ sln_get_nodeu()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_get_nodeu
privateinherited

Definition at line 197 of file NumericalSolution.f90.

◆ sln_has_converged()

procedure parallelsolutionmodule::parallelsolutiontype::sln_has_converged
private

Definition at line 23 of file ParallelSolution.f90.

◆ sln_l2norm()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_l2norm
privateinherited

Definition at line 194 of file NumericalSolution.f90.

◆ sln_ls()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_ls
privateinherited

Definition at line 188 of file NumericalSolution.f90.

◆ sln_maxval()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_maxval
privateinherited

Definition at line 191 of file NumericalSolution.f90.

◆ sln_nur_has_converged()

procedure parallelsolutionmodule::parallelsolutiontype::sln_nur_has_converged
private

Definition at line 26 of file ParallelSolution.f90.

◆ sln_ot()

procedure numericalsolutionmodule::numericalsolutiontype::sln_ot
privateinherited

Definition at line 164 of file NumericalSolution.f90.

◆ sln_package_convergence()

procedure parallelsolutionmodule::parallelsolutiontype::sln_package_convergence
private

Definition at line 24 of file ParallelSolution.f90.

◆ sln_reset()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_reset
privateinherited

Definition at line 187 of file NumericalSolution.f90.

◆ sln_setouter()

procedure, private numericalsolutionmodule::numericalsolutiontype::sln_setouter
privateinherited

Definition at line 189 of file NumericalSolution.f90.

◆ sln_sync_newtonur_flag()

procedure parallelsolutionmodule::parallelsolutiontype::sln_sync_newtonur_flag
private

Definition at line 25 of file ParallelSolution.f90.

◆ sln_underrelax()

procedure parallelsolutionmodule::parallelsolutiontype::sln_underrelax
private

Definition at line 28 of file ParallelSolution.f90.

◆ solve()

procedure, public numericalsolutionmodule::numericalsolutiontype::solve
inherited

Definition at line 208 of file NumericalSolution.f90.

◆ writecsvheader()

procedure, private numericalsolutionmodule::numericalsolutiontype::writecsvheader
privateinherited

Definition at line 203 of file NumericalSolution.f90.

◆ writeptcinfotofile()

procedure, private numericalsolutionmodule::numericalsolutiontype::writeptcinfotofile
privateinherited

Definition at line 204 of file NumericalSolution.f90.

Member Data Documentation

◆ active

integer(i4b), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::active => null()
privateinherited

Definition at line 76 of file NumericalSolution.f90.

76  integer(I4B), dimension(:), pointer, contiguous :: active => null() !< active cell array

◆ akappa

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::akappa => null()
privateinherited

Definition at line 82 of file NumericalSolution.f90.

82  real(DP), pointer :: akappa => null() !< under-relaxation kappa

◆ amomentum

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::amomentum => null()
privateinherited

Definition at line 84 of file NumericalSolution.f90.

84  real(DP), pointer :: amomentum => null() !< under-relaxation momentum term

◆ atsfrac

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::atsfrac => null()
privateinherited

Definition at line 143 of file NumericalSolution.f90.

143  real(DP), pointer :: atsfrac => null() !< adaptive time step faction

◆ bigch

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::bigch => null()
privateinherited

Definition at line 90 of file NumericalSolution.f90.

90  real(DP), pointer :: bigch => null() !< under-relaxation maximum dependent-variable change

◆ bigchold

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::bigchold => null()
privateinherited

Definition at line 89 of file NumericalSolution.f90.

89  real(DP), pointer :: bigchold => null() !< cooley under-relaxation weight

◆ breduc

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::breduc => null()
privateinherited

Definition at line 85 of file NumericalSolution.f90.

85  real(DP), pointer :: breduc => null() !< backtracking reduction factor

◆ btol

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::btol => null()
privateinherited

Definition at line 86 of file NumericalSolution.f90.

86  real(DP), pointer :: btol => null() !< backtracking tolerance

◆ caccel

character(len=31), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::caccel => null()
privateinherited

Definition at line 112 of file NumericalSolution.f90.

112  character(len=31), dimension(:), pointer, contiguous :: caccel => null() !< convergence string

◆ cnvg_summary

type(convergencesummarytype), pointer numericalsolutionmodule::numericalsolutiontype::cnvg_summary => null()
privateinherited

Definition at line 120 of file NumericalSolution.f90.

120  type(ConvergenceSummaryType), pointer :: cnvg_summary => null() !< details on the convergence behavior within a timestep

◆ convmodstart

integer(i4b), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::convmodstart => null()
privateinherited

Definition at line 117 of file NumericalSolution.f90.

117  integer(I4B), dimension(:), pointer, contiguous :: convmodstart => null() !< pointer to the start of each model in the convmod* arrays

◆ convnmod

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::convnmod => null()
privateinherited

Definition at line 116 of file NumericalSolution.f90.

116  integer(I4B), pointer :: convnmod => null() !< number of models in the solution

◆ deold

real(dp), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::deold => null()
privateinherited

Definition at line 107 of file NumericalSolution.f90.

107  real(DP), dimension(:), pointer, contiguous :: deold => null() !< DBD under-relaxation dependent-variable change variable

◆ dvclose

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::dvclose => null()
privateinherited

Definition at line 88 of file NumericalSolution.f90.

88  real(DP), pointer :: dvclose => null() !< dependent-variable closure criteria

◆ dxold

real(dp), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::dxold => null()
privateinherited

Definition at line 106 of file NumericalSolution.f90.

106  real(DP), dimension(:), pointer, contiguous :: dxold => null() !< DBD under-relaxation previous dependent-variable change

◆ exchangelist

type(listtype), pointer numericalsolutionmodule::numericalsolutiontype::exchangelist
privateinherited

Definition at line 62 of file NumericalSolution.f90.

62  type(ListType), pointer :: exchangelist !< list of exchanges in solution

◆ fname

character(len=linelength) numericalsolutionmodule::numericalsolutiontype::fname
privateinherited

Definition at line 59 of file NumericalSolution.f90.

59  character(len=LINELENGTH) :: fname !< input file name

◆ gamma

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::gamma => null()
privateinherited

Definition at line 83 of file NumericalSolution.f90.

83  real(DP), pointer :: gamma => null() !< under-relaxation gamma

◆ hchold

real(dp), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::hchold => null()
privateinherited

Definition at line 109 of file NumericalSolution.f90.

109  real(DP), dimension(:), pointer, contiguous :: hchold => null() !< DBD under-relaxation weighted dependent-variable change

◆ hncg

real(dp), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::hncg => null()
privateinherited

Definition at line 105 of file NumericalSolution.f90.

105  real(DP), dimension(:), pointer, contiguous :: hncg => null() !< largest dependent-variable change at the end of a Picard iteration

◆ iallowptc

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::iallowptc => null()
privateinherited

Definition at line 124 of file NumericalSolution.f90.

124  integer(I4B), pointer :: iallowptc => null() !< flag indicating if ptc applied this time step

◆ ibflag

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::ibflag => null()
privateinherited

Definition at line 103 of file NumericalSolution.f90.

103  integer(I4B), pointer :: ibflag => null() !< backtracking flag (1) on (0) off

◆ icnvg

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::icnvg => null()
privateinherited

Definition at line 94 of file NumericalSolution.f90.

94  integer(I4B), pointer :: icnvg => null() !< convergence flag (1) non-convergence (0)

◆ icsvinnerout

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::icsvinnerout => null()
privateinherited

Definition at line 114 of file NumericalSolution.f90.

114  integer(I4B), pointer :: icsvinnerout => null() !< Inner iteration CSV output flag and file unit

◆ icsvouterout

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::icsvouterout => null()
privateinherited

Definition at line 113 of file NumericalSolution.f90.

113  integer(I4B), pointer :: icsvouterout => null() !< Picard iteration CSV output flag and file unit

◆ id

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::id
privateinherited

Definition at line 63 of file NumericalSolution.f90.

63  integer(I4B), pointer :: id !< solution number

◆ id_postfix

character(len=24) numericalsolutionmodule::numericalsolutiontype::id_postfix
privateinherited

Definition at line 140 of file NumericalSolution.f90.

140  character(len=24) :: id_postfix !< solution id based postfix for timer titles

◆ imslinear

type(imslineardatatype), pointer numericalsolutionmodule::numericalsolutiontype::imslinear => null()
privateinherited

Definition at line 146 of file NumericalSolution.f90.

146  type(ImsLinearDataType), pointer :: imslinear => null() !< IMS linear acceleration object

◆ innertab

type(tabletype), pointer numericalsolutionmodule::numericalsolutiontype::innertab => null()
privateinherited

Definition at line 152 of file NumericalSolution.f90.

152  type(TableType), pointer :: innertab => null() !< inner iteration table object

◆ iouttot_timestep

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::iouttot_timestep => null()
privateinherited

Definition at line 96 of file NumericalSolution.f90.

96  integer(I4B), pointer :: iouttot_timestep => null() !< total nr. of outer iterations per call to sln_ca

◆ iprims

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::iprims => null()
privateinherited

Definition at line 102 of file NumericalSolution.f90.

102  integer(I4B), pointer :: iprims => null() !< solver print option

◆ iptcopt

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::iptcopt => null()
privateinherited

Definition at line 125 of file NumericalSolution.f90.

125  integer(I4B), pointer :: iptcopt => null() !< option for how to calculate the initial PTC value (ptcdel0)

◆ iptcout

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::iptcout => null()
privateinherited

Definition at line 126 of file NumericalSolution.f90.

126  integer(I4B), pointer :: iptcout => null() !< PTC output flag and file unit

◆ isymmetric

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::isymmetric => null()
privateinherited

Definition at line 67 of file NumericalSolution.f90.

67  integer(I4B), pointer :: isymmetric => null() !< flag indicating if matrix symmetry is required

◆ itertot_sim

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::itertot_sim => null()
privateinherited

Definition at line 97 of file NumericalSolution.f90.

97  integer(I4B), pointer :: itertot_sim => null() !< total nr. of inner iterations for simulation

◆ itertot_timestep

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::itertot_timestep => null()
privateinherited

Definition at line 95 of file NumericalSolution.f90.

95  integer(I4B), pointer :: itertot_timestep => null() !< total nr. of linear solves per call to sln_ca

◆ iu

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::iu
privateinherited

Definition at line 64 of file NumericalSolution.f90.

64  integer(I4B), pointer :: iu !< input file unit

◆ l2norm0

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::l2norm0 => null()
privateinherited

Definition at line 127 of file NumericalSolution.f90.

127  real(DP), pointer :: l2norm0 => null() !< L-2 norm at the start of the first Picard iteration

◆ linear_settings

type(imslinearsettingstype), pointer numericalsolutionmodule::numericalsolutiontype::linear_settings => null()
privateinherited

Definition at line 121 of file NumericalSolution.f90.

121  type(ImsLinearSettingsType), pointer :: linear_settings => null() !< IMS settings for linear solver

◆ linear_solver

class(linearsolverbasetype), pointer numericalsolutionmodule::numericalsolutiontype::linear_solver => null()
privateinherited

Definition at line 70 of file NumericalSolution.f90.

70  class(LinearSolverBaseType), pointer :: linear_solver => null() !< the linear solver for this solution

◆ linsolver

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::linsolver => null()
privateinherited

Definition at line 99 of file NumericalSolution.f90.

99  integer(I4B), pointer :: linsolver => null() !< linear solver used (IMS, PETSC, ...)

◆ lrch

integer(i4b), dimension(:, :), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::lrch => null()
privateinherited

Definition at line 104 of file NumericalSolution.f90.

104  integer(I4B), dimension(:, :), pointer, contiguous :: lrch => null() !< location of the largest dependent-variable change at the end of a Picard iteration

◆ matrix_offset

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::matrix_offset => null()
privateinherited

Definition at line 69 of file NumericalSolution.f90.

69  integer(I4B), pointer :: matrix_offset => null() !< offset of linear system when part of distributed solution

◆ memory_path

character(len=lenmempath) numericalsolutionmodule::numericalsolutiontype::memory_path
privateinherited

Definition at line 58 of file NumericalSolution.f90.

58  character(len=LENMEMPATH) :: memory_path !< the path for storing solution variables in the memory manager

◆ modellist

type(listtype), pointer numericalsolutionmodule::numericalsolutiontype::modellist
privateinherited

Definition at line 61 of file NumericalSolution.f90.

61  type(ListType), pointer :: modellist !< list of models in solution

◆ mxiter

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::mxiter => null()
privateinherited

Definition at line 98 of file NumericalSolution.f90.

98  integer(I4B), pointer :: mxiter => null() !< maximum number of Picard iterations

◆ name

character(len=lensolutionname) basesolutionmodule::basesolutiontype::name
privateinherited

Definition at line 16 of file BaseSolution.f90.

16  character(len=LENSOLUTIONNAME) :: name

◆ neq

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::neq => null()
privateinherited

Definition at line 68 of file NumericalSolution.f90.

68  integer(I4B), pointer :: neq => null() !< number of equations

◆ nitermax

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::nitermax => null()
privateinherited

Definition at line 115 of file NumericalSolution.f90.

115  integer(I4B), pointer :: nitermax => null() !< maximum number of iterations in a time step (maxiter * maxinner)

◆ nonmeth

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::nonmeth => null()
privateinherited

Definition at line 100 of file NumericalSolution.f90.

100  integer(I4B), pointer :: nonmeth => null() !< under-relaxation method used

◆ numtrack

integer(i4b), pointer numericalsolutionmodule::numericalsolutiontype::numtrack => null()
privateinherited

Definition at line 101 of file NumericalSolution.f90.

101  integer(I4B), pointer :: numtrack => null() !< maximum number of backtracks

◆ outertab

type(tabletype), pointer numericalsolutionmodule::numericalsolutiontype::outertab => null()
privateinherited

Definition at line 153 of file NumericalSolution.f90.

153  type(TableType), pointer :: outertab => null() !< Picard iteration table object

◆ parser

type(blockparsertype) numericalsolutionmodule::numericalsolutiontype::parser
privateinherited

Definition at line 78 of file NumericalSolution.f90.

78  type(BlockParserType) :: parser !< block parser object

◆ ptcdel

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::ptcdel => null()
privateinherited

Definition at line 128 of file NumericalSolution.f90.

128  real(DP), pointer :: ptcdel => null() !< PTC delta value

◆ ptcdel0

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::ptcdel0 => null()
privateinherited

Definition at line 129 of file NumericalSolution.f90.

129  real(DP), pointer :: ptcdel0 => null() !< initial PTC delta value

◆ ptcexp

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::ptcexp => null()
privateinherited

Definition at line 130 of file NumericalSolution.f90.

130  real(DP), pointer :: ptcexp => null() !< PTC exponent

◆ relaxold

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::relaxold => null()
privateinherited

Definition at line 91 of file NumericalSolution.f90.

91  real(DP), pointer :: relaxold => null() !< under-relaxation previous relaxation factor

◆ res_lim

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::res_lim => null()
privateinherited

Definition at line 87 of file NumericalSolution.f90.

87  real(DP), pointer :: res_lim => null() !< backtracking residual threshold

◆ res_new

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::res_new => null()
privateinherited

Definition at line 93 of file NumericalSolution.f90.

93  real(DP), pointer :: res_new => null() !< current L-2 norm

◆ res_prev

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::res_prev => null()
privateinherited

Definition at line 92 of file NumericalSolution.f90.

92  real(DP), pointer :: res_prev => null() !< previous L-2 norm

◆ rhs

real(dp), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::rhs => null()
privateinherited

Definition at line 74 of file NumericalSolution.f90.

74  real(DP), dimension(:), pointer, contiguous :: rhs => null() !< right-hand side vector values

◆ solver_mode

character(len=16) numericalsolutionmodule::numericalsolutiontype::solver_mode
privateinherited

Definition at line 60 of file NumericalSolution.f90.

60  character(len=16) :: solver_mode !< the type of solve: sequential, parallel, mayve block, etc.

◆ sparse

type(sparsematrix) numericalsolutionmodule::numericalsolutiontype::sparse
privateinherited

Definition at line 149 of file NumericalSolution.f90.

149  type(sparsematrix) :: sparse !< sparse object

◆ synchronize

procedure(synchronize_iface), pointer numericalsolutionmodule::numericalsolutiontype::synchronize => null()
privateinherited

Definition at line 157 of file NumericalSolution.f90.

157  procedure(synchronize_iface), pointer :: synchronize => null()

◆ synchronize_ctx

class(*), pointer numericalsolutionmodule::numericalsolutiontype::synchronize_ctx => null()
privateinherited

Definition at line 156 of file NumericalSolution.f90.

156  class(*), pointer :: synchronize_ctx => null()

◆ system_matrix

class(matrixbasetype), pointer numericalsolutionmodule::numericalsolutiontype::system_matrix => null()
privateinherited

Definition at line 71 of file NumericalSolution.f90.

71  class(MatrixBaseType), pointer :: system_matrix => null() !< sparse A-matrix for the system of equations

◆ theta

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::theta => null()
privateinherited

Definition at line 81 of file NumericalSolution.f90.

81  real(DP), pointer :: theta => null() !< under-relaxation theta

◆ tmr_backtracking

integer(i4b) parallelsolutionmodule::parallelsolutiontype::tmr_backtracking = -1
private

Definition at line 20 of file ParallelSolution.f90.

20  integer(I4B) :: tmr_backtracking = -1 !< timer for backtracking

◆ tmr_budgets

integer(i4b) numericalsolutionmodule::numericalsolutiontype::tmr_budgets
privateinherited

Definition at line 139 of file NumericalSolution.f90.

139  integer(I4B) :: tmr_budgets !< timer - calculate budgets

◆ tmr_calcptc

integer(i4b) parallelsolutionmodule::parallelsolutiontype::tmr_calcptc = -1
private

Definition at line 18 of file ParallelSolution.f90.

18  integer(I4B) :: tmr_calcptc = -1 !< timer for PTC calculation

◆ tmr_convergence

integer(i4b) parallelsolutionmodule::parallelsolutiontype::tmr_convergence = -1
private

Definition at line 14 of file ParallelSolution.f90.

14  integer(I4B) :: tmr_convergence = -1 !< timer for convergence check

◆ tmr_final_solve

integer(i4b) numericalsolutionmodule::numericalsolutiontype::tmr_final_solve
privateinherited

Definition at line 135 of file NumericalSolution.f90.

135  integer(I4B) :: tmr_final_solve !< timer - finalize solve

◆ tmr_flows

integer(i4b) numericalsolutionmodule::numericalsolutiontype::tmr_flows
privateinherited

Definition at line 138 of file NumericalSolution.f90.

138  integer(I4B) :: tmr_flows !< timer - calculate flows

◆ tmr_formulate

integer(i4b) numericalsolutionmodule::numericalsolutiontype::tmr_formulate
privateinherited

Definition at line 136 of file NumericalSolution.f90.

136  integer(I4B) :: tmr_formulate !< timer - formulate

◆ tmr_linsolve

integer(i4b) numericalsolutionmodule::numericalsolutiontype::tmr_linsolve
privateinherited

Definition at line 137 of file NumericalSolution.f90.

137  integer(I4B) :: tmr_linsolve !< timer - linear solve

◆ tmr_nur_cnvg

integer(i4b) parallelsolutionmodule::parallelsolutiontype::tmr_nur_cnvg = -1
private

Definition at line 17 of file ParallelSolution.f90.

17  integer(I4B) :: tmr_nur_cnvg = -1 !< timer for NUR convergence check

◆ tmr_pkg_cnvg

integer(i4b) parallelsolutionmodule::parallelsolutiontype::tmr_pkg_cnvg = -1
private

Definition at line 15 of file ParallelSolution.f90.

15  integer(I4B) :: tmr_pkg_cnvg = -1 !< timer for package convergence check

◆ tmr_prep_solve

integer(i4b) numericalsolutionmodule::numericalsolutiontype::tmr_prep_solve
privateinherited

Definition at line 133 of file NumericalSolution.f90.

133  integer(I4B) :: tmr_prep_solve !< timer - prepare solve

◆ tmr_solve

integer(i4b) numericalsolutionmodule::numericalsolutiontype::tmr_solve
privateinherited

Definition at line 134 of file NumericalSolution.f90.

134  integer(I4B) :: tmr_solve !< timer - solve

◆ tmr_sync_nur

integer(i4b) parallelsolutionmodule::parallelsolutiontype::tmr_sync_nur = -1
private

Definition at line 16 of file ParallelSolution.f90.

16  integer(I4B) :: tmr_sync_nur = -1 !< timer for NUR synchronization

◆ tmr_underrelax

integer(i4b) parallelsolutionmodule::parallelsolutiontype::tmr_underrelax = -1
private

Definition at line 19 of file ParallelSolution.f90.

19  integer(I4B) :: tmr_underrelax = -1 !< timer for underrelaxation

◆ ttform

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::ttform
privateinherited

Definition at line 65 of file NumericalSolution.f90.

65  real(DP), pointer :: ttform !< timer - total formulation time

◆ ttsoln

real(dp), pointer numericalsolutionmodule::numericalsolutiontype::ttsoln
privateinherited

Definition at line 66 of file NumericalSolution.f90.

66  real(DP), pointer :: ttsoln !< timer - total solution time

◆ vec_rhs

class(vectorbasetype), pointer numericalsolutionmodule::numericalsolutiontype::vec_rhs => null()
privateinherited

Definition at line 72 of file NumericalSolution.f90.

72  class(VectorBaseType), pointer :: vec_rhs => null() !< the right-hand side vector

◆ vec_x

class(vectorbasetype), pointer numericalsolutionmodule::numericalsolutiontype::vec_x => null()
privateinherited

Definition at line 73 of file NumericalSolution.f90.

73  class(VectorBaseType), pointer :: vec_x => null() !< the dependent-variable vector

◆ wsave

real(dp), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::wsave => null()
privateinherited

Definition at line 108 of file NumericalSolution.f90.

108  real(DP), dimension(:), pointer, contiguous :: wsave => null() !< DBD under-relaxation sign-change factor

◆ x

real(dp), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::x => null()
privateinherited

Definition at line 75 of file NumericalSolution.f90.

75  real(DP), dimension(:), pointer, contiguous :: x => null() !< dependent-variable vector values

◆ xtemp

real(dp), dimension(:), pointer, contiguous numericalsolutionmodule::numericalsolutiontype::xtemp => null()
privateinherited

Definition at line 77 of file NumericalSolution.f90.

77  real(DP), dimension(:), pointer, contiguous :: xtemp => null() !< temporary vector for previous dependent-variable iterate

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