MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
imslinearmodule::imslineardatatype Type Reference
Collaboration diagram for imslinearmodule::imslineardatatype:
Collaboration graph

Public Member Functions

PROCEDURE imslinear_allocate => imslinear_ar
 
procedure imslinear_summary
 
PROCEDURE imslinear_apply => imslinear_ap
 
procedure imslinear_da => imslinear_da
 

Public Attributes

character(len=lenmempath) memorypath
 the path for storing variables in the memory manager More...
 
integer(i4b), pointer iout => NULL()
 simulation listing file unit More...
 
integer(i4b), pointer iprims => NULL()
 print flag More...
 
real(dp), pointer dvclose => null()
 dependent variable closure criterion More...
 
real(dp), pointer rclose => null()
 residual closure criterion More...
 
integer(i4b), pointer icnvgopt => null()
 convergence option More...
 
integer(i4b), pointer iter1 => null()
 max. iterations More...
 
integer(i4b), pointer ilinmeth => null()
 linear solver method More...
 
integer(i4b), pointer iscl => null()
 scaling method More...
 
integer(i4b), pointer iord => null()
 reordering method More...
 
integer(i4b), pointer north => null()
 number of orthogonalizations More...
 
real(dp), pointer relax => null()
 relaxation factor More...
 
integer(i4b), pointer level => null()
 nr. of preconditioner levels More...
 
real(dp), pointer droptol => null()
 drop tolerance for preconditioner More...
 
integer(i4b), pointer ipc => NULL()
 preconditioner flag More...
 
integer(i4b), pointer iacpc => NULL()
 preconditioner CRS row pointers More...
 
integer(i4b), pointer niterc => NULL()
 
integer(i4b), pointer niabcgs => NULL()
 size of working vectors for BCGS linear accelerator More...
 
integer(i4b), pointer niapc => NULL()
 preconditioner number of rows More...
 
integer(i4b), pointer njapc => NULL()
 preconditioner number of non-zero entries More...
 
real(dp), pointer epfact => NULL()
 factor for decreasing convergence criteria in seubsequent Picard iterations More...
 
real(dp), pointer l2norm0 => NULL()
 initial L2 norm More...
 
integer(i4b), pointer njlu => NULL()
 length of jlu work vector More...
 
integer(i4b), pointer njw => NULL()
 length of jw work vector More...
 
integer(i4b), pointer nwlu => NULL()
 length of wlu work vector More...
 
integer(i4b), pointer neq => NULL()
 number of equations (rows in matrix) More...
 
integer(i4b), pointer nja => NULL()
 number of non-zero values in amat More...
 
integer(i4b), dimension(:), pointer, contiguous ia => NULL()
 position of start of each row More...
 
integer(i4b), dimension(:), pointer, contiguous ja => NULL()
 column pointer More...
 
real(dp), dimension(:), pointer, contiguous amat => NULL()
 coefficient matrix More...
 
real(dp), dimension(:), pointer, contiguous rhs => NULL()
 right-hand side of equation More...
 
real(dp), dimension(:), pointer, contiguous x => NULL()
 dependent variable More...
 
real(dp), dimension(:), pointer, contiguous dscale => NULL()
 scaling factor More...
 
real(dp), dimension(:), pointer, contiguous dscale2 => NULL()
 unscaling factor More...
 
integer(i4b), dimension(:), pointer, contiguous iapc => NULL()
 position of start of each row in preconditioner matrix More...
 
integer(i4b), dimension(:), pointer, contiguous japc => NULL()
 preconditioner matrix column pointer More...
 
real(dp), dimension(:), pointer, contiguous apc => NULL()
 preconditioner coefficient matrix More...
 
integer(i4b), dimension(:), pointer, contiguous lorder => NULL()
 reordering mapping More...
 
integer(i4b), dimension(:), pointer, contiguous iorder => NULL()
 mapping to restore reordered matrix More...
 
integer(i4b), dimension(:), pointer, contiguous iaro => NULL()
 position of start of each row in reordered matrix More...
 
integer(i4b), dimension(:), pointer, contiguous jaro => NULL()
 reordered matrix column pointer More...
 
real(dp), dimension(:), pointer, contiguous aro => NULL()
 reordered coefficient matrix More...
 
integer(i4b), dimension(:), pointer, contiguous iw => NULL()
 integer working array More...
 
real(dp), dimension(:), pointer, contiguous w => NULL()
 real working array More...
 
integer(i4b), dimension(:), pointer, contiguous id => NULL()
 integer working array More...
 
real(dp), dimension(:), pointer, contiguous d => NULL()
 real working array More...
 
real(dp), dimension(:), pointer, contiguous p => NULL()
 real working array More...
 
real(dp), dimension(:), pointer, contiguous q => NULL()
 real working array More...
 
