CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <BasisFunctionSpecs.hh>
Specify how to construct basis functions.
Definition at line 43 of file BasisFunctionSpecs.hh.
Public Types | |
typedef Index | MaxPolyOrder |
typedef Index | OrbitBranchSize |
Public Member Functions | |
BasisFunctionSpecs (std::vector< DoFKey > _dof_keys={}, std::vector< notstd::cloneable_ptr< DoFSpecs >> _dof_specs={}, MaxPolyOrder _global_max_poly_order=-1, std::map< OrbitBranchSize, MaxPolyOrder > _orbit_branch_max_poly_order={}, std::vector< Index > _include_functions={}, std::vector< Index > _exclude_functions={}, PARAM_PACK_TYPE _param_pack_type=PARAM_PACK_TYPE::DEFAULT) | |
Public Attributes | |
std::vector< DoFKey > | dof_keys |
Which DoF types to include in the basis functions. More... | |
std::vector< notstd::cloneable_ptr< DoFSpecs > > | dof_specs |
Provides DoF-particular specifications for constructing basis functions. More... | |
MaxPolyOrder | global_max_poly_order |
std::map< OrbitBranchSize, MaxPolyOrder > | orbit_branch_max_poly_order |
std::vector< Index > | include_functions |
std::vector< Index > | exclude_functions |
PARAM_PACK_TYPE | param_pack_type |
Specify the Clexulator underlying data structure type. More... | |
Definition at line 44 of file BasisFunctionSpecs.hh.
Definition at line 45 of file BasisFunctionSpecs.hh.
|
inline |
Construct BasisFunctionSpecs
_dof_keys | Names of DoF types to include in basis functions. |
_dof_specs | Provides DoF-particular specifications for constructing basis functions. |
_global_max_poly_order | Maximum polynomial order for cluster basis functions of continuous DoF. Use -1 for default behaviour: max_poly_order == cluster size. |
_orbit_branch_max_poly_order | Allows specifying the max_poly_order per orbit branch. The key is the orbit branch index (equal to number of sites in a cluster), and the value is the maximum polynomial order for orbits in that branch. |
_include_functions | Allows specifying that only ClexBasis functions with these indices should be written in the produced Clexulator. Generally, this requires generating the full ClexBasis once (without writing the Clexulator), inspecting the basis functions, and then specifying this value and re-generating the ClexBasis. |
_exclude_functions | Allows specifying that ClexBasis functions with these indices should be not written in the produced Clexulator. Generally, this requires generating the full ClexBasis once (without writing the Clexulator), inspecting the basis functions, and then specifying this value and re-generating the ClexBasis. |
_param_pack_type | Specify the Clexulator underlying data structure type. |
Notes on _dof_specs:
Notes on _include_functions and _exclude_functions:
Notes on _param_pack_type choices:
Definition at line 153 of file BasisFunctionSpecs.hh.
std::vector<DoFKey> CASM::BasisFunctionSpecs::dof_keys |
Which DoF types to include in the basis functions.
Definition at line 107 of file BasisFunctionSpecs.hh.
std::vector<notstd::cloneable_ptr<DoFSpecs> > CASM::BasisFunctionSpecs::dof_specs |
Provides DoF-particular specifications for constructing basis functions.
Definition at line 110 of file BasisFunctionSpecs.hh.
std::vector<Index> CASM::BasisFunctionSpecs::exclude_functions |
If not empty, specifies that ClexBasis functions with these indices should be excluded from the produced Clexulator.
Definition at line 131 of file BasisFunctionSpecs.hh.
MaxPolyOrder CASM::BasisFunctionSpecs::global_max_poly_order |
Maximum polynomial order for basis functions of continuous DoF. Use -1 for context-dependent default behaviour (usually max_poly_order == orbit branch cluster size) The global value can be overriden per orbit branch with orbit_branch_max_poly_order
Definition at line 116 of file BasisFunctionSpecs.hh.
std::vector<Index> CASM::BasisFunctionSpecs::include_functions |
If not empty, specifies that only ClexBasis functions with these indices should be included in the produced Clexulator.
Definition at line 127 of file BasisFunctionSpecs.hh.
std::map<OrbitBranchSize, MaxPolyOrder> CASM::BasisFunctionSpecs::orbit_branch_max_poly_order |
Maximum polynomial order for basis functions of continuous DoF, by orbit branch.
Definition at line 120 of file BasisFunctionSpecs.hh.
PARAM_PACK_TYPE CASM::BasisFunctionSpecs::param_pack_type |
Specify the Clexulator underlying data structure type.
Definition at line 134 of file BasisFunctionSpecs.hh.