31 std::vector<BasisSet> result(_prim.
basis().size());
36 for (
Index b = 0; b < _prim.
basis().size(); b++) {
37 if (!_prim.
basis()[b].has_dof(
name()))
continue;
43 result[b].set_variable_basis(adapted_dofset);
LocalContinuousConfigDoFValues const & local_dof(DoFKey const &_key) const
DoFType::Traits * _clone() const override
void apply_dof(ConfigDoF const &_dof, BasicStructure const &_reference, SimpleStructure &_struc) const override
Apply DoF values for this DoF to _struc.
std::vector< BasisSet > construct_site_bases(Structure const &_prim, std::vector< Orbit< PrimPeriodicSymCompare< IntegralCluster > > > &_asym_unit, BasisFunctionSpecs const &_basis_function_specs) const override
Construct the site basis (if DOF_MODE is LOCAL) for a DoF, given its site.
Collection of all the traits specific to a DoF type.
std::string const & name() const
Eigen::MatrixXd standard_values() const
Get local DoF values as standard DoF values.
Structure specifies the lattice and atomic basis of a crystal.
std::vector< std::map< DoFKey, SymGroupRepID > > site_dof_symrep_IDs() const
const std::vector< xtal::Site > & basis() const
BasicStructure specifies the lattice and atomic basis of a crystal.
Representation of a crystal of molecular and/or atomic occupants, and any additional properties....
DoF_impl::DisplacementDoFTraits displacement()
INDEX_TYPE Index
For long integer indexing:
Specify how to construct basis functions.
Eigen::MatrixXd coords
(3 x names.size()) matrix of coordinates. coords.col(i) is Cartesian coordinate of site 'i'