5#ifndef OILAB_GBPLASTICITY_H
6#define OILAB_GBPLASTICITY_H
20 Eigen::Vector<double, Eigen::Dynamic>
normal;
23 double operator()(
const Eigen::Vector<double, Eigen::Dynamic> &x)
const;
28 Eigen::Vector<double, Eigen::Dynamic>
x,
normal;
31 std::complex<double>
operator()(
const Eigen::VectorXd& xi)
const;
37 const Eigen::VectorXd
e1,
e3;
40 explicit HhatInvFunction(
const int&
t,
const int&
i,
const Eigen::MatrixXd& domain);
41 std::complex<double>
operator()(
const Eigen::VectorXd& xi)
const;
48 std::vector<LatticeFunction<std::complex<double>,dim-1>>>;
65 const std::array<Eigen::Index,dim-1>&
n,
68 const std::array<Eigen::Index,dim-1>&
n);
70 const std::array<Eigen::Index,dim-1>&
n,
73 const std::array<Eigen::Index,dim-1>&
n,
79 const Eigen::Matrix<double,dim,dim-1>
gbDomain;
81 std::array<Eigen::Index,dim-1>
n;
84 std::vector<LatticeFunction<std::complex<double>,dim-1>>
bhat;
90 GbContinuum(
const Eigen::Matrix<double, dim,dim-1>& domain,
92 const std::array<Eigen::Index,dim-1>&
n,
94 const bool& verbosity=
false);
double operator()(const Eigen::Vector< double, Eigen::Dynamic > &x) const
Eigen::Vector< double, Eigen::Dynamic > normal
typename std::vector< LatticeFunction< std::complex< double >, dim-1 > > GbLatticeFunctions
VectorDimD displacement(const OrderedTuplet< dim+1 > &x) const
std::vector< LatticeFunction< std::complex< double >, dim-1 > > bhat
typename std::pair< std::vector< PeriodicFunction< double, dim-1 > >, std::vector< LatticeFunction< std::complex< double >, dim-1 > > > FunctionFFTPair
static thread_local std::map< OrderedTuplet< dim+1 >, PeriodicFunction< double, dim - 1 > > piPeriodicFunctions
static PeriodicFunction< double, dim-1 > get_pi(const Eigen::Matrix< double, dim, dim-1 > &domain, const std::array< Eigen::Index, dim-1 > &n, const VectorDimD &point)
static thread_local std::map< OrderedTuplet< dim+1 >, LatticeFunction< std::complex< double >, dim - 1 > > pihatLatticeFunctions
std::map< OrderedTuplet< dim+1 >, VectorDimD > atoms
static GbLatticeFunctions getHhatInvComponents(const Eigen::Matrix< double, dim, dim-1 > &domain, const std::array< Eigen::Index, dim-1 > &n)
std::vector< PeriodicFunction< double, dim-1 > > get_b() const
std::array< Eigen::Index, dim-1 > n
typename LatticeCore< dim >::VectorDimD VectorDimD
static LatticeFunction< std::complex< double >, dim-1 > get_pihat(const Eigen::Matrix< double, dim, dim-1 > &domain, const std::array< Eigen::Index, dim-1 > &n, const VectorDimD &point)
static thread_local GbLatticeFunctions HhatInvComponents
std::vector< PeriodicFunction< double, dim-1 > > b
const std::map< OrderedTuplet< dim+1 >, VectorDimD > xuPairs
static FunctionFFTPair calculateb(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 > &points)
const Eigen::Matrix< double, dim, dim-1 > gbDomain
std::vector< PeriodicFunction< double, dim-1 > > get_alpha() const
std::complex< double > operator()(const Eigen::VectorXd &xi) const
Eigen::Vector< double, Eigen::Dynamic > normal
std::complex< double > operator()(const Eigen::VectorXd &xi) const
Eigen::Vector< double, Eigen::Dynamic > x
Eigen::Matrix< double, dim, 1 > VectorDimD