Skip to main content

Crate xtalforge_core

Crate xtalforge_core 

Source
Expand description

Core crystal-structure types for xtalforge.

This crate holds the element data, lattices, sites, structures and the P1, supercell and slab operations developed in Phase 1. The foundation is kept small so every domain can share a single error type per crate.

Re-exports§

pub use bonding::Bond;
pub use bonding::BondGraph;
pub use bonding::BondRules;
pub use bonding::ExplicitBond;
pub use bonding::TopologyBond;
pub use bonding::perceive_bonds;
pub use cell::cell_volume;
pub use compare::Alignment;
pub use compare::interpolate;
pub use compare::kabsch_alignment;
pub use compare::periodic_rmsd;
pub use deprecation::warn_deprecated;
pub use describe::describe_atom;
pub use edits::RattleOptions;
pub use edits::RattleReport;
pub use edits::SiteSort;
pub use edits::SpeciesReplacement;
pub use edits::SupercellChoice;
pub use edits::add_sites;
pub use edits::deform;
pub use edits::move_site;
pub use edits::optimal_supercell;
pub use edits::rattle;
pub use edits::remove_sites;
pub use edits::replace_site;
pub use edits::replace_species;
pub use edits::scale_to_density;
pub use edits::scale_to_volume;
pub use edits::sort_sites;
pub use edits::strain;
pub use edits::tensor_to_voigt;
pub use edits::voigt_to_tensor;
pub use edits::wrap_sites;
pub use elements::Element;
pub use elements::Isotope;
pub use elements::element_info;
pub use eos::EosFit;
pub use eos::EosKind;
pub use eos::EosPoint;
pub use eos::eos_energy;
pub use eos::fit_eos;
pub use groups::GroupKind;
pub use groups::GroupMatch;
pub use groups::find_groups;
pub use groups::group_counts;
pub use hull::ConvexHull;
pub use hull::PhaseEntry;
pub use hull::PhasePoint;
pub use hull::convex_hull;
pub use lattice::Lattice;
pub use lattice::lattice_info;
pub use lattice::lattice_minimum_image;
pub use limits::Limits;
pub use limits::Profile;
pub use limits::Verdict;
pub use limits::limits_bounds;
pub use limits::limits_check;
pub use local::AngleDistribution;
pub use local::CoordinationNeighbor;
pub use local::CoordinationShell;
pub use local::CoordinationStrategy;
pub use local::RadialDistribution;
pub use local::RdfOptions;
pub use local::ShapeMeasure;
pub use local::StructureFingerprint;
pub use local::VoronoiCell;
pub use local::VoronoiNeighbor;
pub use local::VoronoiReport;
pub use local::bond_angle_distribution;
pub use local::coordination;
pub use local::coordination;
pub use local::fingerprint;
pub use local::radial_distribution;
pub use local::shape_measures;
pub use local::voronoi;
pub use local::voronoi;
pub use measure::angle;
pub use measure::centroid;
pub use measure::distance;
pub use measure::interplanar_angle;
pub use measure::torsion;
pub use neighbors::Neighbor;
pub use neighbors::neighbors;
pub use neighbors::neighbors_of;
pub use p1::P1Atom;
pub use p1::P1Cell;
pub use parallel::ParallelOptions;
pub use parallel::set_global_threads;
pub use param_presets::PRESET_NAMES;
pub use param_presets::preset;
pub use param_presets::presets;
pub use params::ParamSet;
pub use params::ParamSpec;
pub use params::ParamType;
pub use polyhedron::FULL_SPHERE;
pub use polyhedron::HalfSpace;
pub use polyhedron::Polyhedron;
pub use rings::Ring;
pub use rings::RingStep;
pub use rings::is_aromatic;
pub use rings::ring_counts;
pub use rings::ring_membership;
pub use rings::ring_paths;
pub use rings::rings;
pub use scalars::ScalarFn;
pub use scalars::ScalarInfo;
pub use scalars::ScalarRegistry;
pub use scalars::atom_charges;
pub use scalars::atom_masses;
pub use scalars::bond_lengths;
pub use scalars::coordination_numbers;
pub use selection::AtomId;
pub use selection::Selection;
pub use selection::TrackingTable;
pub use site::Site;
pub use slab::Slab;
pub use slab::make_slab;
pub use slab::plane_angle;
pub use slab::surface_basis;
pub use structure::SCHEMA_VERSION;
pub use structure::Structure;
pub use structure::StructureBuilder;
pub use structure::StructureDocument;
pub use structure::StructureSummary;
pub use structure::StructureWarning;
pub use structure::structure_info;
pub use surface::AdsorptionKind;
pub use surface::AdsorptionSite;
pub use surface::SurfaceEnergy;
pub use surface::WulffFacet;
pub use surface::WulffShape;
pub use surface::adsorption_sites;
pub use surface::place_molecule;
pub use surface::wulff;
pub use symop::SymOp;
pub use transforms::Ellipsoid;
pub use transforms::Plane;
pub use transforms::displacement_ellipsoid;

Modules§

bonding
Distance-based bond perception and the connectivity graph (Task 1.11).
cell
Cell geometry: volumes from the six lattice parameters.
compare
Comparison primitives: Kabsch alignment, periodic RMSD and interpolation.
data
Embedded and lazily loaded data bundles.
deprecation
Deprecation warnings shared by the surfaces (Task 11.4.2).
describe
One-line atom descriptions for tooltips, the CLI and the agent layer.
edits
Structure edits: strain, rattle, site operations and optimal supercells.
elements
Periodic-table reference data and element-symbol parsing.
eos
Equation-of-state fits (Task 9.6.2).
groups
Functional-group catalogue and matcher (Task 1.13).
hull
Formation energies and convex-hull distances (Task 9.6.3).
lattice
Unit cell geometry: the lattice matrix and everything derived from it.
limits
Size limits: arithmetic estimates made before anything is allocated.
local
Local environments: Voronoi, coordination, shape measures and RDF.
measure
Distances, angles, torsions, centroids and planes (Task 1.14.1).
neighbors
Periodic neighbor search (Task 1.10).
p1
P1 expansion with provenance back to the asymmetric site and operation.
parallel
Thread-pool options shared by the surfaces (Task 11.1.2).
param_presets
Built-in parameter descriptions shared by every surface (Task 3.8.2).
params
Typed parameter descriptions shared by modules, engines and builders (Task 3.8.1).
polyhedron
Convex polyhedra as intersections of half-spaces (Task 9.3.1, 9.4.3).
rings
Ring perception on the periodic bond graph (Task 1.12).
scalars
Named per-atom and per-bond scalars (Task 1.14.2).
selection
Selection model and atom tracking (Task 3.11).
site
Asymmetric-unit sites: label, element, coordinates, occupancy and props.
slab
Slabs cut along a lattice plane (Task 1.8).
structure
Crystal structures: a lattice, a space-group identity and asymmetric sites.
supercell
Supercells and origin shifts (Task 1.7).
surface
Crystal surfaces: Wulff construction and adsorption sites (Task 9.4).
symop
Symmetry operations with exact integer rotations and rational translations.
transforms
Point-set transforms, finite cells and displacement ellipsoids (Task 1.9).

Enums§

Error
Errors returned by core operations.

Functions§

version
Version of the workspace, from the package metadata.