GNU Octave 10.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 
Loading...
Searching...
No Matches
dfnrmd.f
Go to the documentation of this file.
1C Work performed under the auspices of the U.S. Department of Energy
2C by Lawrence Livermore National Laboratory under contract number
3C W-7405-Eng-48.
4C
5 SUBROUTINE dfnrmd (NEQ, Y, T, YPRIME, R, CJ, WT, RES, IRES,
6 * FNORM, WM, IWM, RPAR, IPAR)
7C
8C***BEGIN PROLOGUE DFNRMD
9C***REFER TO DLINSD
10C***DATE WRITTEN 941025 (YYMMDD)
11C
12C
13C-----------------------------------------------------------------------
14C***DESCRIPTION
15C
16C DFNRMD calculates the scaled preconditioned norm of the nonlinear
17C function used in the nonlinear iteration for obtaining consistent
18C initial conditions. Specifically, DFNRMD calculates the weighted
19C root-mean-square norm of the vector (J-inverse)*G(T,Y,YPRIME),
20C where J is the Jacobian matrix.
21C
22C In addition to the parameters described in the calling program
23C DLINSD, the parameters represent
24C
25C R -- Array of length NEQ that contains
26C (J-inverse)*G(T,Y,YPRIME) on return.
27C FNORM -- Scalar containing the weighted norm of R on return.
28C-----------------------------------------------------------------------
29C
30C***ROUTINES CALLED
31C RES, DSLVD, DDWNRM
32C
33C***END PROLOGUE DFNRMD
34C
35C
36 IMPLICIT DOUBLE PRECISION (a-h,o-z)
37 EXTERNAL res
38 dimension y(*), yprime(*), wt(*), r(*)
39 dimension wm(*),iwm(*), rpar(*),ipar(*)
40C-----------------------------------------------------------------------
41C Call RES routine.
42C-----------------------------------------------------------------------
43 ires = 0
44 CALL res(t,y,yprime,cj,r,ires,rpar,ipar)
45 IF (ires .LT. 0) RETURN
46C-----------------------------------------------------------------------
47C Apply inverse of Jacobian to vector R.
48C-----------------------------------------------------------------------
49 CALL dslvd(neq,r,wm,iwm)
50C-----------------------------------------------------------------------
51C Calculate norm of R.
52C-----------------------------------------------------------------------
53 fnorm = ddwnrm(neq,r,wt,rpar,ipar)
54C
55 RETURN
56C----------------------- END OF SUBROUTINE DFNRMD ----------------------
57 END
double precision function ddwnrm(neq, v, rwt, rpar, ipar)
Definition ddwnrm.f:6
subroutine dfnrmd(neq, y, t, yprime, r, cj, wt, res, ires, fnorm, wm, iwm, rpar, ipar)
Definition dfnrmd.f:7
subroutine dslvd(neq, delta, wm, iwm)
Definition dslvd.f:6