DensityGen

About the Simulation

DensityGen is not a JavaScript score toy. The browser sends candidate precursors to the Python pipeline. When real simulation is enabled, the server builds atomic structures with ASE, calls the deployed Replicate UMA model, and feeds the returned energies back into the same scorecard the chemist sees.

What Actually Runs

mol = build_molecule(candidate, composition)
slab = build_metal_slab(film_element)
system = build_adsorption_system(slab, mol)
E_ads = E(system, "oc20") - E(slab, "oc20") - E(mol, "omol")
score_surface_reactivity(..., ads_energy=E_ads)

If a molecule cannot be built as a 3D ASE structure yet, the result says so and falls back to descriptor scoring for that candidate instead of inventing a simulated number.

Technical Flow

1. Requestfilm, co-reactant, candidate formulas
2. Chemistryparse composition and known precursor data
3. Geometrybuild molecule, slab, and adsorbed system
4. ReplicateUMA task heads run on A100
5. Energiesmolecular and adsorption energies return
6. Scorecardranked ALD viability with provenance

Cost Per Call

Replicate bills custom GPU predictions by hardware time. The app estimates real-mode cost from prediction metrics using the A100 rate selected for this demo.

HardwareA100
Rate$0.001400/sec
Formulapredict_time × rate

A single candidate may require several predictions: molecule energy, clean slab energy, and slab-plus-adsorbate energy. Slab energy is cached within one request when possible. Private/custom deployments may also incur setup or idle hardware charges depending on Replicate configuration.