Bi malguki elastikok eragindako oszilazioak

prev.gif (1231 bytes)home.gif (1232 bytes)next.gif (1211 bytes)

Oszilazioak

Osziladoreak (II)
Higiduraren ekuazioa

Oszilazioen periodoa

Saiakuntza

Soluzio analitikoa

Erreferentziak

Programazio kodea

 

Orri honetako adibidean, energia potentzialaren Ep(x) adierazpena serie gisa gara daiteke oreka egonkorreko posizioaren inguruan, baina termino koadratikoa nulua da eta garapena hirugarren ordenako terminoan hasten da.

Demagun bloke bat bi malgukiren muturretan lotuta aldi berean, irudiak erakusten duen bezala. Blokea horizontalki mugi daiteke, bere masa m da eta malgukien konstante elastikoak berdinak dira: k. Blokea oreka-posizioan dagoenean (x=0) malgukien luzera l0 da, euren luzera naturala, alegia, ez dute luzapenik.

Blokea oreka egonkorreko posiziotik desplazatzen bada (x) eta askatu, oszilatzen hasten da. Kalkula dezagun P periodoa.

Higiduraren ekuazioa

Malgukietako bakoitzak blokeari egiten dion F indarra honela adieraz daiteke:

Eta indar erresultantea hau da:

Hortaz, higiduraren ekuazioa:

Ekuazio hau ebazteko prozedura numerikoak beharrezkoak dira, baina horretarako, hasierako baldintzak finkatu behar dira: t=0, x=A, eta v=dx/dt=0. Hemen A oszilazioaren anplitudea izango da.

 

Oszilazioen periodoa

Demagun partikularen energia potentziala ezaguna dela: Ep(x), eta energia totala ere bai: E. Energiaren kontserbazio-printzipioaren arabera:

Periodoa da, lau bider blokeak behar duen denbora jatorritik desplazamendu maximoko posizioraino joateko, alegia, A anplituderaino.

Orduan, oszilazioen P periodoa kalkulatzeko, honako integrala ebatzi behar da:

Izan ere, desplazamendu maximoko posizioan, blokearen abiadura nulua da: v=dx/dt=0. Eta A anplitudea kalkulatzeko, ekuazio transzendente bat ebatzi behar da: Ep(A)=E.

Partikularen energia potentziala, bi malguki elastikoen eraginpean, honela adieraz daiteke:

Eta funtzio matematiko hori serie gisa gara daiteke:

Lehen bi terminoak nuluak dira oreka-posizioan eta, oszilazio txikiak badira, x<<l0 eta u<<1, hirugarren terminoan motz daiteke:

Baina u2 x4-ren proportzionala da. Azkenik, periodoaren formula honela berridatz daiteke:

Egin dezagun aldagai aldaketa:

Eta integrala honela berridazten da:

Integral horren emaitza Euler-en Г funtzioaren menpe adierazten da (ikus ezazu erreferentzietan aipatutako artikulua)

 

Saiakuntza

Aukeran idatz daiteke:

  • k/m erlazioa, malgukien konstantea zati partikularen masa, desplazamendu-barrari saguaz eragiten.

  • Programak malgukien luzera naturala, luzapenik gabea, finkotzat hartzen du: l0=1.

Berria botoia sakatu.

  • Saguarekin, partikula koka daiteke hasierako posizioan, A, eta bertatik abiatuko da abiadura nuluaz.

Hasi botoia sakatu.

Anplitudea 0 eta 1.0 tartean baldin badago, programak partikularen higidura-ekuazioa prozedura numerikoekin ebazten du. Partikula oszilatzen hasten da ezkerretik eskumara, bi malgukien eraginez, eta bektore urdin batek adierazten du uneoro jasaten duen indarra.

Leihatilaren eskumako aldean grafiko batek energia potentziala erakusten du: Ep(x). Zuzen beltz horizontalak energia totala adierazten du, eta zenbakiz ere ematen da. Zuzenki bertikalak bi zati ditu: zati gorriak energia potentziala adierazten du eta zati urdinak energia zinetikoa. 

