Hi Christoph,

Thank you for your reply. Here are some precisions

* Do see this problem only in parallel or also in sequential code? Only with AMG or also with GMRES and ILU?

We have this problem in both case (sequential and parrallel code) *only*when we compile with *MPI* and only with *AMG* solver and Dune::*SeqILU0* as Preconditioner. Contrariwise this problem does not occur with SSOR as Preconditionner.

* Analyze the problem with Valgrind or AddressSanitizer. Having it reduced might be beneficial.

We have run a simple test (co2 model in DUMUX)in some iterations with valgrind and we obtained the messages that can be found in the enclosed filewhich confirms that there is a loss of memory.

Have you ever met this issue ?

Best regards

M. El Ossmani


Le 07/02/2017 à 06:22, Christoph Grüninger a écrit :
Hi Mustapha,
I have never seen such problems but I am no solver expert. What you can do:

* Do see this problem only in parallel or also in sequential code? Only with AMG or also with GMRES and ILU? * Reduce the problem as much as you can. The best would be a minimal piece of software that only depends on Dune-istl that reads in your matrix and repeatedly solves your linear system with the seen undesired memory consumption. Not sure whether this is possible and whether such minimal setup would still have the problem at all. When you reduce your current problem, the problem might vanish, too. This can help to find the cause of your issue. * Analyze the problem with Valgrind or AddressSanitizer. Having it reduced might be beneficial. * Turning on all compiler warnings and carefully evaluating them might help. But there are false positives but it can help. * Maybe its worth repeating your question at the Dune mailing list [email protected] <mailto:[email protected]> as there are more Users and developers of istl.

Bye,
Christoph

Am 03.02.2017 um 11:14 schrieb Mustapha El Ossmani <[email protected] <mailto:[email protected]>>:


Dear DuMu^X developers,

We are performing parallel computation with AMG solver. Due to problems of convergence in the newton's method, in amgproperties.hh we set the Preconditioner from Dune::SeqSSOR to Dune::SeqILU0 :

typedef Dune::BlockPreconditioner<VType,VType,Comm,Dune::SeqSSOR<MType,VType, VType> > Smoother; // typedef Dune::BlockPreconditioner<VType,VType,Comm,Dune::SeqILU0<MType,VType, VType> > Smoother;

It seems that there is some problems of memory loss with ILU0 preconditionner. Indeed we can see that the memory of computation is continually

increasing, until the computation stops with the following error message :

Solve: M deltax^k = rslurmstepd: Job 936902 exceeded memory limit (41146808 > 41058304), being killed
slurmstepd: Exceeded job memory limit

We can notice that this problem does not occur with SSOR as Preconditionner.

Have you ever met this issue ?

Best regards

M. El Ossmani

University of Pau

_______________________________________________
Dumux mailing list
[email protected] <mailto:[email protected]>
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux


_______________________________________________
Dumux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

