kill(all);

risolvo le equazioni di equilibrio nelle incognite NA, CC, NC

linsolve(
    [
        -NA    =0,
        +F/2-NC=0,

        F/2 * 0 + NA*(r+l)-CA - NC*r + CC = 0  
    ]
    ,
    [NA, NC, CC]
), globalsolve=True;

caratteristiche di sollecitazione sul tratto (curvo) AB
da equilibrio del concio compreso tra A e l'angolo theta

linsolve(
    [
        N_AB - NA * cos(theta) - F/2*sin(theta)=0,
        T_AB + F/2*cos(theta)-NA*sin(theta)=0,
        Mf_AB-CA-F/2*r*sin(theta)+NA*r*(1-cos(theta))=0
    ],

    [N_AB, T_AB, Mf_AB]
), globalsolve=True;

caratteristiche di sollecitazione su BC

N_BC  : F/2;
T_BC  : 0;
Mf_BC : CA+F/2*r;

energia potenziale elastica, tratto curvilineo

U_AB: integrate(
    (
             Mf_AB^2/2/E/A/(r-rn)/r
        +     N_AB^2/2/E/A
        + xi* T_AB^2/2/G/A
        - N_AB*Mf_AB/  E/A/r
    )*r,
    theta,0, %pi/2
    );

energia potenziale elastica, tratto BC

U_BC: integrate(
    
             Mf_BC^2/2/E/J
        +     N_BC^2/2/E/A
        + xi* T_BC^2/2/G/A
    ,
    x,0,l
    );

energia potenziale elastica totale

U:U_AB+U_BC$

applico il teorema di Castigliano per ricavare 
la rotazione in corrispondenza di A

phiA : diff(U,CA);

imponendo la rotazione nulla alla simmetria in 
corrispondenza del punto A

linsolve( phiA=0, CA ), globalsolve=true;

sostituisco entro U(CA,F) la definizione
di CA(F)

U : fullratsimp(ev(U));

vado a calcolare lo spostamento del punto A
di applicazione della forza F/2

uA : diff(U, F/2);

non volendo disquisire oltre sul significato
fisico della derivazione per F/2, procedo
considerando mezza maglia in luogo del 
quarto di maglia

U_mezzamaglia : 2*U;

uA : diff(U_mezzamaglia, F);

vado a considerare il cedimento di un tondino
pari materiale, sezione, e lungo mezzo passo
di catena

uA_rif : F*(r-d/2+l)/A/E;

cedevolezza relativa della catena, con riferimento
al tondino pari materiale e sezione

relced : fullratsimp(uA/uA_rif);

sostituisco alcune ipotesi semplificative

mat : [G=E/2/(1+3/10)];

relced:fullratsimp(ev(relced, mat));

sostituisco i moduli di rigidezza a sforzo normale
taglio e flessione della sez. circ. in esame

sez: [
    xi = 111/100,
    A  = %pi*d^2/4,
    J  = %pi*d^4/64,
    rn = ev
        (
            (re-ri)^2
            /8
            /((ri+re)/2-sqrt(ri*re)),
            ri=r-d/2,
            re=r+d/2
        ) 
];

relced : ev(relced,sez);

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

dati presi a campione da un catalogo di produttori di catene industriali:

    d filo = 10 mm;
    Raggio interno Ri = 6.5 mm (R = 11.5 mm);
    passo = 30 mm (passo-2*Ri = 2L = 17 mm).

dim: linsolve(
    [
        d=10,
        r-d/2=6.5,
        r-d/2+l=30/2
    ],[r,d,l]
);

ev( relced , dim, numer);