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

Sparse matrix extensions. More...

Functions/Subroutines

subroutine gets12sparse (MSKY, SM, S12, IERR)
 Extracts an off-diagonal sub-matrix from a skyline system matrix. More...
 
subroutine sprk12sparse (MSPAR, MTREES, MSIFA, SM, K12, IERR)
 Extracts an off-diagonal sub-matrix from a sparse system matrix. More...
 
subroutine, private sprkc1sparse (LIPERM, NEQ, NSUPER, XSUPER, XLINDX, SUPSUP, PERE2I, LINDX, XLNZ, SM, K12, RINDEX, IERR)
 Extracts an off-diagonal sub-matrix from a sparse system matrix. More...
 

Variables

real(dp), parameter, private epszero_p = 1.0e-16_dp
 Zero tolerance. More...
 

Detailed Description

Sparse matrix extensions.

This module contains some subroutines for extraction of off-diagonal sub-matrices from system matrices into a sparse matrix structure.

See also
sparsematrixmodule.

Function/Subroutine Documentation

◆ gets12sparse()

subroutine sprextensionmodule::gets12sparse ( integer, dimension(:), intent(in)  MSKY,
real(dp), dimension(:), intent(in)  SM,
type(sparsematrixtype), intent(out)  S12,
integer, intent(out)  IERR 
)

Extracts an off-diagonal sub-matrix from a skyline system matrix.

Parameters
[in]MSKYMatrix of skyline definitions
[in]SMSystem matrix elements stored in sky-line format
[out]S12Off-diagonal sub-matrix associated with the external DOFs
[out]IERRError flag

This subroutine extracts the rectangular submatrix S12 corresponding to 1-status DOFs row-wise and 2-status DOFs column-wise, from a symmetric system matrix SM stored in the 'sky-line' format. S12 is returned as a sparsematrixmodule::sparsematrixtype object.

Author
Knut Morten Okstad
Date
3 Mar 2013
Here is the caller graph for this function:

◆ sprk12sparse()

subroutine sprextensionmodule::sprk12sparse ( integer(ik), dimension(:), intent(in)  MSPAR,
integer(ik), dimension(:), intent(in)  MTREES,
integer(ik), dimension(:), intent(in)  MSIFA,
real(dp), dimension(:), intent(in)  SM,
type(sparsematrixtype), intent(out)  K12,
integer, intent(out)  IERR 
)

Extracts an off-diagonal sub-matrix from a sparse system matrix.

Parameters
[in]MSPARMatrix of sparse parameters
[in]MTREESMatrix of elimination assembly trees
[in]MSIFAMatrix of storage information for FA
[in]SMSystem matrix elements stored in sparse format
[out]K12Off-diagonal sub-matrix associated with the external DOFs
[out]IERRError flag

This subroutine extracts the lower triangular sub-matrix associated with the external dofs from SM. If this is done prior to factorization, the results is the coefficient matrix A12.

Author
Karl Erik Thoresen
Date
8 Apr 1999
Here is the caller graph for this function:

◆ sprkc1sparse()

subroutine, private sprextensionmodule::sprkc1sparse ( logical, intent(in)  LIPERM,
integer(ik), intent(in)  NEQ,
integer(ik), intent(in)  NSUPER,
integer(ik), dimension(:), intent(in)  XSUPER,
integer(ik), dimension(:), intent(in)  XLINDX,
integer(ik), dimension(:), intent(in)  SUPSUP,
integer(ik), dimension(:), intent(in)  PERE2I,
integer(ik), dimension(:), intent(in)  LINDX,
integer(ik), dimension(:), intent(in)  XLNZ,
real(dp), dimension(:), intent(in)  SM,
type(sparsematrixtype), intent(out)  K12,
integer, dimension(:), intent(out)  RINDEX,
integer, intent(out)  IERR 
)
private

Extracts an off-diagonal sub-matrix from a sparse system matrix.

Variable Documentation

◆ epszero_p

real(dp), parameter, private sprextensionmodule::epszero_p = 1.0e-16_dp
private

Zero tolerance.