# Spindle - full linear modeling (Netwon's method)

> restart: libname := "C:/MBSymba",libname: with(MBSymba_r6):

> PDEtools[declare]({alpha(t),beta(t)} ,prime=t, quiet):

> linear_modeling({alpha(t),beta(t)});

Warning, Linear Modeling option has been choosen for the following variables:

Spindle frame

> Omega; constant spin velocity

> T1 := rotate('Y',alpha(t)) . rotate ('X',beta(t)) ;

Spindle inertia properties

> TG1 := T1 . rotate('Z',Omega*t). translate(0,0,-H); #set_frame_name(TG1,'TG1'):

> spindle := make_BODY(TG1, m, It,It,Ia): show(%);

> _gravity := make_VECTOR(ground,0,0,g): show(_gravity);

> eqnsE := euler_equations({spindle},origin(ground)): show(eqnsE);

# Spindle - non linear modeling

> restart: libname := "C:/MBSymba",libname: with(MBSymba_r6):

> PDEtools[declare]({alpha(t),beta(t)} ,prime=t, quiet):

> alias(S=sin, C=cos);

Spindle frame

> Omega; constant spin velocity

> T1 := rotate('Y',alpha(t)) . rotate ('X',beta(t));

Spindle inertia properties

> TG1 := T1 . rotate('Z',Omega*t) . translate(0,0,-H): #set_frame_name(TG1,'TG1'):

> spindle := make_BODY(TG1, m, It,It,Ia): show(spindle);

> _gravity := make_VECTOR(ground,0,0,g): show(_gravity);

### Euler's equations

> eqnsE := project(euler_equations({spindle},origin(ground)),T1):set_frame_name(T1,'T1'):
show(eqnsE);

### Energy

> KE := kinetic_energy(spindle):
KE := collect(simplify(KE),[m,H,Ia,It]);

> KE2 := taylorF(KE,[alpha(t),beta(t), diff(alpha(t),t),diff(beta(t),t)],3);

> PE := gravitational_energy(spindle);

> PE2 := taylorF(PE,[alpha(t),beta(t)],3);

### Lagrange's equations

> lagrange(KE-PE, alpha(t) ,t);

> lagrange(KE-PE, beta(t) ,t);

> lagrange(KE2-PE2, alpha(t) ,t);

> lagrange(KE2-PE2, beta(t) ,t);

>

>

>