def a(u, v, w): F, iF = deformation_gradient(w) DF = grad(u) dF = grad(v) dFiF = mul(dF, iF) DFiF = mul(DF, iF) tr_DFiF_dFiF = ddot(transpose(dFiF), DFiF) lnJ = np.log(det(F)) return (mu * ddot(DF, dF) - (lmbda * lnJ - mu) * tr_DFiF_dFiF + lmbda * trace(dFiF) * trace(DFiF))
def C(T): return E / (1 + nu) * (T + nu / (1 - nu) * eye(trace(T), 2))
def C(T): """Linear-elastic stress-strain relationship.""" return 2. * Mu * T + Lambda * eye(trace(T), T.shape[0])