[Dune] How to use parallel linear solvers

Tobias Ritschel tobiasritschel at gmail.com
Tue Jun 9 17:13:45 CEST 2015


I have tried to add

add_executable(runoilsim FI_Simulation.cpp)
add_dune_mpi_flags(runoilsim)

also without the first line, and I get the error

CMake Error at CMakeLists.txt:19 (add_dune_mpi_flags):
  Unknown CMake command "add_dune_mpi_flags".

The config file is included as the first in every .cpp file.

I believe I've stumbled upon a solution though. Running cmake with the
option -DUSE_MPI=ON seems to have solved the problem. It was suggested when
I was running cmake without it.



On 9 June 2015 at 16:51, Dominic Kempf <dominic.r.kempf at gmail.com> wrote:

> The problem could of course also lie with not including config.h, which is
> where HAVE_MPI is defined.
>
> On Tue, Jun 9, 2015 at 4:14 PM, Dominic Kempf <dominic.r.kempf at gmail.com>
> wrote:
>
>> Hey Tobias,
>>
>> The problem is that with our current build system, external packages like
>> MPI need not only to be found but also explicitly enabled in order to be
>> used. You can do this in your CMakeLists.txt file by adding:
>>
>> add_dune_mpi_flags(targetname)
>>
>> Note, that we are aiming to change this errorprone behaviour and to
>> auto-enable all packages by default. Using git master you can instead use
>> the macros from dune-common/cmake/modules/DuneEnableAllPackages.cmake
>>
>> Best,
>> Dominic
>>
>> On Tue, Jun 9, 2015 at 4:03 PM, Tobias Ritschel <tobiasritschel at gmail.com
>> > wrote:
>>
>>> Hi
>>>
>>> I am trying to implement a parallel linear solver using ISTL. For that I
>>> need to use the *OwnerOverlapCopyCommunication *class. I include
>>>
>>> #include <dune/istl/owneroverlapcopy.hh>
>>>
>>> and when I try to compile I get the following error
>>>
>>> /home/tobias/Documents/OPM_Optimization/src/OPMSim.cpp:556:52: error:
>>> 'OwnerOverlapCopyCommunication' is not a member of 'Dune'
>>>
>>> From *owneroverlapcopy.hh* it seems that the *OwnerOverlapCopyCommunication
>>> *is only defined if HAVE_MPI is defined. I believe that the solution is
>>> to change the cmake files. I am currently using cmake files copied from
>>> opm-autodiff and haven't been able to find anything which searches for MPI.
>>>
>>> Is it correct that this is what is causing the compilation error and
>>> could you point me towards a solution?
>>>
>>> Kind regards
>>> Tobias Ritschel
>>>
>>> _______________________________________________
>>> Dune mailing list
>>> Dune at dune-project.org
>>> http://lists.dune-project.org/mailman/listinfo/dune
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20150609/e4769065/attachment.htm>


More information about the Dune mailing list