Docs are under construction. Content may be incomplete or change.

tako.singlePoint Settings

Page type: Reference · Generated from src/script/takoScriptDocs.ts · Verified 2026-07-11T00:00:00.000Z
On this page

This page is generated from code-owned Doxygen-style metadata in src/script/takoScriptDocs.ts. Update that file first, then regenerate this page so runtime capability descriptions, docs, and agent guidance stay aligned.

tako.singlePoint

Runs a fixed-geometry calculation and returns properties for the exact input coordinates.

Signature: await tako.singlePoint(structure, { calculator, properties })

Theory

  • A single point evaluates the potential-energy model without changing atomic positions or the cell. It is the base primitive for energy comparisons, force checks, charge analysis, DOS/PDOS extraction, density-derived analysis, and final-energy refinement after a relaxation.
  • Energy differences are meaningful only when structures use the same calculator family, model, charge/spin settings, convergence settings, and compatible reference states. A single point does not repair bad geometries; large forces mean the structure is not stationary under the selected model.
  • For periodic structures, stress is meaningful only when the calculator supports cell derivatives. For molecular GFN2 calculations, electronic properties such as charges and DOS/PDOS are method-specific outputs, not universal observables.

Usage Notes

  • Use singlePoint after generating or loading candidate structures when you want comparable fixed-geometry energies.
  • Request the smallest property set needed for the analysis; extra properties increase runtime and may require method support.
  • For screening recipes, write both raw energies and normalized energies to output/summary.json or a CSV so downstream comparisons are auditable.

Settings

SettingTypeDefaultValuesUnitValidationDescription
calculatorcalculatorRequired for calculator-backed operations; validate the operation, structure element coverage, and requested properties before executionCalculator object from tako.calculator.gxtb(...), gfn2(...), mlip(...), or dft(...). It controls the level of theory, charge/spin where supported, runtime assets, property availability, and the synchronous supported-element list used by TakoScript and the UI.
propertiespropertieslevel-dependent; MLIP: ['energy', 'forces']; GFN2: ['energy', 'forces', 'charges', 'dos', 'pdos']energy, forces, stress, dos, pdos, charges, electronDensity, chargeDensity, nci, molden, wfn, hdf5, orbitals, spinDensity, esp, densityDerivatives, fukui, elfUnknown names are removed during normalization; energy and forces are reinserted. Backend-unsupported electronic channels are disabled/rejected or omitted according to the operation path; stress requires a periodic structure and calculator support for meaningful interpretation.Requested result channels. Tako always keeps energy and forces; unsupported properties are rejected or omitted by calculator capability validation. MLIP supports energy, forces, and often stress; GFN2 adds molecular electronic outputs such as charges, DOS/PDOS, density, NCI, and WFN. QC/DFT adds a complete molecular or k-point HDF5 wavefunction and population-analysis checkpoint.

Example

const structure = await tako.input("input/candidate.extxyz");
const calculator = tako.calculator.mlip({ levelOfTheory: "nequix" });
const result = await tako.singlePoint(structure, {
  calculator,
  properties: ["energy", "forces", "stress"],
});
await tako.output("output/single-point-summary.json", {
  energyEv: tako.analysis.energyEv(result),
});

Result

Returned calculation result with total energy, convergence data, fixed output atoms, and calculator-dependent forces, stress, charges, and electronic-property payloads. Logs and persisted files belong to the calculation workspace rather than this returned object.

