% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/calculate_properties.R
\name{calculate_angles}
\alias{calculate_angles}
\title{Calculate Bond Angles}
\usage{
calculate_angles(
  bonded_pairs,
  atomic_coordinates,
  expanded_coords,
  unit_cell_metrics
)
}
\arguments{
\item{bonded_pairs}{Data.table of bonded atoms.}

\item{atomic_coordinates}{Data.table of asymmetric atom coordinates.}

\item{expanded_coords}{Data.table of supercell atom coordinates.}

\item{unit_cell_metrics}{Data.table with unit cell parameters.}
}
\value{
A \code{data.table} of all unique bond angles.
}
\description{
Calculates all bond angles centered on each atom, formed by pairs
of its bonded neighbors.
}
\examples{
bp <- data.table::data.table(Atom1 = c("Si1", "Si1"), Atom2 = c("O1", "O2"))
ac <- data.table::data.table(Label = "Si1", x_a = 0, y_b = 0, z_c = 0)
ec <- data.table::data.table(Label = c("O1", "O2"),
                             x_a = c(1, 0), y_b = c(0, 1), z_c = c(0, 0))
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_angles(bp, ac, ec, uc)
}
\seealso{
Other property calculators: 
\code{\link{calculate_distances}()},
\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}
