Parameter
ElectronGas.Parameter
— ModuleTemplate of parameter. A submodule of ElectronGas.
Use the convention where ħ=1, k_B=1.
Only stores parameters that might change for purposes.
ElectronGas.Parameter.atomicUnit
— Functionfunction 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
ElectronGas.Parameter.chemical_potential
— Methodfunction chemical_potential(beta)
generate chemical potential μ with given beta and density conservation.
#Arguments:
- beta: dimensionless inverse temperature
ElectronGas.Parameter.defaultUnit
— Functionfunction 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.
ElectronGas.Parameter.derive
— Methodfunction 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
ElectronGas.Parameter.fullUnit
— Functionfunction 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
ElectronGas.Parameter.isZeroT
— MethodisZeroT(para) = (para.β == Inf)
check if it is at zero temperature or not.
ElectronGas.Parameter.rydbergUnit
— Functionfunction 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