[Dune] How to use parallel linear solvers

Tobias Ritschel tobiasritschel at gmail.com
Tue Jun 9 17:30:53 CEST 2015


Okay, I think I'll just leave it as is now. Thanks for the quick help.

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

> Okay, USE_MPI=ON is an OPM-specific. I have no idea how their build system
> deviates from ours. If your project is a (correctly configured) dune
> module, my solution should be sufficient.
>
> Dominic
>
> On Tue, Jun 9, 2015 at 5:13 PM, Tobias Ritschel <tobiasritschel at gmail.com>
> wrote:
>
>> 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/e96e81ba/attachment.htm>


More information about the Dune mailing list