[Dune] Dune license

Lucas Liu yiminliu1992 at gmail.com
Mon Sep 21 23:34:32 CEST 2020


Hi Markus,

Thanks for confirming on the license. I enrolled in this email list
yesterday and probably missed Andreas' email. But yes I will be using
DUNE-ISTL library only.

I am working on a two-phase black-oil reservoir simulation problem. My
initial test involved the BCSR matrix, BiCGstab solver and the ILU
preconditioner. My choice was motivated by the default settings in the
OPM-simulator. DUNE-ISTL gives ~2-3x speed up compared to the iterative
solvers and preconditioners (GMRES, BiGCstab from IterativeSolvers.jl and
ILU from IncompleteLU.jl) I have been using. Yet there is still room for
improvement in terms of matrix assembly. My initial test used a single
naive c-api function that constructs a new matrix at each Newton iteration.

Moving forward, I am considering building a wrapper C++ package and a Julia
module using Cxxwrap.jl and BinaryBuilder.jl. This will involve

1. creating a C++ class that instantiates matrices and solvers in
DUNE-ISTL, and some binding functions required by Cxxwrap.jl
2. building the C++ class and the binding functions into a shared library
and serving it in a github repo as a JLL julia package,
4. writing a Julia module to use the C++ class in Julia

For my use case, exposing the BCSR matrix, the BiCGstab and GMres solver,
the ILU preconditioner would suffice.

In a more general sense, to my best knowledge, there is not yet a good
solution for block sparse matrices and iterative solvers that works
efficiently with block sparse matrices in Julia. If we can have a general
Julia API for DUNE-ISTL, it will be extremely beneficial for the Julia
community and beyond.

Thanks,
Yimin



On Mon, Sep 21, 2020 at 12:47 AM Markus Blatt <markus at dr-blatt.de> wrote:

> Hi,
>
> On Sat, Sep 19, 2020 at 12:00:05PM +0200, Christian Engwer wrote:
> > Dear Yimin,
> >
> > the license has the same implications as LGPL, but is compatible with
> template code.
> >
> > This means, you are allowed to use a license of your choice for any code
> built ontop of DUNE, but modifications of the DUNE code need to be
> published under the same license.
> >
> > Still we encourage you to publish your code under an open source
> license, as we believe that scientific progress needs freedom.
> >
> > Best
> > Christian
> >
>
> I second Christian on this one as you will be using dune-istl as a library
> only. (What Andreas describes is something
> totally different. That might happen if you start copying code to another
> repository and modify it there.)
>
> Of course it might make a lot of sense, to add the C-binding directly to
> dune-istl via a merge request. These might be turn
> out useful for other peoples, too. Let's help them. IMHO that is also the
> cleanest approach considering software maintenance
> and you might find help more easily.
>
> As I am one of the main developers of the code, I would be very happy if
> you would share, what solvers of dune-istl you will be using
> and what made you choose it.
>
> Cheers,
>
> Markus
>
> --
> Dr. Markus Blatt - HPC-Simulation-Software & Services
> http://www.dr-blatt.de
> Pedettistr. 38, 85072 Eichstätt, Germany,  USt-Id: DE279960836
> Tel.: +49 (0) 160 97590858
>
> _______________________________________________
> Dune mailing list
> Dune at lists.dune-project.org
> https://lists.dune-project.org/mailman/listinfo/dune
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20200921/fb168628/attachment.htm>


More information about the Dune mailing list