diff --git a/src/electrophysiology/solvers/LinearImplicitSolver.cpp b/src/electrophysiology/solvers/LinearImplicitSolver.cpp index b0b65bb2acf179db4b32cf49dc0cfb7f7372df2f..09a8fd3c87031396f95debcf5596602cc39ae001 100644 --- a/src/electrophysiology/solvers/LinearImplicitSolver.cpp +++ b/src/electrophysiology/solvers/LinearImplicitSolver.cpp @@ -474,7 +474,14 @@ void SemiImplicitSolverOnCells::SolvePDEOnCells(IElphyAssemble &A){ for (cell c = (*potential).cells(); c != (*potential).cells_end(); ++c) { ScalarElement E((*potential),*c); - (*vcw_c)[0](c(),0) = E.Value(c.LocalCenter(),(*potential)); + double A = 0; + double V = 0; + for (int q = 0; q < E.nQ(); ++q) { + double w = E.QWeight(q); + A += w; + V += w * E.Value(q, *potential, 0); + (*vcw_c)[0](c(),0) = V / A; // E.Value(c.LocalCenter(),(*potential)); + } } } void SemiImplicitSolverOnCells::SolvePDE(IElphyAssemble &A){