52 VPUBLIC
void VbuildP(
int *nxf,
int *nyf,
int *nzf,
55 int *ipc,
double *rpc,
56 double *pc,
double *ac,
57 double *xf,
double *yf,
double *zf) {
62 MAT2(ac, *nxf * *nyf * *nzf, 1);
66 VbuildP_trilin(nxf, nyf, nzf,
73 numdia = VAT(ipc, 11);
76 VbuildP_op7(nxf, nyf, nzf,
79 RAT2(ac, 1, 1), RAT2(pc, 1, 1));
80 }
else if (numdia == 27) {
81 VbuildP_op27(nxf, nyf, nzf,
84 RAT2(ac, 1, 1), RAT2(pc, 1, 1));
86 Vnm_print(2,
"BUILDP: invalid stencil type given: %d\n", numdia);
91 VPUBLIC
void VbuildP_trilin(
int *nxf,
int *nyf,
int *nzf,
94 double *xf,
double *yf,
double *zf) {
98 VbuildPb_trilin(nxf, nyf, nzf,
100 RAT2(pc, 1, 1),RAT2(pc, 1, 2),RAT2(pc, 1, 3),RAT2(pc, 1, 4),RAT2(pc, 1, 5),
101 RAT2(pc, 1, 6),RAT2(pc, 1, 7),RAT2(pc, 1, 8),RAT2(pc, 1, 9),
102 RAT2(pc, 1, 10),RAT2(pc, 1, 11),RAT2(pc, 1, 12),RAT2(pc, 1, 13),RAT2(pc, 1, 14),
103 RAT2(pc, 1, 15),RAT2(pc, 1, 16),RAT2(pc, 1, 17),RAT2(pc, 1, 18),
104 RAT2(pc, 1, 19),RAT2(pc, 1, 20),RAT2(pc, 1, 21),RAT2(pc, 1, 22),RAT2(pc, 1, 23),
105 RAT2(pc, 1, 24),RAT2(pc, 1, 25),RAT2(pc, 1, 26),RAT2(pc, 1, 27),
109 VEXTERNC
void VbuildPb_trilin(
int *nxf,
int *nyf,
int *nzf,
111 double *oPC,
double *oPN,
double *oPS,
double *oPE,
double *oPW,
112 double *oPNE,
double *oPNW,
double *oPSE,
double *oPSW,
113 double *uPC,
double *uPN,
double *uPS,
double *uPE,
double *uPW,
114 double *uPNE,
double *uPNW,
double *uPSE,
double *uPSW,
115 double *dPC,
double *dPN,
double *dPS,
double *dPE,
double *dPW,
116 double *dPNE,
double *dPNW,
double *dPSE,
double *dPSW,
117 double *xf,
double *yf,
double *zf) {
123 double half = 1.0 / 2.0;
124 double quarter = 1.0 / 4.0;
125 double eighth = 1.0 / 8.0;
160 for(k=2; k<=*
nzc-1; k++) {
161 for(j=2; j<=*
nyc-1; j++) {
162 for(i=2; i<=*
nxc-1; i++) {
164 VAT3(oPC, i,j,k) = won;
166 VAT3(oPN, i,j,k) = half;
167 VAT3(oPS, i,j,k) = half;
168 VAT3(oPE, i,j,k) = half;
169 VAT3(oPW, i,j,k) = half;
170 VAT3(uPC, i,j,k) = half;
171 VAT3(dPC, i,j,k) = half;
173 VAT3(oPNE, i,j,k) = quarter;
174 VAT3(oPNW, i,j,k) = quarter;
175 VAT3(oPSE, i,j,k) = quarter;
176 VAT3(oPSW, i,j,k) = quarter;
177 VAT3(dPN, i,j,k) = quarter;
178 VAT3(dPS, i,j,k) = quarter;
179 VAT3(dPE, i,j,k) = quarter;
180 VAT3(dPW, i,j,k) = quarter;
181 VAT3(uPN, i,j,k) = quarter;
182 VAT3(uPS, i,j,k) = quarter;
183 VAT3(uPE, i,j,k) = quarter;
184 VAT3(uPW, i,j,k) = quarter;
186 VAT3(dPNE, i,j,k) = eighth;
187 VAT3(dPNW, i,j,k) = eighth;
188 VAT3(dPSE, i,j,k) = eighth;
189 VAT3(dPSW, i,j,k) = eighth;
190 VAT3(uPNE, i,j,k) = eighth;
191 VAT3(uPNW, i,j,k) = eighth;
192 VAT3(uPSE, i,j,k) = eighth;
193 VAT3(uPSW, i,j,k) = eighth;
201 VPUBLIC
void VbuildP_op7(
int *nxf,
int *nyf,
int *nzf,
203 int *ipc,
double *rpc,
204 double *ac,
double *pc) {
206 MAT2(ac, *nxf * *nyf * *nzf, 1);
211 VbuildPb_op7(nxf, nyf, nzf,
214 RAT2(ac, 1, 1), RAT2(ac, 1, 2), RAT2(ac, 1, 3),
216 RAT2(pc, 1, 1), RAT2(pc, 1, 2), RAT2(pc, 1, 3), RAT2(pc, 1, 4), RAT2(pc, 1, 5),
217 RAT2(pc, 1, 6), RAT2(pc, 1, 7), RAT2(pc, 1, 8), RAT2(pc, 1, 9),
218 RAT2(pc, 1, 10), RAT2(pc, 1, 11), RAT2(pc, 1, 12), RAT2(pc, 1, 13), RAT2(pc, 1, 14),
219 RAT2(pc, 1, 15), RAT2(pc, 1, 16), RAT2(pc, 1, 17), RAT2(pc, 1, 18),
220 RAT2(pc, 1, 19), RAT2(pc, 1, 20), RAT2(pc, 1, 21), RAT2(pc, 1, 22), RAT2(pc, 1, 23),
221 RAT2(pc, 1, 24), RAT2(pc, 1, 25), RAT2(pc, 1, 26), RAT2(pc, 1, 27));
226 VPUBLIC
void VbuildPb_op7(
int *nxf,
int *nyf,
int *nzf,
228 int *ipc,
double *rpc,
229 double *oC,
double *oE,
double *oN,
231 double *oPC,
double *oPN,
double *oPS,
double *oPE,
double *oPW,
232 double *oPNE,
double *oPNW,
double *oPSE,
double *oPSW,
233 double *uPC,
double *uPN,
double *uPS,
double *uPE,
double *uPW,
234 double *uPNE,
double *uPNW,
double *uPSE,
double *uPSW,
235 double *dPC,
double *dPN,
double *dPS,
double *dPE,
double *dPW,
236 double *dPNE,
double *dPNW,
double *dPSE,
double *dPSW) {
250 double won, half, quarter, eighth;
252 MAT3( oC, *nxf, *nyf, *nzf);
253 MAT3( oE, *nxf, *nyf, *nzf);
254 MAT3( oN, *nxf, *nyf, *nzf);
255 MAT3( uC, *nxf, *nyf, *nzf);
294 for (kk = 2; kk < *
nzc - 1; kk++) {
297 for (jj = 2; jj < *
nyc - 1; jj++) {
300 for (ii = 2; ii < *
nxc - 1; ii++) {
327 VAT3( oPC, ii, jj, kk) = won;
335 VAT3( oPN, ii, jj, kk) =
336 VAT3( oN, i, j, k) / ( VAT3( oC, i, jp1, k)
337 - VAT3( oE, im1, jp1, k)
338 - VAT3( oE, i, jp1, k)
339 - VAT3( uC, i, jp1, km1)
340 - VAT3( uC, i, jp1, k));
348 VAT3( oPS, ii, jj, kk) =
349 VAT3( oN, i, jm1, k) / ( VAT3( oC, i, jm1, k)
350 - VAT3( oE, im1, jm1, k)
351 - VAT3( oE, i, jm1, k)
352 - VAT3( uC, i, jm1, km1)
353 - VAT3( uC, i, jm1, k));
361 VAT3( oPE, ii, jj, kk) =
362 VAT3( oE, i, j, k) / ( VAT3( oC, ip1, j, k)
363 - VAT3( uC, ip1, j, km1)
364 - VAT3( uC, ip1, j, k)
365 - VAT3( oN, ip1, j, k)
366 - VAT3( oN, ip1, jm1, k));
374 VAT3( oPW, ii, jj, kk) =
375 VAT3( oE, im1, j, k) / ( VAT3( oC, im1, j, k)
376 - VAT3( uC, im1, j, km1)
377 - VAT3( uC, im1, j, k)
378 - VAT3( oN, im1, j, k)
379 - VAT3( oN, im1, jm1, k));
387 VAT3(oPNE, ii, jj, kk) =
389 VAT3( oN, ip1, j, k) * VAT3( oPE, ii, jj, kk)
390 + VAT3( oE, i, jp1, k) * VAT3( oPN, ii, jj, kk)
392 VAT3( oC, ip1, jp1, k)
393 - VAT3( uC, ip1, jp1, km1)
394 - VAT3( uC, ip1, jp1, k)
403 VAT3(oPNW, ii, jj, kk) =
405 VAT3( oN, im1, j, k) * VAT3( oPW, ii, jj, kk)
406 + VAT3( oE, im1, jp1, k) * VAT3( oPN, ii, jj, kk)
408 VAT3( oC, im1, jp1, k)
409 - VAT3( uC, im1, jp1, km1)
410 - VAT3( uC, im1, jp1, k)
419 VAT3(oPSE, ii, jj, kk) =
421 VAT3( oN, ip1, jm1, k) * VAT3( oPE, ii, jj, kk)
422 + VAT3( oE, i, jm1, k) * VAT3( oPS, ii, jj, kk)
424 VAT3( oC, ip1, jm1, k)
425 - VAT3( uC, ip1, jm1, km1)
426 - VAT3( uC, ip1, jm1, k)
435 VAT3(oPSW, ii, jj, kk) =
437 VAT3( oN, im1, jm1, k) * VAT3( oPW, ii, jj, kk)
438 + VAT3( oE, im1, jm1, k) * VAT3( oPS, ii, jj, kk)
440 VAT3( oC, im1, jm1, k)
441 - VAT3( uC, im1, jm1, km1)
442 - VAT3( uC, im1, jm1, k)
451 VAT3( dPC, ii, jj, kk) =
455 - VAT3( oN, i, j, km1)
456 - VAT3( oN, i, jm1, km1)
457 - VAT3( oE, im1, j, km1)
458 - VAT3( oE, i, j, km1)
467 VAT3( dPN, ii, jj, kk) =
469 VAT3( oN, i, j, km1) * VAT3( dPC, ii, jj, kk)
470 + VAT3( uC, i, jp1, km1) * VAT3( oPN, ii, jj, kk)
472 VAT3( oC, i, jp1, km1)
473 - VAT3( oE, im1, jp1, km1)
474 - VAT3( oE, i, jp1, km1)
483 VAT3( dPS, ii, jj, kk) =
485 VAT3( oN, i, jm1, km1) * VAT3( dPC, ii, jj, kk)
486 + VAT3( uC, i, jm1, km1) * VAT3( oPS, ii, jj, kk)
488 VAT3( oC, i, jm1, km1)
489 - VAT3( oE, im1, jm1, km1)
490 - VAT3( oE, i, jm1, km1)
499 VAT3( dPE, ii, jj, kk) =
501 VAT3( uC, ip1, j, km1) * VAT3( oPE, ii, jj, kk)
502 + VAT3( oE, i, j, km1) * VAT3( dPC, ii, jj, kk)
504 VAT3( oC, ip1, j, km1)
505 - VAT3( oN, ip1, j, km1)
506 - VAT3( oN, ip1, jm1, km1)
515 VAT3( dPW, ii, jj, kk) =
517 VAT3( uC, im1, j, km1) * VAT3( oPW, ii, jj, kk)
518 + VAT3( oE, im1, j, km1) * VAT3( dPC, ii, jj, kk)
520 VAT3( oC, im1, j, km1)
521 - VAT3( oN, im1, j, km1)
522 - VAT3( oN, im1, jm1, km1)
531 VAT3(dPNE, ii, jj, kk) =
533 VAT3( uC, ip1, jp1, km1) * VAT3(oPNE, ii, jj, kk)
534 + VAT3( oE, i, jp1, km1) * VAT3( dPN, ii, jj, kk)
535 + VAT3( oN, ip1, j, km1) * VAT3( dPE, ii, jj, kk)
536 ) / VAT3( oC, ip1, jp1, km1);
544 VAT3(dPNW, ii, jj, kk) =
546 VAT3( uC, im1, jp1, km1) * VAT3(oPNW, ii, jj, kk)
547 + VAT3( oE, im1, jp1, km1) * VAT3( dPN, ii, jj, kk)
548 + VAT3( oN, im1, j, km1) * VAT3( dPW, ii, jj, kk)
549 ) / VAT3( oC, im1, jp1, km1);
557 VAT3(dPSE, ii, jj, kk) =
559 VAT3( uC, ip1, jm1, km1) * VAT3(oPSE, ii, jj, kk)
560 + VAT3( oE, i, jm1, km1) * VAT3( dPS, ii, jj, kk)
561 + VAT3( oN, ip1, jm1, km1) * VAT3( dPE, ii, jj, kk)
562 ) / VAT3( oC, ip1, jm1, km1);
570 VAT3(dPSW, ii, jj, kk) =
572 VAT3( uC, im1, jm1, km1) * VAT3(oPSW, ii, jj, kk)
573 + VAT3( oE, im1, jm1, km1) * VAT3( dPS, ii, jj, kk)
574 + VAT3( oN, im1, jm1, km1) * VAT3( dPW, ii, jj, kk)
575 ) / VAT3( oC, im1, jm1, km1);
583 VAT3( uPC, ii, jj, kk) =
585 / ( VAT3( oC, i, j, kp1)
586 - VAT3( oN, i, j, kp1)
587 - VAT3( oN, i, jm1, kp1)
588 - VAT3( oE, im1, j, kp1)
589 - VAT3( oE, i, j, kp1)
598 VAT3( uPN, ii, jj, kk) =
600 VAT3( oN, i, j, kp1) * VAT3( uPC, ii, jj, kk)
601 + VAT3( uC, i, jp1, k) * VAT3( oPN, ii, jj, kk)
603 VAT3( oC, i, jp1, kp1)
604 - VAT3( oE, im1, jp1, kp1)
605 - VAT3( oE, i, jp1, kp1)
614 VAT3( uPS, ii, jj, kk) =
616 VAT3( oN, i, jm1, kp1) * VAT3( uPC, ii, jj, kk)
617 + VAT3( uC, i, jm1, k) * VAT3( oPS, ii, jj, kk)
619 VAT3( oC, i, jm1, kp1)
620 - VAT3( oE, im1, jm1, kp1)
621 - VAT3( oE, i, jm1, kp1)
630 VAT3( uPE, ii, jj, kk) =
632 VAT3( uC, ip1, j, k) * VAT3( oPE, ii, jj, kk)
633 + VAT3( oE, i, j, kp1) * VAT3( uPC, ii, jj, kk)
635 VAT3( oC, ip1, j, kp1)
636 - VAT3( oN, ip1, j, kp1)
637 - VAT3( oN, ip1, jm1, kp1)
646 VAT3( uPW, ii, jj, kk) =
648 VAT3( uC, im1, j, k) * VAT3( oPW, ii, jj, kk)
649 + VAT3( oE, im1, j, kp1) * VAT3( uPC, ii, jj, kk)
651 VAT3( oC, im1, j, kp1)
652 - VAT3( oN, im1, j, kp1)
653 - VAT3( oN, im1, jm1, kp1)
662 VAT3(uPNE, ii, jj, kk) =
664 VAT3( uC, ip1, jp1, k) * VAT3(oPNE, ii, jj, kk)
665 + VAT3( oE, i, jp1, kp1) * VAT3( uPN, ii, jj, kk)
666 + VAT3( oN, ip1, j, kp1) * VAT3( uPE, ii, jj, kk)
667 ) / VAT3( oC, ip1, jp1, kp1);
675 VAT3(uPNW, ii, jj, kk) =
677 VAT3( uC, im1, jp1, k) * VAT3(oPNW, ii, jj, kk)
678 + VAT3( oE, im1, jp1, kp1) * VAT3( uPN, ii, jj, kk)
679 + VAT3( oN, im1, j, kp1) * VAT3( uPW, ii, jj, kk)
680 ) / VAT3( oC, im1, jp1, kp1);
688 VAT3(uPSE, ii, jj, kk) =
690 VAT3( uC, ip1, jm1, k) * VAT3(oPSE, ii, jj, kk)
691 + VAT3( oE, i, jm1, kp1) * VAT3( uPS, ii, jj, kk)
692 + VAT3( oN, ip1, jm1, kp1) * VAT3( uPE, ii, jj, kk)
693 ) / VAT3( oC, ip1, jm1, kp1);
701 VAT3(uPSW, ii, jj, kk) =
703 VAT3( uC, im1, jm1, k) * VAT3(oPSW, ii, jj, kk)
704 + VAT3( oE, im1, jm1, kp1) * VAT3( uPS, ii, jj, kk)
705 + VAT3( oN, im1, jm1, kp1) * VAT3( uPW, ii, jj, kk)
706 ) / VAT3( oC, im1, jm1, kp1);
717 VPUBLIC
void VbuildP_op27(
int *nxf,
int *nyf,
int *nzf,
719 int *ipc,
double *rpc,
720 double *ac,
double *pc) {
722 MAT2(ac, *nxf * *nyf * *nzf, 1);
727 VbuildPb_op27(nxf, nyf, nzf,
731 RAT2(ac, 1, 1), RAT2(ac, 1, 2), RAT2(ac, 1, 3),
733 RAT2(ac, 1, 5), RAT2(ac, 1, 6),
734 RAT2(ac, 1, 7), RAT2(ac, 1, 8), RAT2(ac, 1, 9), RAT2(ac, 1, 10),
735 RAT2(ac, 1, 11), RAT2(ac, 1, 12), RAT2(ac, 1, 13), RAT2(ac, 1, 14),
736 RAT2(pc, 1, 1), RAT2(pc, 1, 2), RAT2(pc, 1, 3), RAT2(pc, 1, 4), RAT2(pc, 1, 5),
737 RAT2(pc, 1, 6), RAT2(pc, 1, 7), RAT2(pc, 1, 8), RAT2(pc, 1, 9),
738 RAT2(pc, 1, 10), RAT2(pc, 1, 11), RAT2(pc, 1, 12), RAT2(pc, 1, 13), RAT2(pc, 1, 14),
739 RAT2(pc, 1, 15), RAT2(pc, 1, 16), RAT2(pc, 1, 17), RAT2(pc, 1, 18),
740 RAT2(pc, 1, 19), RAT2(pc, 1, 20), RAT2(pc, 1, 21), RAT2(pc, 1, 22), RAT2(pc, 1, 23),
741 RAT2(pc, 1, 24), RAT2(pc, 1, 25), RAT2(pc, 1, 26), RAT2(pc, 1, 27));
744 VPUBLIC
void VbuildPb_op27(
int *nxf,
int *nyf,
int *nzf,
746 int *ipc,
double *rpc,
747 double *oC,
double *oE,
double *oN,
749 double *oNE,
double *oNW,
750 double *uE,
double *uW,
double *uN,
double *uS,
751 double *uNE,
double *uNW,
double *uSE,
double *uSW,
752 double *oPC,
double *oPN,
double *oPS,
double *oPE,
double *oPW,
753 double *oPNE,
double *oPNW,
double *oPSE,
double *oPSW,
754 double *uPC,
double *uPN,
double *uPS,
double *uPE,
double *uPW,
755 double *uPNE,
double *uPNW,
double *uPSE,
double *uPSW,
756 double *dPC,
double *dPN,
double *dPS,
double *dPE,
double *dPW,
757 double *dPNE,
double *dPNW,
double *dPSE,
double *dPSW) {
771 double won, half, quarter, eighth;
773 MAT3( oC, *nxf, *nyf, *nzf);
774 MAT3( oE, *nxf, *nyf, *nzf);
775 MAT3( oN, *nxf, *nyf, *nzf);
776 MAT3( uC, *nxf, *nyf, *nzf);
777 MAT3( oNE, *nxf, *nyf, *nzf);
778 MAT3( oNW, *nxf, *nyf, *nzf);
779 MAT3( uE, *nxf, *nyf, *nzf);
780 MAT3( uW, *nxf, *nyf, *nzf);
781 MAT3( uN, *nxf, *nyf, *nzf);
782 MAT3( uS, *nxf, *nyf, *nzf);
783 MAT3( uNE, *nxf, *nyf, *nzf);
784 MAT3( uNW, *nxf, *nyf, *nzf);
785 MAT3( uSE, *nxf, *nyf, *nzf);
786 MAT3( uSW, *nxf, *nyf, *nzf);
825 for (kk = 2; kk <= *
nzc - 1; kk++) {
828 for (jj = 2; jj <= *
nyc - 1; jj++) {
831 for (ii = 2; ii <= *
nxc - 1; ii++) {
858 VAT3( oPC, ii, jj, kk) = won;
866 VAT3( oPN, ii, jj, kk) =
868 VAT3( uNE, im1, j, km1)
869 + VAT3( uN, i, j, km1)
870 + VAT3( uNW, ip1, j, km1)
871 + VAT3( oNE, im1, j, k)
873 + VAT3( oNW, ip1, j, k)
874 + VAT3( uSW, i, jp1, k)
875 + VAT3( uS, i, jp1, k)
876 + VAT3( uSE, i, jp1, k)
879 - VAT3( oE, im1, jp1, k)
880 - VAT3( oE, i, jp1, k)
881 - VAT3( uC, i, jp1, km1)
882 - VAT3( uE, im1, jp1, km1)
883 - VAT3( uW, ip1, jp1, km1)
884 - VAT3( uC, i, jp1, k)
885 - VAT3( uW, i, jp1, k)
886 - VAT3( uE, i, jp1, k)
895 VAT3( oPS, ii, jj, kk) =
897 VAT3( uSE, im1, j, km1)
898 + VAT3( uS, i, j, km1)
899 + VAT3( uSW, ip1, j, km1)
900 + VAT3( oNW, i, jm1, k)
901 + VAT3( oN, i, jm1, k)
902 + VAT3( oNE, i, jm1, k)
903 + VAT3( uNW, i, jm1, k)
904 + VAT3( uN, i, jm1, k)
905 + VAT3( uNE, i, jm1, k)
908 - VAT3( oE, im1, jm1, k)
909 - VAT3( oE, i, jm1, k)
910 - VAT3( uC, i, jm1, km1)
911 - VAT3( uE, im1, jm1, km1)
912 - VAT3( uW, ip1, jm1, km1)
913 - VAT3( uC, i, jm1, k)
914 - VAT3( uW, i, jm1, k)
915 - VAT3( uE, i, jm1, k)
924 VAT3( oPE, ii, jj, kk) =
926 VAT3( uSE, i, jp1, km1)
927 + VAT3( oNW, ip1, j, k)
928 + VAT3( uNW, ip1, j, k)
929 + VAT3( uE, i, j, km1)
931 + VAT3( uW, ip1, j, k)
932 + VAT3( uNE, i, jm1, km1)
933 + VAT3( oNE, i, jm1, k)
934 + VAT3( uSW, ip1, j, k)
937 - VAT3( uC, ip1, j, km1)
938 - VAT3( uC, ip1, j, k)
939 - VAT3( oN, ip1, j, k)
940 - VAT3( uS, ip1, jp1, km1)
941 - VAT3( uN, ip1, j, k)
942 - VAT3( oN, ip1, jm1, k)
943 - VAT3( uN, ip1, jm1, km1)
944 - VAT3( uS, ip1, j, k)
953 VAT3( oPW, ii, jj, kk) =
955 VAT3( uSW, i, jp1, km1)
956 + VAT3( oNE, im1, j, k)
957 + VAT3( uNE, im1, j, k)
958 + VAT3( uW, i, j, km1)
959 + VAT3( oE, im1, j, k)
960 + VAT3( uE, im1, j, k)
961 + VAT3( uNW, i, jm1, km1)
962 + VAT3( oNW, i, jm1, k)
963 + VAT3( uSE, im1, j, k)
966 - VAT3( uC, im1, j, km1)
967 - VAT3( uC, im1, j, k)
968 - VAT3( oN, im1, j, k)
969 - VAT3( uS, im1, jp1, km1)
970 - VAT3( uN, im1, j, k)
971 - VAT3( oN, im1, jm1, k)
972 - VAT3( uN, im1, jm1, km1)
973 - VAT3( uS, im1, j, k)
982 VAT3(oPNE, ii, jj, kk) =
984 VAT3( uNE, i, j, km1)
985 + VAT3( oNE, i, j, k)
986 + VAT3( uSW, ip1, jp1, k)
988 VAT3( uN, ip1, j, km1)
989 + VAT3( oN, ip1, j, k)
990 + VAT3( uS, ip1, jp1, k)
992 * VAT3( oPE, ii, jj, kk)
994 VAT3( uE, i, jp1, km1)
995 + VAT3( oE, i, jp1, k)
996 + VAT3( uW, ip1, jp1, k)
998 * VAT3( oPN, ii, jj, kk)
1000 VAT3( oC, ip1, jp1, k)
1001 - VAT3( uC, ip1, jp1, km1)
1002 - VAT3( uC, ip1, jp1, k)
1011 VAT3(oPNW, ii, jj, kk) =
1013 VAT3( uNW, i, j, km1)
1014 + VAT3( oNW, i, j, k)
1015 + VAT3( uSE, im1, jp1, k)
1017 VAT3( uN, im1, j, km1)
1018 + VAT3( oN, im1, j, k)
1019 + VAT3( uS, im1, jp1, k)
1021 * VAT3( oPW, ii, jj, kk)
1023 VAT3( uW, i, jp1, km1)
1024 + VAT3( oE, im1, jp1, k)
1025 + VAT3( uE, im1, jp1, k)
1027 * VAT3( oPN, ii, jj, kk)
1029 VAT3( oC, im1, jp1, k)
1030 - VAT3( uC, im1, jp1, km1)
1031 - VAT3( uC, im1, jp1, k)
1040 VAT3(oPSE, ii, jj, kk) =
1042 VAT3( uSE, i, j, km1)
1043 + VAT3( oNW, ip1, jm1, k)
1044 + VAT3( uNW, ip1, jm1, k)
1046 VAT3( uS, ip1, j, km1)
1047 + VAT3( oN, ip1, jm1, k)
1048 + VAT3( uN, ip1, jm1, k)
1050 * VAT3( oPE, ii, jj, kk)
1052 VAT3( uE, i, jm1, km1)
1053 + VAT3( oE, i, jm1, k)
1054 + VAT3( uW, ip1, jm1, k)
1056 * VAT3( oPS, ii, jj, kk)
1058 VAT3( oC, ip1, jm1, k)
1059 - VAT3( uC, ip1, jm1, km1)
1060 - VAT3( uC, ip1, jm1, k)
1069 VAT3(oPSW, ii, jj, kk) =
1071 VAT3( uSW, i, j, km1)
1072 + VAT3( oNE, im1, jm1, k)
1073 + VAT3( uNE, im1, jm1, k)
1075 VAT3( uS, im1, j, km1)
1076 + VAT3( oN, im1, jm1, k)
1077 + VAT3( uN, im1, jm1, k)
1079 * VAT3( oPW, ii, jj, kk)
1081 VAT3( uW, i, jm1, km1)
1082 + VAT3( oE, im1, jm1, k)
1083 + VAT3( uE, im1, jm1, k)
1085 * VAT3( oPS, ii, jj, kk)
1087 VAT3( oC, im1, jm1, k)
1088 - VAT3( uC, im1, jm1, km1)
1089 - VAT3( uC, im1, jm1, k)
1098 VAT3( dPC, ii, jj, kk) =
1100 VAT3( uNW, i, j, km1)
1101 + VAT3( uW, i, j, km1)
1102 + VAT3( uSW, i, j, km1)
1103 + VAT3( uN, i, j, km1)
1104 + VAT3( uC, i, j, km1)
1105 + VAT3( uS, i, j, km1)
1106 + VAT3( uNE, i, j, km1)
1107 + VAT3( uE, i, j, km1)
1108 + VAT3( uSE, i, j, km1)
1110 VAT3( oC, i, j, km1)
1111 - VAT3( oN, i, j, km1)
1112 - VAT3( oN, i, jm1, km1)
1113 - VAT3( oNW, i, j, km1)
1114 - VAT3( oE, im1, j, km1)
1115 - VAT3( oNE, im1, jm1, km1)
1116 - VAT3( oNE, i, j, km1)
1117 - VAT3( oE, i, j, km1)
1118 - VAT3( oNW, ip1, jm1, km1)
1127 VAT3( dPN, ii, jj, kk) =
1129 VAT3( uSW, i, jp1, km1)
1130 + VAT3( uS, i, jp1, km1)
1131 + VAT3( uSE, i, jp1, km1)
1133 VAT3( oNE, im1, j, km1)
1134 + VAT3( oN, i, j, km1)
1135 + VAT3( oNW, ip1, j, km1)
1137 * VAT3( dPC, ii, jj, kk)
1139 VAT3( uW, i, jp1, km1)
1140 + VAT3( uC, i, jp1, km1)
1141 + VAT3( uE, i, jp1, km1)
1143 * VAT3( oPN, ii, jj, kk)
1145 VAT3( oC, i, jp1, km1)
1146 - VAT3( oE, im1, jp1, km1)
1147 - VAT3( oE, i, jp1, km1)
1156 VAT3( dPS, ii, jj, kk) =
1158 VAT3( uNW, i, jm1, km1)
1159 + VAT3( uN, i, jm1, km1)
1160 + VAT3( uNE, i, jm1, km1)
1162 VAT3( oNW, i, jm1, km1)
1163 + VAT3( oN, i, jm1, km1)
1164 + VAT3( oNE, i, jm1, km1)
1166 * VAT3( dPC, ii, jj, kk)
1168 VAT3( uW, i, jm1, km1)
1169 + VAT3( uC, i, jm1, km1)
1170 + VAT3( uE, i, jm1, km1)
1172 * VAT3( oPS, ii, jj, kk)
1174 VAT3( oC, i, jm1, km1)
1175 - VAT3( oE, im1, jm1, km1)
1176 - VAT3( oE, i, jm1, km1)
1185 VAT3( dPE, ii, jj, kk) =
1187 VAT3( uNW, ip1, j, km1)
1188 + VAT3( uW, ip1, j, km1)
1189 + VAT3( uSW, ip1, j, km1)
1191 VAT3( uN, ip1, j, km1)
1192 + VAT3( uC, ip1, j, km1)
1193 + VAT3( uS, ip1, j, km1)
1195 * VAT3( oPE, ii, jj, kk)
1197 VAT3( oNW, ip1, j, km1)
1198 + VAT3( oE, i, j, km1)
1199 + VAT3( oNE, i, jm1, km1)
1201 * VAT3( dPC, ii, jj, kk)
1203 VAT3( oC, ip1, j, km1)
1204 - VAT3( oN, ip1, j, km1)
1205 - VAT3( oN, ip1, jm1, km1)
1214 VAT3( dPW, ii, jj, kk) =
1216 VAT3( uNE, im1, j, km1)
1217 + VAT3( uE, im1, j, km1)
1218 + VAT3( uSE, im1, j, km1)
1220 VAT3( uN, im1, j, km1)
1221 + VAT3( uC, im1, j, km1)
1222 + VAT3( uS, im1, j, km1)
1224 * VAT3( oPW, ii, jj, kk)
1226 VAT3( oNE, im1, j, km1)
1227 + VAT3( oE, im1, j, km1)
1228 + VAT3( oNW, i, jm1, km1)
1230 * VAT3( dPC, ii, jj, kk)
1232 VAT3( oC, im1, j, km1)
1233 - VAT3( oN, im1, j, km1)
1234 - VAT3( oN, im1, jm1, km1)
1243 VAT3(dPNE, ii, jj, kk) =
1245 VAT3( uSW, ip1, jp1, km1)
1246 + VAT3( uW, ip1, jp1, km1)
1247 * VAT3( oPN, ii, jj, kk)
1248 + VAT3( uS, ip1, jp1, km1)
1249 * VAT3( oPE, ii, jj, kk)
1250 + VAT3( uC, ip1, jp1, km1)
1251 * VAT3(oPNE, ii, jj, kk)
1252 + VAT3( oNE, i, j, km1)
1253 * VAT3( dPC, ii, jj, kk)
1254 + VAT3( oE, i, jp1, km1)
1255 * VAT3( dPN, ii, jj, kk)
1256 + VAT3( oN, ip1, j, km1)
1257 * VAT3( dPE, ii, jj, kk)
1259 / VAT3( oC, ip1, jp1, km1);
1267 VAT3(dPNW, ii, jj, kk) =
1269 VAT3( uSE, im1, jp1, km1)
1270 + VAT3( uE, im1, jp1, km1)
1271 * VAT3( oPN, ii, jj, kk)
1272 + VAT3( uS, im1, jp1, km1)
1273 * VAT3( oPW, ii, jj, kk)
1274 + VAT3( uC, im1, jp1, km1)
1275 * VAT3(oPNW, ii, jj, kk)
1276 + VAT3( oNW, i, j, km1)
1277 * VAT3( dPC, ii, jj, kk)
1278 + VAT3( oE, im1, jp1, km1)
1279 * VAT3( dPN, ii, jj, kk)
1280 + VAT3( oN, im1, j, km1)
1281 * VAT3( dPW, ii, jj, kk)
1283 / VAT3( oC, im1, jp1, km1);
1291 VAT3(dPSE, ii, jj, kk) =
1293 VAT3( uNW, ip1, jm1, km1)
1294 + VAT3( uW, ip1, jm1, km1)
1295 * VAT3( oPS, ii, jj, kk)
1296 + VAT3( uN, ip1, jm1, km1)
1297 * VAT3( oPE, ii, jj, kk)
1298 + VAT3( uC, ip1, jm1, km1)
1299 * VAT3(oPSE, ii, jj, kk)
1300 + VAT3( oNW, ip1, jm1, km1)
1301 * VAT3( dPC, ii, jj, kk)
1302 + VAT3( oE, i, jm1, km1)
1303 * VAT3( dPS, ii, jj, kk)
1304 + VAT3( oN, ip1, jm1, km1)
1305 * VAT3( dPE, ii, jj, kk)
1307 / VAT3( oC, ip1, jm1, km1);
1315 VAT3(dPSW, ii, jj, kk) =
1317 VAT3( uNE, im1, jm1, km1)
1318 + VAT3( uE, im1, jm1, km1)
1319 * VAT3( oPS, ii, jj, kk)
1320 + VAT3( uN, im1, jm1, km1)
1321 * VAT3( oPW, ii, jj, kk)
1322 + VAT3( uC, im1, jm1, km1)
1323 * VAT3(oPSW, ii, jj, kk)
1324 + VAT3( oNE, im1, jm1, km1)
1325 * VAT3( dPC, ii, jj, kk)
1326 + VAT3( oE, im1, jm1, km1)
1327 * VAT3( dPS, ii, jj, kk)
1328 + VAT3( oN, im1, jm1, km1)
1329 * VAT3( dPW, ii, jj, kk)
1331 / VAT3( oC, im1, jm1, km1);
1339 VAT3( uPC, ii, jj, kk) =
1341 VAT3( uSE, im1, jp1, k)
1342 + VAT3( uE, im1, j, k)
1343 + VAT3( uNE, im1, jm1, k)
1344 + VAT3( uS, i, jp1, k)
1345 + VAT3( uC, i, j, k)
1346 + VAT3( uN, i, jm1, k)
1347 + VAT3( uSW, ip1, jp1, k)
1348 + VAT3( uW, ip1, j, k)
1349 + VAT3( uNW, ip1, jm1, k)
1351 VAT3( oC, i, j, kp1)
1352 - VAT3( oN, i, j, kp1)
1353 - VAT3( oN, i, jm1, kp1)
1354 - VAT3( oNW, i, j, kp1)
1355 - VAT3( oE, im1, j, kp1)
1356 - VAT3( oNE, im1, jm1, kp1)
1357 - VAT3( oNE, i, j, kp1)
1358 - VAT3( oE, i, j, kp1)
1359 - VAT3( oNW, ip1, jm1, kp1)
1368 VAT3( uPN, ii, jj, kk) =
1370 VAT3( uNE, im1, j, k)
1371 + VAT3( uN, i, j, k)
1372 + VAT3( uNW, ip1, j, k)
1374 VAT3( oNE, im1, j, kp1)
1375 + VAT3( oN, i, j, kp1)
1376 + VAT3( oNW, ip1, j, kp1)
1378 * VAT3( uPC, ii, jj, kk)
1380 VAT3( uE, im1, jp1, k)
1381 + VAT3( uC, i, jp1, k)
1382 + VAT3( uW, ip1, jp1, k)
1384 * VAT3( oPN, ii, jj, kk)
1386 VAT3( oC, i, jp1, kp1)
1387 - VAT3( oE, im1, jp1, kp1)
1388 - VAT3( oE, i, jp1, kp1)
1397 VAT3( uPS, ii, jj, kk) =
1399 VAT3( uSE, im1, j, k)
1400 + VAT3( uS, i, j, k)
1401 + VAT3( uSW, ip1, j, k)
1403 VAT3( oNW, i, jm1, kp1)
1404 + VAT3( oN, i, jm1, kp1)
1405 + VAT3( oNE, i, jm1, kp1)
1407 * VAT3( uPC, ii, jj, kk)
1409 VAT3( uE, im1, jm1, k)
1410 + VAT3( uC, i, jm1, k)
1411 + VAT3( uW, ip1, jm1, k)
1413 * VAT3( oPS, ii, jj, kk)
1415 VAT3( oC, i, jm1, kp1)
1416 - VAT3( oE, im1, jm1, kp1)
1417 - VAT3( oE, i, jm1, kp1)
1426 VAT3( uPE, ii, jj, kk) =
1428 VAT3( uSE, i, jp1, k)
1429 + VAT3( uS, ip1, jp1, k)
1430 + VAT3( uNE, i, jm1, k)
1432 VAT3( uS, ip1, jp1, k)
1433 + VAT3( uC, ip1, j, k)
1434 + VAT3( uN, ip1, jm1, k)
1436 * VAT3( oPE, ii, jj, kk)
1438 VAT3( oNW, ip1, j, kp1)
1439 + VAT3( oE, i, j, kp1)
1440 + VAT3( oNE, i, jm1, kp1)
1442 * VAT3( uPC, ii, jj, kk)
1444 VAT3( oC, ip1, j, kp1)
1445 - VAT3( oN, ip1, j, kp1)
1446 - VAT3( oN, ip1, jm1, kp1)
1455 VAT3( uPW, ii, jj, kk) =
1457 VAT3( uSW, i, jp1, k)
1458 + VAT3( uW, i, j, k)
1459 + VAT3( uNW, i, jm1, k)
1461 VAT3( uS, im1, jp1, k)
1462 + VAT3( uC, im1, j, k)
1463 + VAT3( uN, im1, jm1, k)
1465 * VAT3( oPW, ii, jj, kk)
1467 VAT3( oNE, im1, j, kp1)
1468 + VAT3( oE, im1, j, kp1)
1469 + VAT3( oNW, i, jm1, kp1)
1471 * VAT3( uPC, ii, jj, kk)
1473 VAT3( oC, im1, j, kp1)
1474 - VAT3( oN, im1, j, kp1)
1475 - VAT3( oN, im1, jm1, kp1)
1484 VAT3(uPNE, ii, jj, kk) =
1487 + VAT3( uE, i, jp1, k)
1488 * VAT3( oPN, ii, jj, kk)
1489 + VAT3( uN, ip1, j, k)
1490 * VAT3( oPE, ii, jj, kk)
1491 + VAT3( uC, ip1, jp1, k)
1492 * VAT3(oPNE, ii, jj, kk)
1493 + VAT3( oNE, i, j, kp1)
1494 * VAT3( uPC, ii, jj, kk)
1495 + VAT3( oE, i, jp1, kp1)
1496 * VAT3( uPN, ii, jj, kk)
1497 + VAT3( oN, ip1, j, kp1)
1498 * VAT3( uPE, ii, jj, kk)
1500 / VAT3( oC, ip1, jp1, kp1);
1508 VAT3(uPNW, ii, jj, kk) =
1511 + VAT3( uW, i, jp1, k)
1512 * VAT3( oPN, ii, jj, kk)
1513 + VAT3( uN, im1, j, k)
1514 * VAT3( oPW, ii, jj, kk)
1515 + VAT3( uC, im1, jp1, k)
1516 * VAT3(oPNW, ii, jj, kk)
1517 + VAT3( oNW, i, j, kp1)
1518 * VAT3( uPC, ii, jj, kk)
1519 + VAT3( oE, im1, jp1, kp1)
1520 * VAT3( uPN, ii, jj, kk)
1521 + VAT3( oN, im1, j, kp1)
1522 * VAT3( uPW, ii, jj, kk)
1524 / VAT3( oC, im1, jp1, kp1);
1532 VAT3(uPSE, ii, jj, kk) =
1535 + VAT3( uE, i, jm1, k)
1536 * VAT3( oPS, ii, jj, kk)
1537 + VAT3( uS, ip1, j, k)
1538 * VAT3( oPE, ii, jj, kk)
1539 + VAT3( uC, ip1, jm1, k)
1540 * VAT3(oPSE, ii, jj, kk)
1541 + VAT3( oNW, ip1, jm1, kp1)
1542 * VAT3( uPC, ii, jj, kk)
1543 + VAT3( oE, i, jm1, kp1)
1544 * VAT3( uPS, ii, jj, kk)
1545 + VAT3( oN, ip1, jm1, kp1)
1546 * VAT3( uPE, ii, jj, kk)
1548 / VAT3( oC, ip1, jm1, kp1);
1556 VAT3(uPSW, ii, jj, kk) =
1559 + VAT3( uW, i, jm1, k)
1560 * VAT3( oPS, ii, jj, kk)
1561 + VAT3( uS, im1, j, k)
1562 * VAT3( oPW, ii, jj, kk)
1563 + VAT3( uC, im1, jm1, k)
1564 * VAT3(oPSW, ii, jj, kk)
1565 + VAT3( oNE, im1, jm1, kp1)
1566 * VAT3( uPC, ii, jj, kk)
1567 + VAT3( oE, im1, jm1, kp1)
1568 * VAT3( uPS, ii, jj, kk)
1569 + VAT3( oN, im1, jm1, kp1)
1570 * VAT3( uPW, ii, jj, kk)
1572 / VAT3( oC, im1, jm1, kp1);
VPUBLIC void VbuildP(int *nxf, int *nyf, int *nzf, int *nxc, int *nyc, int *nzc, int *mgprol, int *ipc, double *rpc, double *pc, double *ac, double *xf, double *yf, double *zf)
Builds prolongation matrix.