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 vector p_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 =