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
  • Helmholtz decomposition code

Last edited by Andrea Barresi Sep 22, 2021
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Helmholtz decomposition code

VERSION>=2021.09.01

Introduction

Analysis of turbulence and vortices requires knowledge of the kinetic energy, is conservation and its modes. This tool performs the Helmholtz Decomposition, in order to extract the compressive and rotational components of kinetic energy of the flow as shown in Tsubota, Fujimoto, Yui (2017) Numerical Studies of Quantum Turbulence..

We define the effective velocity field as . From this, we can calculate the kinetic energy as:

,

where is the Fourier Transform of the effective velocity.

From this, we can apply the Helmholtz Decomposition theorem to obtain the compressive and rotational components of the effective velocity field:

Usage

TODO: explain how to use...

[gabrielw@node2066 tmp]$ mpirun -np 5 wslda-hdc-3d test2.wtxt 0          

         Adding new variables [wc_a, wi_a] to w-data set.
         Number of measurements = 10
         Starting time          = -1 
         Lattice size   = 80 x 80 x 16 
         Ending time            = 9.000 
         Component = a 
         Variables being produced = wi_a & wc_a 
         Creating file: test2_hh_a.txt
         Creating file: test2_hhspec_a.txt

         Reading frame [1], currently at 1%
         ....
        Completed in    4s ( 0m 4s)! 

TODO: Explain what are output files... their meaning and content, in what units are columns

Limitations

Presently the code supports only 3d data. However, you can apply it to 2D as well, but before that, you need to increase data dimensionality. You can do it using wdata tool wdata-datadim-up. For example:

[gabrielw@node2066 tmp]$ wdata-datadim-up test1.wtxt test2 3
# WDATA TOOL: DATADIM MODIFIER
# READING INPUT DATA: `test1.wtxt`
# ************************ LATTICE ***************************
# LATTICE: 80 x 80 x 16
# SPACING: 1.000000 x 1.000000 x 1.000000
# VOLUME : 80.000000 x 80.000000 x 16.000000
# DIM-IN : 2
# DIM-OUT: 3
# RESIZING `rho_a`...
# RESIZING `rho_b`...
# RESIZING `delta`...
# RESIZING `j_a`...
# RESIZING `j_b`...
# RESIZING `nu`...
# RESIZING `tau_a`...
# RESIZING `tau_b`...
# RESIZING `V_a`...
# RESIZING `V_b`...
# RESIZING `V_ext_a`...
# RESIZING `V_ext_b`...
# RESIZING `delta_ext`...
# RESIZING `velocity_ext_a`...
# RESIZING `velocity_ext_b`...
# RESIZING `alpha_a`...
# RESIZING `alpha_b`...
# RESIZING `A_a`...
# RESIZING `A_b`...
# WRITING `test2.wtxt`
# DONE.

Developers

  • Andrea Barresi, Warsaw University of Technology
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