venerdì 22 marzo 2013

Calcolo reazioni vincolari con Mathomatic


Risolvere un sistema isostatico significa risolvere il sistema di equazioni formato dalla condizione di equilibrio delle forze e dei momenti. Dopo aver sostituito i vincoli con le reazioni incognite e applicato le convenzioni sui segni non è difficile formare le equazioni. In genere nei casi semplici come quelli qui proposti il centro di rotazione viene scelto su un vincolo in modo da eliminare un incognita. Risolta l'equazione dei momenti si passa per sostituzione a risolvere quella delle forze. A mano il procedimento risolta laborioso e soggetto ad errore. Nel passato erano molto utilizzati i metodi grafici per esempio come il poligono funicolare. Attualmente una infinità di programmi e programmini online e no eseguono il calcolo matriciale. La soluzione con questi è immediata dopo avere immesso la matrice dei coefficienti. Una applicazione che invece manipola le equazioni con le regole dell'algebra come le applichiamo a mano è Mathomatic. Esso è un free e open source software che può simbolicamente risolvere, semplificare, combinare e confrontare equazioni algebriche. Così utilizzando questo software che è anche online si ha una risoluzione automatica di qualunque sistema di equazioni e comunque complesso. 

Qui di seguito il primo esempio. Per risolverlo con Mathomatic non occorre scaricare il programma ma basta andare al Service on the Web e incollare la sequenza di istruzioni scritta sotto. Per praticità gli indici delle forze e delle reazioni fanno riferimento alla numerazione dei nodi.


Equazioni e dialogo da incollare nel riquadro di input:
;
R2 + R4 - 100 - 300 - 50 = 0 ;equilibrio delle forze
-100*2 + 300*3 - R4*6 + 50*7 = 0 ;equilibrio dei momenti
R4 ;risolvi per la reazioni R4
#1 ;richiama l'equazione #1
eliminate R4 ;combinare l'equazione #1 con la #2
R2 ;calcola l'altra reazione
;
I risultati sono:
R4 = 175 N
R2 = 275 N
Le dimensioni le ho riportate io perchè non sono considerate nella risoluzione con Mathomatic

Un altro esempio numerico
;
R2 + R5 - 500 - 1200 - 100*2.5 = 0                              ; equilibrio delle forze
-200  - 500*5 + 1200*1 + 100*2.5*4.25 - R5*5.5 = 0 ; equilibrio dei momenti
R5     ; calcola R5
#1     ; richiama l'equazione 1
eliminate R5 ; combinare 1 con 2
R2    ;calcola R2
;

Un esempio parametrico
;
F2*x2 - R3*x3 + F4*x4 = 0   ;#1 eq. momenti
R1 + R3 - F2 - F4 = 0 ;#2 eq. forze
M2 = -R3*(x3-x2) + F4*(x4-x2) ;#3 momento in nodo 2
M3 = F4*(x4-x3) ;#4 momento in nodo 3
#1 
solve for R3
#2 
eliminate R3 
solve for R1
#3 
eliminate R3
;


sabato 2 febbraio 2013

Una gru a bandiera

Lo script qui proposto riguarda il proporzionamento di una gru a bandiera. Lo sbraccio è costituito da una monorotaia sostenuta ad una estremità da un tirante. Mediante i due slider si modificano rispettivamente la lunghezza L del tratto AB e la distanza H verticale AC dei supporti. Il carico è valutato in modo che la freccia di inflessione non superi l'1/800 della lunghezza L della monorotaia. Per il calcolo delle reazioni si suppone che il carico si trovi sull'estremità B.






domenica 20 gennaio 2013

Roark 7a ed. - Tab 8.1

Le scelte progettuali non sono mai univoche ed anzi prevedono un'infinità di combinazioni dei dati di ingresso.
Ogni variazione dei dati di ingresso è un nuovo scenario in cui rappresentare una soluzione. L'idea quindi è di utilizzare gli sliders come nelle consolle del suono. Si tratta di variare i dati di input entro un certo range in modo da ottenere il risultato voluto. Lo script qui sotto descritto applica questa modalità di calcolo ad un insieme di casi semplici riportati nelle tabelle del Roark.
Le formule e gli schemi sono tratti dal testo Roark's Formulas for Stress and Strain 7a edizione. Nella sezione 1 dell'interfaccia sono raccolti i 6 casi di vincolo delle estremità della trave. Nella sezione 2 ci sono gli sliders di input alle formule. Nella sezione 3 ci sono le finestre di input per i valori massimi dei range di variazione.  Infine nella sezione 4 sono riportati i risultati per gli estremi A e B: forza e momento di reazione, freccia e rotazione.



