Anterior

Procedimiento numérico

La temperatura T1del gas después de eliminar las moléculas más energéticas del gas, es decir, aqullas cuya energía es superior a la de corte Ec es

T 1 = T 0 ( 3 π erf ( x c ) ( 4 x c x c + 6 x c ) exp ( x c ) ) 3 ( π erf ( x c ) 2 x c exp ( x c ) )

El número de moléculas que permenecen en el recipiente es

N 1 = N 0 ( erf ( x c ) 2 π x c exp ( x c ) )

donde xc=Ec/kT

erf(x) se denomina integral de los errores

erf ( x ) = 2 π 0 x exp ( y 2 ) d y

double erfcc(double x) {
	double t,z,ans;
	z=Math.abs(x);
	t=1.0/(1.0+0.5*z);
	ans=t*Math.exp(-z*z-1.26551223+t*(1.00002368+t*(0.37409196+t*(0.09678418+
		t*(-0.18628806+t*(0.27886807+t*(-1.13520398+t*(1.48851587+
		t*(-0.82215223+t*0.17087277)))))))));
	return x >= 0.0 ? ans : 2.0-ans;
}
  double erf(double x){
    return (1-erfcc(x));
  }
   void setNuevo(double temperatura){
     T0=temperatura;
     N0=1.0;
  }
  void setElimina(double Ec){
     this.Ec=Ec;
  }
  void setEquilibrio(){
    double xc=Ec*11604.49/T0;
    double T1=T0*(3*Math.sqrt(Math.PI)*erf(Math.sqrt(xc))-(4*xc*Math.sqrt(xc)+6*Math.sqrt(xc))*Math.exp(-xc))
/(3*(Math.sqrt(Math.PI)*erf(Math.sqrt(xc))-2*Math.sqrt(xc)*Math.exp(-xc))); double N1=N0*(erf(Math.sqrt(xc))-2*Math.sqrt(xc)*Math.exp(-xc)/Math.sqrt(Math.PI)); T0=T1; N0=N1; //para la siguiente iteracción } double funcion(double x){ //distribución double y=2*N0*Math.sqrt(x)*Math.exp(-11604.49*x/T0)*1250083.9/
(Math.sqrt(Math.PI)*Math.pow(T0, 1.5)); return y; }
Anterior