Problema de la probabilidad variable
Ecuación
Hasta aquí habíamos supuesto que la probabilidad de interacción era independiente de la posición. Sin embargo, por lo general los sistemas no son homogéneos y por ello es necesario considerar que las probabilidades dependen de la posición.
Esto significa que en la probabilidad de colisionar el factor lambda
$p(x)dx = \displaystyle\frac{1}{\lambda}e^{-x/\lambda}dx$ |
no se puede realizar en forma explicita. En este caso la probabilidad de impactar debe ser calculada en forma explicita y como los factores
$P(x,x_0)=\displaystyle\int_{x_0}^x\displaystyle\frac{du}{\lambda(u)}e^{-(u-x_0)/\lambda(u)}$ |
donde
ID:(9102, 0)
Modelamiento del material
Ecuación
Para poder calcular la función probabilidad se debe discretizar el espacio definiendo una grilla con nodos o voxel que pueden estar a distancia fija o variar en función del material y/o geometría. En el caso de que la grilla es regular se tiene que las posiciones de los nodos son
$x_n=na$ |
ID:(9105, 0)
Probabilidad para el caso discreto
Ecuación
Si las posiciones se discretizan la integral de la probabilidad
$P(x,x_0)=\displaystyle\int_{x_0}^x\displaystyle\frac{du}{\lambda(u)}e^{-(u-x_0)/\lambda(u)}$ |
se requieren los valores de
$P_{ij}=\displaystyle\sum_{k=i}^j \displaystyle\frac{a}{\lambda_k}e^{-(k-i)a/\lambda_k}$ |
ID:(9104, 0)
Probabilidad de colisión
Ecuación
Para simplificar el calculo se puede definir el factor
$\mu_k=\displaystyle\frac{a}{\lambda_k}$ |
ID:(9354, 0)
Ecuación de propagación simplificada
Ecuación
Con la probabilidad
$\mu_k=\displaystyle\frac{a}{\lambda_k}$ |
la ecuación
$P_{ij}=\displaystyle\sum_{k=i}^j \displaystyle\frac{a}{\lambda_k}e^{-(k-i)a/\lambda_k}$ |
se deja escribir como
$P_{ij}=\displaystyle\sum_{k=i}^j \mu_k e^{-|k-i|\mu_k}$ |
en donde se agrego el valor absoluto para el caso de que la propagación es de un valor
ID:(9355, 0)
Algoritmo para simular modelo material inhomogeneo
Descripción
A diferencia del caso homogéneo la posición inicial de la partícula solo puede asumir un nodo especifico. Para un nodo inicial y dirección de propagación definida se puede generar un numero al azar entre 0 y 1 y comenzar a generar números de la serie
$P_{ij}=\displaystyle\sum_{k=i}^j \mu_k e^{-|k-i|\mu_k}$ |
hasta sobrepasar el numero al azar. Al ocurrir esto se habrá llegado al nodo en que ocurrirá la colisión. Por ello el código debe tener un loop de la forma
```
var rand = Math.random(); // random number
var p = 0; // start sum
var k = i; // start position
var dir = 1; // direction
while(p < rand){
p = p + mu[k]*Math.exp(-Math.abs(k-i)*mu[k]);
k = k + dir;
}
// k is the result node
```
Para que este código pueda funcionar adecuadamente debe:
- definirse un rango en que mu tiene valores
- debe incluirse una protección por si la partícula abandona el rango en que se definió el arreglo mu.
ID:(9356, 0)
Simulador material inhomogeneo
Php
Sobre la base de un sistema que se extiende desde un borde izquierdo
ID:(9357, 0)