% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/calculate_properties.R
\name{calculate_distances}
\alias{calculate_distances}
\title{Calculate Interatomic Distances}
\usage{
calculate_distances(
  atomic_coordinates,
  expanded_coords,
  unit_cell_metrics,
  tolerance = 1e-06
)
}
\arguments{
\item{atomic_coordinates}{A \code{data.table} of the primary (asymmetric) atom set.}

\item{expanded_coords}{A \code{data.table} of atoms in the expanded supercell.}

\item{unit_cell_metrics}{A \code{data.table} with cell parameters.}

\item{tolerance}{A numeric cutoff (default 1e-6). Distances smaller than this
value are considered floating-point noise (overlapping atoms) and are
filtered out.}
}
\value{
A \code{data.table} of all non-zero distances.
}
\description{
Computes the distances between a central set of atoms and an
expanded set, using the metric tensor for accuracy.
}
\examples{
ac <- data.table::data.table(Label = "Si1", x_a = 0, y_b = 0, z_c = 0)
ec <- data.table::data.table(Label = "O1_1", x_a = 0.5, y_b = 0.5, z_c = 0.5)
uc <- data.table::data.table(`_cell_length_a` = 10, `_cell_length_b` = 10,
                             `_cell_length_c` = 10, `_cell_angle_alpha` = 90,
                             `_cell_angle_beta` = 90, `_cell_angle_gamma` = 90)
calculate_distances(ac, ec, uc)
}
\seealso{
Other property calculators: 
\code{\link{calculate_angles}()},
\code{\link{calculate_neighbor_counts}()},
\code{\link{calculate_weighted_neighbor_counts}()},
\code{\link{filter_atoms_by_symbol}()},
\code{\link{filter_by_elements}()},
\code{\link{filter_by_wyckoff_symbol}()}
}
\concept{property calculators}
