MPI-SCATCI 2.0
An MPI version of SCATCI
Loading...
Searching...
No Matches
MatrixCache_module::MatrixCache Type Reference

This handles the matrix elements and also expands the vector size if we have reached max capacity. More...

Public Member Functions

procedure, public construct (this, expand_size_)
procedure, public insert_into_cache (this, i, j, coefficient)
procedure, public get_from_cache (this, idx, i, j, coeff)
procedure, public is_empty (this)
procedure, public clear (this)
procedure, public get_size (this)
procedure, public expand_capacity (this, capacity)
procedure, public sort (this)
procedure, public print (this)
procedure, public get_local_mat (this, idx, mat_id, local_index)
procedure, public get_chunk_idx (this, idx)
procedure, public shrink_capacity (this)
procedure, public clear_and_shrink (this)
procedure, public destroy (this)

Public Attributes

type(matrixarray), dimension(:), allocatable matrix_arrays
integer n
 Number of elements in the array of both the integral and coefficients.
logical constructed = .false.
integer matrix_index
integer num_matrix_chunks = 1
integer max_capacity = 0
 The number of free slots in the array.
integer expand_size = DEFAULT_EXPAND_SIZE
 How much we have to expand each.

Private Member Functions

procedure, private quick_sort_function (this, start_idx, end_idx)
procedure, private partition_function (this, marker, start_idx, end_idx)
procedure, private expand_array (this)
procedure, private check_bounds (this, i)
procedure, private check_constructed (this)

Detailed Description

This handles the matrix elements and also expands the vector size if we have reached max capacity.

Authors
A Al-Refaie
Date
2017

Definition at line 60 of file MatrixCache_module.f90.

Member Function/Subroutine Documentation

◆ check_bounds()

procedure, private MatrixCache_module::MatrixCache::check_bounds ( class(matrixcache), intent(in) this,
integer, intent(in) i )
private

Definition at line 86 of file MatrixCache_module.f90.

◆ check_constructed()

procedure, private MatrixCache_module::MatrixCache::check_constructed ( class(matrixcache) this)
private

Definition at line 88 of file MatrixCache_module.f90.

◆ clear()

procedure, public MatrixCache_module::MatrixCache::clear ( class(matrixcache) this)

Definition at line 73 of file MatrixCache_module.f90.

◆ clear_and_shrink()

procedure, public MatrixCache_module::MatrixCache::clear_and_shrink ( class(matrixcache) this)

Definition at line 85 of file MatrixCache_module.f90.

◆ construct()

procedure, public MatrixCache_module::MatrixCache::construct ( class(matrixcache) this,
integer, intent(in), optional expand_size_ )

Definition at line 69 of file MatrixCache_module.f90.

◆ destroy()

procedure, public MatrixCache_module::MatrixCache::destroy ( class(matrixcache) this)

Definition at line 87 of file MatrixCache_module.f90.

◆ expand_array()

procedure, private MatrixCache_module::MatrixCache::expand_array ( class(matrixcache) this)
private

Definition at line 83 of file MatrixCache_module.f90.

◆ expand_capacity()

procedure, public MatrixCache_module::MatrixCache::expand_capacity ( class(matrixcache) this,
integer, intent(in) capacity )

Definition at line 75 of file MatrixCache_module.f90.

◆ get_chunk_idx()

procedure, public MatrixCache_module::MatrixCache::get_chunk_idx ( class(matrixcache) this,
integer, intent(in) idx )

Definition at line 80 of file MatrixCache_module.f90.

◆ get_from_cache()

procedure, public MatrixCache_module::MatrixCache::get_from_cache ( class(matrixcache) this,
integer, intent(in) idx,
integer, intent(out) i,
integer, intent(out) j,
real(wp), intent(out) coeff )

Definition at line 71 of file MatrixCache_module.f90.

◆ get_local_mat()

procedure, public MatrixCache_module::MatrixCache::get_local_mat ( class(matrixcache) this,
integer, intent(in) idx,
integer, intent(out) mat_id,
integer, intent(out) local_index )

Definition at line 79 of file MatrixCache_module.f90.

◆ get_size()

procedure, public MatrixCache_module::MatrixCache::get_size ( class(matrixcache), intent(in) this)

Definition at line 74 of file MatrixCache_module.f90.

◆ insert_into_cache()

procedure, public MatrixCache_module::MatrixCache::insert_into_cache ( class(matrixcache) this,
integer, intent(in) i,
integer, intent(in) j,
real(wp), intent(in) coefficient )

Definition at line 70 of file MatrixCache_module.f90.

◆ is_empty()

procedure, public MatrixCache_module::MatrixCache::is_empty ( class(matrixcache), intent(in) this)

Definition at line 72 of file MatrixCache_module.f90.

◆ partition_function()

procedure, private MatrixCache_module::MatrixCache::partition_function ( class(matrixcache) this,
integer, intent(out) marker,
integer, intent(in) start_idx,
integer, intent(in) end_idx )
private

Definition at line 82 of file MatrixCache_module.f90.

◆ print()

procedure, public MatrixCache_module::MatrixCache::print ( class(matrixcache) this)

Definition at line 78 of file MatrixCache_module.f90.

◆ quick_sort_function()

procedure, private MatrixCache_module::MatrixCache::quick_sort_function ( class(matrixcache) this,
integer, intent(in) start_idx,
integer, intent(in) end_idx )
private

Definition at line 81 of file MatrixCache_module.f90.

◆ shrink_capacity()

procedure, public MatrixCache_module::MatrixCache::shrink_capacity ( class(matrixcache) this)

Definition at line 84 of file MatrixCache_module.f90.

◆ sort()

procedure, public MatrixCache_module::MatrixCache::sort ( class(matrixcache) this)

Definition at line 77 of file MatrixCache_module.f90.

Member Data Documentation

◆ constructed

logical MatrixCache_module::MatrixCache::constructed = .false.

Definition at line 63 of file MatrixCache_module.f90.

◆ expand_size

integer MatrixCache_module::MatrixCache::expand_size = DEFAULT_EXPAND_SIZE

How much we have to expand each.

Definition at line 67 of file MatrixCache_module.f90.

◆ matrix_arrays

type(matrixarray), dimension(:), allocatable MatrixCache_module::MatrixCache::matrix_arrays

Definition at line 61 of file MatrixCache_module.f90.

◆ matrix_index

integer MatrixCache_module::MatrixCache::matrix_index

Definition at line 64 of file MatrixCache_module.f90.

◆ max_capacity

integer MatrixCache_module::MatrixCache::max_capacity = 0

The number of free slots in the array.

Definition at line 66 of file MatrixCache_module.f90.

◆ n

integer MatrixCache_module::MatrixCache::n

Number of elements in the array of both the integral and coefficients.

Definition at line 62 of file MatrixCache_module.f90.

◆ num_matrix_chunks

integer MatrixCache_module::MatrixCache::num_matrix_chunks = 1

Definition at line 65 of file MatrixCache_module.f90.


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