FieldTypeUnitAvailabilityDescription
kind”single_point”Every successful resultRuntime result discriminator.
energy_hartreenumberEhEvery successful resultTotal calculator energy at the fixed geometry.
energy_evnumbereVEvery successful resultThe same total energy converted to electronvolts.
convergedbooleanEvery successful resultElectronic/calculator convergence reported by the base evaluation.
iterationsintegerEvery successful resultElectronic/calculator iteration count.
forces_ev_per_angstrom[number, number, number][] | nulleV/ÅEvery successful result; null only if the calculator supplies no forcesConstraint-applied Cartesian forces in input atom order when constraints exist; otherwise calculator forces.
stress_ev_per_angstrom33×3 number array | nulleV/ųEvery successful result; populated only when stress was requested and returnedCell stress tensor in the backend convention.
atomsobject[]Every successful resultFixed output atoms in input order.
atoms[].idintegerEvery output atomStable input atom identifier.
atoms[].elementstringEvery output atomElement symbol.
atoms[].xnumberÅEvery output atomUnchanged Cartesian x coordinate.
atoms[].ynumberÅEvery output atomUnchanged Cartesian y coordinate.
atoms[].znumberÅEvery output atomUnchanged Cartesian z coordinate.
atoms[].selective[boolean, boolean, boolean]Only atoms carrying selective-dynamics flagsPer-axis mobility flags copied from the input.
level_of_theorystringEvery successful resultNormalized level-of-theory identifier.
engine”gfn2” | “mlip” | “qc”Every successful resultCalculation engine family.
methodstringGFN2 result onlyNormalized GFN method name.
dispersion_requested”default” | “none” | “d3-bj” | “d4” | “d4-rev”Every calculator-backed resultUser selection before resolving the default policy.
dispersion”d3-bj” | “d4” | “d4-rev” | “none”Every calculator-backed resultEffective dispersion treatment used by the calculation.
dispersion_parameter_method”wb97m” | “pbe” | “r2scan” | “skala-1.0”Result with DFT-D3Published D3 parameter-record key used for the selected electronic method or reference functional.
dispersion_damping”bj”DFT result with D3(BJ)D3 damping family.
mlip_runtimestringMLIP result onlyInference runtime identifier.
mlip_modelstringMLIP result onlyModel-weight identifier.
settings.scf.energy_thresholdnumberEhEvery successful resultNormalized SCF energy threshold retained in the settings record.
settings.scf.density_thresholdnumberEvery successful resultNormalized SCF density threshold.
settings.scf.max_iterationsintegerEvery successful resultSCF iteration limit.
settings.scf.electronic_temperature_kelvinnumberKEvery successful resultElectronic temperature.
settings.scf.mixer_dampingnumberEvery successful resultSCF mixer damping.
settings.scf.output_intervalintegerEvery successful resultSCF log/output interval.
settings.scf.temperature_schedule_kelvinnumber[]KEvery successful resultExplicit electronic-temperature schedule.
settings.scf.temperature_annealing.policystringEvery successful resultEffective annealing policy.
settings.scf.temperature_annealing.start_kelvinnumberKEvery successful resultAnnealing start temperature.
settings.scf.temperature_annealing.stagesintegerEvery successful resultAnnealing stage count.
settings.scf.temperature_annealing.stage_iterationsintegerEvery successful resultIterations allocated to each annealing stage.
settings.scf.initial_guessstringEvery successful resultNormalized initial-guess mode.
settings.scf.mixerstringEvery successful resultNormalized SCF mixer name.
settings.scf.allow_unconvergedbooleanEvery successful resultWhether an unconverged electronic state was permitted by settings.
solvation_modelstring | nullEvery successful resultEffective implicit-solvation model or null.
solvation_energy_hartreenumber | nullEhEvery successful resultTotal solvation contribution when enabled.
solvation_energy_evnumber | nulleVEvery successful resultTotal solvation contribution converted to electronvolts.
solvation_energy_elec_hartreenumber | nullEhEvery successful resultElectrostatic solvation contribution.
solvation_energy_elec_evnumber | nulleVEvery successful resultElectrostatic solvation contribution converted to electronvolts.
solvation_energy_cds_hartreenumber | nullEhEvery successful resultCDS contribution.
solvation_energy_cds_evnumber | nulleVEvery successful resultCDS contribution converted to electronvolts.
solvation_energy_cm5_hartreenumber | nullEhEvery successful resultCM5 contribution.
solvation_energy_cm5_evnumber | nulleVEvery successful resultCM5 contribution converted to electronvolts.
solvation_energy_shift_hartreenumber | nullEhEvery successful resultSolvation energy-shift contribution.
solvation_energy_shift_evnumber | nulleVEvery successful resultSolvation energy-shift contribution converted to electronvolts.
chargesobject[]Requested and produced GFN2 charge analysisMulliken charge records in input atom order.
charges[].idintegerEvery charge recordInput atom identifier.
charges[].elementstringEvery charge recordElement symbol.
charges[].chargenumbereEvery charge recordMulliken atomic charge.
frontier.homo_evnumbereVGFN2 single points with a converged wavefunctionHighest occupied orbital energy.
frontier.lumo_evnumbereVGFN2 single points with a converged wavefunctionLowest unoccupied orbital energy.
frontier.gap_evnumbereVGFN2 single points with both frontier orbitalsHOMO–LUMO gap.
frontier.fermi_level_evnumbereVGFN2 single points with a converged wavefunctionFermi level.
bond_orders.cutoffnumberRequested and produced GFN2 bond-order analysisSmallest Mayer bond order included in pairs.
bond_orders.pairsobject[]Requested and produced GFN2 bond-order analysisAtom pairs with Mayer bond order at or above the cutoff, strongest first.
bond_orders.pairs[].iintegerEvery bond-order pairFirst input atom identifier.
bond_orders.pairs[].jintegerEvery bond-order pairSecond input atom identifier.
bond_orders.pairs[].element_istringEvery bond-order pairElement symbol of atom i.
bond_orders.pairs[].element_jstringEvery bond-order pairElement symbol of atom j.
bond_orders.pairs[].ordernumberEvery bond-order pairMayer bond order.
magnetic_moments.totalnumberμBRequested magnetic-moment analysis on a spin-resolved run (g-xTB with unpaired electrons, or spin-polarized GFN2)Total magnetic moment (sum of per-atom moments). Zero when the wavefunction is not spin-resolved.
magnetic_moments.atomsobject[]Requested magnetic-moment analysis on a spin-resolved runPer-atom spin populations n↑ − n↓ in input atom order.
magnetic_moments.atoms[].idintegerEvery magnetic-moment recordInput atom identifier.
magnetic_moments.atoms[].elementstringEvery magnetic-moment recordElement symbol.
magnetic_moments.atoms[].momentnumberμBEvery magnetic-moment recordPer-atom magnetic moment.
dos.energies_evnumber[]eVRequested and produced GFN2 DOSDOS energy grid.
dos.total_dosnumber[]Requested and produced GFN2 DOSTotal DOS sampled on the energy grid.
dos.integrated_total_dosnumber[]Requested and produced GFN2 DOSIntegrated total DOS.
dos.width_evnumbereVRequested and produced GFN2 DOSGaussian broadening width.
dos.broadening”gaussian”Requested and produced GFN2 DOSBroadening kernel.
pdos.energies_evnumber[]eVRequested and produced GFN2 PDOSPDOS energy grid.
pdos.total_dosnumber[]Requested and produced GFN2 PDOSTotal DOS on the PDOS grid.
pdos.fermi_level_evnumbereVRequested and produced GFN2 PDOSFermi level.
pdos.series[]object[]Requested and produced GFN2 PDOSAtom and shell projection series.
pdos.series[].label.kind”atom” | “shell”Every PDOS seriesProjection kind.
pdos.series[].label.indexintegerEvery PDOS seriesAtom or shell index.
pdos.series[].label.atom_indexintegerShell series when mappedOwning atom index.
pdos.series[].label.angularintegerShell series when derivableAngular-momentum quantum number.
pdos.series[].label.orbital”s” | “p” | “d” | “f” | “l”Shell series when derivableOrbital label.
pdos.series[].dosnumber[]Every PDOS seriesProjected DOS values.
pdos.width_evnumbereVRequested and produced GFN2 PDOSGaussian broadening width.
pdos.broadening”gaussian”Requested and produced GFN2 PDOSBroadening kernel.
electron_density_cubestringnominal e bohr^-3Requested and produced electron densityGFN electron-density Gaussian cube on the fixed 28^3 Cartesian grid.
charge_density_cubestringnominal e bohr^-3Requested and produced charge densitySigned Mulliken atomic net charges smeared with normalized isotropic Gaussians of sigma 0.6 bohr; not total charge density.
nci.rdg_cubestringdimensionlessRequested and produced NCI analysisReduced-density-gradient cube on the fixed common grid.
nci.sign_lambda2_rho_cubestringnominal e bohr^-3Requested and produced NCI analysissign(lambda2)rho cube from the middle density-Hessian eigenvalue.
nci.summary.low_rdg_pointsintegerRequested and produced NCI analysisStrict-interior voxel count with RDG <= 0.5; not a volume or connected-region count.
nci.summary.attractive_pointsintegerRequested and produced NCI analysisStrict-interior voxel count with signed density < -1e-12 across all interior points, not only low-RDG points.
nci.summary.repulsive_pointsintegerRequested and produced NCI analysisStrict-interior voxel count with signed density > 1e-12 across all interior points, not only low-RDG points.
nci.summary.near_zero_pointsintegerRequested and produced NCI analysisRemaining strict-interior signed-density voxel count; the three sign counters partition all interior points.
orbital_cubesOrbitalCube[]Requested and produced frontier orbitalsSelected frontier-orbital amplitude cubes and optional squared-density cubes.
orbital_cubes[].labelstringEvery orbital-cube recordFrontier display label such as HOMO or LUMO+1.
orbital_cubes[].bandintegerEvery orbital-cube recordZero-based molecular-orbital band index.
orbital_cubes[].energy_hartreenumberEhEvery orbital-cube recordOrbital energy in Hartree.
orbital_cubes[].energy_evnumbereVEvery orbital-cube recordOrbital energy converted to electronvolts.
orbital_cubes[].occupationnumberelectronsEvery orbital-cube recordGround-state orbital occupation.
orbital_cubes[].cubestringnominal bohr^-3/2Every orbital-cube recordSigned normalized molecular-orbital amplitude Gaussian cube. The cube header does not encode this scalar unit.
orbital_cubes[].density_cubestringnominal bohr^-3When per-orbital squared density was requested|psi|^2 orbital-density Gaussian cube. The cube header does not encode this scalar unit.
spin_density_cubestringnominal e bohr^-3Requested and produced spin densityAlpha-minus-beta density cube; closed-shell restricted results are zero, while runtime may create a spin-polarized companion state.
esp_cubestringatomic electrostatic-potential unit (Eh e^-1)Requested and produced ESPElectrostatic-potential cube from the runtime atomic multipole model with short-range regularization. The cube header does not encode this scalar unit.
density_derivatives.gradient_norm_cubestringnominal e bohr^-4Requested and produced density derivatives|grad rho| cube on the fixed grid; the cube header does not encode this scalar unit.
density_derivatives.laplacian_cubestringnominal e bohr^-5Requested and produced density derivativesDensity-Laplacian cube from finite differences on the fixed grid; the cube header does not encode this scalar unit.
fukui.f_plus_cubestringnominal e bohr^-3 per electron-number changeRequested and all N/N+1/N-1 companion SCFs succeededElectrophilic-addition Fukui finite-difference cube. Electron number is a dimensionless count; the cube header does not encode the scalar unit.
fukui.f_minus_cubestringnominal e bohr^-3 per electron-number changeRequested and all N/N+1/N-1 companion SCFs succeededElectrophilic-removal Fukui finite-difference cube. Electron number is a dimensionless count; the cube header does not encode the scalar unit.
fukui.dual_descriptor_cubestringnominal e bohr^-3 per electron-number changeRequested and all N/N+1/N-1 companion SCFs succeededDual-descriptor cube derived from the two Fukui fields; the cube header does not encode the scalar unit.
elf_cubestringdimensionlessRequested, produced restricted-spin ELFElectron-localization-function cube; current implementation is restricted-spin only.
wavefunction_wfnstringRequested and produced WFN outputWavefunction export content.
wavefunction_hdf5_base64stringRequested QC/DFT HDF5 outputJSON-safe transport for the molecular or k-point HDF5 checkpoint. tako.output writes it as raw wavefunction.h5 bytes.

Errors and Promise Behavior

  • Normalization removes unknown property names and reinserts energy and forces; calculator capability validation should be run before execution. MLIP electronic-analysis requests are unsupported and are rejected, disabled, or omitted according to the calling path.
  • The promise resolves only after the final result event. Validation, asset loading, calculator/SCF execution, analysis, serialization, reset, cancellation, and done without result reject it; cancellation uses Canceled by user and provides no restart checkpoint.
  • GFN2 emits cumulative partial results after core energy/forces and then DOS, PDOS, charges, electron density, charge density, NCI, orbitals, spin density, ESP, density derivatives, Fukui functions, ELF, and WFN in that order. Failure in a later requested stage rejects the overall promise even when earlier partial artifacts remain.
  • Requested volumetric analyses map to exact cube artifacts including electron/charge density, NCI RDG/signed density, frontier orbitals, spin density, ESP, density gradient/Laplacian, Fukui/dual descriptor, and ELF; absence is not a numeric zero.