5#ifndef OILAB_GBMESOSTATES_H
6#define OILAB_GBMESOSTATES_H
12#include "../MonteCarlo/Ensemble.h"
22 public Ensemble<XTuplet, GbMesoState<dim>, GbMesoStateEnsemble<dim>> {
43 static std::deque<std::tuple<LatticeVector<dim>,
VectorDimD,
int>>
62 const double &bhalfMax);
69 std::map<Constraints, GbMesoState<dim>>
86 const bool &randomize =
false)
const;
BicrystalLatticeVectors bicrystalConfig
static std::deque< Constraints > enumerateConstraints(const GbShifts< dim > &gbs)
Constraints initializeState() const
std::vector< LatticeVector< dim > > ensembleCslVectors
typename LatticeCore< dim >::VectorDimD VectorDimD
Constraints sampleNewState(const Constraints ¤tConstraints, const bool &randomize=false) const
GbMesoState< dim > constructMesoState(const Constraints &constraints) const
Evove mesostates using a Monte Carlo algorithm.
std::vector< LatticeVector< dim > > BicrystalLatticeVectors
static std::deque< std::tuple< LatticeVector< dim >, VectorDimD, int > > bsPairsFromConstraints(const std::vector< std::pair< LatticeVector< dim >, VectorDimD > > &bShiftPairs, const Constraints &constraints)
static BicrystalLatticeVectors getBicrystalConfig(const GbShifts< dim > &gbs, std::vector< LatticeVector< dim > > &ensembleCslVectors)
Constructs bicrystalConfig and ensembleCslVectors.
std::map< Constraints, GbMesoState< dim > > collectMesoStates(const std::string &filename="") const
Constructs an ensemble of mesostates.
std::vector< std::pair< LatticeVector< dim >, VectorDimD > > bShiftPairs
const ReciprocalLatticeVector< dim > & axis
Eigen::Matrix< double, dim, 1 > VectorDimD