NEML2 1.4.0
|
Defines the geometry of a crystal system This includes a basic definition of the crystal lattice, via Bravais vectors and a CrystalClass object defining the crystal symmetry as well as the definition of the geometry of each slip system. More...
Defines the geometry of a crystal system This includes a basic definition of the crystal lattice, via Bravais vectors and a CrystalClass object defining the crystal symmetry as well as the definition of the geometry of each slip system.
#include <CrystalGeometry.h>
Public Member Functions | |
CrystalGeometry (const OptionSet &options) | |
Setup from parameter set. | |
CrystalGeometry (const OptionSet &options, const R2 &cclass, const Vec &lattice_vectors) | |
Alternate constructor not relying on options. | |
Vec | a1 () const |
accessor for the first lattice vector | |
Vec | a2 () const |
accessor for the second lattice vector | |
Vec | a3 () const |
accessor for the third lattice vector | |
Vec | b1 () const |
accessor for the first reciprocal lattice vector | |
Vec | b2 () const |
accessor for the second reciprocal lattice vector | |
Vec | b3 () const |
accessor for the third reciprocal lattice vector | |
Size | nslip () const |
Total number of slip systems. | |
Size | nslip_groups () const |
Number of slip groups. | |
Size | nslip_in_group (Size i) const |
Number of slip systems in a given group. | |
const Vec & | cartesian_slip_directions () const |
Accessor for the slip directions. | |
const Vec & | cartesian_slip_planes () const |
Accessor for the slip planes. | |
const Scalar & | burgers () const |
Accessor for the burgers vector. | |
const R2 & | A () const |
Accessor for the full Schmid tensors. | |
const SR2 & | M () const |
Accessor for the symmetric Schmid tensors. | |
const WR2 & | W () const |
Accessor for the skew-symmetric Schmid tensors. | |
const R2 & | symmetry_operators () const |
Accessor for the crystal class symmetry operators. | |
template<class Derived , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<Derived>, Derived>>> | |
Derived | slip_slice (const Derived &tensor, Size grp) const |
Slice a Tensor to provide only the batch associated with a slip system. | |
Public Member Functions inherited from Data | |
Data (const OptionSet &options) | |
Construct a new Data object. | |
const std::vector< Data * > & | registered_data () const |
All the registered data objects. | |
Public Member Functions inherited from NEML2Object | |
NEML2Object (const OptionSet &options) | |
Construct a new NEML2Object object. | |
virtual | ~NEML2Object ()=default |
const OptionSet & | input_options () const |
virtual void | setup () |
Setup this object. | |
const std::string & | name () const |
A readonly reference to the object's name. | |
const std::string & | type () const |
A readonly reference to the object's type. | |
const std::string & | path () const |
A readonly reference to the object's path. | |
const std::string & | doc () const |
A readonly reference to the object's docstring. | |
template<typename T = NEML2Object> | |
const T * | host () const |
Get a readonly pointer to the host. | |
template<typename T = NEML2Object> | |
T * | host () |
Get a writable pointer to the host. | |
Public Member Functions inherited from BufferStore | |
BufferStore (const OptionSet &options, NEML2Object *object) | |
const Storage< std::string, TensorValueBase > & | named_buffers () const |
Storage< std::string, TensorValueBase > & | named_buffers () |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> | |
TensorValue< T > & | get_buffer (const std::string &name) |
}@ | |
Static Public Member Functions | |
static OptionSet | expected_options () |
Input options. | |
Static Public Member Functions inherited from Data | |
static OptionSet | expected_options () |
Static Public Member Functions inherited from NEML2Object | |
static OptionSet | expected_options () |
Additional Inherited Members | |
Protected Member Functions inherited from Data | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<Data, T>>> | |
T & | register_data (const std::string &name) |
Protected Member Functions inherited from BufferStore | |
virtual void | send_buffers_to (const torch::TensorOptions &options) |
Send all buffers to options . | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> | |
const T & | declare_buffer (const std::string &name, const T &rawval) |
Declare a buffer. | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> | |
const T & | declare_buffer (const std::string &name, const std::string &input_option_name) |
Declare a buffer. | |
Protected Attributes inherited from Data | |
std::vector< Data * > | _registered_data |
Registered Data objects. | |
CrystalGeometry | ( | const OptionSet & | options | ) |
Setup from parameter set.
Alternate constructor not relying on options.
Vec a1 | ( | ) | const |
accessor for the first lattice vector
Vec a2 | ( | ) | const |
accessor for the second lattice vector
Vec a3 | ( | ) | const |
accessor for the third lattice vector
Vec b1 | ( | ) | const |
accessor for the first reciprocal lattice vector
Vec b2 | ( | ) | const |
accessor for the second reciprocal lattice vector
Vec b3 | ( | ) | const |
accessor for the third reciprocal lattice vector
|
static |
Input options.
Size nslip | ( | ) | const |
Total number of slip systems.
Size nslip_groups | ( | ) | const |
Number of slip groups.
Slice a Tensor to provide only the batch associated with a slip system.