FreeCAD: master 796c9d79
Author | Committer | Branch | Timestamp | Parent |
---|---|---|---|---|
Abdullah Tahiri | wmayer | master | 2015-06-14 19:30:29 | master 02df1acb |
Changeset | Sketcher: New Features: SparseQR decomposition and Solver advanced control TaskBox ================================================================================== The solver has been adapted to use Eigen's SparseQR QR decomposition algorithm. The original Dense QR implementation is maintained and can be selected using the Advanced Control TaskBox (see below). The use of SparseQR provides over an order of magnitude improvement in solving time in complex sketches due to the Sparse nature of the Jacobian matrix of the system of equations. The solver advanced control is a new TaskBox in the Sketcher that allows to select which algorithms are to be used for the different solving operations and tweak its parameters. It is not intended to be a user control, but means to debug solving problems and improve the algorithms and their configuration. This commit also introduces multithread support for Eigen. Currently it is only limited to products and does not provide a substantial speed improvement. It is expected to have more multithreaded operations in Eigen in the future. As a bonus, the TaskBoxes in the Taskbar of the Sketcher remember the last state (collapsed or deployed). |
|||
mod - src/Mod/Sketcher/App/CMakeLists.txt | Diff File | |||
mod - src/Mod/Sketcher/App/Sketch.cpp | Diff File | |||
mod - src/Mod/Sketcher/App/Sketch.h | Diff File | |||
mod - src/Mod/Sketcher/App/planegcs/GCS.cpp | Diff File | |||
mod - src/Mod/Sketcher/App/planegcs/GCS.h | Diff File | |||
mod - src/Mod/Sketcher/Gui/CMakeLists.txt | Diff File | |||
mod - src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp | Diff File | |||
mod - src/Mod/Sketcher/Gui/TaskDlgEditSketch.h | Diff File | |||
add - src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.cpp | Diff File | |||
add - src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h | Diff File | |||
add - src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.ui | Diff File |