Parameter

ElectronGas.ParameterModule

Template of parameter. A submodule of ElectronGas.

Use the convention where ħ=1, k_B=1.
Only stores parameters that might change for purposes.
source
ElectronGas.Parameter.atomicUnitFunction
function atomicUnit(Θ, rs, dim = 3, spin = 2; kwargs...)

assume 4πϵ0=1, me=1, e0=1

#Arguments:

  • Θ: dimensionless temperature. beta could be different from β
  • rs: Wigner-Seitz radius over Bohr radius.
  • dim: dimension of the system
  • spin: spin = 1 or 2
  • kwargs: user may explicity set other paramters using the key/value pairs
source
ElectronGas.Parameter.defaultUnitFunction
function defaultUnit(Θ, rs)

assume 4πϵ0=1, me=0.5, EF=1

#Arguments:

  • Θ: dimensionless temperature. Since EF=1 we have β=beta
  • rs: Wigner-Seitz radius over Bohr radius.
source
ElectronGas.Parameter.deriveMethod
function derive(param::Para; kws...)

Reconstruct a new Para with given key word arguments. This is needed because the default reconstruct generated by Parameters.jl could not handle derived parameters correctly.

#Arguments:

  • param: only "non-derived" fields that's not mentioned in kws are extracted from param
  • kws...: new values
source
ElectronGas.Parameter.fullUnitFunction
function fullUnit(ϵ0, e0, me, EF, β)

generate Para with a complete set of parameters, no value presumed.

#Arguments:

  • ϵ0: vacuum permittivity
  • e0: electron charge
  • me: electron mass
  • EF: Fermi energy
  • β: inverse temperature
source
ElectronGas.Parameter.rydbergUnitFunction
function rydbergUnit(Θ, rs, dim = 3, spin = 2; kwargs...)

assume 4πϵ0=1, me=0.5, e0=sqrt(2)

#Arguments:

  • Θ: dimensionless temperature. beta could be different from β
  • rs: Wigner-Seitz radius over Bohr radius.
  • dim: dimension of the system
  • spin: spin = 1 or 2
  • kwargs: user may explicity set other paramters using the key/value pairs
source