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
  • Functionals

Functionals · Changes

Page history
Update Functionals authored Dec 13, 2020 by Gabriel Wlazłowski's avatar Gabriel Wlazłowski
Hide whitespace changes
Inline Side-by-side
Functionals.md
View page @ a122b525
......@@ -12,4 +12,30 @@ The functional has the generic form:
+ [1-\alpha_{\downarrow}(n_{\uparrow},n_{\downarrow})]\dfrac{\bm{j}_{\downarrow}^2}{2n_{\downarrow}}
\end{aligned}
```
TODO
\ No newline at end of file
TODO
# Stabilization of ASLDA functional
In the case of calculations for trapped system term $`\frac{\bm{j}_{\sigma}^2}{2n_{\sigma}}`$ is source of numerical instabilities. Precisely, for small density regions we have:
* $`n_{\sigma}\rightarrow 0`$,
* $`\bm{j}_{\sigma}\rightarrow 0`$,
* $`\frac{\bm{j}_{\sigma}^2}{2n_{\sigma}}\rightarrow 0`$.
However, division of very small numbers is numerically not stable operations. For this reason, we introduce stabilization procedure:
```math
\dfrac{\bm{j}_{\sigma}^2}{2n_{\sigma}}\longrightarrow f_{\textrm{reg.}}(n_{\sigma})\dfrac{\bm{j}_{\sigma}^2}{2n_{\sigma}}
```
Role of $`f_{\textrm{reg.}}`$ is to exclude from computation regions of small density. The function is controlled by two parameters in `predefines.h` file:
```c
/**
* Meaningful only in case of ASLDA.
* Paremeters defining stabilization procedure of ASLDA functional.
* For regions with density smaller than ASLDA_STABILIZATION_EXCLUDE_BELOW_DENISTY
* contribution from current term j^2/2n is assumed to be zero.
* For regions with density above ASLDA_STABILIZATION_RETAIN_ABOVE_DENSITY
* the contribution is assumed to be intact by stabilization procedure.
* */
#define ASLDA_STABILIZATION_RETAIN_ABOVE_DENSITY 1.0e-5
#define ASLDA_STABILIZATION_EXCLUDE_BELOW_DENISTY 1.0e-7
```
There meaning is presented on the figure below.
![stabilization](uploads/6528cf3b55ebb0d55a3e7f62a6124a83/stabilization.png)
Smooth transition between densities `ASLDA_STABILIZATION_EXCLUDE_BELOW_DENISTY` and `ASLDA_STABILIZATION_RETAIN_ABOVE_DENSITY`
\ No newline at end of file
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