Topic: Altered iteration scheme for nonlinear problems
I finished updating the nrsolver, which also meant some changes (mostly removal of code) for the nonlinear problem.
The "bc load vector" type is now unused.
No matrix or internal forces need to be computed before calling the solver. It is automatically called for when (and if) it is needed.
One test case broke during these changes; compoDamMat.in
I actually suspect that the old version might be wrong, as I can't find anything wrong with the new setup.
Since the error happened in the 45th time step, in combination with the fact that the new iteration scheme is (intentionally) a bit different.
All problem converge quickly. Lowering the error tolerance still gives the same answer.
Checker.py: compoDamMat.in
Error when checking rule 3 : err = 0.00898 , value is 0.17645 and should be 0.18543rule 3 is
#ELEMENT tStep 45 number 1 gp 1 keyword "stresses" component 2 value 1.8543e-01and the iterations for time step 45 looks fine (as does all other time steps)
Solving [step number 45.0]
Time Iteration ForceError DisplError
__________________________________________________________
Assembling tangent stiffness matrix
NonLinearStatic info: user time consumed by assembly: 0.00s
44 0 1.002346e-01 0.000000e+00
Skyline info: neq is 13, nwk is 92
Skyline info: user time consumed by factorization: 0.00s
44 1 3.014258e-05 4.403415e-01
44 2 2.389661e-07 1.318322e-04
44 3 3.006175e-10 1.045146e-06 Had it been a simple material model, i could have tried computing an analytical solution, but for compodammat there is just no chance.
If there is any problems, there has to be a bug when updating the temp variables or some such.
Or it could simple be that the material is so nonlinear that the new iteration scheme happens to end up with another solution.
Instead of just changing the test case, I chose to leave it as is for now.