FEDEM Solver
R8.0
Source code of the dynamics solver
|
Solves the linear system of equations Ax = B. More...
Public Member Functions | |
subroutine | cssolvea (iop, iopSing, sysMat, rhs, lpu, ierr, eqnInErr, meqnInErr, tolFactorize, scaleOnSing, neq1) |
Solves the linear system of equations Ax = B. More... | |
subroutine | cssolveb (iop, iopSing, sysMat, rhs, nrhs, lpu, ierr, eqnInErr, meqnInErr, tolFactorize, scaleOnSing, neq1) |
Solves the linear system of equations Ax = B. More... | |
Solves the linear system of equations Ax = B.
subroutine solextensionmodule::cssolve::cssolvea | ( | integer, intent(in) | iop, |
integer, intent(in) | iopSing, | ||
type(sysmatrixtype), intent(inout) | sysMat, | ||
real(dp), dimension(:,:), intent(inout) | rhs, | ||
integer, intent(in) | lpu, | ||
integer, intent(out) | ierr, | ||
integer(ik), intent(out), optional | eqnInErr, | ||
integer(ik), dimension(:), intent(out), optional | meqnInErr, | ||
real(dp), intent(in), optional | tolFactorize, | ||
real(dp), intent(in), optional | scaleOnSing, | ||
integer, intent(in), optional | neq1 | ||
) |
Solves the linear system of equations Ax = B.
This version accepts the right-hand-side vectors rhs to be provided as a 2D neq×nrhs matrix instead of a 1D array.
subroutine solextensionmodule::cssolve::cssolveb | ( | integer, intent(in) | iop, |
integer, intent(in) | iopSing, | ||
type(sysmatrixtype), intent(inout) | sysMat, | ||
real(dp), dimension(:), intent(inout) | rhs, | ||
integer, intent(in) | nrhs, | ||
integer, intent(in) | lpu, | ||
integer, intent(out) | ierr, | ||
integer(ik), intent(out), optional | eqnInErr, | ||
integer(ik), dimension(:), intent(out), optional | meqnInErr, | ||
real(dp), intent(in), optional | tolFactorize, | ||
real(dp), intent(in), optional | scaleOnSing, | ||
integer, intent(in), optional | neq1 | ||
) |
Solves the linear system of equations Ax = B.
[in] | iop | Calculation option (see below) |
[in] | iopSing | Singularity handling options (see below) |
sysMat | The coefficient matrix A | |
rhs | The right-hand-side vector(s) B, solution on output | |
[in] | nrhs | Number of right-hand-side vectors |
[in] | lpu | File unit number for res-file output |
[out] | ierr | Error flag |
[out] | eqnInErr | Equation number of the first singularity detected |
[out] | meqnInErr | Equation numbers of all singularities detected |
[in] | tolFactorize | Singularity tolerance |
[in] | scaleOnSing | Scaling factor for singular pivot elements |
[in] | neq1 | Number of equations to solve for |
Basic equations: Ax = B, LDL'x = B, LDy = B, L'x = y. The value on the input argument iop defines which solution step to do:
The singularity handling flag iopSing is interpreted as follows: