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. |