
Procedimiento numérico
Código del procedimiento numérico que calcula los niveles de energía, y proporciona los coeficientes de las funciones de onda en cada intervalo normalizados. Las clases son las mismas que para el sólido lineal solamente cambia la función que define el potencial V.
public class Solido extends Raices { double x[]; //puntos de discontinuidad de la función potencial double V[]; //función potencial Complejo q[]; CVector2 Coef[]; //coeficientes para la función de onda Matriz M; //matriz para el cálculo del determinante int nNivel; //número de niveles totales Niveles nivel[]; double Vmin; //mínimo del potencial public Solido(int N, double a, double b) { super(N, a, b); Vmin=0; V=new double[N+2]; M=new Matriz(2*N+2, 2*N+2); //para la función de onda q=new Complejo[N+2]; for(int j=0; j<N+2; j++){ q[j]=new Complejo(); } Coef=new CVector2[N+2]; for(int j=0; j<N+2; j++){ Coef[j]=new CVector2(); } //niveles de energía nNivel=0; nivel=new Niveles[MAXNIVELES]; for(int j=0; j<MAXNIVELES; j++){ nivel[j]=new Niveles(); } //sólido regular x=new double[N+3]; x[0]=0; //número de barreras par, número de pozos impar x[1]=a/2; for(int j=2;j<N+2; j+=2){ x[j]=x[j-1]+b; x[j+1]=x[j]+a; } for(int j=0; j<N+1; j+=2){ V[j]=0; if(j==N) break; V[j+1]=H; } V[N+1]=H; //el 2 se puede cambiar significa hasta que la función |
