-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Nonlinear creep is solved by multiplying the creep velocity into the creep coefficient, giving us a velocity-specific creep coefficient, and iterating on this value until the creep velocity*velocity-specific creep coefficient match the force over the elastic and viscoelastic components to a specified tolerance. This iteration can be fed with an initial guess to the velocity-specific creep coefficient, which ideally reduces the number of necessary iterations.
Right now, that guess is always c2_initialguess. However by storing the value of c2nonlin (velocity-specific creep coefficient) from a previous timestep, and assuming that subsequent timesteps have more similarity than the current timestep compared to an average timestep (which is how c2_initalguess is calculated), we can achieve a significant speedup in cases where c2exp is far from 1. It would also decrease the performance sensitivity to poorly chosen c2_initialguess.
this has been implemented in another environment and resulted in a 2-3x speedup for c2exp 1/3.