Module wafer::grid [−][src]
The meat of the calculation is performed on a finite grid. Basically all of the computation work is done within this module.
Re-exports
use config; | 
use config::CentralDifference; | 
use config::Config; | 
use config::Index3; | 
use config::InitialCondition; | 
use errors::*; | 
use indicatif::ProgressBar; | 
use indicatif::ProgressStyle; | 
use input; | 
use ndarray::Array3; | 
use ndarray::ArrayView3; | 
use ndarray::ArrayViewMut3; | 
use ndarray::Zip; | 
use ndarray_parallel::prelude::*; | 
use noisy_float::prelude::*; | 
use output; | 
use potential; | 
use potential::Potentials; | 
use slog::Logger; | 
use std::f64::MAX; | 
Structs
| Observables | 
                                 Holds all computed observables for the current wavefunction.  | 
                       
Functions
| compute_observables | 
                                 Computes observable values of the system, for example the energy  | 
                       
| eta | 
                                 Estimates completion time for the convergence of the current wavefunction.  | 
                       
| evolve | 
                                 Evolves the solution a number of   | 
                       
| get_mut_work_area | 
                                 Shortcut to getting a mutable slice of the workable area of the current array. In other words, the finite element only cells are removed  | 
                       
| get_norm_squared | 
                                 Calculate the normalisation condition of a wavefunction. The square root portion of this calculation happens later as we sometimes require just this condition.  | 
                       
| get_work_area | 
                                 Shortcut to getting a slice of the workable area of the current array. In other words, the finite element only cells are removed  | 
                       
| normalise_wavefunction | 
                                 Normalisation of the wavefunction  | 
                       
| orthogonalise_wavefunction | 
                                 Uses Gram Schmidt orthogonalisation to identify the next excited state's wavefunction, even if it's degenerate  | 
                       
| run | 
                                 Runs the calculation and holds long term (system time) wavefunction storage  | 
                       
| solve | 
                                 Runs the actual computation once system is setup and ready.  |