==8173== Memcheck, a memory error detector
==8173== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==8173== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==8173== Command: ./test_ccco2
==8173== Parent PID: 22281
==8173== 
==8173== 
==8173== HEAP SUMMARY:
==8173==     in use at exit: 6,160,374 bytes in 203 blocks
==8173==   total heap usage: 2,040,274 allocs, 2,040,071 frees, 455,504,626 
bytes allocated
==8173== 
==8173== 1 bytes in 1 blocks are definitely lost in loss record 1 of 169
==8173==    at 0x4C2DB8F: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8173==    by 0xAA9F72C: ???
==8173==    by 0x70AECC6: opal_db_base_store (in 
/usr/lib/openmpi/lib/libopen-pal.so.13.0.2)
==8173==    by 0x4E7D702: ompi_modex_send_string (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x4E7AAED: ompi_mpi_init (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x4E9954C: PMPI_Init (in /usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x9D8C68: Dune::MPIHelper::MPIHelper(int&, char**&) 
(mpihelper.hh:247)
==8173==    by 0x9D8B5F: Dune::MPIHelper::instance(int&, char**&) 
(mpihelper.hh:220)
==8173==    by 0xA1645E: int 
Dumux::start_<Dumux::Properties::TTag::HeterogeneousCCProblem>(int, char**, 
void (*)(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)) (start.hh:310)
==8173==    by 0xA0BF1E: int 
Dumux::start<Dumux::Properties::TTag::HeterogeneousCCProblem>(int, char**, void 
(*)(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)) (start.hh:510)
==8173==    by 0x9D0AA7: main (test_ccco2.cc:79)
==8173== 
==8173== 21 bytes in 1 blocks are definitely lost in loss record 4 of 169
==8173==    at 0x4C2DB8F: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8173==    by 0x6894A59: strdup (strdup.c:42)
==8173==    by 0xAA9F655: ???
==8173==    by 0x70AECC6: opal_db_base_store (in 
/usr/lib/openmpi/lib/libopen-pal.so.13.0.2)
==8173==    by 0xA07649B: ???
==8173==    by 0x6DF6605: orte_init (in 
/usr/lib/openmpi/lib/libopen-rte.so.12.0.2)
==8173==    by 0x4E7AA5E: ompi_mpi_init (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x4E9954C: PMPI_Init (in /usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x9D8C68: Dune::MPIHelper::MPIHelper(int&, char**&) 
(mpihelper.hh:247)
==8173==    by 0x9D8B5F: Dune::MPIHelper::instance(int&, char**&) 
(mpihelper.hh:220)
==8173==    by 0xA1645E: int 
Dumux::start_<Dumux::Properties::TTag::HeterogeneousCCProblem>(int, char**, 
void (*)(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)) (start.hh:310)
==8173==    by 0xA0BF1E: int 
Dumux::start<Dumux::Properties::TTag::HeterogeneousCCProblem>(int, char**, void 
(*)(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)) (start.hh:510)
==8173== 
==8173== 26 bytes in 1 blocks are definitely lost in loss record 10 of 169
==8173==    at 0x4C2DB8F: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8173==    by 0x6922157: __vasprintf_chk (vasprintf_chk.c:80)
==8173==    by 0x6922031: __asprintf_chk (asprintf_chk.c:32)
==8173==    by 0x4E7ABB1: ompi_mpi_init (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x4E9954C: PMPI_Init (in /usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x9D8C68: Dune::MPIHelper::MPIHelper(int&, char**&) 
(mpihelper.hh:247)
==8173==    by 0x9D8B5F: Dune::MPIHelper::instance(int&, char**&) 
(mpihelper.hh:220)
==8173==    by 0xA1645E: int 
Dumux::start_<Dumux::Properties::TTag::HeterogeneousCCProblem>(int, char**, 
void (*)(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)) (start.hh:310)
==8173==    by 0xA0BF1E: int 
Dumux::start<Dumux::Properties::TTag::HeterogeneousCCProblem>(int, char**, void 
(*)(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)) (start.hh:510)
==8173==    by 0x9D0AA7: main (test_ccco2.cc:79)
==8173== 
==8173== 48 bytes in 1 blocks are definitely lost in loss record 88 of 169
==8173==    at 0x4C2DB8F: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8173==    by 0xAA9F72C: ???
==8173==    by 0x70AECC6: opal_db_base_store (in 
/usr/lib/openmpi/lib/libopen-pal.so.13.0.2)
==8173==    by 0x4E7D589: ompi_modex_send (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0xDD2C8A7: ???
==8173==    by 0x4EB7952: mca_btl_base_select (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0xD0DE901: ???
==8173==    by 0x4EB712B: mca_bml_base_init (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0xDFB8FA9: ???
==8173==    by 0x4EC7A38: mca_pml_base_select (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x4E7AD78: ompi_mpi_init (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x4E9954C: PMPI_Init (in /usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173== 
==8173== 448 (232 direct, 216 indirect) bytes in 1 blocks are definitely lost 
in loss record 118 of 169
==8173==    at 0x4C2DB8F: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8173==    by 0xD0DDBB4: ???
==8173==    by 0xDFB7C19: ???
==8173==    by 0x4E7B108: ompi_mpi_init (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x4E9954C: PMPI_Init (in /usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x9D8C68: Dune::MPIHelper::MPIHelper(int&, char**&) 
(mpihelper.hh:247)
==8173==    by 0x9D8B5F: Dune::MPIHelper::instance(int&, char**&) 
(mpihelper.hh:220)
==8173==    by 0xA1645E: int 
Dumux::start_<Dumux::Properties::TTag::HeterogeneousCCProblem>(int, char**, 
void (*)(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)) (start.hh:310)
==8173==    by 0xA0BF1E: int 
Dumux::start<Dumux::Properties::TTag::HeterogeneousCCProblem>(int, char**, void 
(*)(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&)) (start.hh:510)
==8173==    by 0x9D0AA7: main (test_ccco2.cc:79)
==8173== 
==8173== 1,344 bytes in 1 blocks are definitely lost in loss record 138 of 169
==8173==    at 0x4C2DB8F: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8173==    by 0x4E7736F: ompi_op_create_user (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x4E9D9BF: PMPI_Op_create (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0xABE4AD: Dune::Generic_MPI_Op<bool, Dune::Max<bool> >::get() 
(mpicollectivecommunication.hh:48)
==8173==    by 0xA9CC8D: int 
Dune::CollectiveCommunication<ompi_communicator_t*>::allreduce<Dune::Max<bool>, 
bool>(bool*, bool*, int) const (mpicollectivecommunication.hh:332)
==8173==    by 0xA7FA7B: bool 
Dune::CollectiveCommunication<ompi_communicator_t*>::max<bool>(bool&) const 
(mpicollectivecommunication.hh:231)
==8173==    by 0xA5DB82: Dune::ALU3dGridFactory<Dune::ALUGrid<2, 2, 
(Dune::ALUGridElementType)1, (Dune::ALUGridRefinementType)1, 
Dune::ALUGridMPIComm> 
>::sortElements(std::vector<std::pair<Dune::FieldVector<double, 3>, unsigned 
int>, std::allocator<std::pair<Dune::FieldVector<double, 3>, unsigned int> > > 
const&, std::vector<std::vector<unsigned int, std::allocator<unsigned int> >, 
std::allocator<std::vector<unsigned int, std::allocator<unsigned int> > > > 
const&, std::vector<unsigned int, std::allocator<unsigned int> >&) 
(gridfactory.cc:265)
==8173==    by 0xA4272B: Dune::ALU3dGridFactory<Dune::ALUGrid<2, 2, 
(Dune::ALUGridElementType)1, (Dune::ALUGridRefinementType)1, 
Dune::ALUGridMPIComm> >::createGrid(bool, bool, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
>) (gridfactory.cc:357)
==8173==    by 0xA7CD2F: Dune::DGFBaseFactory<Dune::ALUGrid<2, 2, 
(Dune::ALUGridElementType)1, (Dune::ALUGridRefinementType)1, 
Dune::ALUGridMPIComm> >::generateALUGrid(Dune::ALUGridElementType, 
std::istream&, ompi_communicator_t*, std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&) (dgf.hh:576)
==8173==    by 0xA5941D: Dune::DGFGridFactory<Dune::ALUGrid<2, 2, 
(Dune::ALUGridElementType)1, (Dune::ALUGridRefinementType)1, 
Dune::ALUGridMPIComm> >::generate(std::istream&, ompi_communicator_t*, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&) (dgf.hh:584)
==8173==    by 0xA3F33D: Dune::DGFGridFactory<Dune::ALUGrid<2, 2, 
(Dune::ALUGridElementType)1, (Dune::ALUGridRefinementType)1, 
Dune::ALUGridMPIComm> >::DGFGridFactory(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&, ompi_communicator_t*) 
(dgf.hh:358)
==8173==    by 0xA30F6F: Dune::GridPtr<Dune::ALUGrid<2, 2, 
(Dune::ALUGridElementType)1, (Dune::ALUGridRefinementType)1, 
Dune::ALUGridMPIComm> >::GridPtr(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&, ompi_communicator_t*) 
(gridptr.hh:127)
==8173== 
==8173== 1,344 bytes in 1 blocks are definitely lost in loss record 139 of 169
==8173==    at 0x4C2DB8F: malloc (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8173==    by 0x4E7736F: ompi_op_create_user (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0x4E9D9BF: PMPI_Op_create (in 
/usr/lib/openmpi/lib/libmpi.so.12.0.2)
==8173==    by 0xB2F8E0: Dune::Generic_MPI_Op<Dune::bigunsignedint<544>, 
std::plus<Dune::bigunsignedint<544> > >::get() 
(mpicollectivecommunication.hh:48)
==8173==    by 0xB20805: int 
Dune::CollectiveCommunication<ompi_communicator_t*>::allreduce<std::plus<Dune::bigunsignedint<544>
 >, Dune::bigunsignedint<544> >(Dune::bigunsignedint<544>*, 
Dune::bigunsignedint<544>*, int) const (mpicollectivecommunication.hh:332)
==8173==    by 0xB11765: Dune::bigunsignedint<544> 
Dune::CollectiveCommunication<ompi_communicator_t*>::sum<Dune::bigunsignedint<544>
 >(Dune::bigunsignedint<544>&) const (mpicollectivecommunication.hh:182)
==8173==    by 0xAFFA1A: void 
Dune::Amg::MatrixHierarchy<Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > > > 
>::build<Dune::NegateSet<Dune::EnumItem<Dune::OwnerOverlapCopyAttributeSet::AttributeSet,
 1> >, 
Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > 
>(Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > const&) (hierarchy.hh:695)
==8173==    by 0xAEC79B: void 
Dune::Amg::AMG<Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockPreconditioner<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > > > 
>::createHierarchies<Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > 
const>(Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > const&, 
Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 
2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >&, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> const&) 
(amg.hh:472)
==8173==    by 0xAD474B: 
Dune::Amg::AMG<Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockPreconditioner<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > > > 
>::AMG<Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > 
>(Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double, 
2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> > const&, 
Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > const&, Dune::Amg::DefaultSmootherArgs<double> 
const&, Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> 
const&) (amg.hh:440)
==8173==    by 0xAB2A52: bool 
Dumux::AMGBackend<Dumux::Properties::TTag::HeterogeneousCCProblem>::solve<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > > 
>(Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&) (amgbackend.hh:139)
==8173==    by 0xA91B14: 
Dumux::NewtonController<Dumux::Properties::TTag::HeterogeneousCCProblem>::newtonSolveLinear(Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&) (newtoncontroller.hh:378)
==8173==    by 0xA731F8: 
Dumux::NewtonMethod<Dumux::Properties::TTag::HeterogeneousCCProblem>::execute_(Dumux::TwoPTwoCNewtonController<Dumux::Properties::TTag::HeterogeneousCCProblem>&)
 (newtonmethod.hh:178)
==8173== 
==8173== 578,656 bytes in 1 blocks are possibly lost in loss record 167 of 169
==8173==    at 0x4C2E0EF: operator new(unsigned long) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8173==    by 0xACC6D1: __gnu_cxx::new_allocator<Dune::FieldMatrix<double, 2, 
2> >::allocate(unsigned long, void const*) (new_allocator.h:104)
==8173==    by 0xACD950: Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >::allocateData() 
(bcrsmatrix.hh:2137)
==8173==    by 0xACD037: Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >::allocate(unsigned long, 
unsigned long, unsigned long, bool, bool) (bcrsmatrix.hh:2117)
==8173==    by 0xB0ED69: Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > 
>::BCRSMatrix(Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > > const&) (bcrsmatrix.hh:774)
==8173==    by 0xB25EE0: 
Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
1>::SeqILU0(Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > > const&, double) 
(preconditioners.hh:512)
==8173==    by 0xB14A01: 
Dune::Amg::ConstructionTraits<Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> 
>::construct(Dune::Amg::DefaultConstructionArgs<Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> >&) (smoother.hh:248)
==8173==    by 0xB021C6: 
Dune::Amg::ConstructionTraits<Dune::BlockPreconditioner<Dune::BlockVector<Dune::FieldVector<double,
 2>, std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> > 
>::construct(Dune::Amg::DefaultParallelConstructionArgs<Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1>, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >&) 
(smoother.hh:330)
==8173==    by 0xAECA24: void 
Dune::Amg::AMG<Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockPreconditioner<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > > > 
>::createHierarchies<Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > 
const>(Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > const&, 
Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 
2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >&, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> const&) 
(amg.hh:493)
==8173==    by 0xAD474B: 
Dune::Amg::AMG<Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockPreconditioner<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > > > 
>::AMG<Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > 
>(Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double, 
2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> > const&, 
Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > const&, Dune::Amg::DefaultSmootherArgs<double> 
const&, Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> 
const&) (amg.hh:440)
==8173==    by 0xAB2A52: bool 
Dumux::AMGBackend<Dumux::Properties::TTag::HeterogeneousCCProblem>::solve<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > > 
>(Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&) (amgbackend.hh:139)
==8173==    by 0xA91B14: 
Dumux::NewtonController<Dumux::Properties::TTag::HeterogeneousCCProblem>::newtonSolveLinear(Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&) (newtoncontroller.hh:378)
==8173== 
==8173== 3,566,984 (960 direct, 3,566,024 indirect) bytes in 6 blocks are 
definitely lost in loss record 169 of 169
==8173==    at 0x4C2E0EF: operator new(unsigned long) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8173==    by 0xB149EE: 
Dune::Amg::ConstructionTraits<Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> 
>::construct(Dune::Amg::DefaultConstructionArgs<Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> >&) (smoother.hh:248)
==8173==    by 0xB021C6: 
Dune::Amg::ConstructionTraits<Dune::BlockPreconditioner<Dune::BlockVector<Dune::FieldVector<double,
 2>, std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> > 
>::construct(Dune::Amg::DefaultParallelConstructionArgs<Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1>, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >&) 
(smoother.hh:330)
==8173==    by 0xAECA24: void 
Dune::Amg::AMG<Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockPreconditioner<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > > > 
>::createHierarchies<Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > 
const>(Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > const&, 
Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 
2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >&, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> const&) 
(amg.hh:493)
==8173==    by 0xAD474B: 
Dune::Amg::AMG<Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockPreconditioner<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
Dune::SeqILU0<Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 1> >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int>, 
std::allocator<Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > > > 
>::AMG<Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > 
>(Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double, 
2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >, 
Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> > const&, 
Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::Amg::FirstDiagonal> > const&, Dune::Amg::DefaultSmootherArgs<double> 
const&, Dune::OwnerOverlapCopyCommunication<Dune::bigunsignedint<96>, int> 
const&) (amg.hh:440)
==8173==    by 0xAB2A52: bool 
Dumux::AMGBackend<Dumux::Properties::TTag::HeterogeneousCCProblem>::solve<Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > > 
>(Dune::BCRSMatrix<Dune::FieldMatrix<double, 2, 2>, 
std::allocator<Dune::FieldMatrix<double, 2, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&) (amgbackend.hh:139)
==8173==    by 0xA91B14: 
Dumux::NewtonController<Dumux::Properties::TTag::HeterogeneousCCProblem>::newtonSolveLinear(Dune::BCRSMatrix<Dune::FieldMatrix<double,
 2, 2>, std::allocator<Dune::FieldMatrix<double, 2, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&, 
Dune::BlockVector<Dune::FieldVector<double, 2>, 
std::allocator<Dune::FieldVector<double, 2> > >&) (newtoncontroller.hh:378)
==8173==    by 0xA731F8: 
Dumux::NewtonMethod<Dumux::Properties::TTag::HeterogeneousCCProblem>::execute_(Dumux::TwoPTwoCNewtonController<Dumux::Properties::TTag::HeterogeneousCCProblem>&)
 (newtonmethod.hh:178)
==8173==    by 0xA51BF9: 
Dumux::NewtonMethod<Dumux::Properties::TTag::HeterogeneousCCProblem>::execute(Dumux::TwoPTwoCNewtonController<Dumux::Properties::TTag::HeterogeneousCCProblem>&)
 (newtonmethod.hh:106)
==8173==    by 0xA3850D: 
Dumux::ImplicitModel<Dumux::Properties::TTag::HeterogeneousCCProblem>::update(Dumux::NewtonMethod<Dumux::Properties::TTag::HeterogeneousCCProblem>&,
 
Dumux::TwoPTwoCNewtonController<Dumux::Properties::TTag::HeterogeneousCCProblem>&)
 (model.hh:417)
==8173==    by 0xA2912F: 
Dumux::ImplicitProblem<Dumux::Properties::TTag::HeterogeneousCCProblem>::timeIntegration()
 (problem.hh:605)
==8173==    by 0xA204BA: 
Dumux::TimeManager<Dumux::Properties::TTag::HeterogeneousCCProblem>::run() 
(timemanager.hh:387)
==8173== 
==8173== LEAK SUMMARY:
==8173==    definitely lost: 3,976 bytes in 13 blocks
==8173==    indirectly lost: 3,566,240 bytes in 16 blocks
==8173==      possibly lost: 578,656 bytes in 1 blocks
==8173==    still reachable: 2,011,502 bytes in 173 blocks
==8173==         suppressed: 0 bytes in 0 blocks
==8173== Reachable blocks (those to which a pointer was found) are not shown.
==8173== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==8173== 
==8173== For counts of detected and suppressed errors, rerun with: -v
==8173== ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
_______________________________________________
Dumux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

Reply via email to