mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-18 21:43:27 -06:00
bdc4573e2a
To support this the solveSystem methods of the LinearSolverInterface gets an optional additional template parameter of type boost::any. It can hold any copy constructable object. In our case it is used to pass the information about the parallelization into the solvers of dune-istl without the compiler needing to know their type. Inside of LinearSolverIstl::solveSystem we check whether the type stored inside of boost::any is the new ParallelIstlInformation. If this is the case we extract the information and use the parallel solvers if available, otherwise we solve serial/sequential. The new ParallelIstlInformation is needed as the OwnerOverlapCopyCommunication is not copy constructable. This is indeed a design flaw that should and will fixed upstream, but for the time being we need ParallelIstlInformation to transfer the ParallelIndexSet and RemoteIndices objects. |
||
---|---|---|
.. | ||
liveoil.DATA | ||
test_blackoilstate.cpp | ||
test_dgbasis.cpp | ||
test_linearsolver.cpp | ||
test_parallel_linearsolver.cpp | ||
test_shadow.cpp | ||
test_wellcollection.cpp | ||
test_wellcontrols.cpp | ||
test_wells.cpp | ||
test_wellsgroup.cpp | ||
test_wellsmanager.cpp | ||
testBlackoilState1.DATA | ||
testBlackoilState2.DATA | ||
testFluid.DATA | ||
wells_group.data | ||
wells_manager_data_expanded.data | ||
wells_manager_data_wellSTOP.data | ||
wells_manager_data.data | ||
wetgas.DATA |