Download APLICACIÓN # 4 : Mecanismo de - Docencia FCA-UNAM

Document related concepts
no text concepts found
Transcript
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
DIPLOMADO DE DESARROLLO DE SISTEMAS CON EL PARADIGMA DE
ORIENTACIÓN A OBJETOS
MODULO III: Programación de aplicaciones con Java 2EE
Profesor.- Ramón Castro Liceaga
APLICACIÓN # 4 : Mecanismo de desintegración radioactiva
(Informática Cuántica)
El mecanismo de desintegración radioactiva
En un modelo simplificado de núcleo radiactivo, las partículas alfa de energía E
se mueven hacia delante y hacia atrás entre dos barreras de potencial de altura
V y anchura a tal como se ve en la figura. Desde el punto de vista de la
Mecánica Clásica, ninguna partícula con energía E menor que V, puede
escaparse al otro lado de las barreras, ya que atravesar una barrera supondría
que la partícula tendría una energía cinética negativa, lo cual es imposible.
Desde el punto de vista de la Mecánica Cuántica el comportamiento es
totalmente distinto. Una micropartícula de energía E<V tiene una cierta
probabilidad de penetrar una distancia x en la barrera de potencial, y esta
probabilidad disminuye con x de forma exponencial.
Para barreras de anchura infinita la gráfica de la probabilidad de que la
micropartícula penetre una distancia x, tiene la forma de la curva de la figura
inferior, una exponencial decreciente.
donde k es una constante que depende de la energía de la partícula, de la
altura de la barrera, y de la masa de la micropartícula. Para partículas del
mismo tipo alfa, podemos escribir.
El factor de proporcionalidad c, se calcula teniendo en cuenta que el área bajo
la curva es la unidad.
La función que describe la probabilidad acumulada tendrá la forma que vimos
en el apartado variable aleatoria continua, y se calcula mediante la fórmula (3)
Dado un número uniformemente distribuido en el intervalo [0, 1) podemos
despejar la profundidad de la penetración x
Ahora bien, la barrera tiene una anchura finita, por tanto, si la distancia de
penetración x es mayor que la anchura de la barrera la partícula se transmite al
otro lado de la barrera y el núcleo se desintegra.
Se ha de advertir al lector, que éste es un modelo inexacto, ya que la
probabilidad p(x) no es exactamente una exponencial decreciente para una
barrera de anchura finita, sin embargo, el modelo explica el significado de la
constante de desintegración.
while(true){
x=-Math.log(1-rnd.nextDouble())/k;
if(x>ancho) break;
//se desintegra
t++;
}
La clase Nucleo que describe un núcleo radioactivo precisa dos datos, la altura
de las barreras de potencial V y la anchura ancho, y tiene una función miembro
denominada desintegracion, que devuelve el instante en el que se ha producido
la desintegración de un núcleo particular, dicho instante es igual al número de
veces que la partícula alfa ha intentado atravesar las barreras de potencial por
"efecto túnel". Dado que el tiempo que tarda en desintegrarse un determinado
núcleo puede ser muy grande si las barreras de potencial son anchas, se
devuelve, un dato de tipo long, en vez de int.
public class Nucleo {
private double V;
private double ancho;
//altura de la barrera de potencial
//anchura de la barrera de potencial
//números aleatorios
private Random rnd=new Random();
public Nucleo(double V, double a) {
this.V=V;
ancho=a;
}
public long desintegracion(double energia){
long t=0;
double k=Math.sqrt(V-energia);
double x;
while(true){
x=-Math.log(1-rnd.nextDouble())/k;
if(x>ancho) break;
t++;
}
return t;
}
}
En la siguiente porción de código, se examina la desintegración de 10 núcleos
radioactivos idénticos, cuyas barreras de potencial tienen una altura de 2
unidades de energía y una anchura de 3 unidades de longitud. Supongamos,
que están en el mismo estado, de modo que la partícula alfa se mueve hacia
adelante y hacia atrás en el interior del núcleo con una 1 unidad de energía.
Nucleo nucleo=new Nucleo(2, 3);
for(int i=0; i<10; i++){
System.out.println("tiempo "+nucleo.desintegracion(1));
}
Cuando se hacen varias pruebas se podrá comprobar que la desintegración de
un núcleo particular es un suceso aleatorio, imprevisible, pero en valor medio,
los núcleos cuyas barreras son más anchas precisan de mayor tiempo para
que se desintegren.
HACER:
Capturar y compilar el programa: Nucleo.java
package nucleo;
import java.util.*;
public class Nucleo {
private double V;
//altura de la barrera de potencial
private double ancho;
//anchura de la barrera de potencial
//números aleatorios
private Random rnd=new Random();
public Nucleo(double V, double ancho) {
this.V=V;
this.ancho=ancho;
}
public long desintegracion(double energia){
long t=0;
double k=Math.sqrt(V-energia);
double x;
while(true){
x=-Math.log(1-rnd.nextDouble())/k;
if(x>ancho) break;
t++;
}
return t;
}
}
Capturar y compilar el programa: NucleoApp.java
package nucleo;
public class NucleoApp {
public static void main(String[] args) {
//se desintegran 10 núcleos idénticos en el mismo estado
Nucleo nucleo=new Nucleo(2, 3);
for(int i=0; i<10; i++){
System.out.println("tiempo "+nucleo.desintegracion(1));
}
try {
//espera la pulsación de una tecla y luego RETORNO
System.in.read();
}catch (Exception e) { }
}
}
crear una carpeta ‘nuecleo’ y meter los archivos .class
ejecutar la aplicación con: java nucleo.NucleoApp