Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::FreeSpaceMetric< Scalar > Class Template Reference

Non-periodic (open-boundary) metric. All operations are identities.

#include <periodicity.hpp>

Inheritance diagram for mundy::FreeSpaceMetric< Scalar >:
[legend]

Public Types

Type aliases
using value_type = Scalar
using OurVector3 = Vector3<Scalar>
using OurMatrix3 = Matrix3<Scalar>
using OurPoint = Point<Scalar>

Public Member Functions

Metric operations
template<ValidPointType PointT>
constexpr OurPoint to_fractional (const PointT &p) const
template<ValidPointType PointT>
constexpr OurPoint from_fractional (const PointT &p) const
template<ValidVector3Type Vector3T>
constexpr OurVector3 frac_minimum_image (const Vector3T &fv) const
template<ValidVector3Type Vector3T>
constexpr OurVector3 frac_wrap_to_unit_cell (const Vector3T &fv) const
template<ValidPointType PointT1, ValidPointType PointT2>
constexpr OurVector3 sep (const PointT1 &p1, const PointT2 &p2) const
template<ValidPointType PointT>
constexpr OurPoint wrap (const PointT &p) const
constexpr OurMatrix3 direct_lattice_vectors () const
 Returns the identity matrix by convention; FreeSpaceMetric has no physical lattice.
template<ValidPointType PointT, typename Integer>
constexpr OurPoint shift_image (const PointT &p, const Vector3< Integer > &) const

Periodicity queries

template<unsigned dim>
static constexpr bool is_periodic ()
constexpr bool is_periodic (unsigned) const
constexpr unsigned num_periodic_dimensions () const

Member Typedef Documentation

◆ value_type

template<typename Scalar>
using mundy::FreeSpaceMetric< Scalar >::value_type = Scalar

◆ OurVector3

template<typename Scalar>
using mundy::FreeSpaceMetric< Scalar >::OurVector3 = Vector3<Scalar>

◆ OurMatrix3

template<typename Scalar>
using mundy::FreeSpaceMetric< Scalar >::OurMatrix3 = Matrix3<Scalar>

◆ OurPoint

template<typename Scalar>
using mundy::FreeSpaceMetric< Scalar >::OurPoint = Point<Scalar>

Member Function Documentation

◆ is_periodic() [1/2]

template<typename Scalar>
template<unsigned dim>
constexpr bool mundy::FreeSpaceMetric< Scalar >::is_periodic ( )
inlinestaticconstexpr

◆ is_periodic() [2/2]

template<typename Scalar>
bool mundy::FreeSpaceMetric< Scalar >::is_periodic ( unsigned ) const
inlineconstexpr

◆ num_periodic_dimensions()

template<typename Scalar>
unsigned mundy::FreeSpaceMetric< Scalar >::num_periodic_dimensions ( ) const
inlineconstexpr

◆ to_fractional()

template<typename Scalar>
template<ValidPointType PointT>
OurPoint mundy::FreeSpaceMetric< Scalar >::to_fractional ( const PointT & p) const
inlineconstexpr

◆ from_fractional()

template<typename Scalar>
template<ValidPointType PointT>
OurPoint mundy::FreeSpaceMetric< Scalar >::from_fractional ( const PointT & p) const
inlineconstexpr

◆ frac_minimum_image()

template<typename Scalar>
template<ValidVector3Type Vector3T>
OurVector3 mundy::FreeSpaceMetric< Scalar >::frac_minimum_image ( const Vector3T & fv) const
inlineconstexpr

◆ frac_wrap_to_unit_cell()

template<typename Scalar>
template<ValidVector3Type Vector3T>
OurVector3 mundy::FreeSpaceMetric< Scalar >::frac_wrap_to_unit_cell ( const Vector3T & fv) const
inlineconstexpr

◆ sep()

template<typename Scalar>
template<ValidPointType PointT1, ValidPointType PointT2>
OurVector3 mundy::FreeSpaceMetric< Scalar >::sep ( const PointT1 & p1,
const PointT2 & p2 ) const
inlineconstexpr

◆ wrap()

template<typename Scalar>
template<ValidPointType PointT>
OurPoint mundy::FreeSpaceMetric< Scalar >::wrap ( const PointT & p) const
inlineconstexpr

◆ direct_lattice_vectors()

template<typename Scalar>
OurMatrix3 mundy::FreeSpaceMetric< Scalar >::direct_lattice_vectors ( ) const
inlineconstexpr

◆ shift_image()

template<typename Scalar>
template<ValidPointType PointT, typename Integer>
OurPoint mundy::FreeSpaceMetric< Scalar >::shift_image ( const PointT & p,
const Vector3< Integer > &  ) const
inlineconstexpr