Module wafer::config[][src]

Config is a (mostly) public module which reads the configuration file wafer.cfg and populates the Config struct with the information required to run the current instance of the application.

Re-exports

use errors::*;
use input;
use ndarray::Array3;
use ndarray::Zip;
use ndarray_parallel::prelude::*;
use noisy_float::prelude::*;
use output;
use rand;
use rand::distributions::Distribution;
use rand::distributions::Normal;
use serde_yaml;
use slog::Logger;
use std::fmt;
use std::fs::File;

Structs

Config

The main struct which all input data from wafer.cfg is pushed into.

Grid

Grid size information.

Index3

A simple index struct to identify an {x,y,z} position.

Output

Identifies the frequency of output to the screen or disk, as well as toggling the output of wavefunction and potential data.

Point3

A data point in 3D space.

Enums

CentralDifference

Sets the precision of the central difference formalism.

FileType

File formats available for data output.

InitialCondition

Defines the type of initial condition, or first guess, given to the wavefunction.

PotentialType

Type of potential the user wishes to invoke. There are many potentials built in, or the user can opt for two (three) external possibilities:

SymmetryConstraint

Symmetry of the wavefunction can be constrained to assist calculation.

Constants

_IMPL_DESERIALIZE_FOR_CentralDifference
_IMPL_DESERIALIZE_FOR_Config
_IMPL_DESERIALIZE_FOR_FileType
_IMPL_DESERIALIZE_FOR_Grid
_IMPL_DESERIALIZE_FOR_Index3
_IMPL_DESERIALIZE_FOR_InitialCondition
_IMPL_DESERIALIZE_FOR_Output
_IMPL_DESERIALIZE_FOR_Point3
_IMPL_DESERIALIZE_FOR_PotentialType
_IMPL_DESERIALIZE_FOR_SymmetryConstraint
_IMPL_SERIALIZE_FOR_CentralDifference
_IMPL_SERIALIZE_FOR_Config
_IMPL_SERIALIZE_FOR_FileType
_IMPL_SERIALIZE_FOR_Grid
_IMPL_SERIALIZE_FOR_Index3
_IMPL_SERIALIZE_FOR_InitialCondition
_IMPL_SERIALIZE_FOR_Output
_IMPL_SERIALIZE_FOR_Point3
_IMPL_SERIALIZE_FOR_PotentialType
_IMPL_SERIALIZE_FOR_SymmetryConstraint

Functions

generate_boolean

Builds a Boolean test grid initial condition.

generate_coulomb

Builds a Coulomb-like initial condition.

generate_gaussian

Builds a gaussian distribution of values with a mean of 0 and standard distribution of config.sig.

set_initial_conditions

Sets initial conditions for the wavefunction w.

symmetrise_wavefunction

Enforces symmetry conditions on wavefunctions