Численное решение уравнения Шредингера средствами 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;

}

}

 

 

 

 

 

 

 

 

 

 

 

. : . .

. &#