La desintegración radioactiva

prev.gif (997 bytes)chapter.gif (1105 bytes)home.gif (1232 bytes)next.gif (1211 bytes)

Métodos de Montecarlo

La ley de desintegración radioactiva

El código fuente


Los núcleos están formados por protones y neutrones que se mantienen unidos por la denominada fuerza fuerte. Algunos núcleos tienen una combinación de protones y neutrones que no conducen a una configuración estable, a estos núcleos se les denomina radiactivos. Los núcleos inestables tienden a aproximarse a la configuración estable emitiendo ciertas partículas. Los tipos de desintegración radiactiva se clasifican de acuerdo al tipo de partículas emitidas, la más común es la desintegración alfa, en la que se emite un núcleo de Helio (dos protones y dos neutrones), produciéndose un nuevo elemento cuyo número atómico es dos unidades menor (retrocede dos posiciones en la Tabla Periódica), y cuya masa disminuye en cuatro unidades.

Estudiaremos en esta sección la ley de desintegración radiactiva, y posteriormente, el mecanismo de desintegración radiactiva, como ejemplos de aplicación de las variables aleatorias discretas y continuas.

 

La ley de desintegración radioactiva

Supongamos que una sustancia tiene N núcleos radiactivos sin desintegrar en el instante inicial, la solución de una ecuación diferencial de primer grado nos da el número de núcleos que permanecen sin desintegrar en el instante t.

Podemos interpretar la ecuación diferencial del siguiente modo: si l es la probabilidad de desintegración por unidad de tiempo, la probabilidad de que un núcleo se desintegre en un tiempo dt es ldt. Si hay N núcleos radiactivos (N es grande), en el tiempo dt podemos esperar que se desintegren (ldt)N núcleos. Por tanto, el número de núcleos radiactivos disminuye con el tiempo a consecuencia de la desintegración.

El modelo de desintegración es muy simple: sea l la constante de desintegración menor que la unidad, se compara l con un número aleatorio g uniformemente distribuido en el intervalo [0, 1). Si l es menor que g entonces el núcleo se desintegra. Tenemos así un sistema de dos posibles resultados como se recoge en la tabla, véase el apartado titulado variable aleatoria discreta

Condición Resultado
0<=g<l El núcleo se desintegra
l<=g<1 El núcleo no se desintegra

En la rutina principal, se compara el número aleatorio devuelto por la función nextDouble, con la constante de desintegración l, para cada uno de los N núcleos radiactivos existentes en ese instante.

            N1=0;
            for(int i=0; i<N; i++){
                if(rnd.nextDouble()<l)  N1++; 
	    }
            t++;
            N-=N1;

El bucle se ejecuta tantas veces como núcleos radiactivos N haya presentes. En la unidad de tiempo, que es lo que tarda en ejecutarse el bucle, se desintegrarán un número de núcleos N1 proporcional a N; a su vez, cada núcleo se desintegra con una probabilidad l. El número de núcleos sin desintegrar habrá disminuido en N1 núcleos. Al disminuir N, el bucle for se ejecutará un número cada vez menor de veces, lo que nos indica que la velocidad de desintegración disminuye con el número de núcleos radiactivos presentes.

Podemos crear una clase denominada Radiactivo, con los miembros dato: constante de desintegración l, número de núcleos radiactivos N, y el tiempo t, y una función miembro denominada evolucion que nos devuelva el número de núcleos sin desintegrar al cabo de un cierto intervalo de tiempo dt.

public class Radiactivo {
    private double l;
    private int N;
    private int t;
//números aleatorios
    private Random rnd=new Random();
    public Radiactivo(double l, int N) {
        this.l=l;
        this.N=N;
	t=0;
    }
    public int getParticulas(){return N;}
    public int evolucion(int dt){
        int N1;
        for(int k=0; k<dt; k++){
            N1=0;
            for(int i=0; i<N; i++){
                if(rnd.nextDouble()<l)  N1++;
            }
            N-=N1;
        }
        t+=dt;
        return N;
    }
}

Para usar esta clase, creamos un objeto r de la clase Radiactivo, le pasamos la constante de desintegración l, en el intervalo [0, 1), y el número N de núcleos radioactivos, un número grande positivo.

        int N0=10000;   	//núcleos iniciales
        double cte=0.2; 	//constante de desintegración
        Radiactivo radio=new Radiactivo(cte, N0);

Para conocer el número de núcleos que permanecen sin desintegrar a intervalos regulares de tiempo dt, es decir, en los instantes i*dt, donde i es el contador de intervalos, escribimos.

        int dt=5;       //intervalo de tiempo entre observaciones
       	System.out.println("Tiempo \t núcleos");
        System.out.println(" 0 \t "+N0);
        for(int i=1; i<10; i++){
            System.out.println(" "+i*dt+" \t "+radio.evolucion(dt));
        }

 

El código fuente

disco.gif (1035 bytes) Radiactivo.java, RadiactivoApp.java