Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • wslda wslda
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • wtools
  • wsldawslda
  • Wiki
  • Reference scales

Reference scales · Changes

Page history
Update Reference scales authored Nov 14, 2022 by Gabriel Wlazłowski's avatar Gabriel Wlazłowski
Hide whitespace changes
Inline Side-by-side
Reference-scales.md
View page @ 60f31df0
......@@ -7,14 +7,17 @@ During the computation process, W-SLDA codes exploit information about typical s
Other reference scales computed automatically from $`k_F`$ are:
* $`\varepsilon_F=\frac{1}{2}k_F^2`$ - Fermi energy,
* $`E_{\textrm{ffg}}=\frac{3}{5}N\varepsilon_F`$ - energy of free Fermi gas.
* $`E_{\textrm{ffg}}=c_E N\varepsilon_F`$ - energy of free Fermi gas, where the coefficient in front depends on dimensionality:
- $`c_E^{(1D)}=\frac{1}{3}`$,
- $`c_E^{(2D)}=\frac{1}{2}`$,
- $`c_E^{(3D)}=\frac{3}{5}`$.
Finally, chemical potentials also serve as reference scales for static problems:
* $`\mu_{\uparrow}`$ - chemical potential is spin-up particles (particles of type `a`),
* $`\mu_{\downarrow}`$ - chemical potential is spin-down particles (particles of type `b`).
# Defining reference scales for static calculation
## Fermi momentum
## Fermi momentum `kF`
There are the following methods of defining the $`k_F`$ reference scale:
* *via input file*: $`k_F`$ is provided by user in input file. To activate this mode you need to **uncomment** tag `referencekF`:
```bash
......@@ -54,7 +57,39 @@ double referencekF(int it, wslda_density h_densities, double *params, size_t ext
return kF;
}
```
## Chemical potentials
## Fermi energy `eF`
Over the entire code, it is defined as $`\varepsilon_F=\frac{1}{2}k_F^2`$.
## Free Fermi gas energy `Effg`
**API_VERSION>=20221120**
The quantity is used only for reporting values of the energy. The definition can be controlled via `logger.h` file, by changing the body of the function `energy_unit(...)`. Default values are computed as:
```c
/**
* This function defines the unit in which energies are printed in stdout.
* @param kF typical Fermi momentum scale of the problem, value returned by referencekF() function.
* @param mu array with chemical potentials: mu[SPINA], mu[SPINB].
* @param npart array with computed particle numbers: npart[SPINA] and npart[SPINB].
* @param params array of input parameters, before call of this routine the params array is processed by process_params() routine
* @param extra_data_size size of extra_data in bytes, if extra_data size=0 the optional data is not uploaded
* @param extra_data optional set of data uploaded by load_extra_data()
* */
double energy_unit(double kF, double *mu, double *npart,
double *params, size_t extra_data_size, void *extra_data)
{
double Effg;
double eF = kF*kF/2.0; // Fermi energy
double N = npart[SPINA]+npart[SPINB]; // total number of particles
// depending on dimensionality of the problem
if(NY==1 && NZ==1) Effg=(1./3.)*N*eF; // 1D
else if(NZ==1) Effg=(1./2.)*N*eF; // 2D
else Effg=(3./5.)*N*eF; // 3D
return Effg;
}
```
## Chemical potentials `mu`
Chemical potentials are adjusted automatically when mode with fixed particle number is executed. For mode with fixed chemical potential see [here](Chemical potentials control).
## Examples
......
Clone repository
  • API version
  • Automatic interpolations
  • Auxiliary tools
  • Browsing the code
  • Broyden algorithm
  • C and CUDA
  • Campaign of calculations
  • Checking correctness of settings
  • Chemical potentials control
  • Code & Results quality
  • Common failures of static codes
  • Common failures of time dependent codes
  • Computation domain
  • Configuring GPU machine
  • Constraining densities and potentials
View All Pages