Derivation of the Reference Strain and Boundary Condition
This code will establish a reference strain and boundary condition as in (Sec. III C)
We use Frenet convention, the z direction is along the tangent, which is the derivative of p with respect to s. Transfer
to local frame using where 
Since
uses s as the variable, 
From Eq. (6),
, therefore
as long as z is along the tangent of the curve, which is true for the original reference state. syms phi alpha s r theta rot_n
assume([phi alpha s r, theta],'real')
assume([phi alpha s r, theta],'positive')
is the reference postion vectorp_star = [ r*cos(-phi); r*sin(-phi); s*sin(-alpha); ]
p_star =

p_star = subs(p_star, phi, s*cos(alpha)/r)
p_star =

p_star_prime = diff(p_star, s)
p_star_prime =

R_star = Rz(pi - phi)*Rx(-pi/2 - alpha)
R_star =

A short demo of the trame transformation is shown in the following animaiton, In the beginning body frame xyz coincides with global frame XYZ. We only look at the orientation. First, rotate around z axis
degree, then roate around current x axis 
R_star = subs(R_star, phi,s*cos(alpha)/r);
R_star = simplify(R_star) %
R_star =

R_star_prime = diff(R_star, s) % derivative with respect to s
R_star_prime =

R_star_trans = R_star.'
R_star_trans =

u_skew = R_star_trans*R_star_prime
u_skew =

Simplify
u_skew = simplify(u_skew)
u_skew =

u_star = simplify(unskew(u_skew), 'Steps',10)
u_star =

Notice that the second element is
and the thrid element is 
v_star = R_star_trans*p_star_prime
v_star =

v_star = simplify(v_star, 'Steps',50)
v_star =

This is the 
xi = simplify([u_star.', v_star.'])
xi =

p_star_0 = subs(p_star, s, 0)
p_star_0 =

R_ref_0 = subs(R_star, s, 0)
R_ref_0 =
