Implemented old Newton solve (i.e., excluding step length). Still debugging.
Two-point test cases now seem to be working (though they fail when the softmin0 equations are used).
Amalgamated std::min() and softmin0() methods for handling normal impulses (switch with the UseSoftminInNewton flag). Fixed bug in dpiStar() when !UseSoftminInNewton. Cleaned up code for computing error vector and Jacobian.
Fixed incorrect handling of unilateral constraint on exit from Newton iteration.
Implemented Newton solve including step length alpha. Rough implementation only; neither tested nor debugged.
Corrections to partial derivatives. Still more bugs to track down.
Now using crisp min for evaluating error function and softmin0 when computing Jacobian.
Cleaned up Newton iteration code in preparation for implementing method using maximally dissipative sliding directions.
Implemented solution strategy that uses Newton iteration to solve for maximally dissipative sliding directions. Step length alpha is found in an outer loop using fixed-point iteration. Still tracking down a bug that appears in test A4 with mu=0.
Fixed bug in control flow. Newton iteration loop in generateAndSolveUsingNewtonWithPMD() wasn't exiting on convergence.
Corrected familiar sign errors in error function and Jacobian due to opposite sense of impulses. Catching cases where no directional information is available.
Added missing sliding cases to error and Jacobian methods, and corrected sign errors. Confirmed that vanilla PLUS Newton method matches fixed-point iteration strategy for one- and two-point test cases.
Fixed bugs in solution strategy that uses maximally dissipative sliding directions.
Cleaned up code.
Debugging principle of maximum dissipation (PMD) strategy. Working relatively well now, though the old step length calculator undershoots alpha, which causes the PMD strategy to take lots of intervals.
Implemented optimal step length search when using maximally dissipative sliding friction. Based on a handful of test cases, the principle of maximum dissipation does not seem to provide substantially different answers than the existing PLUS strategy.
Merge branch 'PLUSwithNewtonSolve' of https://github.com/simbody/simbody into addCompliantBlockImpactTest
Added parameters for generating comparison with TestPLUS_SingleBrick.
Added parameters for comparing to compliant model.
Merge branch 'PLUSwithNewtonSolve' of https://github.com/simbody/simbody into addCompliantBlockImpactTest