pulisco la memoria

kill(all)$

definisco i Mf su tratti 1 e 2

Mf1 : C - P/2*sin(phi)*r;

Mf2 : C - P/2*r;

calcolo dell'energia potenziale elastica

U1 : integrate(    
  Mf1^2/2/E/J   *r,
  phi,
  0,
  %pi/2
);

U2 : integrate(
  Mf2^2/2/E/J,
  x,
  0,
  l
);

U : U1 + U2;

utilizzando il teorema di Castigliano, calcolo la rotazione
al doppio pendolo sostituito con bielletta

theta : diff(  U  ,  C  ,  1  );

definisco equazione di compatibilità della rotazione all'estremità
collegata con bielletta con l'originario vincolo doppio-pendolo

eq_comp : theta = 0;

eq_comp;

risolvo equazione di compatibilità nell'incognita 
momento di reazione iperstatica C

rispetto_compatibilita : linsolve(  eq_comp  ,   C  );

assegno a C la valutazione di se stesso
secondo un'ipotesi di rispetto della compatibilità cinematica

C : ev( C , rispetto_compatibilita );

C;

provo una via alternativa per assegnare a C lo stesso valore,
inizio cancellando l'assegnazione di un'espressione a C

kill(C);

controllo che a C non risulti assegnata alcuna espressione

C;

risolvo equazione di compatibilità nell'incognita 
momento di reazione iperstatica C, con assegnazione automatica

linsolve(  eq_comp  ,   C  ) , globalsolve=true;

C;

INTERMEZZO POCCI VARI
cos(pippo) , pippo=%pi/4;
cos(pippo) , pippo=pluto , pluto=%pi/4;
cos(pippo) , pippo=pluto , pluto=%pi/4 , eval;
cos(pippo) , pippo=pluto , pluto=%pi/4 , infeval;

cos(pippo) , pippo=ev(%pi/4,numer);

C;

Mf1 : ev(Mf1);

Mf1;

valuto momento flettente massimo su arco, che è momento
flettente massimo su struttua poiché sul tratto
rettilineo il Mf è uguale a quello sul secondo estremo di arco

Mfmax : ev(Mf1,phi=0);

qui la seconda valutazione richiesta esplicitamente 
(la prima è quella implicita)
sostituisce entro il "sostituito a U" il valore associato a C

U : ev(U);

controllo che tutti i contributi di P entro U siano esplicitati

U;

procedo con Castigliano nel ricavare lo spostamento delta; 
considero qui mezza maglia superiore di catena e non il quarto
in quanto il significato fisico dell'applicazione del teorema
è meno incerto

U_meta_sup : 2 * U;

delta : diff( U_meta_sup , P);

tento di semplificare riducendo a denominatore comune

delta : fullratsimp ( delta );

valuto deformabilità di maglia "def" sommando i contributi di 
deformazione della metà superiore e inferiore di maglia, uguali per
simmetria

def : (delta + delta)/P;