From ef2cc4afe0e5f9ab54f4fa2682979e726fc1e7f1 Mon Sep 17 00:00:00 2001 From: Benjamin Faigle <benjamin.faigle@posteo.de> Date: Tue, 14 Aug 2012 09:03:59 +0000 Subject: [PATCH] Fixed Impet iteration for compositional models using more than one transported quantity: iterative transport vectors are now initialized with model-specific transport vectors for correct size. reviewed by markus git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@8854 2fb0f335-1f38-0410-981e-8018bf24f1b0 --- dumux/decoupled/common/impet.hh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/dumux/decoupled/common/impet.hh b/dumux/decoupled/common/impet.hh index f8510ab46c..8135734d7b 100644 --- a/dumux/decoupled/common/impet.hh +++ b/dumux/decoupled/common/impet.hh @@ -111,12 +111,11 @@ public: // the method is valid for any transported quantity. TransportSolutionType transValueOldIter; problem_.transportModel().getTransportedQuantity(transValueOldIter); - int transSize = transValueOldIter.size(); - TransportSolutionType updateOldIter(transSize); + TransportSolutionType updateOldIter(transValueOldIter); updateOldIter = 0; - TransportSolutionType transportedQuantity(transSize); - TransportSolutionType updateHelp(transSize); - TransportSolutionType updateDiff(transSize); + TransportSolutionType transportedQuantity(transValueOldIter); + TransportSolutionType updateHelp(transValueOldIter); + TransportSolutionType updateDiff(transValueOldIter); while (!converg) { @@ -138,7 +137,7 @@ public: updateDiff -= updateOldIter; transValueOldIter = transportedQuantity; updateOldIter = updateVec; - + Dune::dinfo << " defect = " << dt * updateDiff.two_norm() / transportedQuantity.two_norm(); // break criteria for iteration loop if (iterFlag_ == 2 && dt * updateDiff.two_norm() / transportedQuantity.two_norm() <= maxDefect_) { -- GitLab