Files
Jean-Sébastien Caux e0cf0c388c Initiate
2026-09-22 14:31:14 +02:00

35 lines
1.4 KiB
Markdown

# typeII_quasisolitons
Tools for simulations of type II quasisoliton wavepackets in the repulsive Lieb-Liniger model.
## Compilation notes
The C++ standard used in the current codebase is C++-23. In particular, [C++ modules](https://en.cppreference.com/cpp/language/modules) are used.
These instructions apply to the following executables:
* typeII_quasisolitons_compute_par (produces .states and .[operator] files)
* typeII_quasisolitons_rhoxt_par (produces .x, .t and .rhoxt files)
* typeII_quasisolitons_amplitudes_[uniform, staggered, IDeltax] (produce .amplitudes file for specified protocol)
All executables make use of Abacus version 2.
### Compilation with g++23
This assumes that Abacus has been compiled with g++ (version 15 or above)
Ensure to add a symbolic link the gcm cache from the main abacus repo:
ln -fs [your Abacus build directory]/gcm.cache gcm.cache
[your g++ compiler] [executable].cc -o [executable].out -std=c++23 -fmodules -O3 -L[your Abacus build directory]/lib -labacus-2.0.0
### Compilation with clang (version 21 or above)
This assumes that Abacus has been compiled with clang++.
clang++-21 [executable].cc -o [executable].out -std=c++23 -stdlib=libc++ --gcc-toolchain=[local toolchain, e.g. /usr/local/gcc-15.2.0] -fprebuilt-module-path=[local Abacus compiled objects, e.g. /home/[yourname]/abacus/obj/ -O3 -L[local Abacus library location, e.g. /home/[yourname]/abacus/lib -labacus-2.0.0