oILAB
|
#include <GbMesoState.h>
Public Member Functions | |
GbMesoState (const Gb< dim > &gb, const ReciprocalLatticeVector< dim > &axis, const std::deque< std::tuple< LatticeVector< dim >, VectorDimD, int > > &bs, const std::vector< LatticeVector< dim > > &mesoStateCslVectors, const BicrystalLatticeVectors &bicrystalConfig) | |
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. | |
std::pair< double, double > | densityEnergyPython () const |
std::enable_if< dim==3, void >::type | box (const std::string &filename) const |
![]() | |
GbContinuum (const Eigen::Matrix< double, dim, dim-1 > &domain, const std::map< OrderedTuplet< dim+1 >, VectorDimD > &xuPairs, const std::array< Eigen::Index, dim-1 > &n, const std::map< OrderedTuplet< dim+1 >, VectorDimD > &atoms, const bool &verbosity=false) | |
VectorDimD | displacement (const OrderedTuplet< dim+1 > &x) const |
VectorDimD | displacement (const VectorDimD &x) const |
std::vector< PeriodicFunction< double, dim-1 > > | get_b () const |
std::vector< PeriodicFunction< double, dim-1 > > | get_alpha () const |
Data Fields | |
const Gb< dim > & | gb |
const ReciprocalLatticeVector< dim > & | axis |
const std::vector< LatticeVector< dim > > & | mesoStateCslVectors |
const BicrystalLatticeVectors & | bicrystalConfig |
const std::deque< std::tuple< LatticeVector< dim >, VectorDimD, int > > | bs |
![]() | |
const Eigen::Matrix< double, dim, dim-1 > | gbDomain |
const std::map< OrderedTuplet< dim+1 >, VectorDimD > | xuPairs |
std::array< Eigen::Index, dim-1 > | n |
std::vector< PeriodicFunction< double, dim-1 > > | b |
std::vector< LatticeFunction< std::complex< double >, dim-1 > > | bhat |
std::map< OrderedTuplet< dim+1 >, VectorDimD > | atoms |
VectorDimD | uAverage |
double | energy |
Private Types | |
using | VectorDimD = typename LatticeCore< dim >::VectorDimD |
using | BicrystalLatticeVectors = std::vector< LatticeVector< dim > > |
Static Private Member Functions | |
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. | |
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 \(\textbf u(\textbf x^i)=\textbf u^i\) for the GB continuum model from the translation-shift pairs defining the mesostate. | |
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 a map that maps the DSCL integer coordinates to the Cartesian coordinates. | |
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. | |
Additional Inherited Members | |
![]() | |
static void | reset () |
Class template that defines a GB mesostate.
Definition at line 20 of file GbMesoState.h.
|
private |
Definition at line 22 of file GbMesoState.h.
|
private |
Definition at line 21 of file GbMesoState.h.
|
explicit |
Definition at line 15 of file GbMesoStateImplementation.h.
|
staticprivate |
Returns the Cartesian coordinates of the lattice vectors of the mesostates's bicrystal in the form of a map that maps the DSCL integer coordinates to the Cartesian coordinates.
bicrystalConfig | - a vector of lattice vectors in the mesostates' bicrystal. |
Definition at line 146 of file GbMesoStateImplementation.h.
std::enable_if< dim==3, void >::type gbLAB::GbMesoState< dim >::box | ( | const std::string & | filename | ) | const |
This function outputs/prints a grain boundary mesostate
filename | name of the file to be written to |
Definition at line 248 of file GbMesoStateImplementation.h.
std::tuple< double, double, PeriodicFunction< double, dim > > gbLAB::GbMesoState< 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.
ms | - mesostate |
Definition at line 173 of file GbMesoStateImplementation.h.
std::pair< double, double > gbLAB::GbMesoState< dim >::densityEnergyPython | ( | ) | const |
Definition at line 210 of file GbMesoStateImplementation.h.
|
staticprivate |
Returns the discretization of the grain boundary domain.
mesoStateCslVectors | - a vector (size = dim ) of CSL vectors that define the box of the mesostate. |
dim-1
Definition at line 134 of file GbMesoStateImplementation.h.
|
staticprivate |
Returns the displacement constraints \(\textbf u(\textbf x^i)=\textbf u^i\) for the GB continuum model from the translation-shift pairs defining the mesostate.
gb | - grain boundary |
bs | - a deque of pairs (translation vector b , shift vector s ). b is a DSCL vector while s is expressed in Cartesian coordinates |
Definition at line 55 of file GbMesoStateImplementation.h.
|
staticprivate |
Returns the cartesian coordinates of the CSL vectors that define a mesostate's GB.
mesoStateCslVectors | - a vector (size = dim ) of CSL vectors that define the box of the mesostate. |
dim-1
grain boundary CSL vectors Definition at line 45 of file GbMesoStateImplementation.h.
const ReciprocalLatticeVector<dim>& gbLAB::GbMesoState< dim >::axis |
Grain boundary tilt axis
Definition at line 70 of file GbMesoState.h.
const BicrystalLatticeVectors& gbLAB::GbMesoState< dim >::bicrystalConfig |
Lattice vectors of lattices \(\mathcal A\) and \(\mathcal B\) that are contained in the box described by mesoStateCslVectors. They are used to construct a function basis for the continuum solution.
Definition at line 83 of file GbMesoState.h.
const std::deque<std::tuple<LatticeVector<dim>, VectorDimD,int> > gbLAB::GbMesoState< dim >::bs |
bs | a deque of pairs (translation vector \(\textbf b\), shift vector \(\textbf s\)) that defines a mesostate. Translating lattice \(\mathcal A\) by \(\textbf b\) results in a CSL shift of \(\textbf s\). |
Definition at line 90 of file GbMesoState.h.
const Gb<dim>& gbLAB::GbMesoState< dim >::gb |
Grain boundary
Definition at line 65 of file GbMesoState.h.
const std::vector<LatticeVector<dim> >& gbLAB::GbMesoState< dim >::mesoStateCslVectors |
A vector (size = dim
) of CSL vectors that define the box of the mesostate. The second and third vectors should be parallel to the grain boundary, while the third vector should be out of the grain boundary plane.
Definition at line 77 of file GbMesoState.h.