diff --git a/src/cantorfaultnetworks/cantorconvergence.cc b/src/cantorfaultnetworks/cantorconvergence.cc index a6769fd56c7be64bbd9b274bd818442ea16d09fb..23c0f134beba746c1b7654d626689f964472b2bb 100644 --- a/src/cantorfaultnetworks/cantorconvergence.cc +++ b/src/cantorfaultnetworks/cantorconvergence.cc @@ -207,7 +207,7 @@ int main(int argc, char** argv) { try solutions[exactLevelIdx] = exactGlobalAssembler.getSol(); approxErrors[maxLevelIdx] = 0; - const DGBasis& exactBasis = exactGlobalAssembler.basis(); + std::shared_ptr<DGBasis> exactBasis = exactGlobalAssembler.basis(); EnergyNorm<MatrixType, VectorType> energyNorm(exactGlobalAssembler.matrix()); @@ -227,9 +227,9 @@ int main(int argc, char** argv) { try globalAssembler.solve(); const VectorType& sol = globalAssembler.getSol(); - const DGBasis& basis = globalAssembler.basis(); + std::shared_ptr<DGBasis> basis = globalAssembler.basis(); - DGMGTransfer<DGBasis> levelTransfer(basis, exactBasis); + DGMGTransfer<DGBasis> levelTransfer(*basis, *exactBasis); levelTransfer.prolong(sol, solutions[i]); if (i==maxLevelIdx) {