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

Last edited by Gabriel Wlazłowski Apr 03, 2023
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Functionals

ASLDA - asymmetric superfluid local density approximation

The functional has the generic form:

\begin{aligned}
\mathcal{E}_{\textrm{edf}}(n,\nu,\ldots) & =  \alpha_{\uparrow}(n_{\uparrow},n_{\downarrow})\frac{\tau_{\uparrow}}{2} + 
    \alpha_{\downarrow}(n_{\uparrow},n_{\downarrow})\frac{\tau_{\downarrow}}{2} \\
&+
    D(n_{\uparrow},n_{\downarrow})
    +
    g(n_{\uparrow},n_{\downarrow})\nu^{\dagger}\nu \\ 
    &+ [1-\alpha_{\uparrow}(n_{\uparrow},n_{\downarrow})]\dfrac{\bm{j}_{\uparrow}^2}{2n_{\uparrow}}
    + [1-\alpha_{\downarrow}(n_{\uparrow},n_{\downarrow})]\dfrac{\bm{j}_{\downarrow}^2}{2n_{\downarrow}}
\end{aligned}

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:

\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:

/**
 * 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
Smooth transition between densities ASLDA_STABILIZATION_EXCLUDE_BELOW_DENISTY and ASLDA_STABILIZATION_RETAIN_ABOVE_DENSITY is introduced in order to avoid discontinuities for quantities, that may lead to divergences when computing derivatives.

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