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:
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:
- FBTK Official Documentation: https://fbtk.forblaze-works.com/
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