1 adibidea:

Demagun k=60, m=1 eta anplitudea A=0.3

Bi malgukien luzera naturala hau da: l0=1.0

Osziladorearen energia totala:

Oszilazio txikien hurbilketan ere, energia totalak horixe ematen du:

 

Oszilazio txikien hurbilketan, hona hemen P periodoa.

Aldiz, programa interaktiboak, ekuazio diferentziala prozedura numerikoez ebatzita, honako balioa ematen du: P= 3.22. (» %1-eko aldea)

2 adibidea:

Demagun k=60, m=1 eta anplitudea A=0.7 (anplitude handi samarra).

Oszilazio txikien hurbilketan, energia totalak hauxe ematen du:

 

Oszilazio txikien hurbilketan, hona hemen P periodoa:

Aldiz, programa interaktiboak, ekuazio diferentziala prozedura numerikoez ebatzita, honako balioa ematen du: P=1.55.(» %12-ko aldea)

 

LibresApplet aparecerá en un explorador compatible con JDK 1.1.

Berria botoia sakatu ondoren, eraman ezazu, saguaz, bloke gorria hasierako posiziora.

                                    

 

Soluzio analitikoa

Higiduraren ekuazioa hau da:

Baina, oszilazio txikiak badira, x<<l0 , orduan ekuazio diferentziala berridatz daiteke:

Hasierako baldintzak honakoak dira: t=0, partikularen posizioa x=A, eta abiadura nulua, v=dx/dt=0

Ekuazio diferentzial hori integra daiteke, eta abiadura lortzen da:

Partikula x=+A posiziotik abiatzen denez eta, hasieran, jatorrirantz desplazatzen denez, abiadura negatiboa dauka periodoaren lehen laurdenean:

Partikularen x posizioa lortzeko t denboraren menpe, berriro integratu beharra dago:

Aldagai aldaketa egin dezagun:

Eta integral hori berridatzi egiten da:

Lehen espezieko integral eliptikoa honela definitzen da:

Eta aldagai aldaketa eginez: z=sinφ,

Dei diezaiogun "am u"  alderantzizko funtzioari φ(u)

z=sinφ= sin am u =sn u

horrela definitzen da "sn" funtzio eliptikoa.

Eta era berean idatz daiteke: cos am u= cn u

Funtzio eliptiko bi horiek erlazionatuta daude:

sn2 u+cn2 u=1

Eta gure kasu honetan:

Beraz, z aldagai lagungarria ezagututa (z=sn u), x atera daiteke:

Higiduraren periodoa

Periodo laurden bat osatzeko behar duen denbora hau da:

Eta aldagai aldaketa eginez: x=Acosφ

Azken terminoa lehen espezieko integral eliptiko osoa da, eta  . Dei diezaiogun integral horri  . Gutxi gora behera balio du: 1.8541. Ikus bedi lehen espezieko integral eliptikoen taula (Puig Adam P., Cálculo Integral. Editorial Biblioteca Matemática 1972,. 72 or).

Irudiak erakusten du nola P periodoa A anplitudearen menpe aldatzen den, nahiz eta k/m erlazio bera izan:

  • Kurba urdinean anplitudea A=0.15, eta periodoak ematen du: P= 3.19 s.

  • Kurba gorrian anplitudea A=0.3, eta periodoak ematen du: P= 6.38 s

Saiakuntza

Aukeran idatz daiteke:

Aukeran idatz daiteke:

  • k/m erlazioa, malgukien konstantea zati partikularen masa, desplazamendu-barrari saguaz eragiten.

  • Programak malgukien luzera naturala, luzapenik gabea, finkotzat hartzen du: l0=1.

Berria botoia sakatu.

  • Saguarekin, partikula koka daiteke hasierako posizioan, A (x=0.1 eta x=0.4 artean), eta bertatik abiatuko da abiadura nuluaz.

Hasi botoia sakatu.

Programak partikularen higidura-ekuazioa ebazten du prozedura numerikoekin, cn funtzio eliptikoa erabiliz (ikus bedi programazio kodea). Partikula oszilatzen ikusten da ezkerretik eskumara, bi malgukien eraginez, eta bektore urdinak aldiuneko indarra adierazten du.

Leihatilaren eskumako aldean grafiko batek partikularen posizioa erakusten du: x(t).

LibresApplet aparecerá en un explorador compatible con JDK 1.1.

Berria botoia sakatu ondoren, eraman ezazu, saguaz, bloke gorria hasierako posiziora.

 

Erreferentziak

Mohazzabi P. Theory and examples of intrinsically nonlinear oscillators. Am. J. Phys. 72 (4) April 2004, pp. 492-498

Detcheva V., Spassov V., A simple nonlinear oscillator: analytical amd numerical solution.  Phys. Educ. 28 (1993) pp. 39-42

Puig Adam P., Curso teórico práctico de Cálculo Integral aplicado a la Física y Técnica. Editorial Biblioteca Matemática 1972, págs. 71-76

 

Programazio kodea

public class Eliptica {
	final double CA=0.0003; // The accuracy is the square of CA.
	public double sn;
	public double cn;
	public double dn;

public Eliptica() {
	sn=dn=cn=0.0;
}

void sncndn(double uu, double emmc){
//Returns the Jacobian elliptic functions sn(u; kc), cn(u; kc), and dn(u; kc). Here uu = u, while
//emmc = k2 c .
	double a,b,c=0.0,d=0.0,emc,u;
	double[] em=new double[14];
	double[] en=new double[14];
	int i,ii,l=0;
	boolean bo;
	emc=emmc;
	u=uu;
	if (emc!=0.0) {
		bo=(emc < 0.0);
		if (bo) {
			d=1.0-emc;
			emc /= -1.0/d;
			u *= (d=Math.sqrt(d));
		}
		a=1.0;
		dn=1.0;
		for (i=1;i<=13;i++) {
			l=i;
			em[i]=a;
			en[i]=(emc=Math.sqrt(emc));
			c=0.5*(a+emc);
			if (Math.abs(a-emc) <= CA*a) break;
			emc *= a;
			a=c;
		}
		u *= c;
		sn=Math.sin(u);
		cn=Math.cos(u);
		if (sn!=0.0) {
			a=cn/sn;
			c *= a;
			for (ii=l;ii>=1;ii--) {
				b=em[ii];
				a *= c;
				c *= dn;
				dn=(en[ii]+a)/(b+a);
				a=c/b;
			}
			a=1.0/Math.sqrt(c*c+1.0);
			sn=(sn >= 0.0 ? a : -a);
			cn=c*sn;
		}
		if (bo) {
			a=dn;
			dn=cn;
			cn=a;
			sn /= d;
		}
	} else {
		cn=1.0/cosh(u);
		dn=cn;
		sn=tanh(u);
	}
}
double cosh(double x){
	return((Math.exp(x)+Math.exp(-x))/2);
}
double tanh(double x){
	return((Math.exp(x)-Math.exp(-x))/(Math.exp(x)+Math.exp(-x)));
}
}
//objeto 
	Eliptica obj=new Eliptica();
//posición del oscilador
 	obj.sncndn((x0*Math.sqrt(cte)*t/lonMuelle),0.5);
	x=x0*obj.cn;
	t+=dt;

Press W. H., Teukolsky S. A., Vetterling W. T., Flannery B. P. Numerical Recipes in C, Second edition, Special functions. Elliptic integrals and Jacobian Elliptic functions, Chapter 6º. pp. 269-270. Cambridge University Press.

Honako orri honen egileak kode hau egokitu du C lengoaiatik Java lengoaiara.