Численное решение уравнения Шредингера средствами Java
Дипломная работа - Физика
Другие дипломы по предмету Физика
* Psy
*/
double[] rePsyP1t(){
double RePsyP1t[]= new double[N+1];
for (int j=0; j<N+1; j++){
double S = 0;
for (int s=0; s<N+1; s++){
S += rePsyX1t2V[s]*Math.cos(p[j]*x[s]) + imPsyX1t2V[s]*Math.sin(p[j]*x[s]);
}
RePsyP1t[j] = hx*S/Math.sqrt(2*Math.PI);
}return RePsyP1t;
}
double[] rePsyP1t = new double[N+1];{
rePsyP1t = rePsyP1t();}
/**
*
* Psy
*/
double[] imPsyP1t(){
double ImPsyP1t[]= new double[N+1];
for (int j=0; j<N+1; j++){
double S = 0;
for (int s=0; s<N+1; s++){
S += imPsyX1t2V[s]*Math.cos(p[j]*x[s]) - rePsyX1t2V[s]*Math.sin(p[j]*x[s]);
}
ImPsyP1t[j] = hx*S/Math.sqrt(2*Math.PI);
}return ImPsyP1t;
}
double[] imPsyP1t = new double[N+1];{
imPsyP1t = imPsyP1t();}
/**
*
* Psy
*/
double[] rePsyP1te(){
double RePsyP1te[]= new double[N+1];
for (int j=0; j<N+1; j++){
RePsyP1te[j] = rePsyP1t[j]*Math.cos(p[j]*p[j]*DT/2) + imPsyP1t[j]*Math.sin(p[j]*p[j]*DT/2);
}return RePsyP1te;
}
double[] rePsyP1te = new double[N+1];{
rePsyP1te = rePsyP1te();}
/**
*
* Psy
*/
double[] imPsyP1te(){
double ImPsyP1te[]= new double[N+1];
for (int j=0; j<N+1; j++){
ImPsyP1te[j] = imPsyP1t[j]*Math.cos(p[j]*p[j]*DT/2) - rePsyP1t[j]*Math.sin(p[j]*p[j]*DT/2);
}return ImPsyP1te;
}
double[] imPsyP1te = new double[N+1];{
imPsyP1te = imPsyP1te();}
/**
*
* Psy
*/
double[] rePsyX2t(){
double RePsyX2t[]= new double[N+1];
for (int j=0; j<N+1; j++){
double S = 0;
for (int s=0; s<N+1; s++){
S += rePsyP1te[s]*Math.cos(p[s]*x[j]) - imPsyP1te[s]*Math.sin(p[s]*x[j]);
}
RePsyX2t[j] = hp*S/Math.sqrt(2*Math.PI);
}return RePsyX2t;
}
double[] rePsyX2t = new double[N+1];{
rePsyX2t = rePsyX2t();}
/**
*
* Psy
*/
double[] imPsyX2t(){
double ImPsyX2t[]= new double[N+1];
for (int j=0; j<N+1; j++){
double S = 0;
for (int s=0; s<N+1; s++){
S += imPsyP1te[s]*Math.cos(p[s]*x[j]) + rePsyP1te[s]*Math.sin(p[s]*x[j]);
}
ImPsyX2t[j] = hp*S/Math.sqrt(2*Math.PI);
}return ImPsyX2t;
}
double[] imPsyX2t = new double[N+1];{
imPsyX2t = imPsyX2t();}
/**
*
* DT
*/
double[] psyX2t(){
double[] L = new double[N+1];
double[] K = new double[N+1];
double[] PsyX2t = new double[N+1];
L = rePsyX2t;
K = imPsyX2t;
for (int j = 0; j < N+1; j++){
PsyX2t[j] = L[j]*L[j] + K[j]*K[j];
}return PsyX2t;
}
}
. : . .
.