FEDEM Solver  R8.0
Source code of the dynamics solver
Data Types | Functions/Subroutines | Variables
sparsematrixmodule Module Reference

Data Types

type  sparsematrixtype
 

Functions/Subroutines

subroutine smnullify (this)
 
subroutine smallocate (this, nRows, nCols, useInitSize, err)
 
subroutine smsetmatrix (this, mRow, mCol, values, err)
 
integer function smsize (this, iDim)
 
subroutine smdeallocate (this)
 
subroutine smtranspose (this)
 
subroutine smsetvalue (this, value, rInd, cInd, err, lpu)
 
real(dp) function smgetvalue (this, rInd, cInd)
 
real(dp) function, dimension(this%nrows) smgetcol (this, cInd)
 
real(dp) function, dimension(this%ncols) smgetrow (this, rInd)
 
subroutine smmattimesvec (this, xVec, yVec, err)
 
subroutine smmattranstimesvec (this, xVec, yVec, err)
 
subroutine smshrinktofit (this, err)
 
subroutine smwrite (this, name, lpu, writeMatrixElms)
 
subroutine, private smgrow (this, err, lpu)
 

Variables

integer, parameter, private initsize_p = 10000
 
real(dp), parameter, private growfactor_p = 1.5_dp
 
real(dp), parameter, private epsvalue_p = 1.0e-30_dp
 

Function/Subroutine Documentation

◆ smallocate()

subroutine sparsematrixmodule::smallocate ( type(sparsematrixtype), intent(out)  this,
integer, intent(in)  nRows,
integer, intent(in)  nCols,
logical, intent(in)  useInitSize,
integer, intent(out)  err 
)

◆ smdeallocate()

subroutine sparsematrixmodule::smdeallocate ( type(sparsematrixtype), intent(inout)  this)

◆ smgetcol()

real(dp) function, dimension(this%nrows) sparsematrixmodule::smgetcol ( type(sparsematrixtype), intent(in)  this,
integer, intent(in)  cInd 
)

◆ smgetrow()

real(dp) function, dimension(this%ncols) sparsematrixmodule::smgetrow ( type(sparsematrixtype), intent(in)  this,
integer, intent(in)  rInd 
)

◆ smgetvalue()

real(dp) function sparsematrixmodule::smgetvalue ( type(sparsematrixtype), intent(in)  this,
integer, intent(in)  rInd,
integer, intent(in)  cInd 
)

◆ smgrow()

subroutine, private sparsematrixmodule::smgrow ( type(sparsematrixtype), intent(inout)  this,
integer, intent(out)  err,
integer, intent(in), optional  lpu 
)
private

◆ smmattimesvec()

subroutine sparsematrixmodule::smmattimesvec ( type(sparsematrixtype), intent(in)  this,
real(dp), dimension(:), intent(in)  xVec,
real(dp), dimension(:), intent(out)  yVec,
integer, intent(out)  err 
)

◆ smmattranstimesvec()

subroutine sparsematrixmodule::smmattranstimesvec ( type(sparsematrixtype), intent(in)  this,
real(dp), dimension(:), intent(in)  xVec,
real(dp), dimension(:), intent(out)  yVec,
integer, intent(out)  err 
)

◆ smnullify()

subroutine sparsematrixmodule::smnullify ( type(sparsematrixtype), intent(out)  this)

◆ smsetmatrix()

subroutine sparsematrixmodule::smsetmatrix ( type(sparsematrixtype), intent(inout)  this,
integer, dimension(:), pointer  mRow,
integer, dimension(:), pointer  mCol,
real(dp), dimension(:), pointer  values,
integer, intent(out)  err 
)

◆ smsetvalue()

subroutine sparsematrixmodule::smsetvalue ( type(sparsematrixtype), intent(inout)  this,
real(dp), intent(in)  value,
integer, intent(in)  rInd,
integer, intent(in)  cInd,
integer, intent(out)  err,
integer, intent(in), optional  lpu 
)

◆ smshrinktofit()

subroutine sparsematrixmodule::smshrinktofit ( type(sparsematrixtype), intent(inout)  this,
integer, intent(out)  err 
)

◆ smsize()

integer function sparsematrixmodule::smsize ( type(sparsematrixtype), intent(in)  this,
integer, intent(in), optional  iDim 
)

◆ smtranspose()

subroutine sparsematrixmodule::smtranspose ( type(sparsematrixtype), intent(inout)  this)

◆ smwrite()

subroutine sparsematrixmodule::smwrite ( type(sparsematrixtype), intent(in)  this,
character(len=*), intent(in)  name,
integer, intent(in)  lpu,
logical, intent(in), optional  writeMatrixElms 
)

Variable Documentation

◆ epsvalue_p

real(dp), parameter, private sparsematrixmodule::epsvalue_p = 1.0e-30_dp
private

◆ growfactor_p

real(dp), parameter, private sparsematrixmodule::growfactor_p = 1.5_dp
private

◆ initsize_p

integer, parameter, private sparsematrixmodule::initsize_p = 10000
private