Bring Rust Speed to Python: High-Performance Molecular Building & Analysis with FBTK

Building initial structures for complex polymers and mixed systems can be a bottleneck in molecular dynamics workflows. FBTK (Forblaze ToolKit) solves this by implementing core logic in Rust, providing a high-performance library that maintains the flexibility of Python.

Simple Installation via pip

FBTK is available on PyPI and can be easily installed in any standard Python environment with a single command:

$ pip install fbtk

Designed to integrate seamlessly into existing workflows (such as those using ASE), FBTK is ready for use in your research and development immediately after installation.

1. Controlling Polymer Tacticity

In polymer packing, the orientation of side chains (tacticity) significantly impacts packing density and physical properties. With FBTK, you can use the Molecule.from_polymer method to generate polymer chains with specific tacticity as independent Molecule objects.

Here is an example using Atactic Polystyrene (PS):

import fbtk

# 1. Create monomer from SMILES
monomer = fbtk.Molecule.from_smiles("*C(C*)c1ccccc1", name="PS")

# 2. Generate an atactic polymer chain
# Creates a single Molecule object with specified tacticity
chain = fbtk.Molecule.from_polymer(monomer, degree=20, tacticity="atactic")

# 3. Setup system via Builder (starting from low density)
builder = fbtk.Builder(density=0.10)
builder.add_molecule(chain, count=10)

# 4. Build and Relax (FIRE algorithm)
system = builder.build()
system.relax()

# 5. Export to ASE Atoms object
atoms = system.to_ase()

The intuitive “Create Molecule -> Add to System” workflow allows you to build complex systems with just a few lines of code.

2. Effortless Mixed-Molecular Systems

FBTK’s Builder can handle multiple different Molecule objects simultaneously. Creating mixed cells with solvents, solutes, or different types of polymers is as simple as calling builder.add_molecule() multiple times. This is ideal for creating electrolytes with complex compositions or polymer blends.

3. Instant Analysis of Large Trajectories

Beyond building, FBTK offers robust analysis tools. Functions like RDF (Radial Distribution Function) and MSD (Mean Squared Displacement) are parallelized in the Rust layer, allowing you to process large datasets with tens of thousands of steps without stress.

Summary: Documentation & Getting Started

For detailed API specifications and more examples, please visit our official documentation site:

Upgrade your scientific computing workflow to the next level of speed with the power of Rust.

Explore FBTK Resources

FBTK can be installed via pip or downloaded as a standalone binary.

View FBTK Details