real(dp), dimension(:), pointer, contiguous z => NULL()
 real working array More...
 
real(dp), dimension(:), pointer, contiguous t => NULL()
 BICGSTAB real working array. More...
 
real(dp), dimension(:), pointer, contiguous v => NULL()
 BICGSTAB real working array. More...
 
real(dp), dimension(:), pointer, contiguous dhat => NULL()
 BICGSTAB real working array. More...
 
real(dp), dimension(:), pointer, contiguous phat => NULL()
 BICGSTAB real working array. More...
 
real(dp), dimension(:), pointer, contiguous qhat => NULL()
 rBICGSTAB eal working array More...
 
integer(i4b), dimension(:), pointer, contiguous ia0 => NULL()
 pointer to current CRS row pointers More...
 
integer(i4b), dimension(:), pointer, contiguous ja0 => NULL()
 pointer to current CRS column pointers More...
 
real(dp), dimension(:), pointer, contiguous a0 => NULL()
 pointer to current coefficient matrix More...
 
integer(i4b), dimension(:), pointer, contiguous jlu => NULL()
 ilut integer working array More...
 
integer(i4b), dimension(:), pointer, contiguous jw => NULL()
 ilut integer working array More...
 
real(dp), dimension(:), pointer, contiguous wlu => NULL()
 ilut real working array More...
 

Private Member Functions

procedure, private allocate_scalars
 
PROCEDURE, private set_imslinear_input => imslinear_set_input
 

Detailed Description

Definition at line 22 of file ImsLinear.f90.

Member Function/Subroutine Documentation

◆ allocate_scalars()

procedure, private imslinearmodule::imslineardatatype::allocate_scalars
private

Definition at line 99 of file ImsLinear.f90.

◆ imslinear_allocate()

PROCEDURE imslinearmodule::imslineardatatype::imslinear_allocate

Definition at line 95 of file ImsLinear.f90.

◆ imslinear_apply()

PROCEDURE imslinearmodule::imslineardatatype::imslinear_apply

Definition at line 97 of file ImsLinear.f90.

◆ imslinear_da()

procedure imslinearmodule::imslineardatatype::imslinear_da

Definition at line 98 of file ImsLinear.f90.

◆ imslinear_summary()

procedure imslinearmodule::imslineardatatype::imslinear_summary

Definition at line 96 of file ImsLinear.f90.

◆ set_imslinear_input()

PROCEDURE, private imslinearmodule::imslineardatatype::set_imslinear_input
private

Definition at line 101 of file ImsLinear.f90.

Member Data Documentation

◆ a0

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::a0 => NULL()

Definition at line 87 of file ImsLinear.f90.

87  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: A0 => null() !< pointer to current coefficient matrix

◆ amat

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::amat => NULL()

Definition at line 56 of file ImsLinear.f90.

56  real(DP), dimension(:), pointer, contiguous :: AMAT => null() !< coefficient matrix

◆ apc

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::apc => NULL()

Definition at line 64 of file ImsLinear.f90.

64  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: APC => null() !< preconditioner coefficient matrix

◆ aro

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::aro => NULL()

Definition at line 69 of file ImsLinear.f90.

69  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: ARO => null() !< reordered coefficient matrix

◆ d

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::d => NULL()

Definition at line 74 of file ImsLinear.f90.

74  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: D => null() !< real working array

◆ dhat

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::dhat => NULL()

Definition at line 81 of file ImsLinear.f90.

81  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: DHAT => null() !< BICGSTAB real working array

◆ droptol

real(dp), pointer imslinearmodule::imslineardatatype::droptol => null()

Definition at line 37 of file ImsLinear.f90.

37  real(DP), pointer :: DROPTOL => null() !< drop tolerance for preconditioner

◆ dscale

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::dscale => NULL()

Definition at line 60 of file ImsLinear.f90.

60  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: DSCALE => null() !< scaling factor

◆ dscale2

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::dscale2 => NULL()

Definition at line 61 of file ImsLinear.f90.

61  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: DSCALE2 => null() !< unscaling factor

◆ dvclose

real(dp), pointer imslinearmodule::imslineardatatype::dvclose => null()

Definition at line 27 of file ImsLinear.f90.

27  real(DP), pointer :: DVCLOSE => null() !< dependent variable closure criterion

◆ epfact

real(dp), pointer imslinearmodule::imslineardatatype::epfact => NULL()

Definition at line 45 of file ImsLinear.f90.

45  real(DP), POINTER :: EPFACT => null() !< factor for decreasing convergence criteria in seubsequent Picard iterations

◆ ia

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::ia => NULL()

Definition at line 54 of file ImsLinear.f90.

54  integer(I4B), dimension(:), pointer, contiguous :: IA => null() !< position of start of each row

◆ ia0

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::ia0 => NULL()

