Skip to content

storing c2nonlin as an improved creep iteration start point #1

@ecciv

Description

@ecciv

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions