Correct embarrassing indexing error: Both the fine-scale
ip-contributions and the resulting coarse-scale ip matrix have dimensions (number of basis functions)-by-(number of basis functions).
This commit is contained in:
parent
5075c7a222
commit
5366d18fc2
@ -178,7 +178,7 @@ coarse_sys_compute_cell_ip(int nc,
|
|||||||
p = sys->ip_pos[b] + i*nbf_pairs;
|
p = sys->ip_pos[b] + i*nbf_pairs;
|
||||||
for (i2 = 0; i2 < nbf; i2++) {
|
for (i2 = 0; i2 < nbf; i2++) {
|
||||||
for (i1 = 0; i1 <= i2; i1++, p++) {
|
for (i1 = 0; i1 <= i2; i1++, p++) {
|
||||||
sys->cell_ip[p] = IP[i1 + i2*n];
|
sys->cell_ip[p] = IP[i1 + i2*nbf];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -245,6 +245,7 @@ coarse_sys_compute_Binv(int nb,
|
|||||||
Lti, &incx, &a2, B, &incy);
|
Lti, &incx, &a2, B, &incy);
|
||||||
|
|
||||||
/* Factor (packed) SPD inner-product matrix... */
|
/* Factor (packed) SPD inner-product matrix... */
|
||||||
|
mm = nbf;
|
||||||
dpptrf_("Upper Triangular", &mm, B, &info);
|
dpptrf_("Upper Triangular", &mm, B, &info);
|
||||||
if (info == 0) {
|
if (info == 0) {
|
||||||
/* ...and invert it... */
|
/* ...and invert it... */
|
||||||
|
Loading…
Reference in New Issue
Block a user