- Feb 01, 2015
-
-
Oliver Sander authored
The multigrid hierarchy is built in two different ways, depending on whether we use a P1NodalBasis for the discretization, or anything else. Previously, this switch was made using the preprocessor. The patches changes the code to use std::is_same instead. [[Imported from SVN: r10046]]
-
- Jan 28, 2015
-
-
Oliver Sander authored
This is much cleaner than handing over the Grid only, and then trying to guess the basis using the preprocessor. After all, the RiemannianTrustRegionSolver calls the assembler, so it may know the function space basis. [[Imported from SVN: r10035]]
-
Oliver Sander authored
[[Imported from SVN: r10033]]
-
- Jan 14, 2015
-
-
Oliver Sander authored
[[Imported from SVN: r9995]]
-
Oliver Sander authored
[[Imported from SVN: r9994]]
-
- Dec 27, 2014
-
-
Oliver Sander authored
There is no need to have our own implementation for this, we had it purely for historical reasons. Also, this change fixes a subtle bug: Our own implementation used AlienElementLocalBasis, which returns zero if the LocalBasis is evaluated outside of the reference element. However, this happened sometimes due to rounding error on grids with very small quadrilateral elements. [[Imported from SVN: r9991]]
-
Oliver Sander authored
[[Imported from SVN: r9990]]
-
- Nov 13, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9965]]
-
Oliver Sander authored
Previously, the number of multigrid transfer operators was always equal to the number of grid levels minus one. That worked out correctly when doing first-order FE spaces. However, for higher-order spaces, the up-most transfer operator transfers from the higher-order space to a first-order space _on the same grid level_. But since the total number of transfer operators was grid levels minus one, this implied that the coarsest grid leve was never used, and the coarse grid solver would operate on the second-coarsest grid. This patch adds the extra transfer operator in this case. That means we now call the coarse grid solver on smaller problems, which makes a noticeable run-time difference. [[Imported from SVN: r9964]]
-
Oliver Sander authored
[[Imported from SVN: r9963]]
-
Oliver Sander authored
Normally, the two different level grid views. Previously we used the same one to compute the localToGlobal renumbering for boths rows and columns. Of course that screws up the numbering. I am not quite sure when that got introduced. I may have gotten in fairly recently, after the upstreaming of the GlobalIndexSet classs. [[Imported from SVN: r9962]]
-
- Nov 05, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9954]]
-
- Nov 04, 2014
-
-
Oliver Sander authored
Because it is not an index, it really is a mapper. [[Imported from SVN: r9953]]
-
- Oct 27, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9936]]
-
- Oct 14, 2014
-
-
Oliver Sander authored
In particular this means having to carry mappers for the local indices around. This makes the code more verbose, but it also makes it easier to see what is happening. While coding this stuff I keep having doubts about whether all the renumbering works correctly... [[Imported from SVN: r9925]]
-
- Oct 11, 2014
-
-
Oliver Sander authored
The local copy was to get the thing developed and working. Now that it is working we upstream it into dune-grid. [[Imported from SVN: r9922]]
-
Oliver Sander authored
The IndexSet interface class from dune-grid doesn't have it, and we want to be like the interface method as much as possible. [[Imported from SVN: r9921]]
-
- Oct 10, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9918]]
-
Oliver Sander authored
[[Imported from SVN: r9917]]
-
- Oct 01, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9909]]
-
- Sep 29, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9890]]
-
- Sep 12, 2014
-
-
Oliver Sander authored
dune-solvers actually does provide a way to set these matrices directly. I simply didn't find it until recently. [[Imported from SVN: r9885]]
-
- Sep 07, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9881]]
-
- Sep 03, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9878]]
-
- Aug 28, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9868]]
-
- Aug 22, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9854]]
-
- Jul 18, 2014
-
-
Oliver Sander authored
Gauss-Seidel converges equally good/bad as IPOpt, but it is much faster. [[Imported from SVN: r9839]]
-
Oliver Sander authored
[[Imported from SVN: r9838]]
-
- Jul 16, 2014
-
-
Oliver Sander authored
Previously the energy norm was used, but as we are solving non-convex problems the Hessians may be indefinite, and then the EnergyNorm is not a norm. [[Imported from SVN: r9835]]
-
- Jul 09, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9817]]
-
Oliver Sander authored
The hasObstacle_ and obstacles_ fields are now single arrays. The corresponding fields for the entire grid hierarchy is assembled within dune-solvers now. [[Imported from SVN: r9816]]
-
- May 27, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9771]]
-
Oliver Sander authored
Previously, the matrix was always assembled using a P1-basis, even if we used it to measure errors of vectors pertaining to P2 or other spaces. Nobody noticed this, because the h1SemiNorm routine would not fail if the vector was larger than the matrix. Sigh... [[Imported from SVN: r9770]]
-
- May 26, 2014
-
-
Oliver Sander authored
That makes for slightly simpler code. [[Imported from SVN: r9768]]
-
Oliver Sander authored
[[Imported from SVN: r9765]]
-
- May 25, 2014
-
-
Oliver Sander authored
Even if there is only one processor. Because even then the local and global vectors differ in their ordering. [[Imported from SVN: r9757]]
-
- May 16, 2014
-
-
Oliver Sander authored
The Dirichlet nodes are handled directly via the ignoreNodes_ field. I don't know how the matrix modification code ever got in here. Removing the code doesn't seem to make any difference. I find that a bit surprising: I would expect multigrid and IPOpt to work better if the matrix is truly symmetric. [[Imported from SVN: r9742]]
-
- May 14, 2014
-
-
Oliver Sander authored
Much easier to use than the previous API. [[Imported from SVN: r9735]]
-
Oliver Sander authored
[[Imported from SVN: r9734]]
-
Oliver Sander authored
[[Imported from SVN: r9732]]
-