![]() |
MODFLOW 6 version 6.9.0.dev0
USGS Modular Hydrologic Model
|


Public Member Functions | |
| procedure | init (this, sparse, mem_path) |
| procedure | destroy (this) |
| procedure | create_vec_mm (this, n, name, mem_path) |
| procedure | create_vec (this, n) |
| procedure | get_value_pos (this, ipos) |
| procedure | get_diag_value (this, irow) |
| procedure | set_diag_value (this, irow, diag_value) |
| procedure | set_value_pos (this, ipos, value) |
| procedure | add_value_pos (this, ipos, value) |
| procedure | add_diag_value (this, irow, value) |
| procedure | zero_entries (this) |
| Set all entries in the matrix to zero. | |
| procedure | zero_row_offdiag (this, irow) |
| Set all off-diagonal entries in the matrix to zero. | |
| procedure | get_first_col_pos (this, irow) |
| procedure | get_last_col_pos (this, irow) |
| procedure | get_column (this, ipos) |
| procedure | get_position (this, irow, icol) |
| Return position index for (irow,icol) element in the matrix. This index can be used in other routines for direct access. | |
| procedure | get_position_diag (this, irow) |
| procedure | get_aij (this, ia, ja, amat) |
| procedure | get_row_offset (this) |
| procedure | multiply (this, vec_x, vec_y) |
| Calculates global matrix vector product: y = A * x. | |
| procedure | update (this) |
| Copies the values from the CSR array into. | |
| procedure | get_aij_local (this, ia, ja, amat) |
| Get the ia/ja and amat values for the local diagonal block of this matrix. It is a copy. | |
| procedure(init_if), deferred | init (this, sparse, mem_path) |
| procedure(destroy_if), deferred | destroy (this) |
| procedure(create_vec_mm_if), deferred | create_vec_mm (this, n, name, mem_path) |
| procedure(create_vec_if), deferred | create_vec (this, n) |
| procedure(get_value_pos_if), deferred | get_value_pos (this, ipos) |
| procedure(get_diag_value_if), deferred | get_diag_value (this, irow) |
| procedure(set_diag_value_if), deferred | set_diag_value (this, irow, diag_value) |
| procedure(set_value_pos_if), deferred | set_value_pos (this, ipos, value) |
| procedure(add_value_pos_if), deferred | add_value_pos (this, ipos, value) |
| procedure(add_diag_value_if), deferred | add_diag_value (this, irow, value) |
| procedure(zero_entries_if), deferred | zero_entries (this) |
| procedure(zero_row_offdiag_if), deferred | zero_row_offdiag (this, irow) |
| procedure(get_first_col_pos_if), deferred | get_first_col_pos (this, irow) |
| procedure(get_last_col_pos_if), deferred | get_last_col_pos (this, irow) |
| procedure(get_column_if), deferred | get_column (this, ipos) |
| procedure(get_position_if), deferred | get_position (this, irow, icol) |
| procedure(get_position_diag_if), deferred | get_position_diag (this, irow) |
| procedure(get_aij_if), deferred | get_aij (this, ia, ja, amat) |
| procedure(get_row_offset_if), deferred | get_row_offset (this) |
| procedure(multiply_if), deferred | multiply (this, vec_x, vec_y) |
Public Attributes | |
| type(tmat) | mat |
| the PETSc matrix object, NOTE: update() should be called before using this, in case the matrix CSR array has changed!!! | |
| integer(i4b) | nrow |
| number of rows in this portion of the global matrix | |
| integer(i4b) | ncol |
| number of columns in the matrix | |
| integer(i4b) | nnz |
| number of nonzeros in the matrix | |
| integer(i4b) | nnz_local |
| number of nonzeros in the local matrix (the diagonal block tied to this process) | |
| integer(i4b) | offset |
| global offset for the first row in the matrix | |
| integer(i4b), dimension(:), pointer, contiguous | ia_petsc |
| IA(CSR) for petsc, contains 0-based index values. | |
| integer(i4b), dimension(:), pointer, contiguous | ja_petsc |
| JA(CSR) for petsc, contains 0-based index values. | |
| real(dp), dimension(:), pointer, contiguous | amat_petsc |
| A(CSR) for petsc. | |
| logical(lgp) | is_parallel |
| character(len=lenmempath) | memory_path |
Private Member Functions | |
| procedure, private | pm_get_position (this, irow, icol) |
| Return position index for (irow,icol) element in the matrix. This index can be used in other routines for direct access. | |
Private Attributes | |
| integer(i4b), dimension(:), pointer, private, contiguous | ia_local |
| IA(CSR) for local block, contains 1-based index values. | |
| integer(i4b), dimension(:), pointer, private, contiguous | ja_local |
| JA(CSR) for local block, contains 1-based index values. | |
| real(dp), dimension(:), pointer, private, contiguous | amat_local |
| A(CSR) for local block. | |
Definition at line 14 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 23 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::add_diag_value | ( | class(petscmatrixtype) | this, |
| integer(i4b) | irow, | ||
| real(dp) | value ) |
Definition at line 40 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 22 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::add_value_pos | ( | class(petscmatrixtype) | this, |
| integer(i4b) | ipos, | ||
| real(dp) | value ) |
Definition at line 39 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 15 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::create_vec | ( | class(petscmatrixtype) | this, |
| integer(i4b) | n ) |
| n | the nr. of elements in the vector |
Definition at line 34 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 14 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::create_vec_mm | ( | class(petscmatrixtype) | this, |
| integer(i4b) | n, | ||
| character(len=*) | name, | ||
| character(len=*) | mem_path ) |
| n | the nr. of elements in the vector |
| name | the variable name (for access through memory manager) |
| mem_path | memory path for storing the underlying memory items |
Definition at line 33 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 13 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::destroy | ( | class(petscmatrixtype) | this | ) |
Definition at line 32 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 33 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::get_aij | ( | class(petscmatrixtype) | this, |
| integer(i4b), dimension(:), pointer, contiguous | ia, | ||
| integer(i4b), dimension(:), pointer, contiguous | ja, | ||
| real(dp), dimension(:), pointer, contiguous | amat ) |
Definition at line 48 of file PetscMatrix.F90.
| procedure petscmatrixmodule::petscmatrixtype::get_aij_local | ( | class(petscmatrixtype) | this, |
| integer(i4b), dimension(:), pointer, contiguous | ia, | ||
| integer(i4b), dimension(:), pointer, contiguous | ja, | ||
| real(dp), dimension(:), pointer, contiguous | amat ) |
Definition at line 55 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 29 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::get_column | ( | class(petscmatrixtype) | this, |
| integer(i4b) | ipos ) |
Definition at line 45 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 18 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::get_diag_value | ( | class(petscmatrixtype) | this, |
| integer(i4b) | irow ) |
Definition at line 36 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 27 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::get_first_col_pos | ( | class(petscmatrixtype) | this, |
| integer(i4b) | irow ) |
Definition at line 43 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 28 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::get_last_col_pos | ( | class(petscmatrixtype) | this, |
| integer(i4b) | irow ) |
Definition at line 44 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 30 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::get_position | ( | class(petscmatrixtype) | this, |
| integer(i4b) | irow, | ||
| integer(i4b) | icol ) |
Definition at line 46 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 31 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::get_position_diag | ( | class(petscmatrixtype) | this, |
| integer(i4b) | irow ) |
Definition at line 47 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 34 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::get_row_offset | ( | class(petscmatrixtype) | this | ) |
Definition at line 49 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 17 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::get_value_pos | ( | class(petscmatrixtype) | this, |
| integer(i4b) | ipos ) |
Definition at line 35 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 12 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::init | ( | class(petscmatrixtype) | this, |
| type(sparsematrix) | sparse, | ||
| character(len=*) | mem_path ) |
Definition at line 31 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 36 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::multiply | ( | class(petscmatrixtype) | this, |
| class(vectorbasetype), pointer | vec_x, | ||
| class(vectorbasetype), pointer | vec_y ) |
Definition at line 51 of file PetscMatrix.F90.
|
private |
Definition at line 58 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 20 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::set_diag_value | ( | class(petscmatrixtype) | this, |
| integer(i4b) | irow, | ||
| real(dp) | diag_value ) |
Definition at line 37 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 21 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::set_value_pos | ( | class(petscmatrixtype) | this, |
| integer(i4b) | ipos, | ||
| real(dp) | value ) |
Definition at line 38 of file PetscMatrix.F90.
| procedure petscmatrixmodule::petscmatrixtype::update | ( | class(petscmatrixtype) | this | ) |
Definition at line 54 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 24 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::zero_entries | ( | class(petscmatrixtype) | this | ) |
Definition at line 41 of file PetscMatrix.F90.
|
pure virtualinherited |
Definition at line 25 of file MatrixBase.f90.
| procedure petscmatrixmodule::petscmatrixtype::zero_row_offdiag | ( | class(petscmatrixtype) | this, |
| integer(i4b) | irow ) |
Definition at line 42 of file PetscMatrix.F90.
|
private |
Definition at line 24 of file PetscMatrix.F90.
| real(dp), dimension(:), pointer, contiguous petscmatrixmodule::petscmatrixtype::amat_petsc |
Definition at line 27 of file PetscMatrix.F90.
|
private |
Definition at line 22 of file PetscMatrix.F90.
| integer(i4b), dimension(:), pointer, contiguous petscmatrixmodule::petscmatrixtype::ia_petsc |
Definition at line 25 of file PetscMatrix.F90.
| logical(lgp) petscmatrixmodule::petscmatrixtype::is_parallel |
Definition at line 28 of file PetscMatrix.F90.
|
private |
Definition at line 23 of file PetscMatrix.F90.
| integer(i4b), dimension(:), pointer, contiguous petscmatrixmodule::petscmatrixtype::ja_petsc |
Definition at line 26 of file PetscMatrix.F90.
| type(tmat) petscmatrixmodule::petscmatrixtype::mat |
Definition at line 15 of file PetscMatrix.F90.
|
inherited |
Definition at line 10 of file MatrixBase.f90.
| integer(i4b) petscmatrixmodule::petscmatrixtype::ncol |
Definition at line 18 of file PetscMatrix.F90.
| integer(i4b) petscmatrixmodule::petscmatrixtype::nnz |
Definition at line 19 of file PetscMatrix.F90.
| integer(i4b) petscmatrixmodule::petscmatrixtype::nnz_local |
Definition at line 20 of file PetscMatrix.F90.
| integer(i4b) petscmatrixmodule::petscmatrixtype::nrow |
Definition at line 17 of file PetscMatrix.F90.
| integer(i4b) petscmatrixmodule::petscmatrixtype::offset |
Definition at line 21 of file PetscMatrix.F90.