oILAB
Loading...
Searching...
No Matches
gbLAB::GbContinuum< dim > Class Template Reference

#include <GbContinuum.h>

+ Inheritance diagram for gbLAB::GbContinuum< dim >:

Public Member Functions

 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
 

Static Public Member Functions

static void reset ()
 

Data Fields

const Eigen::Matrix< double, dim, dim-1 > gbDomain
 
const std::map< OrderedTuplet< dim+1 >, VectorDimDxuPairs
 
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 >, VectorDimDatoms
 
VectorDimD uAverage
 
double energy
 

Private Types

using VectorDimD = typename LatticeCore< dim >::VectorDimD
 
using FunctionFFTPair = typename std::pair< std::vector< PeriodicFunction< double, dim-1 > >, std::vector< LatticeFunction< std::complex< double >, dim-1 > > >
 
using GbLatticeFunctions = typename std::vector< LatticeFunction< std::complex< double >, dim-1 > >
 

Static Private Member Functions

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)
 
static GbLatticeFunctions getHhatInvComponents (const Eigen::Matrix< double, dim, dim-1 > &domain, const std::array< Eigen::Index, dim-1 > &n)
 
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 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)
 

Private Attributes

FunctionFFTPair bbhat
 

Static Private Attributes

static thread_local GbLatticeFunctions HhatInvComponents
 
static thread_local std::map< OrderedTuplet< dim+1 >, PeriodicFunction< double, dim - 1 > > piPeriodicFunctions
 
static thread_local std::map< OrderedTuplet< dim+1 >, LatticeFunction< std::complex< double >, dim - 1 > > pihatLatticeFunctions
 

Detailed Description

template<int dim>
class gbLAB::GbContinuum< dim >

Definition at line 45 of file GbContinuum.h.

Member Typedef Documentation

◆ FunctionFFTPair

template<int dim>
using gbLAB::GbContinuum< dim >::FunctionFFTPair = typename std::pair<std::vector<PeriodicFunction<double,dim-1> >, std::vector<LatticeFunction<std::complex<double>,dim-1> >>
private

Definition at line 47 of file GbContinuum.h.

◆ GbLatticeFunctions

template<int dim>
using gbLAB::GbContinuum< dim >::GbLatticeFunctions = typename std::vector<LatticeFunction<std::complex<double>,dim-1> >
private

Definition at line 49 of file GbContinuum.h.

◆ VectorDimD

template<int dim>
using gbLAB::GbContinuum< dim >::VectorDimD = typename LatticeCore<dim>::VectorDimD
private

Definition at line 46 of file GbContinuum.h.

Constructor & Destructor Documentation

◆ GbContinuum()

template<int dim>
gbLAB::GbContinuum< dim >::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 
)

Definition at line 13 of file GbContinuumImplementation.h.

Member Function Documentation

◆ calculateb()

template<int dim>
GbContinuum< dim >::FunctionFFTPair gbLAB::GbContinuum< dim >::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 
)
staticprivate

Definition at line 150 of file GbContinuumImplementation.h.

◆ displacement() [1/2]

template<int dim>
GbContinuum< dim >::VectorDimD gbLAB::GbContinuum< dim >::displacement ( const OrderedTuplet< dim+1 > &  x) const

Definition at line 347 of file GbContinuumImplementation.h.

◆ displacement() [2/2]

template<int dim>
GbContinuum< dim >::VectorDimD gbLAB::GbContinuum< dim >::displacement ( const VectorDimD x) const

Definition at line 361 of file GbContinuumImplementation.h.

◆ get_alpha()

template<int dim>
std::vector< PeriodicFunction< double, dim-1 > > gbLAB::GbContinuum< dim >::get_alpha ( ) const

Output GB dislocation density tensor: \(\alpha_{11}\), \(\alpha_{12}\), \(\alpha_{21}\), \(\alpha_{22}\), \(\alpha_{31}\), \(\alpha_{32}\) described w.r.t a local coordinate system x: GB period vector; y: axis vector; z: GB normal

Definition at line 49 of file GbContinuumImplementation.h.

◆ get_b()

template<int dim>
std::vector< PeriodicFunction< double, dim-1 > > gbLAB::GbContinuum< dim >::get_b ( ) const

