Skip to content
Snippets Groups Projects
user avatar
Lisa Julia Nebel authored
Divide the regularization parameter through the scaling parameter in the PN solver instead of multiplying

In the PN solver, we add identity*regularization/scaling to the stiffness matrix.
This has two effects:
- make the system matrix positive definite
- penalize large corrections to ensure an energy decrease in each step

The regularization parameter is adapted if either the system matrix is not positive definite
if there is an energy increase. This works similar to the trust-region radius in the TR solver.
The correction must be inside the trust-region, this ensures there is an energy decrease
in each step.
For each component of the correction, the trust-region radius as well as the regularization parameter
is multiplied with a scaling factor, because the correction for the displacement works depends
on the grid size where the correction for the rotation does not.

To align the effect of the scaling parameter, we need to divide through the scaling parameter in
the PN solver and multiply with it it in the TR solver.
3ea924df
History
Name Last commit Last update
..
gfe
CMakeLists.txt