File tree Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -45,8 +45,9 @@ All notable changes to this project will be documented in this file.
45
45
### Fixed
46
46
- examples/potential.edp correct problem in times loops and BC
47
47
- tutorial/mortar-DN-4.edp correct problem of region number in meshL
48
- - fixe problem in Curve mesh and intallBE , vertex number is wrong
48
+ - fix problem in Curve mesh and intallBE , vertex number is wrong
49
49
- portability issue on arm64-apple with ` make petsc-slepc `
50
+ - fix assertion failure with ` transfer ` and ` transferMat ` with some finite elements
50
51
51
52
## [ 4.9]
52
53
### Added
Original file line number Diff line number Diff line change @@ -1743,19 +1743,25 @@ ENDIFMACRO
1743
1743
gluedExchange = gluemesh(toGlue);
1744
1744
}
1745
1745
meshN interpolateExchange;
1746
+ fespace PhExchangePrivate(gluedExchange, P0);
1746
1747
fespace VhExchangePrivate(gluedExchange, Pk);
1747
1748
VhExchangePrivate<PetscScalar> def(uExchange);
1748
1749
for[i, v : rankRecv] {
1749
1750
int index = mpiWaitAny(rqRecvU);
1750
1751
if(index != mpiUndefined) {
1751
1752
if(recvTh[index].nt) {
1752
- fespace VhRestrictionPrivate (recvTh[index], Pk );
1753
- matrix R = interpolate(VhRestrictionPrivate, VhExchangePrivate );
1753
+ fespace PhRestrictionPrivate (recvTh[index], P0 );
1754
+ matrix R = interpolate(PhRestrictionPrivate, PhExchangePrivate );
1754
1755
if(R.nnz != R.n) {
1755
1756
R.thresholding(1.0e-2);
1756
1757
assert(R.nnz == R.n);
1757
1758
}
1758
- for[i, j, v : R] uExchange[][j] += exchangeU[index][i];
1759
+ int[int] I, J;
1760
+ real[int] C;
1761
+ [I, J, C] = R;
1762
+ fespace VhRestrictionPrivate(recvTh[index], Pk);
1763
+ int[int] restriction = restrict(VhRestrictionPrivate, VhExchangePrivate, J);
1764
+ for[i, v : restriction] uExchange[][v] += exchangeU[index][i];
1759
1765
}
1760
1766
}
1761
1767
}
You can’t perform that action at this time.
0 commit comments