- Jul 17, 2014
-
-
Oliver Sander authored
Amazingly, this really does have a measurable effect on the overall computation speed. Assembly times for the global Hessian and gradient for the Cosserat shell energy problem drop by about 5% (!) [[Imported from SVN: r9837]]
-
Oliver Sander authored
That's obviously more efficient when solving one linear equation with multiple right hand sides. [[Imported from SVN: r9836]]
-
- 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]]
-
Oliver Sander authored
[[Imported from SVN: r9834]]
-
Oliver Sander authored
[[Imported from SVN: r9833]]
-
- Jul 11, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9832]]
-
Oliver Sander authored
[[Imported from SVN: r9831]]
-
Oliver Sander authored
[[Imported from SVN: r9830]]
-
Oliver Sander authored
[[Imported from SVN: r9829]]
-
- Jul 10, 2014
-
-
Oliver Sander authored
That makes it easier to keep them consistent. Also, the code is shorter. [[Imported from SVN: r9822]]
-
Oliver Sander authored
[[Imported from SVN: r9821]]
-
Oliver Sander authored
[[Imported from SVN: r9820]]
-
- Jul 09, 2014
-
-
Oliver Sander authored
This used to be 'int', because dunepython didn't support the python-to-C conversion for bool. [[Imported from SVN: r9819]]
-
Oliver Sander authored
Previously we called hess_mat (vector-mode second derivatives) with the canonical basis vectors, and then rotated the resulting matrix. This is wasteful, as more directions are used than necessary. This patch uses the minimal number of directions. [[Imported from SVN: r9818]]
-
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]]
-
- Jul 03, 2014
-
-
Oliver Sander authored
This almost halves the assembly time for the Hesse matrix. Nice! Nevertheless I still keep the scalar-mode code around, hidden behind and #ifdef. Higher-order vector-mode in ADOL-C appears to be not quite as reliable as the rest, so I want to be able to easily compare results with the scalar code. Also, unlike the scalar code, the vector-mode one again computes the full Hessian in the surrounding Euclidean space. Only afterwards, that full Hessian is multiplied by the tangent space basis vectors to obtain a Hesse matrix on the tangent space. To obtain better efficiency one could have ADOL-C compute the Hessian in the tangent directions directly. However, ADOL-C sometimes segfaults... when doing that. [[Imported from SVN: r9815]]
-
Oliver Sander authored
[[Imported from SVN: r9814]]
-
Oliver Sander authored
[[Imported from SVN: r9813]]
-
- Jul 01, 2014
-
-
Oliver Sander authored
In particular, I can use math.cos in the initial values. [[Imported from SVN: r9808]]
-
- Jun 27, 2014
-
-
Oliver Sander authored
And add a little quirk: I don't know how to do 'import math' in dunepython yet. Therefore I have to replace the cosine in the initial configuration by a series expansion... [[Imported from SVN: r9804]]
-
- Jun 25, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9803]]
-
Oliver Sander authored
[[Imported from SVN: r9802]]
-
- Jun 18, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9801]]
-
Oliver Sander authored
[[Imported from SVN: r9800]]
-
Oliver Sander authored
[[Imported from SVN: r9799]]
-
- Jun 17, 2014
-
-
Oliver Sander authored
Newer versions of ADOL-C do not define 'overwrite' anymore, hence there is no risk of macro clashing. [[Imported from SVN: r9798]]
-
Oliver Sander authored
[[Imported from SVN: r9797]]
-
Oliver Sander authored
[[Imported from SVN: r9796]]
-
Oliver Sander authored
[[Imported from SVN: r9795]]
-
Oliver Sander authored
That way, we can now control what vertices are Dirichlet and Neumann without having to recompile the code. [[Imported from SVN: r9794]]
-
Oliver Sander authored
This will eventually allow to not hard-wired the Dirichlet vertices into the C++ code, and change them without recompiling. This also means we can remove some preprocessor switches. Currently, though, the Python code is still hard-wired, so we are only half-way there. Note that this patch may break several test problems. I did not test all of them. [[Imported from SVN: r9793]]
-
Oliver Sander authored
[[Imported from SVN: r9792]]
-
Oliver Sander authored
[[Imported from SVN: r9791]]
-
Oliver Sander authored
[[Imported from SVN: r9790]]
-
Oliver Sander authored
[[Imported from SVN: r9789]]
-
Oliver Sander authored
[[Imported from SVN: r9788]]
-
Oliver Sander authored
[[Imported from SVN: r9787]]
-
Oliver Sander authored
[[Imported from SVN: r9786]]
-
Oliver Sander authored
[[Imported from SVN: r9785]]
-