MPI-SCATCI 2.0
An MPI version of SCATCI
Loading...
Searching...
No Matches
WriterMatrix_module::WriterMatrix Type Reference

Matrix associated with a disk drive. More...

Inheritance diagram for WriterMatrix_module::WriterMatrix:
Collaboration diagram for WriterMatrix_module::WriterMatrix:

Public Member Functions

procedure, public print print_writer
procedure, public finalize_matrix_self finalize_matrix_writer
procedure, public set_options (this, option_val)
 Initialize the matrix cache using the Options object.
procedure, public get_matelem_self get_matelem_writer
procedure, public clear_matrix clear_writer
procedure, public destroy_matrix destroy_writer
procedure, public write_cache_to_unit (this)
 Write matrix chunk to file.
procedure, public insert_into_diag_matrix (this, row, column, coefficient)
 Insert matrix element.
procedure, public get_matrix_unit (this)
 Return Hamiltonian disk file unit.

Public Attributes

type(matrixcache) write_cache
 This cache holds the temprorary matrix values before they are sent to the relevant process. This cache holds what each process requires for SCALAPACK diagonalization.
integer num_elements_per_record
integer matrix_unit

Detailed Description

Matrix associated with a disk drive.

Authors
A Al-Refaie
Date
2017

This type is used for construction of the final Hamiltonian matrix. It allows continuous insertion of matrix elements, which are periodically flushed (as individual "records") to the matrix disk file unit in order to maintain reasonable consumption of memory.

Definition at line 56 of file WriterMatrix_module.f90.

Member Function/Subroutine Documentation

◆ clear_matrix()

procedure, public WriterMatrix_module::WriterMatrix::clear_matrix

Definition at line 68 of file WriterMatrix_module.f90.

◆ destroy_matrix()

procedure, public WriterMatrix_module::WriterMatrix::destroy_matrix

Definition at line 69 of file WriterMatrix_module.f90.

◆ finalize_matrix_self()

procedure, public WriterMatrix_module::WriterMatrix::finalize_matrix_self

Definition at line 65 of file WriterMatrix_module.f90.

◆ get_matelem_self()

procedure, public WriterMatrix_module::WriterMatrix::get_matelem_self

Definition at line 67 of file WriterMatrix_module.f90.

◆ get_matrix_unit()

procedure, public WriterMatrix_module::WriterMatrix::get_matrix_unit ( class(writermatrix) this)

Return Hamiltonian disk file unit.

Authors
A Al-Refaie
Date
2017

Definition at line 72 of file WriterMatrix_module.f90.

◆ insert_into_diag_matrix()

procedure, public WriterMatrix_module::WriterMatrix::insert_into_diag_matrix ( class(writermatrix) this,
integer, intent(in) row,
integer, intent(in) column,
real(wp), intent(in) coefficient )

Insert matrix element.

Authors
A Al-Refaie
Date
2017

This inserts an element into the hard storage which is considered the final location before diagonalization. It also checks wherther the element exists within the allowed range and tells us if it was successfully inserted. Elements smaller than a specific threshold will be ignored. When the limit size of the cache is reached, it is emptied (appended) to the Hamiltonian disk file.

Definition at line 71 of file WriterMatrix_module.f90.

◆ print()

procedure, public WriterMatrix_module::WriterMatrix::print

Definition at line 64 of file WriterMatrix_module.f90.

◆ set_options()

procedure, public WriterMatrix_module::WriterMatrix::set_options ( class(writermatrix) this,
class(options), intent(in) option_val )

Initialize the matrix cache using the Options object.

Authors
A Al-Refaie
Date
2017

Definition at line 66 of file WriterMatrix_module.f90.

◆ write_cache_to_unit()

procedure, public WriterMatrix_module::WriterMatrix::write_cache_to_unit ( class(writermatrix) this)

Write matrix chunk to file.

Authors
A Al-Refaie
Date
2017

Unless the element cache is empty, this subroutine flushes the elements in cache to the Hamiltonian disk file unit as a new record. The matrix element cache is empty on return from this subroutine.

Definition at line 70 of file WriterMatrix_module.f90.

Member Data Documentation

◆ matrix_unit

integer WriterMatrix_module::WriterMatrix::matrix_unit

Definition at line 62 of file WriterMatrix_module.f90.

◆ num_elements_per_record

integer WriterMatrix_module::WriterMatrix::num_elements_per_record

Definition at line 61 of file WriterMatrix_module.f90.

◆ write_cache

type(matrixcache) WriterMatrix_module::WriterMatrix::write_cache

This cache holds the temprorary matrix values before they are sent to the relevant process. This cache holds what each process requires for SCALAPACK diagonalization.

Definition at line 59 of file WriterMatrix_module.f90.


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