// // Program: quantum_wall.C // // Description: Risoluzione dell'eq. di Schroedinger in una buca di // potenziale. // // Author: A. Garfagnini // // Date: 17 December 2013 // #include #include #include #include #include #include using namespace std; void usage(const char * pname) { cerr << "Usage: " << pname << endl; cerr << "Risolve l'equazione di Schroedninger in una buca di"; cerr << "potenziale a pareti infinite.\n"; cerr << "\nOpzioni:\n"; cerr << " -l num : calcola fino all'autostato numero \"num\"\n"; } // Calcola la funzione d'ona relativa all'energia E e ritorna il // valore in x = 1 double fond(double erg, double psi[], double dx, int n) { for (int j=0; j 0)\n"; usage( basename( argv[0] ) ); return 1; } break; case 'h': case '?': default: usage( basename( argv[0] ) ); return 1; } } // Handle user data input cout << "Numero di punti della griglia: "; int n; cin >> n; double * psi = new double[n + 2]; // Definisci la griglia double dx = 1.0/(n+1); double e = 0.1, de = 0.1; double energia; for (int j=0; j1; i--) myfile << (-i + 1.0)/n << " " << psi[i] << endl; for (int i=1; i1; i--) myfile << (-i + 1.0)/n << " " << -psi[i] << endl; for (int i=1; i