logo

iFluid (intergrable-Fluid) is an open-source Matlab framework for simulating the dynamics of integrable models using the theory of generalized hydrodynamics. The framework is actively being used in research and is continuously being updated.

Latest version v2.1 (changelog)
Download/clone from Github
Bug reports code
Please cite the introductory iFluid paper
Contact frederik.moller(at)tuwien.ac.at

Getting started

Simply clone the iFluid Github repository. To test that everything is working, try running some of the scripts found in the \Examples folder.

For more information regarding the theory of generalized hydrodynamics, please refer to the introductory iFluid paper.

Project tree

The full project tree with all the iFluid specific files can be seen below.

.
├── iFluid
│   ├── fluidcell.m
│   ├── iFluidSolver.m
│   └── iFLuidCore.m
├── models
│   ├── LiebLinigerModel.m
│   ├── LiebLinigerModel_SI.m
│   ├── HardRodModel.m
│   ├── sinhGordonModel.m
│   └── XXZchainModel.m
├── solvers
│   ├── FirstOrderSolver.m
│   ├── SecondSolver.m
│   ├── CollisionSolver.m
│   ├── DiffusionSolver.m
│   └── LinearDiffusionSolver.m
├── modules
│   └── CorrelationModule.m
├── Examples
│   ├── LiebLinigerExample.m
│   ├── LiebLinigerExample2.m
│   ├── sinhGordonExample.m
│   ├── XXZchainExample.m
│   └── CorrelationExample.m
└── utils

Become a contributor

iFluid is an open-source project, whereby anyone can contribute to the code base. A contribution could be anything from a small bug fix to addition of new models or algorithms. To become a contributor yourself, simply follow these simple steps:

  1. Create a Github account and fork the code repository. This will create your own personal copy of the code base.
  2. Make your edits and additions to the code and commit them. Please include a message at every commit detailing the changes to the code. The messages can be written using the command git commit -m "your message here".
  3. Push your changes to your personal repository. Afterwards, create a pull request, which allows us to review the code and merge the changes into the main repo.

Be aware that we might add comments or edits to your pull request. Once the contribution is approved, it will be instantly included in the iFluid code base!