7#ifndef model_LatticeVector_cpp_
8#define model_LatticeVector_cpp_
10#include<LatticeModule.h>
17 typename LatticeVectorBase<dim>::BaseType& LatticeVectorBase<dim>::base()
24 const typename LatticeVectorBase<dim>::BaseType& LatticeVectorBase<dim>::base()
const
45 BaseType(
LatticeCore<dim>::integerCoordinates(d,lat.reciprocalBasis.transpose())),
56 assert(&
lattice == &other.
lattice &&
"LatticeVectors belong to different Lattices.");
57 base() = other.base();
65 assert(&
lattice == &other.lattice &&
"LatticeVectors belong to different Lattices.");
66 base() = other.base();
74 assert(&
lattice == &other.
lattice &&
"LatticeVectors belong to different Lattices.");
82 assert(&
lattice == &other.
lattice &&
"LatticeVectors belong to different Lattices.");
83 base() += other.base();
91 assert(&
lattice == &other.
lattice &&
"LatticeVectors belong to different Lattices.");
99 assert(&
lattice == &other.
lattice &&
"LatticeVectors belong to different Lattices.");
100 base() -= other.base();
108 assert(&
lattice == &other.
lattice &&
"LatticeVectors belong to different Lattices.");
116 return lattice.latticeBasis * this->
template cast<double>();
127 LatticeVectorBase<dim>(lat)
134LatticeVector<dim>::LatticeVector(
const VectorDimD &d,
135 const Lattice<dim> &lat) :
136 LatticeVectorBase<
dim>(d,lat)
159 assert(&
lattice == &other.
lattice &&
"LatticeVectors belong to different Lattices.");
LatticeVector(const Lattice< 3 > &lat)
LatticeCore< 3 >::VectorDimD VectorDimD
LatticeCore< 3 >::VectorDimI VectorDimI
LatticeVectorBase(const Lattice< dim > &lat)
LatticeVectorBase< dim > operator+(const LatticeVectorBase< dim > &other) const
const Lattice< dim > & lattice
LatticeVectorBase< dim > & operator-=(const LatticeVectorBase< dim > &other)
LatticeCore< dim >::VectorDimI VectorDimI
LatticeVectorBase< dim > & operator=(const LatticeVectorBase< dim > &other)
LatticeCore< dim >::VectorDimD VectorDimD
LatticeVectorBase< dim > & operator+=(const LatticeVectorBase< dim > &other)
LatticeVectorBase< dim > operator-(const LatticeVectorBase< dim > &other) const
IntScalarType dot(const ReciprocalLatticeVectorBase< dim > &other) const
LatticeCore< dim >::IntScalarType IntScalarType
VectorDimD cartesian() const
const LatticeType & lattice
LatticeVector(const LatticeType &lat)
ReciprocalLatticeDirectionType cross(const LatticeVectorType &other) const
const Lattice< dim > & lattice
auto operator*(const std::shared_ptr< BilinearForm< T1, T2 > > &f, const IntegrationDomain< FE, D, Q, Rule > &dom)