Output the displacement jump vector: described w.r.t a local coordinate system x: GB period vector; y: axis vector; z: GB normal

Definition at line 85 of file GbContinuumImplementation.h.

◆ get_pi()

template<int dim>
PeriodicFunction< double, dim-1 > gbLAB::GbContinuum< dim >::get_pi ( const Eigen::Matrix< double, dim, dim-1 > &  domain,
const std::array< Eigen::Index, dim-1 > &  n,
const VectorDimD point 
)
staticprivate

Definition at line 115 of file GbContinuumImplementation.h.

◆ get_pihat()

template<int dim>
LatticeFunction< std::complex< double >, dim-1 > gbLAB::GbContinuum< dim >::get_pihat ( const Eigen::Matrix< double, dim, dim-1 > &  domain,
const std::array< Eigen::Index, dim-1 > &  n,
const VectorDimD point 
)
staticprivate

Definition at line 133 of file GbContinuumImplementation.h.

◆ getHhatInvComponents()

template<int dim>
std::vector< LatticeFunction< std::complex< double >, dim-1 > > gbLAB::GbContinuum< dim >::getHhatInvComponents ( const Eigen::Matrix< double, dim, dim-1 > &  domain,
const std::array< Eigen::Index, dim-1 > &  n 
)
staticprivate

Definition at line 387 of file GbContinuumImplementation.h.

◆ reset()

template<int dim>
static void gbLAB::GbContinuum< dim >::reset ( )
inlinestatic

Definition at line 114 of file GbContinuum.h.

Field Documentation

◆ atoms

template<int dim>
std::map<OrderedTuplet<dim+1>,VectorDimD> gbLAB::GbContinuum< dim >::atoms

Definition at line 85 of file GbContinuum.h.

◆ b

template<int dim>
std::vector<PeriodicFunction<double,dim-1> > gbLAB::GbContinuum< dim >::b

Definition at line 82 of file GbContinuum.h.

◆ bbhat

template<int dim>
FunctionFFTPair gbLAB::GbContinuum< dim >::bbhat
private

Definition at line 62 of file GbContinuum.h.

◆ bhat

template<int dim>
std::vector<LatticeFunction<std::complex<double>,dim-1> > gbLAB::GbContinuum< dim >::bhat

Definition at line 84 of file GbContinuum.h.

◆ energy

template<int dim>
double gbLAB::GbContinuum< dim >::energy

Definition at line 88 of file GbContinuum.h.

◆ gbDomain

template<int dim>
const Eigen::Matrix<double,dim,dim-1> gbLAB::GbContinuum< dim >::gbDomain

Definition at line 79 of file GbContinuum.h.

◆ HhatInvComponents

template<int dim>
thread_local std::vector< LatticeFunction< std::complex< double >, dim-1 > > gbLAB::GbContinuum< dim >::HhatInvComponents
staticprivate

Definition at line 53 of file GbContinuum.h.

◆ n

template<int dim>
std::array<Eigen::Index,dim-1> gbLAB::GbContinuum< dim >::n

Definition at line 81 of file GbContinuum.h.

◆ pihatLatticeFunctions

template<int dim>
thread_local std::map< OrderedTuplet< dim+1 >, LatticeFunction< std::complex< double >, dim - 1 > > gbLAB::GbContinuum< dim >::pihatLatticeFunctions
staticprivate

Definition at line 56 of file GbContinuum.h.

◆ piPeriodicFunctions

template<int dim>
thread_local std::map< OrderedTuplet< dim+1 >, PeriodicFunction< double, dim - 1 > > gbLAB::GbContinuum< dim >::piPeriodicFunctions
staticprivate

Definition at line 55 of file GbContinuum.h.

◆ uAverage

template<int dim>
VectorDimD gbLAB::GbContinuum< dim >::uAverage

Definition at line 86 of file GbContinuum.h.

◆ xuPairs

template<int dim>
const std::map<OrderedTuplet<dim+1>,VectorDimD> gbLAB::GbContinuum< dim >::xuPairs

Definition at line 80 of file GbContinuum.h.


The documentation for this class was generated from the following files: