11 lines (10 with data), 554 Bytes
//AnyVar strain = (..PointSurfaceMeasure.Pos[i]-l0)/l0;
//AnyVar Val = iffun(gteqfun(..PointSurfaceMeasure.Pos[i],l0),0.0,-Stiffness*strain);
AnyVar frac=1.0;
AnyVar l1=0.0;
AnyVar Val = iffun(gtfun(.meas.Pos[i],l0),iffun(gtfun(.meas.Pos[i],l1),0.0,-Stiffness/frac*.meas.Pos[i]),-Stiffness*.meas.Pos[i]);
//AnyVar Val = iffun(gtfun(.meas.Pos[i],l0),0.0,-Stiffness*.meas.Pos[i]^2);
// AnyVar l0=0.04;
// AnyKinMeasure& meas = .MedialLigPLine1;
//AnyVar eps = (.meas.Pos[i]-l0)/l0;
//AnyVar Val = {iffun(gtfun(eps,0.0),0.0,Stiffness*eps^2)};