MPI-SCATCI 2.0
An MPI version of SCATCI
Loading...
Searching...
No Matches
BaseMatrix_module Module Reference

Base matrix module. More...

Data Types

type  BaseMatrix
 Base matrix type. More...
interface  generic_clear
interface  generic_construct
interface  generic_destroy
interface  generic_get
interface  generic_insert

Functions/Subroutines

subroutine check_constructed (this)
 Check that matrix is constructed.
subroutine construct (this, mat_mode, threshold)
 Construct the matrix.
subroutine exclude_row_column (this, row_column)
 ?
subroutine initialize_matrix_structure (this, matrix_size, matrix_type, block_size)
 ?
subroutine set_options (this, option_val)
 ?
subroutine initialize_struct_self (this, matrix_size, matrix_type, block_size)
 Initialize the type.
subroutine insert_matrix_element (this, i, j, coefficient, class_, thresh_)
 Set matrix element.
subroutine store_diagonal (this, i, coeff)
 Set diagonal element.
subroutine get_matrix_element (this, idx, i, j, coeff)
 Retrieve matrix element.
subroutine update_continuum (this, force_update)
 ?
subroutine update_pure_L2 (this, force_update, count_)
 ?
subroutine finalize_matrix (this)
 ?
subroutine expand_capacity (this, capacity)
 ?
logical function check_bounds (this, i)
 ?
logical function is_empty (this)
 Determine if matrix is empty.
subroutine clear (this)
 Clear matrix.
integer function get_size (this)
 Get matrix size (rank)
integer function get_matrix_size (this)
 Get matrix size (number of elements)
subroutine print_mat (this)
 Print matrix.
subroutine destroy (this)
 Destroy matrix.
subroutine update_matrix (this)
 Update matrix.

Detailed Description

Base matrix module.

Authors
A Al-Refaie
Date
2017
Note
16/01/2019 - Jakub Benda: Unifom coding style and expanded documentation.

Function/Subroutine Documentation

◆ check_bounds()

logical function BaseMatrix_module::check_bounds ( class(basematrix) this,
integer, intent(in) i )
private

?

Authors
A Al-Refaie
Date
2017

Definition at line 386 of file BaseMatrix_module.f90.

◆ check_constructed()

subroutine BaseMatrix_module::check_constructed ( class(basematrix) this)
private

Check that matrix is constructed.

Authors
A Al-Refaie
Date
2017

Check that matrix is constructed; hard stop if not.

Definition at line 146 of file BaseMatrix_module.f90.

◆ clear()

subroutine BaseMatrix_module::clear ( class(basematrix) this)
private

Clear matrix.

Authors
A Al-Refaie
Date
2017

Definition at line 419 of file BaseMatrix_module.f90.

◆ construct()

subroutine BaseMatrix_module::construct ( class(basematrix) this,
integer, intent(in) mat_mode,
real(wp), intent(in), optional threshold )
private

Construct the matrix.

Authors
A Al-Refaie
Date
2017

Definition at line 161 of file BaseMatrix_module.f90.

◆ destroy()

subroutine BaseMatrix_module::destroy ( class(basematrix) this)
private

Destroy matrix.

Authors
A Al-Refaie
Date
2017

Definition at line 486 of file BaseMatrix_module.f90.

◆ exclude_row_column()

subroutine BaseMatrix_module::exclude_row_column ( class(basematrix) this,
integer, intent(in) row_column )
private

?

Authors
A Al-Refaie
Date
2017

Definition at line 187 of file BaseMatrix_module.f90.

◆ expand_capacity()

subroutine BaseMatrix_module::expand_capacity ( class(basematrix) this,
integer, intent(in) capacity )
private

?

Authors
A Al-Refaie
Date
2017

Definition at line 376 of file BaseMatrix_module.f90.

◆ finalize_matrix()

subroutine BaseMatrix_module::finalize_matrix ( class(basematrix) this)
private

?

Authors
A Al-Refaie
Date
2017