Definition at line 85 of file ImsLinear.f90.

85  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: IA0 => null() !< pointer to current CRS row pointers

◆ iacpc

integer(i4b), pointer imslinearmodule::imslineardatatype::iacpc => NULL()

Definition at line 40 of file ImsLinear.f90.

40  integer(I4B), POINTER :: IACPC => null() !< preconditioner CRS row pointers

◆ iapc

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::iapc => NULL()

Definition at line 62 of file ImsLinear.f90.

62  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: IAPC => null() !< position of start of each row in preconditioner matrix

◆ iaro

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::iaro => NULL()

Definition at line 67 of file ImsLinear.f90.

67  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: IARO => null() !< position of start of each row in reordered matrix

◆ icnvgopt

integer(i4b), pointer imslinearmodule::imslineardatatype::icnvgopt => null()

Definition at line 29 of file ImsLinear.f90.

29  integer(I4B), pointer :: ICNVGOPT => null() !< convergence option

◆ id

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::id => NULL()

Definition at line 73 of file ImsLinear.f90.

73  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: ID => null() !< integer working array

◆ ilinmeth

integer(i4b), pointer imslinearmodule::imslineardatatype::ilinmeth => null()

Definition at line 31 of file ImsLinear.f90.

31  integer(I4B), pointer :: ILINMETH => null() !< linear solver method

◆ iord

integer(i4b), pointer imslinearmodule::imslineardatatype::iord => null()

Definition at line 33 of file ImsLinear.f90.

33  integer(I4B), pointer :: IORD => null() !< reordering method

◆ iorder

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::iorder => NULL()

Definition at line 66 of file ImsLinear.f90.

66  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: IORDER => null() !< mapping to restore reordered matrix

◆ iout

integer(i4b), pointer imslinearmodule::imslineardatatype::iout => NULL()

Definition at line 24 of file ImsLinear.f90.

24  integer(I4B), POINTER :: iout => null() !< simulation listing file unit

◆ ipc

integer(i4b), pointer imslinearmodule::imslineardatatype::ipc => NULL()

Definition at line 39 of file ImsLinear.f90.

39  integer(I4B), POINTER :: IPC => null() !< preconditioner flag

◆ iprims

integer(i4b), pointer imslinearmodule::imslineardatatype::iprims => NULL()

Definition at line 25 of file ImsLinear.f90.

25  integer(I4B), POINTER :: IPRIMS => null() !< print flag

◆ iscl

integer(i4b), pointer imslinearmodule::imslineardatatype::iscl => null()

Definition at line 32 of file ImsLinear.f90.

32  integer(I4B), pointer :: iSCL => null() !< scaling method

◆ iter1

integer(i4b), pointer imslinearmodule::imslineardatatype::iter1 => null()

Definition at line 30 of file ImsLinear.f90.

30  integer(I4B), pointer :: ITER1 => null() !< max. iterations

◆ iw

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::iw => NULL()

Definition at line 71 of file ImsLinear.f90.

71  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: IW => null() !< integer working array

◆ ja

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::ja => NULL()

Definition at line 55 of file ImsLinear.f90.

55  integer(I4B), dimension(:), pointer, contiguous :: JA => null() !< column pointer

◆ ja0

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::ja0 => NULL()

Definition at line 86 of file ImsLinear.f90.

86  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: JA0 => null() !< pointer to current CRS column pointers

◆ japc

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::japc => NULL()

Definition at line 63 of file ImsLinear.f90.

63  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: JAPC => null() !< preconditioner matrix column pointer

◆ jaro

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::jaro => NULL()

Definition at line 68 of file ImsLinear.f90.

68  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: JARO => null() !< reordered matrix column pointer

◆ jlu

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::jlu => NULL()

Definition at line 89 of file ImsLinear.f90.

89  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: JLU => null() !< ilut integer working array

◆ jw

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::jw => NULL()

Definition at line 90 of file ImsLinear.f90.

90  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: JW => null() !< ilut integer working array

◆ l2norm0

real(dp), pointer imslinearmodule::imslineardatatype::l2norm0 => NULL()

Definition at line 46 of file ImsLinear.f90.

46  real(DP), POINTER :: L2NORM0 => null() !< initial L2 norm

◆ level

integer(i4b), pointer imslinearmodule::imslineardatatype::level => null()

Definition at line 36 of file ImsLinear.f90.

36  integer(I4B), pointer :: LEVEL => null() !< nr. of preconditioner levels

◆ lorder

integer(i4b), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::lorder => NULL()

Definition at line 65 of file ImsLinear.f90.

65  integer(I4B), POINTER, DIMENSION(:), CONTIGUOUS :: LORDER => null() !< reordering mapping

◆ memorypath

character(len=lenmempath) imslinearmodule::imslineardatatype::memorypath

