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
  • Monitoring of conservation laws

Last edited by Gabriel Wlazłowski Apr 06, 2022
Page history

Monitoring of conservation laws

VERSION>=2022.04.05

The W-SLDA Toolkit uses conserved quantities to monitor the stability of time integration. The quantities of special interest are:

  • Particle number (N_a+N_b): this quantity is conserved almost for all cases. The special case when the total particle number may not be conserved is the situation when an external pairing field is activated.
  • Total energy: if there is no time-dependent external potential, the energy is conserved.

To avoid situations where the code uses computing resources for generating trajectories that are incorrect (violation of conservation laws) there is build in mechanism for monitoring conservation laws. This option is controlled by the following tags in the input file:

# ---------------- CONSERVATION LAWS -----------------
# See: Wiki -> Monitoring of conservation laws
# # -> Energy conservation monitoring
# Econservation_start       0        # Start to monitor energy conservation from time*eF, default=1e12 (infinity)
# Econservation_stop        10000    # Stop to monitor energy conservation at time*eF, default=1e12 (infinity)
# Econservation_tol         0.05     # if |[E(t)-E(start_t)]/E(start_t)|>tol then the code will terminate, default=0.05
# # -> Particle number conservation monitoring
# Nconservation_start       0        # Start to monitor total particle number conservation from time*eF, default=0
# Nconservation_stop        10000    # Stop to monitor total particle number conservation at time*eF, default=1e12 (infinity)
# Nconservation_tol         0.05     # if |[N(t)-N(start_t)]/N(start_t)|>tol then the code will terminate, default=0.05

Note that the energy conservation checking is disabled by default while particle number conservation monitoring is activated. If the violation (measured as deviation from the initial value) is detected, the code terminates. The information will be displays in stdout file:

# SIMULATION INSTABILITY CRITERIA MET FOR PARTICLE NUMBER!!!
# INITIAL VALUE=19.000000, PRESENT VALUE=20.351277, RELATIVE CHANGE=0.07112 [> 0.050000]
# !!! BREAKING !!!

Forcing checkpoint

If the checkpoint tag is selected

checkpoint              1       # do checkpoint at the end of the calculation?

then immediately after terminating the code, the checkpoint files will be created

# SIMULATION INSTABILITY CRITERIA MET FOR PARTICLE NUMBER!!!
# INITIAL VALUE=19.000000, PRESENT VALUE=20.351277, RELATIVE CHANGE=0.07112 [> 0.050000]
# !!! BREAKING !!!
# CHECKPOINT INFO: MODE=WRITE: DATA SIZE=        0.04 GB
# CHECKPOINT INFO: MPI_NP_PER_IO_GROUP=24.
# CHECKPOINT INFO: WRITE TIME=        0.07 sec
# CHECKPOINT INFO: WRITE SPEED=       0.525 GB/sec
# CREATING CHECK STAMP: `test_check.stamp`
Clone repository

Content of Documentation
Official webpage
W-BSK Toolkit