Clear the memory, or, kill all the variable definitions

kill( all ) ;

equilibrium equations for the quarter
(simplified) ladder frame chassis

eqtx : UA = 0 ;

eqty : VD = 0 ;

eqtz : WA + WD - F = 0;

eqrOx : - F * c + WD*(b+e) + ThetaD = 0;

eqrOy : PhiA - WA*a + F*a = 0;

eqrOz : 0 = 0 ;

define a list of equations and a list of unknowns

eqlst : [ eqtx  , eqty  , eqtz ,
          eqrOx , eqrOy , eqrOz ] ;

unlst : [ UA , WA , PhiA , VD , WD, ThetaD ];

solve the linear system of equations

linsolve( eqlst , unlst ) ;

there is one dependent equation, so I'm unable to solve 
the problem of obtaining all the reaction forces/moments by equilibrium alone

unlst_red : [ UA , WA , PhiA , VD , WD];

sols : linsolve( eqlst , unlst_red ) ;

option A for assignment:

''unlst_red : ev( unlst_red , sols ) ;

massive assignment of the values that solve the equations to the 
unknowns. The ''unlst_red syntax forces an immediate evaluation of the
symbol, such that the actual assignment is

[UA,WA,PhiA,VD,WD] : [UA=0,WA=((e-c+b)*F+ThetaD)/(e+b),
                      PhiA=-(a*c*F-a*ThetaD)/(e+b),VD=0,
                      WD=(c*F-ThetaD)/(e+b)];

option B for assignment

linsolve( eqlst , unlst_red ) , globalsolve=True ;

we now define the cross section resultants for the D->B beam, 
as a function of the s= 0..a arclength coordinate

N : 0 $

Mf_eta : VD * s $

Mf_xi : WD * s ;

Mt : ThetaD;

S_eta : WD;

S_xi  : VD$

we now evaluate the internal strain energy for the DB beam

U : integrate ( 
               ( 
                       J_etaeta* Mf_xi^2
                   +    J_xixi * Mf_eta^2
                   + 2*J_xieta * Mf_xi*Mf_eta
                )/( 
                    2*E*(J_xixi*J_etaeta-J_xieta^2)
                )
            +
                N^2/2/E/A
            +
                ( 
                      chi_xi * S_xi^2
                    + chi_eta * S_eta^2
                    + chi_etaxi * S_xi * S_eta
                )/(
                    2*G*A
                )
            +
                Mt^2 / 2 / G/ Kt
 , s , 0 , a );

The strain energy is now known as a quadratic function of F and ThetaD
We recur to the Castigliano's second theorem to obtain the rotation at D, 
component x

thetaD : diff( U , ThetaD )   ;

we now force that rotation to be zero in order to reinstate the kinematic
compatibility with respect to the skew-symmetry constraint acting in D.

linsolve ( thetaD = 0 , ThetaD ) , globalsolve=True;

I now redefine the internal strain energy as a function of F alone,
i.e. I force a substitution of the expression above within U

U : ev( U );

We employ Castigliano theorem again to obtain the deflection of
the quarter ladder frame chassis at the application point of the external
force F

delta : diff( U , F);