Definition at line 23 of file ImsLinear.f90.

23  character(len=LENMEMPATH) :: memoryPath !< the path for storing variables in the memory manager

◆ neq

integer(i4b), pointer imslinearmodule::imslineardatatype::neq => NULL()

Definition at line 52 of file ImsLinear.f90.

52  integer(I4B), POINTER :: NEQ => null() !< number of equations (rows in matrix)

◆ niabcgs

integer(i4b), pointer imslinearmodule::imslineardatatype::niabcgs => NULL()

Definition at line 42 of file ImsLinear.f90.

42  integer(I4B), POINTER :: NIABCGS => null() !< size of working vectors for BCGS linear accelerator

◆ niapc

integer(i4b), pointer imslinearmodule::imslineardatatype::niapc => NULL()

Definition at line 43 of file ImsLinear.f90.

43  integer(I4B), POINTER :: NIAPC => null() !< preconditioner number of rows

◆ niterc

integer(i4b), pointer imslinearmodule::imslineardatatype::niterc => NULL()

Definition at line 41 of file ImsLinear.f90.

41  integer(I4B), POINTER :: NITERC => null() !<

◆ nja

integer(i4b), pointer imslinearmodule::imslineardatatype::nja => NULL()

Definition at line 53 of file ImsLinear.f90.

53  integer(I4B), POINTER :: NJA => null() !< number of non-zero values in amat

◆ njapc

integer(i4b), pointer imslinearmodule::imslineardatatype::njapc => NULL()

Definition at line 44 of file ImsLinear.f90.

44  integer(I4B), POINTER :: NJAPC => null() !< preconditioner number of non-zero entries

◆ njlu

integer(i4b), pointer imslinearmodule::imslineardatatype::njlu => NULL()

Definition at line 48 of file ImsLinear.f90.

48  integer(I4B), POINTER :: NJLU => null() !< length of jlu work vector

◆ njw

integer(i4b), pointer imslinearmodule::imslineardatatype::njw => NULL()

Definition at line 49 of file ImsLinear.f90.

49  integer(I4B), POINTER :: NJW => null() !< length of jw work vector

◆ north

integer(i4b), pointer imslinearmodule::imslineardatatype::north => null()

Definition at line 34 of file ImsLinear.f90.

34  integer(I4B), pointer :: NORTH => null() !< number of orthogonalizations

◆ nwlu

integer(i4b), pointer imslinearmodule::imslineardatatype::nwlu => NULL()

Definition at line 50 of file ImsLinear.f90.

50  integer(I4B), POINTER :: NWLU => null() !< length of wlu work vector

◆ p

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::p => NULL()

Definition at line 75 of file ImsLinear.f90.

75  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: P => null() !< real working array

◆ phat

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::phat => NULL()

Definition at line 82 of file ImsLinear.f90.

82  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: PHAT => null() !< BICGSTAB real working array

◆ q

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::q => NULL()

Definition at line 76 of file ImsLinear.f90.

76  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: Q => null() !< real working array

◆ qhat

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::qhat => NULL()

Definition at line 83 of file ImsLinear.f90.

83  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: QHAT => null() !< rBICGSTAB eal working array

◆ rclose

real(dp), pointer imslinearmodule::imslineardatatype::rclose => null()

Definition at line 28 of file ImsLinear.f90.

28  real(DP), pointer :: RCLOSE => null() !< residual closure criterion

◆ relax

real(dp), pointer imslinearmodule::imslineardatatype::relax => null()

Definition at line 35 of file ImsLinear.f90.

35  real(DP), pointer :: RELAX => null() !< relaxation factor

◆ rhs

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::rhs => NULL()

Definition at line 57 of file ImsLinear.f90.

57  real(DP), dimension(:), pointer, contiguous :: RHS => null() !< right-hand side of equation

◆ t

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::t => NULL()

Definition at line 79 of file ImsLinear.f90.

79  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: T => null() !< BICGSTAB real working array

◆ v

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::v => NULL()

Definition at line 80 of file ImsLinear.f90.

80  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: V => null() !< BICGSTAB real working array

◆ w

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::w => NULL()

Definition at line 72 of file ImsLinear.f90.

72  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: W => null() !< real working array

◆ wlu

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::wlu => NULL()

Definition at line 91 of file ImsLinear.f90.

91  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: WLU => null() !< ilut real working array

◆ x

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::x => NULL()

Definition at line 58 of file ImsLinear.f90.

58  real(DP), dimension(:), pointer, contiguous :: X => null() !< dependent variable

◆ z

real(dp), dimension(:), pointer, contiguous imslinearmodule::imslineardatatype::z => NULL()

Definition at line 77 of file ImsLinear.f90.

77  real(DP), POINTER, DIMENSION(:), CONTIGUOUS :: Z => null() !< real working array

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