Command Line Interface (CLI)
Command Line Interface
Section titled “Command Line Interface”FBTK provides two powerful, statically-built binary tools that allow you to operate directly from the shell without writing Python code. These tools execute in parallel using 4 threads by default.
Installation (Standalone Binaries)
Section titled “Installation (Standalone Binaries)”In addition to the Python library, we provide pre-built executables for major platforms (Linux / macOS / Windows). These allow you to use FBTK instantly without worrying about Python dependencies.
# Example: Download and setup for Linuxwget https://github.com/user/fbtk/releases/latest/download/fbtk-linux-x64.tar.gztar -xzf fbtk-linux-x64.tar.gzchmod +x fbtk-build fbtk-analyzemv fbtk-build fbtk-analyze ~/bin/ # Move to a directory in your PATHfbtk-build: System Construction from Recipes
Section titled “fbtk-build: System Construction from Recipes”Build molecular systems and export structures based on a YAML recipe file.
# Basic usagefbtk-build --recipe recipe.yaml --output system.mol2
# Run structure relaxation after buildingfbtk-build --recipe recipe.yaml --relax --output relaxed.mol2
# Specify number of threadsfbtk-build --recipe recipe.yaml --threads 8 --output system.mol2fbtk-analyze: High-Speed Analysis Pipeline
Section titled “fbtk-analyze: High-Speed Analysis Pipeline”Load LAMMPS dump files and analyze specific atom groups at high speed.
Radial Distribution Function (RDF)
Section titled “Radial Distribution Function (RDF)”# Compute correlation between Type 1 and Type 2 atomsfbtk-analyze rdf traj.dump --query "type 1 with type 2" --output rdf.dat
# Selection using atom indicesfbtk-analyze rdf traj.dump --query "index 1 to 100 with type 3" --rmax 15.0Mean Squared Displacement (MSD)
Section titled “Mean Squared Displacement (MSD)”# Analyze diffusion for Type 1 atoms (dt=1000 fs)fbtk-analyze msd traj.dump --query "type 1" --dt 1000.0 --output msd.datControlling Parallelism via Environment Variables
Section titled “Controlling Parallelism via Environment Variables”Similar to the Python library, you can control the number of threads globally using the RAYON_NUM_THREADS environment variable.
export RAYON_NUM_THREADS=16fbtk-build --recipe recipe.yaml --output system.mol2