Newer
Older
import numpy as np
def lift_singularity(c, x):
def local_lift(y):
if (y <= 0):
return -c
else:
return -np.expm1(c * y) / y
return np.array([local_lift(y) for y in x])
def aging_law(params, initial_alpha, v, time_steps):
#auto tangentVelocity = velocity_field[localToGlobal_[i]];
#tangentVelocity[0] = 0.0;
#double const V = tangentVelocity.two_norm();
alpha = [initial_alpha]
for i,tau in enumerate(time_steps):
mtoL = -tau / params['L']
next_alpha = np.log(np.exp(alpha[-1] + v[i] * mtoL) + params['V0'] * lift_singularity(mtoL, v[i]))
alpha.append(next_alpha)
return alpha