Garraio fenomenoak |
Difusioa Difusioa Nola neurtu difusio koefizientea Difusioaren simulazioa Higidura browndarra Jalkiera Boltzmann-en konstantea |
Jalkiera | |
JalkieraJalkiera edo "sedimentazio" fenomenoak ere higidura browndarra du oinarri, baina kanpoko indar eremu baten eraginpean gertatzen da (grabitatea). Ikuspegi makroskopikotik, difusio fenomenoaren oso antzekoa da, baina Smoluchowski-ren ekuazio deiturikoak deskribatzen du: Non n solutu-partikulen kontzentrazioa den, x, partikulen posizioa medio horretan eta t denbora. D difusio koefizientea da eta l arraste abiadura. Honako eredu honetan suposatzen da partikula termikoak (medioa) eta partikula browndarrak (solutua) ontzi batean itxita daudela. Partikula termikoak ontzi osoan zehar sakabanatuta daude, uniformeki, eta abiadura jakin batez mugitzen ari dira norabide guztietan, denek abiadura bera dutela suposatuko dugu (batez bestekoa, tenperaturaren proportzionala). Beraz, partikula browndarrek jasaten dituzten indarrak bi motakoak izango dira, batetik, grabitatea eta, bestetik, partikula termikoen etengabeko talkak. Ondorengo programak zenbait parametro aldatzeko aukera ematen du: partikula browndarren masa (partikula termikoen masa, unitatetzat hartuta), partikula termikoen abiadura (batezbestekoa) eta partikula browndarrek jasaten duten kanpo-indarrararen intentsitatea. Hasieran partikula browndarrak nola kokatu ere aukera dezakegu: denak azpiko aldean, gaineko aldean, erdian edo ausaz sakabanatuta ontzian zehar. Denbora "nahikoa" iragan ondoren, partikula browndarrak oreka egoera batera iristen dira, eta partikulon distribuzioak bi efektu kontrajarriak erakusten ditu: batetik, grabitateak ontziaren hondorantz bidaltzen ditu partikulok eta bestetik, difusioak ontzi osoan zehar sakabanatzen ditu. SaiakuntzaAukeran idatz daitezke:
Partikula termikoen masa unitatetzat hartu da eta partikula browndarrak pausagunetik abiatzen dira. Hasi botoian klik egin simulazioa abiatzeko. Alda itzazu aukerak eta beha itzazu aldaketen eraginak. |
Minowa H., Toya D., Mishima N. Model expriment illustrating sedimentation by microcomputer. Eur. J. Phys. 3 (1982) pp. 239-244
import java.util.*; public class Sistema { final int nParticulas=500; //dimensiones de la región donde se mueven las partículas int ancho; int alto; //masa de las partículas térmicas final double Mt=1.0; //masa de las partículas brownianas double Mb; //velocidad de las partículas térmicas double Vt; //intervalo de tiempo final double dt=1.0; //Fuerza externa double Fa; //Posición de las partículas public double[] X, Y; //Velocidades de las partículas double[] VX, VY; //números al azar Random rnd=new Random(); public Sistema(double Vt, double Mb, double Fa, int eleccion, int ancho, int alto) { this.ancho=ancho; this.alto=alto; this.Vt=Vt; this.Mb=Mb; this.Fa=Fa; //estado inicial X=new double[nParticulas]; Y=new double[nParticulas]; VX=new double[nParticulas]; VY=new double[nParticulas]; for(int i=0; i<nParticulas; i++){ VY[i]=VY[i]=0; } //estado inicial switch(eleccion){ case 0: //arriba for(int i=0; i<nParticulas; i++){ Y[i]=0; } break; case 1: //abajo for(int i=0; i<nParticulas; i++){ Y[i]=alto; } break; case 2: //en medio for(int i=0; i<nParticulas; i++){ Y[i]=alto/2; } break; case 3: //al azar for(int i=0; i<nParticulas; i++){ Y[i]=(int)(alto*rnd.nextDouble()); } break; default: break; } //distribución al azar en el eje horizontal for(int i=0; i<nParticulas; i++){ X[i]=(int)(ancho*rnd.nextDouble()); } } public void evolucion(){ double Ux, Uy, angulo; for(int i=0; i<nParticulas; i++){ angulo=2*Math.PI*rnd.nextDouble(); Ux=VX[i]-Vt*Math.sin(angulo); Uy=VY[i]-Vt*Math.cos(angulo); angulo=2*Math.PI*rnd.nextDouble(); VY[i]+=(Mt/(Mt+Mb))*(Uy*(Math.cos(angulo)-1)-Ux*Math.sin(angulo))+Fa*dt; VX[i]+=(Mt/(Mt+Mb))*(Ux*(Math.cos(angulo)-1)+Uy*Math.sin(angulo)); X[i]+=VX[i]*dt; Y[i]+=VY[i]*dt; //condiciones de contorno if(X[i]<0){ X[i]=-X[i]; VX[i]=-VX[i]; } if(X[i]>ancho){ X[i]=2*ancho-X[i]; VX[i]=-VX[i]; } if(Y[i]<0){ Y[i]=-Y[i]; VY[i]=-VY[i]; } if(Y[i]>alto){ Y[i]=2*alto-Y[i]; VY[i]=-VY[i]; } } } } |