giovedì 20 dicembre 2012

Formule del Roark

Gli script di programmazione raccontano storie che leggono dati e forniscono dati. Gli script bisogna interpretarli a livello di funzionamento e a livello di risultati. L'interprete di esecuzione degli script in questo caso è Python 3.2. I risultati dipendono invece dall'oggetto di studio. Fra un milione di scelte su cui lavorare un classico è l'analisi lineare di travi rettilinee. Il Roark fornisce una casistica ben strutturata da interpretare e implementare negli script. Sotto è il caso della trave a sbalzo

Tab 8 caso 1.0














Script in python

import math

#valori di input
l = 600. #[mm] lunghezza trave
W = 50. #[kN] carico concentrato
a = 0. #[mm] distanza dal vincolo A del carico
I = 416.67 #[Cm^4] momento d'inerzia
E = 210000. #[MPa] modulo elasticità acciaio

#calcolo
'''caso 8.1a pag. 100 (7a edizione in pdf-2542X_08 pag. 65'''
I *= 10000 #[mm^4]
W *= 1000 #[N]
RA = 0.
MA = 0.
yA = -W/(6*E*I) * (2*l**3 - 3*l**2*a + a**3)
ThetaA = (W * (l - a)**2) / (2 * E * I)
MB = -W * (l - a) / (1000*1000)
RB = W / 1000
yB = 0.
ThetaB = 0.
outputA = 'RA = {0:.1f}, MA = {1:.1f},yA = {2:.2f}, ThetaA = {3:.2f}'.format(RA, MA, yA, ThetaA)
outputB = 'RB = {0:.1f}, MB = {1:.1f},yB = {2:.2f}, ThetaB = {3:.2f}'.format(RB, MB, yB, ThetaB)
print('Reazioni in kN, momenti in kN*m, freccia in mm')
print(outputA)
print(outputB)



mercoledì 21 marzo 2012

Dimensionamento delle ruote di frizione.






Approfondimenti con WolframAlpha

Listato Scilab PM9
//dati
P = 2 //[kW]potenza motrice
N1 = 600 //[g/min]giri ruota motrice
r = 2 //rapporto di trasmissione = N1/N2
i = 300 //[mm]interasse ruote

k = 1.5 //corff. aderenza
f = 0.2 //coeff. attrito
a = 30 //[N/mm]resistenza per unità di larghezza delle ruote

clc 
M = P*9549/N1 //[Nm]coppia motrice trasmessa
R1 = i/(1+r) //raggio ruota motrice
F = M*1000/R1 //forza tangenziale fra le ruote
T = k*F/f //forza di compressione
B = T/a

printf("RUOTE DI FRIZIONE" + "\n")
printf("Potenza motrice: " + string(P) + " [kW], " + "Giri motore: " + string(N1) + "\n\n")
printf("Larghezza minima ruote B = " + string(int(B))+ "[mm]\n")
printf("Compressione ruote T = " + string(int(T)) + "[N] \n")

venerdì 16 marzo 2012

Elementi della trasmissione dl moto: velocità tangenziale, velocità angolare, rapporto di trasmissione, interasse

mercoledì 14 marzo 2012

Lo schema è quello dello sgancio di una bomba da una quota conosciuta. Se si conosce anche la velocità dell'aereo in quale punto al suolo cade la bomba?

Forza esercitata da un uomo sul pavimento di un ascensore quando questo accelera nei due casi di salita e discesa.

martedì 13 marzo 2012

Un proiettile viene lanciato verso l'alto. A prescindere dalla resistenza dell'aria, qual'è l'altezza massima che raggiunge e in quanto tempo?

lunedì 12 marzo 2012

Due punti mobili partono nello stesso istante dagli estremi opposti di un percorso rettilineo. Dopo quanto tempo i due punti si incontrano? Che distanza ha percorso ciascun punto?

Due punti mobili A e B accelerano nella stessa direzione ma A è partito prima di B. Dopo quanto tempo B raggiunge A e a quale distanza dal punto di partenza di A stesso?
I dati da conoscere sono: a1 = accelerazione costante di A; a2 = accelerazione costante di B; tr = tempo di ritardo partenza di B;


PM1 Un punto mobile percorre una traiettoria rettilinea composta da due tratti variando la velocità. Nel primo tratto AB la velocità è costante, poi il punto accelera nel secondo tratto a partire da C. Interessa calcolare lo spazio totale percorso e la velocità finale con cui raggiunge C.
I dati da conoscere sono: vAB = velocità nel tratto AB, a = accelerazione nel tratto BC, tAB = tempo di tratto AB, t = tempo totale trascorso.