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
  • Stabilization of ASLDA functional

Stabilization of ASLDA functional · Changes

Page history
Create Stabilization of ASLDA functional authored Sep 15, 2021 by Gabriel Wlazłowski's avatar Gabriel Wlazłowski
Hide whitespace changes
Inline Side-by-side
Stabilization-of-ASLDA-functional.md 0 → 100644
View page @ 5af2c608
# Introduction
The ASLDA functional contains terms that may be a source of numerical instabilities. See [here](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/wikis/Functionals#stabilization-of-aslda-functional) for more info. In this tutorial, we present a practical method of dealing with such problems.
# Inspecting the initial state
In order to obtain stable integration, one needs to set correct in `predefines.h` values of
```c
#define ASLDA_STABILIZATION_RETAIN_ABOVE_DENSITY 1.0e-5
#define ASLDA_STABILIZATION_EXCLUDE_BELOW_DENISTY 1.0e-7
```
One can do this by inspecting the initial state. In the examples below, we study the dynamics of two vortices confined in a tube. The color map presents a region where the regularization is not applied, by white we plot the region that is excluded when computing the problematic terms, while by black we plot the transition region.
![stabilizator](uploads/981891943d96b0d7766d2ca8f3ba2f8b/stabilizator.png)
The aim is to retain the intact region where a physics of interest happens and remove the region where density attains small values.
# Testing the stabilizator
In the plot below we present the total energy evolution as we run the simulation. The curves correspond to different settings of the stabilization parameters. It is clearly seen that the energy is conserved once the parameters are set correctly, in this case:
```c
#define ASLDA_STABILIZATION_RETAIN_ABOVE_DENSITY 5.0e-4
#define ASLDA_STABILIZATION_EXCLUDE_BELOW_DENISTY 5.0e-6
```
Otherwise, we may get unstable integration after some time, which typically is manifested as non-conservation of the energy or particle number.
![stabilize](uploads/67c31a8f790cab2cae37f300eadc4611/stabilize.png)
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