E6: Analytical Linearized Poisson-Boltzmann (ALPB)
Module: sci_form::experimental::alpbFeature flag: experimental-alpb
Overview
Implements the Klamt/Grimme Analytical Linearized Poisson-Boltzmann (ALPB) implicit solvation model. Computes solvation free energies
Theory
Born Radii
Effective Born radii are computed using HCT (Hawkins-Cramer-Truhlar) integration enhanced with Onufriev-Bashford-Case (OBC) corrections:
with parameters
Generalized Born Kernel
ALPB Correction
The ALPB model improves standard GB with a universal correction:
where
Non-Polar Contribution
where
API
use sci_form::experimental::alpb::*;
// Compute Born radii
let born = compute_born_radii(&elements, &positions);
// born.radii: Vec<f64>
// Full ALPB solvation
let config = AlpbConfig {
dielectric: 78.5, // water
probe_radius: 1.4, // Å
surface_tension: 0.005,
..Default::default()
};
let result = compute_alpb_solvation(&elements, &positions, &charges, &config);
// result.electrostatic_energy: f64 (kcal/mol)
// result.nonpolar_energy: f64 (kcal/mol)
// result.total_energy: f64 (kcal/mol)
// result.born_radii: Vec<f64>Solvent Presets
| Solvent | |
|---|---|
| Water | 78.5 |
| DMSO | 47.0 |
| Methanol | 32.7 |
| Acetone | 20.7 |
| Chloroform | 4.8 |
| Vacuum | 1.0 |
When
Comparison with Stable GB
| Feature | Stable GB-HCT | ALPB |
|---|---|---|
| Born radii | HCT | HCT + OBC |
| Electrostatics | Standard GB | GB + ALPB correction |
| Universal constant | No | Yes ( |
| Non-polar | SASA-based | SASA-based |
| Solvent-specific fitting | No | No |
Tests
cargo test --features experimental-alpb --test regression -- test_alpb8 integration tests covering: Born radii computation, GB kernel asymptotics, electrostatic solvation energy, vacuum limit (zero energy), solvent dielectric dependence, non-polar contributions, and total solvation energy.