pulisco la memoria

kill(all);

qui dovrei definire schema statico e simboli...
TODO...

definisco le equazioni di equilibrio

eqtx : -NA = 0 $

eqty : +P/2 -NB = 0 $

eqrOz : +CA +NA*(l+r)+CB-NB*r $

nell'ultima equazione ho lasciato implicito
lo "=0"

utilizzo la funzione di soluzione sistemi 
lineari di equazioni

linsolve (      
    [ eqtx , eqty , eqrOz ]
, 
    [ NA , CB , NB ] 
);

inserisco le caratteristiche di azione interna
(= di sollecitazione per la sezione di trave)
lungo i tratti di struttura

tratto 1, curvilineo

N1 : P/2 * sin(phi) $

T1 : P/2 * cos(phi) $

Mf1 : -CA + P/2*r*sin(phi) $

tratto 2 , rettilineo, (NON) funzione di
una ascissa curvilinea "s"

N2 : P/2 $

T2 : 0 $

Mf2 : -CA + P/2 * r $

calcolo energia pot. elastica sui tratti

tratto 1

U1 : integrate(
    (
              Mf1^2  /2/E/A/delta/r
        +      N1 ^2 /2/E/A 
        + xi * T1 ^2 /2/G/A 
        -      N1*Mf1  /E/A     /r
    )*r
,
    phi,0,%pi/2
) ;

manipolazioni di base, per vedere l'effetto
che fanno

U1 : expand(U1);

procedo col tratto 2

U2 : integrate(
    +     Mf2^2/2/E/J
    +      N2^2/2/E/A
    + xi * T2^2/2/G/A
,
    s, 0, l
);

U2 : expand(U2);

calcolo l'energia potenziale elastica totale 
(sul quarto di maglia di catena...),
e procedo con Castigliano

U : U1 + U2$

utilizzo Castigliano per trovare la rotazione
della sezione al punto di applicazione di CA 
(punto A)

rotA : diff( U, CA , 1 );

impongo rotazione nulla in A in coerenza
con l'originale vincolo doppiopendolo

sols : linsolve(  rotA=0  , CA  );

sols;

ridefinisco CA sulla base del valore dello stesso
che soddisfa la condizione di compatibilità
col vincolo

CA : ev( CA , sols );

energia potenziale elastica sul quarto di
maglia di catena, in funzione del carico applicato
P, e dei parametri geometrici

U : fullratsimp (ev( U ) );

definisco energia potenziale elastica di MEZZA maglia
catena, per una più consueta applicazione
di Castigliano

Umezzamaglia : 2 * U$

calcolo l'allungamento di mezza maglia

delta_mezzamaglia : diff ( Umezzamaglia, P );

definisco l'allungamento di un corpo di riferimento,
ad esempio un tondino degli stessi materiale
e sezione del filo della maglia di catena

delta_ref : P / ( E * A / ( l+r-d/2 )  );

calcolo il rapporto tra la cedevolezza della maglia e
quella del riferimento

dratio : delta_mezzamaglia/delta_ref;

noto la presenza dei moduli elastici, E in particolare,
che dovrebbero non apparire in questo rapporto

ipotizzo relazione tra G ed E tipica di materiali 
isotropi, e coeff. poisson tipico di materiali metallici

ip_mat : [ G = E/2/(1+nu) , nu = 3/10];

dratio : fullratsimp(ev(dratio, ip_mat));

impongo sezione circolare piena

ip_sez : [
    A = %pi * d^2/4 ,
    J = %pi * d^4/64,
    xi= 111/100
    
    ];

devo inserire un'ipotesi che richiede manipolazioni
dal passaggio tra la simbologia del testo da cui
attingo a quella del problema specifico, esplicito
qui i passaggi ai fini di una più semplice verifica

rn : (re-ri)^2/8/((ri+re)/2-sqrt(ri*re));

rg : (ri + re)/2;

ip_sez : 
append(
    ip_sez,
    [delta = ev(rg-rn, re = r+d/2, ri=r-d/2)]
);

impongo dimensionamento di riferimento, per avere
un valore specifico di dratio

ip_dim : linsolve(
  [
        16=d,
        48=2*l+2*r-d,
        20.8=2*r-d
    ]
    , [d,r,l]
    );

valuto il rapporto di cedevolezza tra maglia e tondino

ev(dratio , ip_mat , ip_sez, ip_dim , infeval);

chiedo valutazione numerica finale

% , numer;