brn_calc_bdw Subroutine

public subroutine brn_calc_bdw(mob, bdw, ierr, lconv, f)

Main driver routine for calculating B.dW.

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(inout), dimension(:,:):: mob

(sizm,sizm) symmetric positive definite matrix. On entry, contains the mobility matrix. On return, if meth = 'CHOL', the upper triangular part is overwritten with the result of Cholesky decomposition. The strictly lower triangular part is left intact.

real(kind=rp), intent(inout), dimension(:,:):: bdw

(sizm,s) matrix. On entry, contains s column vectors drawn from standard normal distribution. On return, the s columns are overwritten with the result of B.dW.

integer, intent(out) :: ierr

Error flag.

logical, intent(out), optional :: lconv

If meth = 'LANC', returns true if converged, false otherwise.

integer, intent(out), optional :: f

If meth = 'LANC', the number of iterations performed.


Calls

proc~~brn_calc_bdw~~CallsGraph proc~brn_calc_bdw brn_calc_bdw proc~calc_bdw_cholesky calc_bdw_cholesky proc~brn_calc_bdw->proc~calc_bdw_cholesky proc~calc_bdw_lanc calc_bdw_lanc proc~brn_calc_bdw->proc~calc_bdw_lanc proc~calc_bdw_blanc calc_bdw_blanc proc~brn_calc_bdw->proc~calc_bdw_blanc dtrmm dtrmm proc~calc_bdw_cholesky->dtrmm dpotrf dpotrf proc~calc_bdw_cholesky->dpotrf dsbevd dsbevd proc~calc_bdw_blanc->dsbevd dorgqr dorgqr proc~calc_bdw_blanc->dorgqr dgeqp3 dgeqp3 proc~calc_bdw_blanc->dgeqp3

Called by

proc~~brn_calc_bdw~~CalledByGraph proc~brn_calc_bdw brn_calc_bdw proc~calc_diffusion calc_diffusion proc~calc_diffusion->proc~brn_calc_bdw proc~integrate_em integrate_em proc~integrate_em->proc~calc_diffusion proc~integrate_se integrate_se proc~integrate_se->proc~calc_diffusion proc~bds_run bds_run proc~bds_run->proc~integrate_em proc~bds_run->proc~integrate_se proc~run run proc~run->proc~bds_run program~main main program~main->proc~run

Contents

None