PyFishPack 0.1.0__cp313-cp313-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. PyFishPack/__init__.py +86 -0
  2. PyFishPack/__pycache__/__init__.cpython-313.pyc +0 -0
  3. PyFishPack/__pycache__/apps.cpython-313.pyc +0 -0
  4. PyFishPack/_dummy.c +23 -0
  5. PyFishPack/_dummy.cp313-win_amd64.pyd +0 -0
  6. PyFishPack/apps.py +3640 -0
  7. PyFishPack/fishpack.cp313-win_amd64.dll.a +0 -0
  8. PyFishPack/fishpack.cp313-win_amd64.pyd +0 -0
  9. PyFishPack/meson.build +213 -0
  10. PyFishPack/src/archive/f77/Makefile +19 -0
  11. PyFishPack/src/archive/f77/blktri.f +1404 -0
  12. PyFishPack/src/archive/f77/cblktri.f +1414 -0
  13. PyFishPack/src/archive/f77/cmgnbn.f +1592 -0
  14. PyFishPack/src/archive/f77/comf.f +186 -0
  15. PyFishPack/src/archive/f77/fftpack.f +2968 -0
  16. PyFishPack/src/archive/f77/genbun.f +1335 -0
  17. PyFishPack/src/archive/f77/gnbnaux.f +314 -0
  18. PyFishPack/src/archive/f77/hstcrt.f +443 -0
  19. PyFishPack/src/archive/f77/hstcsp.f +683 -0
  20. PyFishPack/src/archive/f77/hstcyl.f +485 -0
  21. PyFishPack/src/archive/f77/hstplr.f +538 -0
  22. PyFishPack/src/archive/f77/hstssp.f +634 -0
  23. PyFishPack/src/archive/f77/hw3crt.f +687 -0
  24. PyFishPack/src/archive/f77/hwscrt.f +512 -0
  25. PyFishPack/src/archive/f77/hwscsp.f +728 -0
  26. PyFishPack/src/archive/f77/hwscyl.f +538 -0
  27. PyFishPack/src/archive/f77/hwsplr.f +602 -0
  28. PyFishPack/src/archive/f77/hwsssp.f +780 -0
  29. PyFishPack/src/archive/f77/pois3d.f +550 -0
  30. PyFishPack/src/archive/f77/poistg.f +875 -0
  31. PyFishPack/src/archive/f77/sepaux.f +361 -0
  32. PyFishPack/src/archive/f77/sepeli.f +1029 -0
  33. PyFishPack/src/archive/f77/sepx4.f +958 -0
  34. PyFishPack/src/centered_axisymmetric_spherical_solver.f90 +1002 -0
  35. PyFishPack/src/centered_cartesian_helmholtz_solver_3d.f90 +819 -0
  36. PyFishPack/src/centered_cartesian_solver.f90 +583 -0
  37. PyFishPack/src/centered_cylindrical_solver.f90 +634 -0
  38. PyFishPack/src/centered_helmholtz_solvers.f90 +156 -0
  39. PyFishPack/src/centered_polar_solver.f90 +746 -0
  40. PyFishPack/src/centered_real_linear_systems_solver.f90 +280 -0
  41. PyFishPack/src/centered_spherical_solver.f90 +928 -0
  42. PyFishPack/src/complex_block_tridiagonal_linear_systems_solver.f90 +1947 -0
  43. PyFishPack/src/complex_linear_systems_solver.f90 +1787 -0
  44. PyFishPack/src/fftpack_c_api.f90 +86 -0
  45. PyFishPack/src/fishpack.f90 +191 -0
  46. PyFishPack/src/fishpack.pyf +504 -0
  47. PyFishPack/src/fishpack_c_api.f90 +365 -0
  48. PyFishPack/src/fishpack_original.pyf +2119 -0
  49. PyFishPack/src/fishpack_precision.f90 +53 -0
  50. PyFishPack/src/general_linear_systems_solver_3d.f90 +296 -0
  51. PyFishPack/src/iterative_solvers.f90 +969 -0
  52. PyFishPack/src/main.f90 +10 -0
  53. PyFishPack/src/pyfishpack_module.c +1302 -0
  54. PyFishPack/src/real_block_tridiagonal_linear_systems_solver.f90 +319 -0
  55. PyFishPack/src/sepeli.f90 +1454 -0
  56. PyFishPack/src/sepx4.f90 +1338 -0
  57. PyFishPack/src/staggered_axisymmetric_spherical_solver.f90 +908 -0
  58. PyFishPack/src/staggered_cartesian_solver.f90 +553 -0
  59. PyFishPack/src/staggered_cylindrical_solver.f90 +630 -0
  60. PyFishPack/src/staggered_helmholtz_solvers.f90 +172 -0
  61. PyFishPack/src/staggered_polar_solver.f90 +651 -0
  62. PyFishPack/src/staggered_real_linear_systems_solver.f90 +258 -0
  63. PyFishPack/src/staggered_spherical_solver.f90 +758 -0
  64. PyFishPack/src/three_dimensional_solvers.f90 +602 -0
  65. PyFishPack/src/type_CenteredCyclicReductionUtility.f90 +1714 -0
  66. PyFishPack/src/type_CyclicReductionUtility.f90 +472 -0
  67. PyFishPack/src/type_FishpackWorkspace.f90 +290 -0
  68. PyFishPack/src/type_GeneralizedCyclicReductionUtility.f90 +1980 -0
  69. PyFishPack/src/type_PeriodicFastFourierTransform.f90 +3789 -0
  70. PyFishPack/src/type_SepAux.f90 +586 -0
  71. PyFishPack/src/type_StaggeredCyclicReductionUtility.f90 +893 -0
  72. pyfishpack-0.1.0.dist-info/DELVEWHEEL +2 -0
  73. pyfishpack-0.1.0.dist-info/METADATA +81 -0
  74. pyfishpack-0.1.0.dist-info/RECORD +81 -0
  75. pyfishpack-0.1.0.dist-info/WHEEL +5 -0
  76. pyfishpack-0.1.0.dist-info/licenses/LICENSE +21 -0
  77. pyfishpack-0.1.0.dist-info/top_level.txt +1 -0
  78. pyfishpack.libs/libgcc_s_seh-1-25d59ccffa1a9009644065b069829e07.dll +0 -0
  79. pyfishpack.libs/libgfortran-5-08f2195cfa0d823e13371c5c3186a82a.dll +0 -0
  80. pyfishpack.libs/libquadmath-0-c5abb9113f1ee64b87a889958e4b7418.dll +0 -0
  81. pyfishpack.libs/libwinpthread-1-83908d14abfafb8b3bfa38cf51ecee56.dll +0 -0
@@ -0,0 +1,314 @@
1
+ C
2
+ C file gnbnaux.f
3
+ C
4
+ C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
5
+ C * *
6
+ C * copyright (c) 1999 by UCAR *
7
+ C * *
8
+ C * UNIVERSITY CORPORATION for ATMOSPHERIC RESEARCH *
9
+ C * *
10
+ C * all rights reserved *
11
+ C * *
12
+ C * FISHPACK version 4.1 *
13
+ C * *
14
+ C * A PACKAGE OF FORTRAN SUBPROGRAMS FOR THE SOLUTION OF *
15
+ C * *
16
+ C * SEPARABLE ELLIPTIC PARTIAL DIFFERENTIAL EQUATIONS *
17
+ C * *
18
+ C * BY *
19
+ C * *
20
+ C * JOHN ADAMS, PAUL SWARZTRAUBER AND ROLAND SWEET *
21
+ C * *
22
+ C * OF *
23
+ C * *
24
+ C * THE NATIONAL CENTER FOR ATMOSPHERIC RESEARCH *
25
+ C * *
26
+ C * BOULDER, COLORADO (80307) U.S.A. *
27
+ C * *
28
+ C * WHICH IS SPONSORED BY *
29
+ C * *
30
+ C * THE NATIONAL SCIENCE FOUNDATION *
31
+ C * *
32
+ C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
33
+ C
34
+ C
35
+ C PACKAGE GNBNAUX
36
+ C
37
+ C LATEST REVISION NOVEMBER 1988
38
+ C
39
+ C PURPOSE TO PROVIDE AUXILIARY ROUTINES FOR FISHPACK
40
+ C ENTRIES GENBUN AND POISTG.
41
+ C
42
+ C USAGE THERE ARE NO USER ENTRIES IN THIS PACKAGE.
43
+ C THE ROUTINES IN THIS PACKAGE ARE NOT INTENDED
44
+ C TO BE CALLED BY USERS, BUT RATHER BY ROUTINES
45
+ C IN PACKAGES GENBUN AND POISTG.
46
+ C
47
+ C SPECIAL CONDITIONS NONE
48
+ C
49
+ C I/O NONE
50
+ C
51
+ C PRECISION SINGLE
52
+ C
53
+ C REQUIRED LIBRARY COMF FROM FISHPACK
54
+ C FILES
55
+ C
56
+ C LANGUAGE FORTRAN
57
+ C
58
+ C HISTORY WRITTEN IN 1979 BY ROLAND SWEET OF NCAR'S
59
+ C SCIENTIFIC COMPUTING DIVISION. MADE AVAILABLE
60
+ C ON NCAR'S PUBLIC LIBRARIES IN JANUARY, 1980.
61
+ C
62
+ C PORTABILITY FORTRAN 77
63
+ C ********************************************************************
64
+ SUBROUTINE COSGEN (N,IJUMP,FNUM,FDEN,A)
65
+ DIMENSION A(*)
66
+ C
67
+ C
68
+ C THIS SUBROUTINE COMPUTES REQUIRED COSINE VALUES IN ASCENDING
69
+ C ORDER. WHEN IJUMP .GT. 1 THE ROUTINE COMPUTES VALUES
70
+ C
71
+ C 2*COS(J*PI/L) , J=1,2,...,L AND J .NE. 0(MOD N/IJUMP+1)
72
+ C
73
+ C WHERE L = IJUMP*(N/IJUMP+1).
74
+ C
75
+ C
76
+ C WHEN IJUMP = 1 IT COMPUTES
77
+ C
78
+ C 2*COS((J-FNUM)*PI/(N+FDEN)) , J=1, 2, ... ,N
79
+ C
80
+ C WHERE
81
+ C FNUM = 0.5, FDEN = 0.0, FOR REGULAR REDUCTION VALUES
82
+ C FNUM = 0.0, FDEN = 1.0, FOR B-R AND C-R WHEN ISTAG = 1
83
+ C FNUM = 0.0, FDEN = 0.5, FOR B-R AND C-R WHEN ISTAG = 2
84
+ C FNUM = 0.5, FDEN = 0.5, FOR B-R AND C-R WHEN ISTAG = 2
85
+ C IN POISN2 ONLY.
86
+ C
87
+ C
88
+ PI = PIMACH(DUM)
89
+ IF (N .EQ. 0) GO TO 105
90
+ IF (IJUMP .EQ. 1) GO TO 103
91
+ K3 = N/IJUMP+1
92
+ K4 = K3-1
93
+ PIBYN = PI/FLOAT(N+IJUMP)
94
+ DO 102 K=1,IJUMP
95
+ K1 = (K-1)*K3
96
+ K5 = (K-1)*K4
97
+ DO 101 I=1,K4
98
+ X = K1+I
99
+ K2 = K5+I
100
+ A(K2) = -2.*COS(X*PIBYN)
101
+ 101 CONTINUE
102
+ 102 CONTINUE
103
+ GO TO 105
104
+ 103 CONTINUE
105
+ NP1 = N+1
106
+ Y = PI/(FLOAT(N)+FDEN)
107
+ DO 104 I=1,N
108
+ X = FLOAT(NP1-I)-FNUM
109
+ A(I) = 2.*COS(X*Y)
110
+ 104 CONTINUE
111
+ 105 CONTINUE
112
+ RETURN
113
+ END
114
+ SUBROUTINE MERGE (TCOS,I1,M1,I2,M2,I3)
115
+ DIMENSION TCOS(*)
116
+ C
117
+ C THIS SUBROUTINE MERGES TWO ASCENDING STRINGS OF NUMBERS IN THE
118
+ C ARRAY TCOS. THE FIRST STRING IS OF LENGTH M1 AND STARTS AT
119
+ C TCOS(I1+1). THE SECOND STRING IS OF LENGTH M2 AND STARTS AT
120
+ C TCOS(I2+1). THE MERGED STRING GOES INTO TCOS(I3+1).
121
+ C
122
+ C
123
+ J1 = 1
124
+ J2 = 1
125
+ J = I3
126
+ IF (M1 .EQ. 0) GO TO 107
127
+ IF (M2 .EQ. 0) GO TO 104
128
+ 101 J = J+1
129
+ L = J1+I1
130
+ X = TCOS(L)
131
+ L = J2+I2
132
+ Y = TCOS(L)
133
+ IF (X-Y) 102,102,103
134
+ 102 TCOS(J) = X
135
+ J1 = J1+1
136
+ IF (J1 .GT. M1) GO TO 106
137
+ GO TO 101
138
+ 103 TCOS(J) = Y
139
+ J2 = J2+1
140
+ IF (J2 .LE. M2) GO TO 101
141
+ IF (J1 .GT. M1) GO TO 109
142
+ 104 K = J-J1+1
143
+ DO 105 J=J1,M1
144
+ M = K+J
145
+ L = J+I1
146
+ TCOS(M) = TCOS(L)
147
+ 105 CONTINUE
148
+ GO TO 109
149
+ 106 CONTINUE
150
+ IF (J2 .GT. M2) GO TO 109
151
+ 107 K = J-J2+1
152
+ DO 108 J=J2,M2
153
+ M = K+J
154
+ L = J+I2
155
+ TCOS(M) = TCOS(L)
156
+ 108 CONTINUE
157
+ 109 CONTINUE
158
+ RETURN
159
+ END
160
+ SUBROUTINE TRIX (IDEGBR,IDEGCR,M,A,B,C,Y,TCOS,D,W)
161
+ C
162
+ C SUBROUTINE TO SOLVE A SYSTEM OF LINEAR EQUATIONS WHERE THE
163
+ C COEFFICIENT MATRIX IS A RATIONAL FUNCTION IN THE MATRIX GIVEN BY
164
+ C TRIDIAGONAL ( . . . , A(I), B(I), C(I), . . . ).
165
+ C
166
+ DIMENSION A(*) ,B(*) ,C(*) ,Y(*) ,
167
+ 1 TCOS(*) ,D(*) ,W(*)
168
+ MM1 = M-1
169
+ IFB = IDEGBR+1
170
+ IFC = IDEGCR+1
171
+ L = IFB/IFC
172
+ LINT = 1
173
+ DO 108 K=1,IDEGBR
174
+ X = TCOS(K)
175
+ IF (K .NE. L) GO TO 102
176
+ I = IDEGBR+LINT
177
+ XX = X-TCOS(I)
178
+ DO 101 I=1,M
179
+ W(I) = Y(I)
180
+ Y(I) = XX*Y(I)
181
+ 101 CONTINUE
182
+ 102 CONTINUE
183
+ Z = 1./(B(1)-X)
184
+ D(1) = C(1)*Z
185
+ Y(1) = Y(1)*Z
186
+ DO 103 I=2,MM1
187
+ Z = 1./(B(I)-X-A(I)*D(I-1))
188
+ D(I) = C(I)*Z
189
+ Y(I) = (Y(I)-A(I)*Y(I-1))*Z
190
+ 103 CONTINUE
191
+ Z = B(M)-X-A(M)*D(MM1)
192
+ IF (Z .NE. 0.) GO TO 104
193
+ Y(M) = 0.
194
+ GO TO 105
195
+ 104 Y(M) = (Y(M)-A(M)*Y(MM1))/Z
196
+ 105 CONTINUE
197
+ DO 106 IP=1,MM1
198
+ I = M-IP
199
+ Y(I) = Y(I)-D(I)*Y(I+1)
200
+ 106 CONTINUE
201
+ IF (K .NE. L) GO TO 108
202
+ DO 107 I=1,M
203
+ Y(I) = Y(I)+W(I)
204
+ 107 CONTINUE
205
+ LINT = LINT+1
206
+ L = (LINT*IFB)/IFC
207
+ 108 CONTINUE
208
+ RETURN
209
+ END
210
+ SUBROUTINE TRI3 (M,A,B,C,K,Y1,Y2,Y3,TCOS,D,W1,W2,W3)
211
+ DIMENSION A(*) ,B(*) ,C(*) ,K(4) ,
212
+ 1 TCOS(*) ,Y1(*) ,Y2(*) ,Y3(*) ,
213
+ 2 D(*) ,W1(*) ,W2(*) ,W3(*)
214
+ C
215
+ C SUBROUTINE TO SOLVE THREE LINEAR SYSTEMS WHOSE COMMON COEFFICIENT
216
+ C MATRIX IS A RATIONAL FUNCTION IN THE MATRIX GIVEN BY
217
+ C
218
+ C TRIDIAGONAL (...,A(I),B(I),C(I),...)
219
+ C
220
+ MM1 = M-1
221
+ K1 = K(1)
222
+ K2 = K(2)
223
+ K3 = K(3)
224
+ K4 = K(4)
225
+ IF1 = K1+1
226
+ IF2 = K2+1
227
+ IF3 = K3+1
228
+ IF4 = K4+1
229
+ K2K3K4 = K2+K3+K4
230
+ IF (K2K3K4 .EQ. 0) GO TO 101
231
+ L1 = IF1/IF2
232
+ L2 = IF1/IF3
233
+ L3 = IF1/IF4
234
+ LINT1 = 1
235
+ LINT2 = 1
236
+ LINT3 = 1
237
+ KINT1 = K1
238
+ KINT2 = KINT1+K2
239
+ KINT3 = KINT2+K3
240
+ 101 CONTINUE
241
+ DO 115 N=1,K1
242
+ X = TCOS(N)
243
+ IF (K2K3K4 .EQ. 0) GO TO 107
244
+ IF (N .NE. L1) GO TO 103
245
+ DO 102 I=1,M
246
+ W1(I) = Y1(I)
247
+ 102 CONTINUE
248
+ 103 IF (N .NE. L2) GO TO 105
249
+ DO 104 I=1,M
250
+ W2(I) = Y2(I)
251
+ 104 CONTINUE
252
+ 105 IF (N .NE. L3) GO TO 107
253
+ DO 106 I=1,M
254
+ W3(I) = Y3(I)
255
+ 106 CONTINUE
256
+ 107 CONTINUE
257
+ Z = 1./(B(1)-X)
258
+ D(1) = C(1)*Z
259
+ Y1(1) = Y1(1)*Z
260
+ Y2(1) = Y2(1)*Z
261
+ Y3(1) = Y3(1)*Z
262
+ DO 108 I=2,M
263
+ Z = 1./(B(I)-X-A(I)*D(I-1))
264
+ D(I) = C(I)*Z
265
+ Y1(I) = (Y1(I)-A(I)*Y1(I-1))*Z
266
+ Y2(I) = (Y2(I)-A(I)*Y2(I-1))*Z
267
+ Y3(I) = (Y3(I)-A(I)*Y3(I-1))*Z
268
+ 108 CONTINUE
269
+ DO 109 IP=1,MM1
270
+ I = M-IP
271
+ Y1(I) = Y1(I)-D(I)*Y1(I+1)
272
+ Y2(I) = Y2(I)-D(I)*Y2(I+1)
273
+ Y3(I) = Y3(I)-D(I)*Y3(I+1)
274
+ 109 CONTINUE
275
+ IF (K2K3K4 .EQ. 0) GO TO 115
276
+ IF (N .NE. L1) GO TO 111
277
+ I = LINT1+KINT1
278
+ XX = X-TCOS(I)
279
+ DO 110 I=1,M
280
+ Y1(I) = XX*Y1(I)+W1(I)
281
+ 110 CONTINUE
282
+ LINT1 = LINT1+1
283
+ L1 = (LINT1*IF1)/IF2
284
+ 111 IF (N .NE. L2) GO TO 113
285
+ I = LINT2+KINT2
286
+ XX = X-TCOS(I)
287
+ DO 112 I=1,M
288
+ Y2(I) = XX*Y2(I)+W2(I)
289
+ 112 CONTINUE
290
+ LINT2 = LINT2+1
291
+ L2 = (LINT2*IF1)/IF3
292
+ 113 IF (N .NE. L3) GO TO 115
293
+ I = LINT3+KINT3
294
+ XX = X-TCOS(I)
295
+ DO 114 I=1,M
296
+ Y3(I) = XX*Y3(I)+W3(I)
297
+ 114 CONTINUE
298
+ LINT3 = LINT3+1
299
+ L3 = (LINT3*IF1)/IF4
300
+ 115 CONTINUE
301
+ RETURN
302
+ C
303
+ C REVISION HISTORY---
304
+ C
305
+ C SEPTEMBER 1973 VERSION 1
306
+ C APRIL 1976 VERSION 2
307
+ C JANUARY 1978 VERSION 3
308
+ C DECEMBER 1979 VERSION 3.1
309
+ C OCTOBER 1980 CHANGED SEVERAL DIVIDES OF FLOATING INTEGERS
310
+ C TO INTEGER DIVIDES TO ACCOMODATE CRAY-1 ARITHMETIC.
311
+ C FEBRUARY 1985 DOCUMENTATION UPGRADE
312
+ C NOVEMBER 1988 VERSION 3.2, FORTRAN 77 CHANGES
313
+ C-----------------------------------------------------------------------
314
+ END