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:
- Create a Github account and fork the code repository. This will create your own personal copy of the code base.
- 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"
. - 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!