CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
Functions and classes related to IntegralCluster.
Modules | |
ClusterOrbits | |
Functions and classes for IntegralCluster orbits of any type. | |
ClusterSpecs | |
ClusterSpecs Generate IntegralCluster orbits of specific types. | |
ClusterSymCompare | |
Functions and classes for creating cluster SymCompare functors for orbit generation . | |
IntegralClusterOrbits | |
Traits and functions for specific types of IntegralCluster orbits. | |
Classes | |
class | CASM::OrbitBranchSpecs< _OrbitType > |
Store data used to generate an orbit branch of IntegralCluster. More... | |
Functions | |
template<typename OutputIterator > | |
OutputIterator | CASM::prim_periodic_orbit_neighborhood (const PrimPeriodicOrbit< IntegralCluster > &orbit, OutputIterator result) |
Iterate over all sites in an orbit and insert a UnitCellCoord. More... | |
template<typename ClusterOrbitIterator , typename OutputIterator > | |
OutputIterator | CASM::prim_periodic_neighborhood (ClusterOrbitIterator begin, ClusterOrbitIterator end, OutputIterator result) |
Iterate over all sites in all orbits and insert a UnitCellCoord. More... | |
template<typename OutputIterator , typename OrbitType > | |
OutputIterator | CASM::flower_neighborhood (OrbitType const &orbit, OutputIterator result) |
Iterate over all sites in an orbit and insert a UnitCellCoord. More... | |
template<typename ClusterOrbitIterator , typename OutputIterator > | |
OutputIterator | CASM::flower_neighborhood (ClusterOrbitIterator begin, ClusterOrbitIterator end, OutputIterator result) |
Iterate over all sites in all orbits and insert a UnitCellCoord. More... | |
template<typename OutputIterator > | |
OutputIterator | CASM::neighborhood (Structure const &unit, double max_radius, SiteFilterFunction site_filter, OutputIterator result, double xtal_tol) |
Output the neighborhood of UnitCellCoord within max_radius of any sites in unit cell. More... | |
template<typename OutputIterator > | |
OutputIterator | CASM::neighborhood (IntegralCluster const &phenomenal, double cutoff_radius, SiteFilterFunction site_filter, bool include_phenomenal_sites, OutputIterator result, double xtal_tol) |
Output the neighborhood of sites within cutoff_radius of any sites in the phenomenal. More... | |
template<typename OrbitType , typename OutputIterator > | |
OutputIterator | CASM::local_orbit_neighborhood (const OrbitType &orbit, OutputIterator result) |
Iterate over all sites in an orbit and insert a UnitCellCoord. More... | |
template<typename ClusterOrbitIterator , typename OutputIterator > | |
OutputIterator | CASM::local_neighborhood (ClusterOrbitIterator begin, ClusterOrbitIterator end, OutputIterator result) |
Iterate over all sites in all orbits and insert a UnitCellCoord. More... | |
template<typename OrbitType > | |
OrbitGenerators< OrbitType > & | CASM::insert_subcluster_generators (typename OrbitType::Element cluster, OrbitGenerators< OrbitType > &generators) |
Given a cluster, generate all subcluster generators. More... | |
template<typename OrbitType , typename OrbitInputIterator , typename OrbitOutputIterator > | |
OrbitOutputIterator | CASM::make_next_orbitbranch (OrbitInputIterator begin, OrbitInputIterator end, const OrbitBranchSpecs< OrbitType > &specs, OrbitOutputIterator result, std::ostream &status) |
Use orbits of size n to generate orbits of size n+1. More... | |
OutputIterator CASM::flower_neighborhood | ( | ClusterOrbitIterator | begin, |
ClusterOrbitIterator | end, | ||
OutputIterator | result | ||
) |
Iterate over all sites in all orbits and insert a UnitCellCoord.
begin,end | Range of PrimPeriodicOrbit<IntegralCluster> |
result | an OutputIterator for UnitCellCoord |
This simply outputs all UnitCellCoord for clusters that include the origin UnitCell, without any standard order. It uses all clusters that touch origin unitcell, including translationally equivalent clusters. Respects translational properties of local orbits, so can be used when translational type is unknown.
begin,end | Range of PrimPeriodicOrbit<IntegralCluster> |
result | an OutputIterator for UnitCellCoord |
This simply outputs all UnitCellCoord for clusters that include the origin UnitCell, without any standard order. It uses all clusters that touch origin unitcell, including translationally equivalent clusters.
Definition at line 816 of file ClusterOrbits_impl.hh.
OutputIterator CASM::flower_neighborhood | ( | OrbitType const & | orbit, |
OutputIterator | result | ||
) |
Iterate over all sites in an orbit and insert a UnitCellCoord.
orbit | an PrimPeriodicOrbit<IntegralCluster> |
result | an OutputIterator for UnitCellCoord |
This simply outputs all UnitCellCoord for clusters that include the origin UnitCell, without any standard order. It uses all clusters that touch origin unitcell, including translationally equivalent clusters. Respects translational properties of local orbits, so can be used when translational type is unknown.
orbit | an PrimPeriodicOrbit<IntegralCluster> |
result | an OutputIterator for UnitCellCoord |
This simply outputs all UnitCellCoord for clusters that include the origin UnitCell, without any standard order. It uses all clusters that touch origin unitcell, including translationally equivalent clusters.
Definition at line 764 of file ClusterOrbits_impl.hh.
OrbitGenerators< OrbitType > & CASM::insert_subcluster_generators | ( | typename OrbitType::Element | cluster, |
OrbitGenerators< OrbitType > & | generators | ||
) |
Given a cluster, generate all subcluster generators.
cluster | A cluster to generate subclusters of |
generators | An OrbitGeneratorSet<OrbitType>& to store generating elements for subclusters of cluster |
stutus | Stream for status messages |
Uses SymCompareType::compare to find unique generating elements
Definition at line 250 of file ClusterOrbits_impl.hh.
OutputIterator CASM::local_neighborhood | ( | ClusterOrbitIterator | begin, |
ClusterOrbitIterator | end, | ||
OutputIterator | result | ||
) |
Iterate over all sites in all orbits and insert a UnitCellCoord.
begin,end | Range of Orbit<IntegralCluster> |
result | an OutputIterator for UnitCellCoord |
This simply outputs all UnitCellCoord in all equivalent clusters of each orbit
Definition at line 178 of file ClusterOrbits_impl.hh.
OutputIterator CASM::local_orbit_neighborhood | ( | const OrbitType & | orbit, |
OutputIterator | result | ||
) |
Iterate over all sites in an orbit and insert a UnitCellCoord.
orbit | an Orbit<IntegralCluster> |
result | an OutputIterator for UnitCellCoord |
This simply outputs all UnitCellCoord in all equivalent clusters
Definition at line 157 of file ClusterOrbits_impl.hh.
OrbitOutputIterator CASM::make_next_orbitbranch | ( | OrbitInputIterator | begin, |
OrbitInputIterator | end, | ||
const OrbitBranchSpecs< OrbitType > & | specs, | ||
OrbitOutputIterator | result, | ||
std::ostream & | status | ||
) |
Use orbits of size n to generate orbits of size n+1.
begin,end | A range of input orbits of size n |
specs | OrbitBranchSpecs for orbits of size n+1 |
result | An output iterator for orbits of IntegralCluster |
stutus | Stream for status messages |
Construct an OrbitGenerators object to collect orbit generating elements
Use OrbitBranchSpecs to insert orbit generating elements for the next orbitbranch
Generate orbits from the orbit generating elements
Construct an OrbitGenerators object to collect orbit generating elements
Use OrbitBranchSpecs to insert orbit generating elements for the next orbitbranch
Generate orbits from the orbit generating elements
Definition at line 453 of file ClusterOrbits_impl.hh.
OutputIterator CASM::neighborhood | ( | IntegralCluster const & | phenomenal, |
double | cutoff_radius, | ||
SiteFilterFunction | site_filter, | ||
bool | include_phenomenal_sites, | ||
OutputIterator | result, | ||
double | xtal_tol | ||
) |
Output the neighborhood of sites within cutoff_radius of any sites in the phenomenal.
phenomenal | IntegralCluster |
cutoff_radius | The neighborhood distance cutoff |
site_filter | A filter function that returns true for UnitCellCoord that should be considered for the neighborhood |
result | Output iterator for container of UnitCellCoord |
xtal_tol | Crystallography tolerance used to contstruct UnitCellCoord |
lattice scaling
lattice scaling
Definition at line 83 of file ClusterOrbits_impl.hh.
OutputIterator CASM::neighborhood | ( | Structure const & | unit, |
double | max_radius, | ||
SiteFilterFunction | site_filter, | ||
OutputIterator | result, | ||
double | xtal_tol | ||
) |
Output the neighborhood of UnitCellCoord within max_radius of any sites in unit cell.
Output the neighborhood of UnitCellCoord within max_radius of any site in unit cell.
unit | The unit cell Structure |
max_radius | The neighborhood distance cutoff |
site_filter | A filter function that returns true for CoordType that should be considered for the neighborhood |
result | Output iterator for container of UnitCellCoord |
xtal_tol | Crystallography tolerance used to contstruct UnitCellCoord from CoordType |
Definition at line 38 of file ClusterOrbits_impl.hh.
OutputIterator CASM::prim_periodic_neighborhood | ( | ClusterOrbitIterator | begin, |
ClusterOrbitIterator | end, | ||
OutputIterator | result | ||
) |
Iterate over all sites in all orbits and insert a UnitCellCoord.
begin,end | Range of PrimPeriodicOrbit<IntegralCluster> |
result | an OutputIterator for UnitCellCoord |
This simply outputs all UnitCellCoord for clusters that include the origin UnitCell, without any standard order. It uses all clusters that touch origin unitcell, including translationally equivalent clusters.
begin,end | Range of Orbit<IntegralCluster> |
result | an OutputIterator for UnitCellCoord |
This simply outputs all UnitCellCoord for clusters that include the origin UnitCell, without any standard order. It uses all clusters that touch origin unitcell, including translationally equivalent clusters.
Definition at line 740 of file ClusterOrbits_impl.hh.
OutputIterator CASM::prim_periodic_orbit_neighborhood | ( | const PrimPeriodicOrbit< IntegralCluster > & | orbit, |
OutputIterator | result | ||
) |
Iterate over all sites in an orbit and insert a UnitCellCoord.
orbit | an Orbit<IntegralCluster> |
result | an OutputIterator for UnitCellCoord |
This simply outputs all UnitCellCoord for clusters that include the origin UnitCell, without any standard order. It uses all clusters that touch origin unitcell, including translationally equivalent clusters.
Definition at line 709 of file ClusterOrbits_impl.hh.