Solido zurruna |
Errotazioaren Dinamika Errotazioaren dinamikaren ekuazioa Inertzia-momentuak Errotazioaren dinamika eta energiaren balantzea Tortsio-pendulua Pendulu konposatua Zabua Marruskadura, errotazio mugimenduan Atwood-en osziladorea Hagatxoa erortzen mutur finko batekin Hagatxoa erortzen, marruskadurarik gabe Hagatxoa erortzen, marruskadura eta guzti Eskailera irristatzen, abiadura konstanteaz
|
![]()
|
|||||
Aurreko kapituluan aztertu da eskailera irristatzen, horma perpendikular bitan (zorua eta horma), baina kalkuluak sinplifikatzeko, abiadura konstantea inposatu diogu. Honako kapitulu honetan, berriro aztertuko dugu eskailera nola mugitzen den, baina oraingoan aske erortzen utziko diogu, alegia ez diogu abiadura konstantea inposatuko. Hala ere, azkenean, horma bertikalak eskailerari eragiten dion marruskadura-indarra arbuiatuko dugu. Eskailera bat horma perpendikular bitan eutsitaEstatikaDemagun eskailera homogeneoa dela, m masa duela eta L luzera. Ondoko irudiak erakusten ditu eskailerak jasaten dituen indarrak.
Orekan, hiru ekuazio idatz daitezke: bi ekuazio indarrekin (translazio horizontala eta bertikala) eta ekuazio bat momentuekin (errotazioa). Baina hiru ekuazio horietan lau ezezagun dauzkagu, eta sistema indeterminatua da. Ikus bedi erreferentzietan aipatutako artikulua. Hortaz, ariketa hori ebatzi ahal izateko, baldintza bat ezarri beharra daukagu, esaterako, horma bertikalak ez duela marruskadurarik eragiten, Fy=0.
Ezagutzen bada θ angelua, orduan kalkula daiteke Fr, alegia, zein indar egin behar zaion eskaileraren beheko muturrari ez dezan irrist egin (marruskadurak edo beste inork):
Eskaileraren θ angelua handituz bagoaz, gero eta inklinatuagoa egongo da, eta beraz, marruskadura-indarra handitzen joango da. Baina marruskadura-indarrak muga bat dauka: Fr=μsN= μsmg Hemen, μs da marruskadura-indarraren koefiziente estatikoa. Orduan, eskailerak "angelu limite" bat izango du (θl) irrist egiten hasteko, alegia, eskailerak ez du irrist egingo angelu limitea baino tenteago badago, eta irrist egingo du angelu limitea baino inklinatuagoa badago. Hona hemen angelu limitearen baldintza: tanθl=2μs Dinamika
1.- Eskaileraren goiko muturrak horma bertikala ukitzen du
Masa-zentroaren posizioa (x, y) da. Eskaileraren goiko muturrak horma bertikala ukitzen duen bitartean (Fx>0), badago erlazio bat x, y eta θ angeluaren artean.
Erlazio horiek deribatzen baditugu denborarekiko:
Eta bi azelerazioak ordezkatzen baditugu masa-zentroaren translazioaren ekuazio bietan orduan Fx eta N bakan daitezke:
Ondoren, ordezka ditzagun errotazioaren ekuazioan N, Fx eta Fr=μN.
Ekuazio diferentzial horren soluzioa θ(t) da, baina prozedura numerikoez integratu behar da, honako hasierako baldintzekin: t=0, dθ/dt=0, θ=θ0. Ikusten da, horma bertikalak eskailerari eragiten dion indarra (Fx) gutxituz doala denborarekin, eta aldiune batean Fx nulu bilakatzen da. Dei diezaiogun aldiune horri t1 , eskaileraren angeluari une horretan θ1 eta bere abiadura angeluarrari (dθ/dt)1. Hortaz, une horretan eskaileraren masa zentroaren abiadura horizontala honela adieraz daiteke:
2.- Eskaileraren goiko muturrak horma bertikala ukitzeari uzten dio.
Hona hemen higiduraren ekuazioak:
Masa-zentroaren altueraren adierazpenak oraindik balio du:
Deriba dezagun denborarekiko bi aldiz:
Azelerazio bertikalaren adierazpen hori translazio bertikalaren ekuazioan ordezkatuz, N indarra bakan daiteke:
Ondoren, N indarraren adierazpena ordezka daiteke errotazioaren ekuazioan eta translazio horizontalean. Ekuazio diferentzial bi lortzen dira, bigarren ordenakoak:
Ekuazio diferentzialen bikote hori akoplatuta dago, eta prozedura numerikoez integratu behar dira hasierako baldintzak inposatuta: t1 aldiunean, eskaileraren angelua ezaguna da (θ1), bere abiadura angeluarra aldiune horretan ere bai (dθ/dt)1 eta masa-zentroaren abiadura horizontala ere bai:
Eskaileraren mugimendua amaitzen da angeluak θ=π/2 balio duenean, alegia, eskailera zoruan guztiz etzanda dagoenean. SaiakuntzaAukeran idatz daiteke:
Hasi botoia sakatu. Hasierako angelua (θ0) angelu limitea baino txikiagoa bada (tanθl=2μs) eskailera ez da mugitzen, eta leihatilan agertzen da "Geldirik" dagoela. Baina mugitzen bada, uneoro ikusten da eskailera nola mugitzen den eta eta indarrak nola doazen aldatzen. Programak honako datuak uneoro idatziz erakusten ditu: t denbora (segundotan), θ angelua (gradutan), Fx eta N (Fy) Newton-etan. |
Eskailera bat horma perpendikular bitan eutsita, eta pertsona bat eskaileran goraDemagun lehengo eskailera homogeneo bera, m masa eta L luzeraduna, bi horma perpendikularretan eutsita. Gainera, pertsona bat, M masaduna eta partikulatzat hartuko duguna, eskaileran gora igotzen da, beheko muturretik d distantziaraino. Azter dezagun eskaileraren portaera, pertsonaren posizioaren arabera. Estatika
Hona hemen orekaren ekuazioak, eskailerak bertikalarekiko osatzen duen angelua θ denean: Indarren erresultantea nulua izan behar da (norabide horizontalean eta bertikalean):
Indarren momentu erresultantea ere nulua izan behar da, edozein punturekiko (esaterako, eskaileraren beheko muturrarekiko).
Ezagutzen bada θ angelua, orduan bakan daiteke Fr , alegia, eskailerak beheko muturrean jasaten duen marruskadura-indarra:
Pertsona eskaileran gora igotzen doan heinean, d distantzia handituz doa, eta marruskadura indarra handitzen da. Baina marruskadura-indarrak muga bat dauka: Fr=μsN= μs(mg+Mg) Eta hor, μs marruskaduraren koefiziente estatikoa da. Orduan, pertsona eskaileran gora igo daiteken distantzia maximoa, eskailerak irrist egin gabe hau da:
Dinamika
Steiner-en teorema aplikatuz, bikotearen inertzia momentu totala kalkula daiteke, masa-zentrotik pasatzen den ardatzarekiko:
Eskailera irristatzen ari denean, marruskadura indarra ezaguna da: Fr=μN , eta hor μ da marruskadura-koefiziente zinetikoa, izan ere, μs marruskadura koefiziente estatikoa baino pixka bat txikiagoa izan ohi da. Eskaileraren mugimenduak bi atal ditu: 1.- Eskaileraren goiko muturrak horma bertikala ukitzen du
Multzoaren errotazioaren ekuazioa, masa-zentrotik pasatzen den ardatzarekiko:
Masa-zentroaren posizioa (x, y) da eta, eskaileraren goiko muturrak horma bertikala ukitzen duen bitartean (Fx>0), badago erlazio bat bere posizioaren eta eskaileraren θ angeluaren artean.
Deriba ditzagun erlaziook denborarekiko:
Azelerazioen adierazpen horiek MZ-ren translazioaren ekuazioetan ordezkatuz, Fx eta N bakan daitezke:
Ondoren, N eta Fx-en adierazpenak errotazioaren ekuazioan ordezkatuz, honelako ekuazio diferentziala lortzen da:
Ekuazio diferentzial horren soluzioa θ(t) da, baina prozedura numerikoez integratu behar da, eta hasierako baldintzak inposatu: t=0, dθ/dt=0, θ=θ0. Ikusten da, horma bertikalak eskailerari eragiten dion indarra (Fx) denborarekin gutxitzen doala, eta aldiune batean Fx nulu bilakatzen da. Dei diezaiogun aldiune horri t1, eskaileraren angeluari aldiune horretan θ1 eta eskaileraren abiadura angeluarrari (dθ/dt)1. Eta une horretan, masa zentroaren abiadura horizontala honela adieraz daiteke:
2.- Eskaileraren goiko muturrak horma bertikala ukitzeari uzten dio Hona hemen higiduraren ekuazioak:
Errotazio-higidura, masa-zentrotik pasatzen den ardatzarekiko:
Masa-zentroaren y altuerak θ angeluarekin erlazionatuta segitzen du:
Erlazio hori deribatzen bada bi aldiz denborarekiko:
Eta azelerazio bertikala ordezkatzen bada translazio bertikalaren ekuazioan, N bakan daiteke:
Ondoren, N-ren adierazpen hori ordezka daiteke translazio horizontalaren ekuazioan: Eta ekuazio diferentzial bi lortzen dira, bata translazio horizontalerako eta bestea errotaziorako, biak bigarren ordenakoak eta akoplatuak:
Ekuazio diferentzial bikote hori integra daiteke prozedura numerikoak erabilita, baina hasierako baldintzak inposatu behar dira: t1 aldiunean eskailerak osatzen duen angelua bertikalarekiko ezaguna da, θ1 , bere abiadura angeluarra aldiune horretan ere bai, (dθ/dt)1 , eta masa-zentroaren abiadura horizontala ere bai:
Eskailera iristen denean θ=π/2 angeluraino, lurra jo eta gelditu egiten da. SaiakuntzaAukeran idatz daiteke:
Hasi botoia sakatu. Hasierako angelua (θ0) angelu limitea baino txikiagoa bada (tanθl=2μs) eskailera ez da mugitzen, eta leihatilan agertzen da "Geldirik" dagoela, baina pertsona eskaileran gora igotzen hasten da, eta une batean eskailera mugitzen hasten da, beheko muturra irristatzen hasten delako. Mugitzen hasita, uneoro ikusten da eskailera nola mugitzen den eta eta indarrak nola doazen aldatzen. Programak honako datuak uneoro idatziz erakusten ditu: t denbora (segundotan), θ angelua (gradutan), Fx eta N (Fy) Newton-etan. |
Mendelson K. S. Statics of a ladder leaning against a rough wall. Am. J. Phys. 63 (2) February 1995. pp. 148-150.
public abstract class State { double t; double x; double vx; public State(double t, double x, double vx) { this.t=t; this.x=x; this.vx=vx; } } public class Estado extends State{ public Estado(double t, double x, double vx) { super(t, x, vx); } } public class Estado1 extends State{ double y; double vy; public Estado1(double t, double x, double y, double vx, double vy) { super(t, x, vx); this.y=y; this.vy=vy; } } public interface RK { abstract public void resolver(State e); } public abstract class RungeKutta implements RK{ double h; RungeKutta(double h){ this.h=h; } public void resolver(State e){ //variables auxiliares double k1, k2, k3, k4; double l1, l2, l3, l4; double q1, q2, q3, q4; double m1, m2, m3, m4; //condiciones iniciales double x=e.x; double v=e.vx; double t=e.t; k1=h*v; l1=h*f(x, v, t); k2=h*(v+l1/2); l2=h*f(x+k1/2, v+l1/2, t+h/2); k3=h*(v+l2/2); l3=h*f(x+k2/2, v+l2/2, t+h/2); k4=h*(v+l3); l4=h*f(x+k3, v+l3, t+h); //nuevo estado del sistema x+=(k1+2*k2+2*k3+k4)/6; v+=(l1+2*l2+2*l3+l4)/6; //cambia el estado de la partícula e.x=x; e.vx=v; e.t=t+h; } abstract public double f(double x, double v, double t); } public abstract class RungeKutta1 implements RK{ double h; RungeKutta1(double h){ this.h=h; } public void resolver(State e){ //variables auxiliares double k1, k2, k3, k4; double l1, l2, l3, l4; double q1, q2, q3, q4; double m1, m2, m3, m4; //estado inicial double x=e.x; double y=((Estado1)e).y; double vx=e.vx; double vy=((Estado1)e).vy; double t=e.t; k1=h*vx; l1=h*f(x, y, vx, vy, t); q1=h*vy; m1=h*g(x, y, vx, vy, t); k2=h*(vx+l1/2); l2=h*f(x+k1/2, y+q1/2, vx+l1/2, vy+m1/2, t+h/2); q2=h*(vy+m1/2); m2=h*g(x+k1/2, y+q1/2, vx+l1/2, vy+m1/2, t+h/2); k3=h*(vx+l2/2); l3=h*f(x+k2/2, y+q2/2, vx+l2/2, vy+m2/2, t+h/2); q3=h*(vy+m2/2); m3=h*g(x+k2/2, y+q2/2, vx+l2/2, vy+m2/2, t+h/2); k4=h*(vx+l3); l4=h*f(x+k3, y+q3, vx+l3, vy+m3, t+h); q4=h*(vy+m3); m4=h*g(x+k3, y+q3, vx+l3, vy+m3, t+h); x+=(k1+2*k2+2*k3+k4)/6; vx+=(l1+2*l2+2*l3+l4)/6; y+=(q1+2*q2+2*q3+q4)/6; vy+=(m1+2*m2+2*m3+m4)/6; t+=h; //estado final e.x=x; ((Estado1)e).y=y; e.vx=vx; ((Estado1)e).vy=vy; e.t=t; } abstract public double f(double x, double y, double vx, double vy, double t); abstract public double g(double x, double y, double vx, double vy, double t); } public class Sistema extends RungeKutta{ double mInercia; final double m=10.0; final double lonVarilla=1.0; double mu; Sistema(double mu, double h){ super(h); this.mu=mu; this.mInercia=m*lonVarilla*lonVarilla/12; } public double f(double x, double v, double t){ // x es ángulo, v es velocidad angular double seno=Math.sin(x); double coseno=Math.cos(x); double A=mInercia+m*lonVarilla*lonVarilla/4-m*lonVarilla*lonVarilla*mu*seno*coseno/2; double B=m*lonVarilla*lonVarilla*mu*coseno*coseno/2; double C=m*9.8*lonVarilla*seno/2-m*9.8*mu*lonVarilla*coseno; return ((B*v*v+C)/A); } public double fuerza_X(double x, double v){ double Fx=mu*9.8+(-mu*Math.sin(x)+Math.cos(x))*f(x, v, 0.0)*lonVarilla/2- (mu*Math.cos(x)+Math.sin(x))*v*v*lonVarilla/2; return (m*Fx); } public double fuerza_Y(double x, double vx){ double temp=9.8-(f(x, vx, 0.0)*Math.sin(x)+vx*vx*Math.cos(x))*lonVarilla/2; return (m*temp); } } public class Sistema1 extends RungeKutta1{ double mInercia; final double m=10.0; final double lonVarilla=1.0; double mu; Sistema1(double mu, double h){ super(h); this.mu=mu; this.mInercia=m*lonVarilla*lonVarilla/12; } public double g(double x, double y, double vx, double vy, double t){ return (-mu*fuerza_Y(x, vx)/m); } public double f(double x, double y, double vx, double vy, double t){ double seno=Math.sin(x); double coseno=Math.cos(x); double A=mInercia+m*lonVarilla*lonVarilla*seno*(seno-mu*coseno)/4; double B=-m*lonVarilla*lonVarilla*coseno*(seno-mu*coseno)/4; double C=m*9.8*lonVarilla*(seno-mu*coseno)/2; return ((B*vx*vx+C)/A); } public double fuerza_Y(double x, double vx){ double temp=9.8-(f(x, 0.0, vx, 0.0, 0.0)*Math.sin(x)+vx*vx*Math.cos(x))*lonVarilla/2; return (m*temp); } } public class MiCanvas extends Canvas { //objeto sistema RK sistema; double angInicial=Math.PI/6; State estado=new Estado(0.0, angInicial, 0.0); //otros miembros dato... //funciones miembro void setNuevo(int ang, double muEst, double muDin){ this.angInicial=ang*Math.PI/180; this.mu=muDin; tipo=1; estado=new Estado(0.0, angInicial, 0.0); if(angInicial>=Math.atan(2*muEst)){ sistema=new Sistema(mu, dt); tipo=1; }else{ tipo=3; } xExtremo=lonVarilla*Math.sin(angInicial); repaint(); } void mover(){ switch(tipo){ case 1: sistema.resolver(estado); xExtremo=lonVarilla*Math.sin(estado.x); double fX=((Sistema)sistema).fuerza_X(estado.x, estado.vx); if(fX<0){ double fY=((Sistema)sistema).fuerza_Y(estado.x, estado.vx); sistema=new Sistema1(mu, dt); double x0=lonVarilla*Math.sin(estado.x)/2; double vx0=lonVarilla*Math.cos(estado.x)*estado.vx/2; estado=new Estado1(estado.t, estado.x, x0, estado.vx, vx0); fY=((Sistema1)sistema).fuerza_Y(estado.x, estado.vx); tipo=2; } break; case 2: sistema.resolver((Estado1)estado); xExtremo=((Estado1)estado).y+lonVarilla*Math.sin(estado.x)/2; double vPunta=((Estado1)estado).vy+estado.vx*lonVarilla*Math.cos(estado.x)/2; double dist=((Estado1)estado).y-lonVarilla*Math.sin(estado.x)/2; if(dist<0){ parent.hilo.putMsg(Hilo.PAUSE); System.out.println("vuelve a tocar"); } if(estado.x>Math.PI/2){ estado.x=Math.PI/2; parent.hilo.putMsg(Hilo.PAUSE); } if(vPunta<0){ parent.hilo.putMsg(Hilo.PAUSE); System.out.println("se para"); } break; case 3: break; default: break; } repaint(); } |