FEDEM Solver  R8.0
Source code of the dynamics solver
Data Types | Modules | Functions/Subroutines
sDiskMatrixModule.f90 File Reference

General rectangular matrix with disk storage. More...

Data Types

type  sdiskmatrixmodule::diskmatrixtype
 Data type representing a rectangular matrix with disk storage. More...
 
interface  sdiskmatrixmodule::dmmattimesvec
 Multiplies a disk matrix with a given vector. More...
 

Modules

module  sdiskmatrixmodule
 Module for general rectangular matrices with disk storage,.
 

Functions/Subroutines

integer function sdiskmatrixmodule::dmgetswapsize ()
 Returns requested size of one swap section from command-line option. More...
 
subroutine sdiskmatrixmodule::dmnullify (this)
 Initializes a disk matrix object. More...
 
subroutine sdiskmatrixmodule::dmwrite (this, lpu, name)
 Writes out the content of a disk matrix. More...
 
subroutine sdiskmatrixmodule::dmopen (this, fileName, fileChkSum, nRows, nCols, status, err, nColSwap, swapSize, wantTag)
 Opens a disk matrix file for ReadOnly operations. More...
 
integer function adjustswapsize (nTot, nSwap)
 Adjusts the number of matrix columns in a swap section. More...
 
integer(i8) function sdiskmatrixmodule::dmsize (this, iDim)
 Returns the size of the given disk matrix. More...
 
subroutine sdiskmatrixmodule::dmclose (this, err)
 Closes the disk matrix file and releases the associated swap array. More...
 
subroutine, private sdiskmatrixmodule::dmgetaddress (this, rInd, cInd, section, index, err)
 Gets swap section number and local array index for matrix element. More...
 
subroutine, private sdiskmatrixmodule::dmswap (this, newSection, err)
 Writes current section to disk and reads a new one into core. More...
 
subroutine, private sdiskmatrixmodule::dmsinglecast (this, ielSwap, nelSwap)
 Casts the in-core matrix elements from double to single precision. More...
 
real(sp) function sdiskmatrixmodule::dmgetvalue (this, rInd, cInd, err)
 Returns the value of a matrix element. More...
 
real(sp) function, dimension(:,:), pointer sdiskmatrixmodule::dmgetswapsecptr (this, cInd, err)
 Returns a pointer to a matrix containing a swap section. More...
 
real(sp) function, dimension(:), pointer sdiskmatrixmodule::dmgetcolptr (this, cInd, err)
 Returns a pointer to column cInd of the given disk matrix. More...
 
subroutine sdiskmatrixmodule::dmgetcol (this, cInd, col, err)
 Gets a column of the given disk matrix. More...
 
subroutine sdiskmatrixmodule::dmgetrow (this, rInd, row, err)
 Gets a row of the given disk matrix. More...
 
subroutine, private sdiskmatrixmodule::dmmattimesvec_sp (this, xVec, yVec, err, doInitialize)
 Multiplies a disk matrix with a given single precision vector. More...
 
subroutine, private sdiskmatrixmodule::dmmattimesvec_dp (this, xVec, yVec, err, doInitialize)
 Multiplies a disk matrix with a given double precision vector. More...
 
subroutine sdiskmatrixmodule::dmmattranstimesvec (this, xVec, yVec, err)
 Multiplies the transpose of a disk matrix with a given vector. More...
 
subroutine sdiskmatrixmodule::dmfindabsmaxrowvalues (this, maxRowVal, err)
 Finds the absolute maximum value for each row in a disk matrix. More...
 

Detailed Description

General rectangular matrix with disk storage.

Function/Subroutine Documentation

◆ adjustswapsize()

integer function dmopen::adjustswapsize ( integer, intent(in)  nTot,
integer, intent(in)  nSwap 
)

Adjusts the number of matrix columns in a swap section.

Parameters
[in]nTotTotal number of matrix columns
[in]nSwapNumber of swap sections
Returns
Number of columns in all swap sections, except for the last one

The number of columns is set such that the total number of columns in the matrix is nearly divisable by the number of swap columns, and such that the last swap section is as close in size as possisble to the other sections.