NEML2 2.0.0
Loading...
Searching...
No Matches
CubicCrystal Class Reference

Specialized crystal geometry for cubic crystals. More...

Detailed Description

Specialized crystal geometry for cubic crystals.

#include <CubicCrystal.h>

Inheritance diagram for CubicCrystal:

Public Member Functions

 CubicCrystal (const OptionSet &options)
 Setup from parameter set.
 
- Public Member Functions inherited from CrystalGeometry
 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 Veccartesian_slip_directions () const
 Accessor for the slip directions.
 
const Veccartesian_slip_planes () const
 Accessor for the slip planes.
 
const Scalarburgers () const
 Accessor for the burgers vector.
 
const R2A () const
 Accessor for the full Schmid tensors.
 
const SR2M () const
 Accessor for the symmetric Schmid tensors.
 
const WR2W () const
 Accessor for the skew-symmetric Schmid tensors.
 
const R2symmetry_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 ()=delete
 
 NEML2Object (NEML2Object &&)=delete
 
 NEML2Object (const NEML2Object &)=delete
 
NEML2Objectoperator= (const NEML2Object &)=delete
 
NEML2Objectoperator= (NEML2Object &&)=delete
 
virtual ~NEML2Object ()=default
 
 NEML2Object (const OptionSet &options)
 Construct a new NEML2Object object.
 
const OptionSetinput_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 (OptionSet options, NEML2Object *object)
 
 BufferStore (const BufferStore &)=delete
 
 BufferStore (BufferStore &&)=delete
 
BufferStoreoperator= (const BufferStore &)=delete
 
BufferStoreoperator= (BufferStore &&)=delete
 
virtual ~BufferStore ()=default
 
const Storage< std::string, TensorValueBase > & named_buffers () const
 
Storage< std::string, TensorValueBase > & named_buffers ()
 
TensorValueBaseget_buffer (const std::string &name)
 }@
 
const TensorValueBaseget_buffer (const std::string &name) const
 Get a read-only reference of a buffer.
 

Static Public Member Functions

static OptionSet expected_options ()
 Input options.
 
- Static Public Member Functions inherited from CrystalGeometry
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 CrossRef< T > &crossref)
 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.
 

Constructor & Destructor Documentation

◆ CubicCrystal()

Setup from parameter set.

Member Function Documentation

◆ expected_options()

OptionSet expected_options ( )
static

Input options.