Nodes of different colours represent the following:
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module or program unit using it. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(inout), | dimension(n,n) | :: | a | ||
real(kind=r64), | intent(inout), | dimension(n) | :: | b | ||
integer, | intent(in) | :: | n | |||
integer, | intent(inout) | :: | nperr | |||
character(len=*), | intent(inout) | :: | ErrorMessage |
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
subroutine EquationsSolver(a,b,n,nperr,ErrorMessage)
!***********************************************************************
! Purpose: solves the main system of energy balance equations
!***********************************************************************
! Input:
! a - matrix, radiositied
! b - vector of known quantities
! n - ???
! Output:
! b - solutions
! nperr - error code
use TARCOGParams
integer, intent(in) :: n
real(r64), dimension(n,n), intent(inout) :: a
real(r64), dimension(n), intent(inout) :: b
integer, intent(inout) :: nperr
character(len=*), intent (inout) :: ErrorMessage
integer :: indx(n)
real(r64) :: d
call ludcmp(a, n, indx, d, nperr, ErrorMessage)
! Exit on error
if ((nperr.gt.0).and.(nperr.le.1000)) return
call lubksb(a,n,indx,b)
end subroutine EquationsSolver