<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body bgcolor="#FFFFFF" fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hi Andreas,
<div><br>
</div>
<div>thanks for your email.</div>
<div>SparseRowLinearOperator is fine, I have used the same code I attached in my previous email, in combination with AdaptiveDiscreteFunction, and even for rectangular matrices everything works correctly.</div>
<div>What I was trying to do is to use various iterative solvers from ISTL to compare different solution methods for my equations, and therefore I wanted to code everything with BlockVectorFunction and ISTLLinearOperator.</div>
<div><br>
</div>
<div>Cheers,<br>
<div>Andrea
<div style="font-family:Tahoma; font-size:13px">__________________________________________________________<br>
<br>
Andrea Sacconi<br>
PhD student, Applied Mathematics<br>
AMMP Section, Department of Mathematics, Imperial College London,<br>
London SW7 2AZ, UK<br>
a.sacconi11@imperial.ac.uk<br>
</div>
</div>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF769077" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Andreas Dedner [a.s.dedner@warwick.ac.uk]<br>
<b>Sent:</b> 02 October 2014 19:45<br>
<b>To:</b> Sacconi, Andrea<br>
<b>Cc:</b> Tobias Malkmus; dune-fem@dune-project.org<br>
<b>Subject:</b> Re: [dune-fem] Does anyone use fem::ISTLLinearOperator for rectangular matrices?<br>
</font><br>
</div>
<div></div>
<div>Hi.<br>
I agree that we need to improve the matrix class (again).<br>
Splitting the preconditioning away from the matrix class. Actually it does not<br>
belong in the matrix class but in the inverse class....<br>
Just a question for a quick fix: why can't you use the<br>
SparseRowLinearOperator?<br>
That class should work also with BlockVectorDF and you should be able to assemble a<br>
non square matrix.<br>
Andreas<br>
<br>
On 02/10/14 17:36, Sacconi, Andrea wrote:<br>
<span style="white-space:pre">> Hi all,<br>
><br>
> thanks to Tobias for the effort. If you want to see the errors, I forgot to comment the include of surfacelaplace.hh. If you comment that line, you should be able to replicate the compilation errors I got.<br>
><br>
> Anyway, as you pointed out, the problem is the preconditioning.<br>
> Let me know about the trunk; we have installed both the 1.4.0 and the trunk, so I could recompile everything with the trunk when you push the changes (provided they are working), hoping that not many other modifications have been made ......<br>
><br>
> Thanks again!<br>
> Andrea<br>
> __________________________________________________________<br>
><br>
> Andrea Sacconi<br>
> PhD student, Applied Mathematics<br>
> AMMP Section, Department of Mathematics, Imperial College London,<br>
> London SW7 2AZ, UK<br>
> <a class="moz-txt-link-abbreviated" href="mailto:a.sacconi11@imperial.ac.uk" target="_blank">
a.sacconi11@imperial.ac.uk</a><br>
><br>
> ________________________________________<br>
> From: Tobias Malkmus [<a class="moz-txt-link-abbreviated" href="mailto:tomalk@mathematik.uni-freiburg.de" target="_blank">tomalk@mathematik.uni-freiburg.de</a>]<br>
> Sent: 02 October 2014 16:16<br>
> To: Sacconi, Andrea; Andreas Dedner; <a class="moz-txt-link-abbreviated" href="mailto:dune-fem@dune-project.org" target="_blank">
dune-fem@dune-project.org</a><br>
> Subject: Re: [dune-fem] Does anyone use fem::ISTLLinearOperator for rectangular matrices?<br>
></span><br>
<blockquote type="cite">Hi Andrea, Andreas<br>
<br>
Since the example of Andrea does not compile, there are some files<br>
missing, it wrote a small example code for the case domainSpace !=<br>
rangeSpace with ISTLLinearOeprator, main file is attached.<br>
<br>
The problem is that the preconditioners (istl and fem) are hard linked<br>
into the matrix class. Most of the preconditioners expect domainSpace<br>
== rangeSpace.<br>
<br>
In a private branch i have extracted them into a separate class some<br>
time ago, i will see whether i can merge this changes into the master.<br>
<br>
Andrea, this means you will have to change to the master branch of<br>
dune-fem or will have to wait for the next release.<br>
<br>
I think its time to review the matrix implementations and bindings.<br>
<br>
Best Tobias<br>
<br>
On 10/02/2014 02:43 PM, Sacconi, Andrea wrote:<br>
> Hi Andreas,<br>
<br>
> the problem is (or at least I think it is) related to the<br>
> definition of the preconditioner. When the matrix is square,<br>
> everything goes fine, I have already solved Poisson and other stuff<br>
> using ISTLLinearOperator class successfully.<br>
<br>
> When instead I need to assemble a rectangular matrix, since<br>
> DomainType and RangeType are different, issues arise. In this case,<br>
> preconditioning doesn't have much sense, and the compiler complains<br>
> that methods are not compatible or some conversions can't be made.<br>
> I attach a simple test case (with Makefile.am, main file, operator<br>
> definition and output of the compilation).<br>
<br>
> Thanks for your help! Andrea<br>
> __________________________________________________________<br>
<br>
> Andrea Sacconi PhD student, Applied Mathematics AMMP Section,<br>
> Department of Mathematics, Imperial College London, London SW7 2AZ,<br>
> UK <a class="moz-txt-link-abbreviated" href="mailto:a.sacconi11@imperial.ac.uk" target="_blank">
a.sacconi11@imperial.ac.uk</a><br>
<br>
> ________________________________________ From:<br>
> <a class="moz-txt-link-abbreviated" href="mailto:dune-fem-bounces+a.sacconi11=imperial.ac.uk@dune-project.org" target="_blank">
dune-fem-bounces+a.sacconi11=imperial.ac.uk@dune-project.org</a><br>
> [<a class="moz-txt-link-abbreviated" href="mailto:dune-fem-bounces+a.sacconi11=imperial.ac.uk@dune-project.org" target="_blank">dune-fem-bounces+a.sacconi11=imperial.ac.uk@dune-project.org</a>] on<br>
> behalf of Andreas Dedner [<a class="moz-txt-link-abbreviated" href="mailto:a.s.dedner@warwick.ac.uk" target="_blank">a.s.dedner@warwick.ac.uk</a>] Sent: 02<br>
> October 2014 13:27 To: <a class="moz-txt-link-abbreviated" href="mailto:dune-fem@dune-project.org" target="_blank">
dune-fem@dune-project.org</a> Subject: Re:<br>
> [dune-fem] Does anyone use fem::ISTLLinearOperator for rectangular<br>
> matrices?<br>
<br>
> Hi Andreas. Whats the issue? I'm not doing it (but I thought I<br>
> tried that in some project). What sort of error messages are you<br>
> getting? Andreas<br>
<br>
> On 02/10/14 11:35, Sacconi, Andrea wrote:<br>
>> Hi all,<br>
>><br>
>> is there anyone in dune-fem community successfully using and<br>
>> assembling a rectangular operator (for example, divergence of the<br>
>> velocity in Stokes, or any operator with domain and range with<br>
>> different dimensions), with Dune::Fem::ISTLLinearOperator as<br>
>> linear operator counterpart (instead of<br>
>> Dune::Fem::SparseRowLinearOperator)?<br>
>><br>
>> Cheers, Andrea<br>
>> __________________________________________________________<br>
>><br>
>> Andrea Sacconi PhD student, Applied Mathematics AMMP Section,<br>
>> Department of Mathematics, Imperial College London, London SW7<br>
>> 2AZ, UK <a class="moz-txt-link-abbreviated" href="mailto:a.sacconi11@imperial.ac.uk" target="_blank">
a.sacconi11@imperial.ac.uk</a><br>
>><br>
>> _______________________________________________ dune-fem mailing<br>
>> list <a class="moz-txt-link-abbreviated" href="mailto:dune-fem@dune-project.org" target="_blank">
dune-fem@dune-project.org</a><br>
>> <a class="moz-txt-link-freetext" href="http://lists.dune-project.org/mailman/listinfo/dune-fem" target="_blank">
http://lists.dune-project.org/mailman/listinfo/dune-fem</a><br>
<br>
<br>
> _______________________________________________ dune-fem mailing<br>
> list <a class="moz-txt-link-abbreviated" href="mailto:dune-fem@dune-project.org" target="_blank">
dune-fem@dune-project.org</a><br>
> <a class="moz-txt-link-freetext" href="http://lists.dune-project.org/mailman/listinfo/dune-fem" target="_blank">
http://lists.dune-project.org/mailman/listinfo/dune-fem</a><br>
<br>
<br>
<br>
> _______________________________________________ dune-fem mailing<br>
> list <a class="moz-txt-link-abbreviated" href="mailto:dune-fem@dune-project.org" target="_blank">
dune-fem@dune-project.org</a><br>
> <a class="moz-txt-link-freetext" href="http://lists.dune-project.org/mailman/listinfo/dune-fem" target="_blank">
http://lists.dune-project.org/mailman/listinfo/dune-fem</a><br>
<br>
<br>
<br>
</blockquote>
<br>
</div>
</div>
</div>
</div>
</body>
</html>