Definition at line 367 of file BaseMatrix_module.f90.

◆ get_matrix_element()

subroutine BaseMatrix_module::get_matrix_element ( class(basematrix) this,
integer, intent(in) idx,
integer, intent(out) i,
integer, intent(out) j,
real(wp), intent(out) coeff )
private

Retrieve matrix element.

Authors
A Al-Refaie
Date
2017

Definition at line 329 of file BaseMatrix_module.f90.

◆ get_matrix_size()

integer function BaseMatrix_module::get_matrix_size ( class(basematrix) this)
private

Get matrix size (number of elements)

Authors
A Al-Refaie
Date
2017

Definition at line 453 of file BaseMatrix_module.f90.

◆ get_size()

integer function BaseMatrix_module::get_size ( class(basematrix) this)
private

Get matrix size (rank)

Authors
A Al-Refaie
Date
2017

Definition at line 441 of file BaseMatrix_module.f90.

◆ initialize_matrix_structure()

subroutine BaseMatrix_module::initialize_matrix_structure ( class(basematrix) this,
integer, intent(in) matrix_size,
integer, intent(in) matrix_type,
integer, intent(in) block_size )
private

?

Authors
A Al-Refaie
Date
2017

Definition at line 203 of file BaseMatrix_module.f90.

◆ initialize_struct_self()

subroutine BaseMatrix_module::initialize_struct_self ( class(basematrix) this,
integer, intent(in) matrix_size,
integer, intent(in) matrix_type,
integer, intent(in) block_size )
private

Initialize the type.

Authors
A Al-Refaie
Date
2017

Do nothing

Definition at line 249 of file BaseMatrix_module.f90.

◆ insert_matrix_element()

subroutine BaseMatrix_module::insert_matrix_element ( class(basematrix) this,
integer, intent(in) i,
integer, intent(in) j,
real(wp), intent(in) coefficient,
integer, intent(in), optional class_,
real(wp), intent(in), optional thresh_ )
private

Set matrix element.

Authors
A Al-Refaie
Date
2017

Definition at line 259 of file BaseMatrix_module.f90.

◆ is_empty()

logical function BaseMatrix_module::is_empty ( class(basematrix) this)
private

Determine if matrix is empty.

Authors
A Al-Refaie
Date
2017

Check if there are no elements in the mastrix.

Definition at line 407 of file BaseMatrix_module.f90.

◆ print_mat()

subroutine BaseMatrix_module::print_mat ( class(basematrix) this)
private

Print matrix.

Authors
A Al-Refaie
Date
2017

Definition at line 469 of file BaseMatrix_module.f90.

◆ set_options()

subroutine BaseMatrix_module::set_options ( class(basematrix) this,
class(options), intent(in) option_val )
private

?

Authors
A Al-Refaie
Date
2017

Usually does nothing but some matrix formats may need more parameters in order to function.

Definition at line 237 of file BaseMatrix_module.f90.

◆ store_diagonal()

subroutine BaseMatrix_module::store_diagonal ( class(basematrix) this,
integer, intent(in) i,
real(wp), intent(in) coeff )
private

Set diagonal element.

Authors
A Al-Refaie
Date
2017

Definition at line 314 of file BaseMatrix_module.f90.

◆ update_continuum()

subroutine BaseMatrix_module::update_continuum ( class(basematrix) this,
logical, intent(in) force_update )
private

?

Authors
A Al-Refaie
Date
2017

Definition at line 346 of file BaseMatrix_module.f90.

◆ update_matrix()

subroutine BaseMatrix_module::update_matrix ( class(basematrix) this)
private

Update matrix.

Authors
A Al-Refaie
Date
2017

Definition at line 503 of file BaseMatrix_module.f90.

◆ update_pure_L2()

subroutine BaseMatrix_module::update_pure_L2 ( class(basematrix) this,
logical, intent(in) force_update,
integer, optional count_ )
private

?

Authors
A Al-Refaie
Date
2017

Definition at line 356 of file BaseMatrix_module.f90.