5#ifndef OILAB_GBMESOSTATE_H
6#define OILAB_GBMESOSTATE_H
12#include "../Math/PeriodicFunction.h"
59 static std::map<OrderedTuplet<dim + 1>,
VectorDimD>
69 static std::array<Eigen::Index, dim - 1>
122 std::tuple<double, double, PeriodicFunction<double, dim>>
124 const std::string &potentialName,
bool relax,
125 const std::array<Eigen::Index, dim> &
n =
126 std::array<Eigen::Index, dim>{})
const;
132 typename std::enable_if<dim == 3, void>::type
133 box(
const std::string &filename)
const;
std::array< Eigen::Index, dim-1 > n
const ReciprocalLatticeVector< dim > & axis
static std::map< OrderedTuplet< dim+1 >, VectorDimD > get_xuPairs(const Gb< dim > &gb, const std::vector< LatticeVector< dim > > &mesoStateCslVectors, const std::deque< std::tuple< LatticeVector< dim >, VectorDimD, int > > &bs)
Returns the displacement constraints for the GB continuum model from the translation-shift pairs def...
std::enable_if< dim==3, void >::type box(const std::string &filename) const
std::vector< LatticeVector< dim > > BicrystalLatticeVectors
static std::array< Eigen::Index, dim - 1 > discretize(const std::vector< LatticeVector< dim > > &mesoStateCslVectors, const Gb< dim > &gb)
Returns the discretization of the grain boundary domain.
std::pair< double, double > densityEnergyPython() const
const std::vector< LatticeVector< dim > > & mesoStateCslVectors
const BicrystalLatticeVectors & bicrystalConfig
static std::map< OrderedTuplet< dim+1 >, VectorDimD > bicrystalCoordsMap(const Gb< dim > &gb, const BicrystalLatticeVectors &bicrystalConfig)
Returns the Cartesian coordinates of the lattice vectors of the mesostates's bicrystal in the form of...
typename LatticeCore< dim >::VectorDimD VectorDimD
static Eigen::Matrix< double, dim, dim - 1 > getMesoStateGbDomain(const std::vector< LatticeVector< dim > > &mesoStateCslVectors)
Returns the cartesian coordinates of the CSL vectors that define a mesostate's GB.
const std::deque< std::tuple< LatticeVector< dim >, VectorDimD, int > > bs
std::tuple< double, double, PeriodicFunction< double, dim > > densityEnergy(const std::string &lmpLocation, const std::string &potentialName, bool relax, const std::array< Eigen::Index, dim > &n=std::array< Eigen::Index, dim >{}) const
Calculate the energy of a mesostate using lammps.
Eigen::Matrix< double, dim, 1 > VectorDimD