Skip to content

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 ΔGsolv with analytical gradients at negligible computational cost, enabling thermodynamically realistic conformer ranking in solution.


Theory ​

Born Radii ​

Effective Born radii are computed using HCT (Hawkins-Cramer-Truhlar) integration enhanced with Onufriev-Bashford-Case (OBC) corrections:

1Rieff=1ρi−tanh⁡(αΨi−βΨi2+γΨi3)ρi

with parameters α=1.0, β=0.8, γ=4.85.

Generalized Born Kernel ​

fGB(rij,Ri,Rj)=rij2+RiRjexp⁡(−rij24RiRj)

ALPB Correction ​

The ALPB model improves standard GB with a universal correction:

EALPB=EGB⋅ε−1ε+A⋅x

where A=0.571412 (Klamt constant) and x=EGB/ECoulomb.

Non-Polar Contribution ​

ΔGnp=γSA⋅SASA

where γSA is the surface tension parameter (default: 0.005 kcal/mol/Ų).


API ​

rust
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ε
Water78.5
DMSO47.0
Methanol32.7
Acetone20.7
Chloroform4.8
Vacuum1.0

When ε=1.0 (vacuum), the solvation energy is exactly zero — no division-by-zero issues.


Comparison with Stable GB ​

FeatureStable GB-HCTALPB
Born radiiHCTHCT + OBC
ElectrostaticsStandard GBGB + ALPB correction
Universal constantNoYes (A=0.571412)
Non-polarSASA-basedSASA-based
Solvent-specific fittingNoNo

Tests ​

bash
cargo test --features experimental-alpb --test regression -- test_alpb

8 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.

Released under the MIT License.