<div dir="ltr">Hi Markus,<div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>Moving forward, I am considering building a wrapper C++ package and a Julia module using Cxxwrap.jl and BinaryBuilder.jl. This will involve </div><div><br></div><div>1. creating a C++ class that instantiates matrices and solvers in DUNE-ISTL, and some binding functions required by Cxxwrap.jl</div><div>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,</div><div>4. writing a Julia module to use the C++ class in Julia</div><div><br></div><div>For my use case, exposing the BCSR matrix, the BiCGstab and GMres solver, the ILU preconditioner would suffice. </div><div><br></div><div>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.</div><div><br></div><div>Thanks,</div><div>Yimin</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 21, 2020 at 12:47 AM Markus Blatt <<a href="mailto:markus@dr-blatt.de" target="_blank">markus@dr-blatt.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
On Sat, Sep 19, 2020 at 12:00:05PM +0200, Christian Engwer wrote:<br>
> Dear Yimin,<br>
> <br>
> the license has the same implications as LGPL, but is compatible with template code.<br>
> <br>
> 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.<br>
> <br>
> Still we encourage you to publish your code under an open source license, as we believe that scientific progress needs freedom.<br>
> <br>
> Best<br>
> Christian<br>
><br>
<br>
I second Christian on this one as you will be using dune-istl as a library only. (What Andreas describes is something<br>
totally different. That might happen if you start copying code to another repository and modify it there.)<br>
<br>
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<br>
out useful for other peoples, too. Let's help them. IMHO that is also the cleanest approach considering software maintenance<br>
and you might find help more easily.<br>
<br>
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<br>
and what made you choose it.<br>
<br>
Cheers,<br>
<br>
Markus<br>
<br>
-- <br>
Dr. Markus Blatt - HPC-Simulation-Software & Services <a href="http://www.dr-blatt.de" rel="noreferrer" target="_blank">http://www.dr-blatt.de</a><br>
Pedettistr. 38, 85072 Eichstätt, Germany,  USt-Id: DE279960836<br>
Tel.: +49 (0) 160 97590858<br>
<br>
_______________________________________________<br>
Dune mailing list<br>
<a href="mailto:Dune@lists.dune-project.org" target="_blank">Dune@lists.dune-project.org</a><br>
<a href="https://lists.dune-project.org/mailman/listinfo/dune" rel="noreferrer" target="_blank">https://lists.dune-project.org/mailman/listinfo/dune</a></blockquote></div>