1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
SUBROUTINE TPWRZS (IERROR)
C
C LATEST REVISION JULY, 1984
C
C PURPOSE TO PROVIDE A SIMPLE DEMONSTRATION OF
C PWRZS IN CONJUNCTION WITH SRFACE.
C
C USAGE CALL TPWRZS (IERROR)
C
C ARGUMENTS
C
C ON OUTPUT IERROR
C AN INTEGER VARIABLE
C = 0, IF THE TEST WAS SUCCESSFUL,
C = 1, OTHERWISE
C
C I/O IF THE TEST WAS SUCCESSFUL, THE MESSAGE
C
C PWRZS TEST SUCCESSFUL . . . SEE PLOT
C TO VERIFY PERFORMANCE
C
C IS PRINTED ON UNIT 6.
C IN ADDITION, ONE FRAME CONTAINING THE SAMPLE
C PLOT IS PRODUCED ON THE MACHINE GRAPHICS
C DEVICE. IN ORDER TO DETERMINE IF THE TEST
C WAS SUCCESSFUL, IT IS NECESSARY TO EXAMINE
C THIS PLOT.
C
C PRECISION SINGLE
C
C REQUIRED LIBRARY PWRZS, SRFACE
C FILES
C
C LANGUAGE FORTRAN
C
C ALGORITHM A FUNCTION OF TWO VARIABLES IS DEFINED, AND
C VALUES OF THE FUNCTION ON A TWO DIMENSIONAL
C RECTANGULAR GRID ARE STORED IN AN ARRAY. THIS
C SUBROUTINE CALLS SRFACE TO DRAW A SURFACE
C REPRESENTATION OF THE ARRAY VALUES, AND THEN
C PWRZS IS CALLED THREE TIMES TO LABEL THE
C FRONT, SIDE, AND BACK OF THE PICTURE.
C
C PORTABILITY ANSI FORTRAN 77
C
C
DIMENSION Z(20,30) ,X(20) ,Y(30) ,MM(20,30,2),
1 S(6)
C
C LOAD THE SRFACE COMMON BLOCK, NEEDED TO SURPRESS NEWFM CALL
C
COMMON /SRFIP1/ IFR ,ISTP ,IROTS ,IDRX ,
1 IDRY ,IDRZ ,IUPPER ,ISKIRT ,
2 NCLA ,THETA ,HSKIRT ,CHI ,
3 CLO ,CINC ,ISPVAL
C
C SPECIFY COORDINATES FOR PLOT TITLES. ON AN ABSTRACT GRID WHERE
C THE INTEGER COORDINATES RANGE FROM 0.0 TO 1.0, THE VALUES TX AND
C TY DEFINE THE CENTER OF THE TITLE STRING.
C
DATA TX/0.4375/, TY/0.9667/
C
C SPECIFY GRID LOOP INDICES, AND LINE OF SIGHT
C
DATA M/20/, N/30/
DATA S/4.,5.,3.,0.,0.,0./
C
C INITIALIZE ERROR PARAMETER
C
IERROR = 1
C
C DEFINE FUNCTION VALUES AND STORE IN Z
C
DO 10 I=1,M
X(I) = -1.+FLOAT(I-1)/FLOAT(M-1)*2.
10 CONTINUE
DO 20 J=1,N
Y(J) = -1.+FLOAT(J-1)/FLOAT(N-1)*2.
20 CONTINUE
DO 40 J=1,N
DO 30 I=1,M
Z(I,J) = EXP(-2.*SQRT(X(I)**2+Y(J)**2))
30 CONTINUE
40 CONTINUE
C
C SET SRFACE PARAMETERS TO SURPRESS FRAME CALL AND DRAW CONTOURS
call srfabd
C
IFR = 0
IDRZ = 1
C
C SELECT NORMALIZATION TRANS NUMBER 0
C
CALL GSELNT (0)
C
C LABEL THE PLOT
C
CALL WTSTR (TX,TY,'DEMONSTRATION PLOT FOR PWRZS',2,0,0)
C
C DRAW SURFACE PLOT
C
CALL SRFACE (X,Y,Z,MM,M,M,N,S,0.)
C
C PUT PWRZS LABELS ON PICTURE
C
ISIZE = 35
CALL PWRZS (0.,1.1,0.,'FRONT',5,ISIZE,-1,3,0)
CALL PWRZS (1.1,0.,0.,'SIDE',4,ISIZE,2,-1,0)
CALL PWRZS (0.,-1.1,.2,' BACK BACK BACK BACK BACK',25,ISIZE,-1,
1 3,0)
c CALL NEWFM
C
IERROR = 0
c WRITE (6,1001)
C
C RESTORE SRFACE PARAMETERS TO DEFAULT
C
IFR = 1
IDRZ = 0
C
RETURN
C
C
c1001 FORMAT (' PWRZS TEST SUCCESSFUL',24X,
c 1 'SEE PLOT TO VERIFY PERFORMANCE')
C
END
|