APBS  1.5
mikpckd.h
1 
50 #ifndef MIKPCKD_H_
51 #define MIKPCKD_H_
52 
53 #include "apbscfg.h"
54 
55 #include "maloc/maloc.h"
56 
57 #include "generic/vhal.h"
58 #include "generic/vmatrix.h"
59 
67 VEXTERNC void Vxcopy(
68  int *nx,
69  int *ny,
70  int *nz,
71  double *x,
72  double *y
73  );
74 
75 
76 
84 VEXTERNC void Vxcopy_small(
85  int *nx,
86  int *ny,
87  int *nz,
88  double *x,
89  double *y
90  );
91 
92 
93 
101 VEXTERNC void Vxcopy_large(
102  int *nx,
103  int *ny,
104  int *nz,
105  double *x,
106  double *y
107  );
108 
109 
110 
117 VEXTERNC void Vxaxpy(
118  int *nx,
119  int *ny,
120  int *nz,
121  double *alpha,
122  double *x,
123  double *y
124  );
125 
132 VEXTERNC double Vxnrm1(
133  int *nx,
134  int *ny,
135  int *nz,
136  double *x
137  );
138 
139 
140 
147 VEXTERNC double Vxnrm2(
148  int *nx,
149  int *ny,
150  int *nz,
151  double *x
152  );
153 
160 VEXTERNC double Vxdot(
161  int *nx,
162  int *ny,
163  int *nz,
164  double *x,
165  double *y
166  );
167 
174 VEXTERNC void Vazeros(
175  int *nx,
176  int *ny,
177  int *nz,
178  double *x
179  );
180 
187 VEXTERNC void VfboundPMG(
188  int *ibound,
189  int *nx,
190  int *ny,
191  int *nz,
192  double *x,
193  double *gxc,
194  double *gyc,
195  double *gzc
196  );
197 
204 VEXTERNC void VfboundPMG00(
205  int *nx,
206  int *ny,
207  int *nz,
208  double *x
209  );
210 
217 VEXTERNC void Vaxrand(
218  int *nx,
219  int *ny,
220  int *nz,
221  double *x
222  );
223 
230 VEXTERNC void Vxscal(
231  int *nx,
232  int *ny,
233  int *nz,
234  double *fac,
235  double *x
236  );
237 
244 VEXTERNC void Vprtmatd(
245  int *nx,
246  int *ny,
247  int *nz,
248  int *ipc,
249  double *rpc,
250  double *ac
251  );
252 
253 VEXTERNC void Vprtmatd7(
254  int *nx,
255  int *ny,
256  int *nz,
257  int *ipc,
258  double *rpc,
259  double *oC,
260  double *oE,
261  double *oN,
262  double *uC
263  );
264 
265 VEXTERNC void Vprtmatd27(
266  int *nx,
267  int *ny,
268  int *nz,
269  int *ipc,
270  double *rpc,
271  double *oC,
272  double *oE,
273  double *oN,
274  double *uC,
275  double *oNE,
276  double *oNW,
277  double *uE,
278  double *uW,
279  double *uN,
280  double *uS,
281  double *uNE,
282  double *uNW,
283  double *uSE,
284  double *uSW
285  );
286 
287 VEXTERNC void Vlinesearch(
288  int *nx,
289  int *ny,
290  int *nz,
291  double *alpha,
292  int *ipc,
293  double *rpc,
294  double *ac,
295  double *cc,
296  double *fc,
297  double *p,
298  double *x,
299  double *r,
300  double *ap,
301  double *zk,
302  double *zkp1
303  );
304 
305 #endif /* MIKPCKD_H_ */
VEXTERNC void VfboundPMG00(int *nx, int *ny, int *nz, double *x)
Initialize a grid function to have a zero boundary value.
Definition: mikpckd.c:253
VEXTERNC void Vxscal(int *nx, int *ny, int *nz, double *fac, double *x)
Scale operation for a grid function with boundary values.
Definition: mikpckd.c:313
VEXTERNC void VfboundPMG(int *ibound, int *nx, int *ny, int *nz, double *x, double *gxc, double *gyc, double *gzc)
Initialize a grid function to have a certain boundary value,.
Definition: mikpckd.c:204
VEXTERNC void Vazeros(int *nx, int *ny, int *nz, double *x)
Zero out operation for a grid function, including boundary values.
Definition: mikpckd.c:190
VPUBLIC void Vxcopy(int *nx, int *ny, int *nz, double *x, double *y)
A collection of useful low-level routines (timing, etc).
Definition: mikpckd.c:52
VEXTERNC double Vxdot(int *nx, int *ny, int *nz, double *x, double *y)
Inner product operation for a grid function with boundary values.
Definition: mikpckd.c:168
VEXTERNC void Vxaxpy(int *nx, int *ny, int *nz, double *alpha, double *x, double *y)
saxpy operation for a grid function with boundary values.
Definition: mikpckd.c:107
Contains generic macro definitions for APBS.
VEXTERNC void Vxcopy_small(int *nx, int *ny, int *nz, double *x, double *y)
Copy operation for a grid function with boundary values. Quite simply copies one 3d matrix to another...
Definition: mikpckd.c:70
VEXTERNC void Vaxrand(int *nx, int *ny, int *nz, double *x)
Fill grid function with random values, including boundary values.
Definition: mikpckd.c:286
int ny
Definition: vpmgp.h:84
int nx
Definition: vpmgp.h:83
VEXTERNC double Vxnrm2(int *nx, int *ny, int *nz, double *x)
Norm operation for a grid function with boundary values.
Definition: mikpckd.c:147
VEXTERNC double Vxnrm1(int *nx, int *ny, int *nz, double *x)
Norm operation for a grid function with boundary values.
Definition: mikpckd.c:126
VEXTERNC void Vxcopy_large(int *nx, int *ny, int *nz, double *x, double *y)
Copy operation for a grid function with boundary values. Quite simply copies one 3d matrix to another...
Definition: mikpckd.c:86
VEXTERNC void Vprtmatd(int *nx, int *ny, int *nz, int *ipc, double *rpc, double *ac)
Definition: mikpckd.c:327
Contains inclusions for matrix data wrappers.
int nz
Definition: vpmgp.h:85