"Traitement de l'exemple du cours 6 sous Maxima, Cours RdM1 2013, Frédéric Gillot"

kill(all);

load(scifac);

load(draw);

"-----------------------------------Expression de la charge répartie"

define(q(x),q0+k*x²);

"-----------------------------------Effort total du à la charge répartie"

define(r(x),integrate(-q(t),t,0,x));

"------------------------------------Au total"

r(l);

"-------------------------------------Moment en A à x dû à la charge répartie"

combine(define(mr(x),integrate(-t*q(t),t,0,x)));

"------------------------------------pour x = l on aura"

combine(mr(l));

"--------------------------Mise en place et résolution du système linéaire à 6 équations 6 incoonnues"

S1:[Rya+Ryb+Ryd-F+r(l)=0, Rxa=0, l*Ryb-(2*l-d)*F+2*l*Ryd+mr(l)=0, Rxc=0, Ryc+Ryd-F=0, -F*(l/2-d)+Ryd*l/2=0];

solve(S1,[Rya, Ryc, Ryd, Rxc, Ryb, Rxa]);

"--------------------------Je récupère Rya et Ryc, premier et second élément de la sortie précédente"

[Rya,Ryc]:[map(rhs,map(first,%)),map(rhs,map(second,%))];

"-------------------------------------Calcul du moment du torseur de cohésion sur [AB] en G"
"Moment du à la charge répartie"

define(m(x),integrate(-(t-x)*q(t),t,0,x));

"Moment total du torseur de cohésion (signe - sur les efforts extérieurs à gauche)"

define(mt(x),-(m(x)-x*Rya));

"--------------------------------------Calcul du moment du torseur de cohésion sur [BC] en G"
"On somme tous les moments à droite de G. Il ne reste que -Ryc pour S1 provenant de S2 !"

Ryc:-Ryc;

define(mts(x),((3*l-2*x)/2)*Ryc);

"------------------------------------On précise les constantes :"

"-----------------------------------On précise k avec les conditions aux limites"

solve(qb=q0+k*l^2,k);

k:map(rhs,%);

q0:1;

qb:3;

l:8;

k:(qb-q0)/l^2;

F:0.5;

d:1;

"-------------------------Vérification de la continuité du moment en B"

mt(l);

mts(l);

"--------------On peut tracer les courbes pour voir la plage des ordonnées
pour plus de détail voir
http://www.austromath.at/daten/maxima/zusatz/Graphics_with_Maxima.pdf "

wxplot2d(mt(x),[x,0,8]);

wxplot2d(mts(x),[x,8,12]);

"-----------------------------------------On rajoute un degré hyperstatique en A"
"il faut de nouveau résoudre le problème de statique avec le moment en A comme paramètre"
"Ce moment n'intervient que dans l'isolement de S1+S2, en projection du moment sur z !"

kill(all);

define(q(x),q0+k*x²);

S2:[Rya+Ryb+Ryd-F+r(l)=0, Rxa=0, Ma+l*Ryb-(2*l-d)*F+2*l*Ryd+mr(l)=0, Rxc=0, Ryc+Ryd-F=0, -F*(l/2-d)+Ryd*l/2=0];

solve(S2,[Rya, Ryb, Ryd, Rxc, Ryc, Rxa]);

[Rya,Ryc]:[map(rhs,map(first,%)),map(rhs,map(second,%))];

"-------------------on regarde à gauche du point G de [AB]";

define(m(x),integrate(-(t-x)*q(t),t,0,x));

"-------------------------------------Calcul du moment du torseur de cohésion sur [AB] en G
avec les trois actions : RyA, Ma, Charge répartie"

define(mt(x),-(m(x)-x*Rya+Ma));

"--------------------------------------Calcul du moment du torseur de cohésion sur [BC] en G"
"On somme tous les moments à droite de G. Il ne reste que -Ryc pour S1 !"

Ryc:-Ryc;

define(mts(x),((3*l-2*x)/2)*Ryc);

"-------------------------------Calcul de l'énergie de déformation élastique - On néglige l'effort tranchant"

define(EIw(x),integrate((mt(x))²,x,0,l)+integrate((mts(x))²,x,l,3*l/2));

"---------------------------------------------------------------------la rotation en A est nulle -> dW/dMa=0"

define(dw(Ma),diff(EIw(x),Ma));

"--------------------------------------------------------------------------------------On obtient alors Ma";

U:(15120*d*l*F+3780*l^3*q0+30240*l*Ma+15120*l^2*r(l)−15120*l*mr(l)+252*k*l^5)/45360−(l*(3*d*F−Ma−mr(l)))/12;

solve(U=0,Ma);

Ma:map(rhs,%);

"--------------------------------------------------on a alors le torseur de cohésion sur [AB] en injectant Ma dans mt(x)"

mt(x);

"-------------comme précédemment, préciser les constantes et tracer le diagramme"

kill(all);