- Aug 22, 2014
-
-
Oliver Sander authored
'Mixed' means that the spaces for deformations and microrotations can be chosen separately. At this point there hasn't been a lot of testing yet. In particular, parallelizing the assembly is currently not supported. [[Imported from SVN: r9852]]
-
Oliver Sander authored
Instead, the FD approximation is now done in a separate class. [[Imported from SVN: r9850]]
-
Oliver Sander authored
[[Imported from SVN: r9849]]
-
Oliver Sander authored
'Mixed' means that there are two different spaces used for the deformation and the microrotations. This implementation currently only does second order, and it only writes the deformation, not the microrotations. [[Imported from SVN: r9848]]
-
Oliver Sander authored
[[Imported from SVN: r9847]]
-
Oliver Sander authored
[[Imported from SVN: r9846]]
-
Oliver Sander authored
[[Imported from SVN: r9845]]
-
Oliver Sander authored
[[Imported from SVN: r9844]]
-
- Aug 21, 2014
-
-
Oliver Sander authored
That projection is the zero map, not the identity. [[Imported from SVN: r9843]]
-
- Aug 18, 2014
-
-
Oliver Sander authored
This used to be in the base class as default implementations, but I think it is nicer to have it in a derived class. In particular, this will eventually allow to do the FD approximation with high-precision number types. [[Imported from SVN: r9842]]
-
Oliver Sander authored
It sometimes creates problems with ADOL-C. [[Imported from SVN: r9841]]
-
- Jul 25, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9840]]
-
- 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 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 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]]
-
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]]
-
- 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: r9786]]
-
Oliver Sander authored
[[Imported from SVN: r9785]]
-
- 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]]
-
- Jun 10, 2014
-
-
Oliver Sander authored
[[Imported from SVN: r9777]]
-
- Jun 08, 2014
-
-
Oliver Sander authored
Otherwise, all processes will write into the same file --> not a good idea. [[Imported from SVN: r9776]]
-
- 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: r9767]]
-
Oliver Sander authored
For a general grid, such loops are only possible for codimensions 0 and the grid dimension. [[Imported from SVN: r9766]]
-
Oliver Sander authored
[[Imported from SVN: r9765]]
-
Oliver Sander authored
[[Imported from SVN: r9764]]
-
Oliver Sander authored
[[Imported from SVN: r9763]]
-
Oliver Sander authored
[[Imported from SVN: r9762]]
-