- Jul 09, 2014
-
-
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]]
-
- 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]]
-
- 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]]
-
- Jun 13, 2014
-
-
Oliver Sander authored
Instead, only let ADOL-C evaluate the Hessian in the directions of the vectors of the orthonormal frames. The result is the same, but we get away with fewer calls to ADOL-C, which, in my Cosserat shell example, shaves off about 10% of the assembly time. [[Imported from SVN: r9779]]
-
- Dec 09, 2013
-
-
Oliver Sander authored
[[Imported from SVN: r9572]]
-
- Dec 08, 2013
-
-
Oliver Sander authored
[[Imported from SVN: r9571]]
-
- Dec 03, 2013
-
-
Oliver Sander authored
Because the gradient is needed anyway when computing the Hesse matrix. Not computing it separately a second time shaves off about 8% wall time of each iteration. [[Imported from SVN: r9555]]
-
- Sep 30, 2013
-
-
Oliver Sander authored
The Weingarten map is block-diagonal for a product space. [[Imported from SVN: r9517]]
-
- Sep 03, 2013
-
-
Oliver Sander authored
[[Imported from SVN: r9422]]
-
Oliver Sander authored
[[Imported from SVN: r9415]]
-
Oliver Sander authored
Because it may contain a projection onto the manifold, which is part of the energy evaluation if we view the energy as being defined on all of R^n (as ADOL-C does). [[Imported from SVN: r9414]]
-
Oliver Sander authored
Not actually working yet, though. [[Imported from SVN: r9412]]
-
Oliver Sander authored
[[Imported from SVN: r9395]]
-