CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::PolynomialFunction Class Reference

#include <PolynomialFunction.hh>

+ Inheritance diagram for CASM::PolynomialFunction:

Detailed Description

Definition at line 22 of file PolynomialFunction.hh.

Public Member Functions

 PolynomialFunction ()
 
 PolynomialFunction (const std::vector< std::shared_ptr< BasisSet > > &_args)
 
 PolynomialFunction (const std::vector< std::shared_ptr< BasisSet > > &_args, const PolyTrie< double > &_coeffs)
 
 PolynomialFunction (const PolynomialFunction &RHS)
 
 PolynomialFunction (const PolynomialFunction &RHS, const PolyTrie< double > &_coeffs)
 
 PolynomialFunction (const PolynomialFunction &LHS, const PolynomialFunction &RHS)
 
SparseTensor< double > const * get_coeffs () const override
 
const PolyTrie< double > & poly_coeffs () const
 
std::string type_name () const override
 
Functioncopy () const override
 
Functioncopy (const PolyTrie< double > &new_coeffs) const
 
bool depends_on (const Function *test_func) const override
 
bool is_zero () const override
 
void small_to_zero (double tol=TOL) override
 
Index num_terms () const override
 
double leading_coefficient () const override
 
double leading_coefficient (Index &index) const override
 
double get_coefficient (Index i) const override
 
void make_formula () const override
 
void make_formula (double prefactor) const
 
std::set< Indexdof_IDs () const override
 
int class_ID () const override
 
Functiontransform_monomial_and_add_new (double prefactor, const Array< Index > &ind, const SymOp &op, const std::vector< bool > &transform_flags)
 
Functiontransform_monomial_and_add (double prefactor, const Array< Index > &ind, const SymOp &op)
 
void scale (double scale_factor) override
 
double frobenius_scalar_prod (const PolynomialFunction &RHS) const
 
double box_integral_scalar_prod (const PolynomialFunction &RHS, double edge_length) const
 
double gaussian_integral_scalar_prod (const PolynomialFunction &RHS, double std_dev) const
 
bool compare (const PolynomialFunction *RHS) const
 
bool prune_zeros ()
 
Functionplus_equals (const PolynomialFunction *RHS)
 
Functionminus_equals (const PolynomialFunction *RHS)
 
double remote_eval () const override
 
double remote_deval (const DoF::RemoteHandle &dvar) const override
 
double cache_eval () const override
 
double cache_deval (const DoF::RemoteHandle &dvar) const override
 
Functionapply_sym_coeffs (const SymOp &op, int dependency_layer) override
 
Functionpoly_quotient (const Variable *RHS) const
 
Functionpoly_remainder (const Variable *RHS) const
 
Functionpoly_quotient (const OccupantFunction *RHS) const
 
Functionpoly_remainder (const OccupantFunction *RHS) const
 
void refresh_ID ()
 
Index ID () const
 
Index num_args () const
 
void set_identifier (char _key, std::string const &_value)
 
std::string identifier (char _key) const
 
std::string formula () const
 
std::string tex_formula () const
 
void print (std::ostream &stream) const
 
void print_tex (std::ostream &stream) const
 
void set_formula (const std::string &new_formula)
 
void set_tex_formula (const std::string &new_formula)
 
void clear_formula ()
 
bool accept (const FunctionVisitor &visitor, BasisSet const *home_basis_ptr=nullptr)
 
bool accept (const FunctionVisitor &visitor, BasisSet const *home_basis_ptr=nullptr) const
 
virtual Eigen::VectorXd const * get_eigen_coeffs () const
 
virtual int register_remotes (const std::vector< DoF::RemoteHandle > &remote_handles)
 
bool update_dof_IDs (const std::vector< Index > &before_IDs, const std::vector< Index > &after_IDs)
 
Functionsym_copy_coeffs (const SymOp &op, int dependency_layer=1) const
 
void normalize ()
 
double dot (Function const *RHS) const
 
bool shallow_compare (Function const *RHS) const
 
bool compare (Function const *RHS) const
 
Functionminus (Function const *RHS) const
 
Functionplus (Function const *RHS) const
 
Functionmultiply (Function const *RHS) const
 
Functionpoly_quotient (Function const *RHS) const
 
Functionpoly_remainder (Function const *RHS) const
 
Functionminus_in_place (Function const *RHS)
 
Functionplus_in_place (Function const *RHS)
 
void set_arguments (const ArgumentContainer &new_arg)
 change arguments of this function More...
 
void set_arguments (const ArgumentContainer &new_arg, std::vector< Index > const &compatibility_map)
 change arguments, allowing for new_arg to be larger than current argument list [or permuted (not yet implemented)] More...
 
const ArgumentContainerargument_bases () const
 
virtual jsonParserto_json (jsonParser &json) const
 

Static Public Member Functions

static void fill_dispatch_table ()
 
static int sclass_ID ()
 

Protected Types

typedef std::vector< std::shared_ptr< BasisSet > > ArgumentContainer
 

Protected Member Functions

void _set_arguments (const ArgumentContainer &new_arg, std::vector< Index > const &compatibility_map) override
 
Function_apply_sym (const SymOp &op) override
 
Function_apply_sym (const SymOp &op, const std::vector< bool > &transform_flags)
 
bool _accept (const FunctionVisitor &visitor, BasisSet const *home_basis_ptr=NULL) override
 
bool _accept (const FunctionVisitor &visitor, BasisSet const *home_basis_ptr=NULL) const override
 
ReturnArray< SymGroupRepID_sub_sym_reps () const
 
Function const * _argument (Index i) const
 
double _arg_eval_cache (Index i) const
 
double _arg_deval_cache (Index i) const
 
int _dependency_layer () const
 
virtual bool _update_dof_IDs (const std::vector< Index > &before_IDs, const std::vector< Index > &after_IDs)
 

Static Protected Member Functions

static void extend_hierarchy ()
 
static int new_class_ID ()
 
static int get_class_ID ()
 
static int new_class_ID ()
 

Protected Attributes

PolyTrie< double > m_coeffs
 
Index func_ID
 
ArgumentContainer m_argument
 
Array< Indexm_arg2sub
 
Array< Indexm_arg2fun
 
std::string m_formula
 
std::string m_tex_formula
 

Static Protected Attributes

static Array< Array< InnerProduct * > > inner_prod_table
 
static Array< Array< FunctionOperation * > > operation_table
 

Private Attributes

std::map< char, std::string > m_identifiers
 

Static Private Attributes

static Index ID_count
 

Member Typedef Documentation

◆ ArgumentContainer

typedef std::vector<std::shared_ptr<BasisSet> > CASM::Function::ArgumentContainer
protectedinherited

Definition at line 43 of file BasisFunction.hh.

Constructor & Destructor Documentation

◆ PolynomialFunction() [1/6]

CASM::PolynomialFunction::PolynomialFunction ( )
inline

Definition at line 25 of file PolynomialFunction.hh.

◆ PolynomialFunction() [2/6]

CASM::PolynomialFunction::PolynomialFunction ( const std::vector< std::shared_ptr< BasisSet > > &  _args)

Definition at line 14 of file PolynomialFunction.cc.

◆ PolynomialFunction() [3/6]

CASM::PolynomialFunction::PolynomialFunction ( const std::vector< std::shared_ptr< BasisSet > > &  _args,
const PolyTrie< double > &  _coeffs 
)

Definition at line 40 of file PolynomialFunction.cc.

◆ PolynomialFunction() [4/6]

CASM::PolynomialFunction::PolynomialFunction ( const PolynomialFunction RHS)

Definition at line 140 of file PolynomialFunction.cc.

◆ PolynomialFunction() [5/6]

CASM::PolynomialFunction::PolynomialFunction ( const PolynomialFunction RHS,
const PolyTrie< double > &  _coeffs 
)

Definition at line 145 of file PolynomialFunction.cc.

◆ PolynomialFunction() [6/6]

CASM::PolynomialFunction::PolynomialFunction ( const PolynomialFunction LHS,
const PolynomialFunction RHS 
)

Definition at line 72 of file PolynomialFunction.cc.

Member Function Documentation

◆ _accept() [1/2]

bool CASM::PolynomialFunction::_accept ( const FunctionVisitor visitor,
BasisSet const *  home_basis_ptr = NULL 
) const
overrideprotectedvirtual

Implements CASM::Function.

Definition at line 178 of file PolynomialFunction.cc.

◆ _accept() [2/2]

bool CASM::PolynomialFunction::_accept ( const FunctionVisitor visitor,
BasisSet const *  home_basis_ptr = NULL 
)
overrideprotectedvirtual

Implements CASM::Function.

Definition at line 171 of file PolynomialFunction.cc.

◆ _apply_sym() [1/2]

Function * CASM::PolynomialFunction::_apply_sym ( const SymOp op)
overrideprotectedvirtual

Implements CASM::Function.

Definition at line 480 of file PolynomialFunction.cc.

◆ _apply_sym() [2/2]

Function * CASM::PolynomialFunction::_apply_sym ( const SymOp op,
const std::vector< bool > &  transform_flags 
)
protected

Definition at line 499 of file PolynomialFunction.cc.

◆ _arg_deval_cache()

double CASM::Function::_arg_deval_cache ( Index  i) const
protectedinherited

Definition at line 150 of file BasisFunction.cc.

◆ _arg_eval_cache()

double CASM::Function::_arg_eval_cache ( Index  i) const
protectedinherited

Definition at line 144 of file BasisFunction.cc.

◆ _argument()

Function const * CASM::Function::_argument ( Index  i) const
protectedinherited

Definition at line 138 of file BasisFunction.cc.

◆ _dependency_layer()

int CASM::Function::_dependency_layer ( ) const
protectedinherited

Definition at line 156 of file BasisFunction.cc.

◆ _set_arguments()

void CASM::PolynomialFunction::_set_arguments ( const ArgumentContainer new_arg,
std::vector< Index > const &  compatibility_map 
)
overrideprotectedvirtual

Reimplemented from CASM::Function.

Definition at line 440 of file PolynomialFunction.cc.

◆ _sub_sym_reps()

ReturnArray< SymGroupRepID > CASM::Function::_sub_sym_reps ( ) const
protectedinherited

Definition at line 128 of file BasisFunction.cc.

◆ _update_dof_IDs()

virtual bool CASM::Function::_update_dof_IDs ( const std::vector< Index > &  before_IDs,
const std::vector< Index > &  after_IDs 
)
inlineprotectedvirtualinherited

Reimplemented in CASM::Variable, and CASM::OccupantFunction.

Definition at line 257 of file BasisFunction.hh.

◆ accept() [1/2]

bool CASM::Function::accept ( const FunctionVisitor visitor,
BasisSet const *  home_basis_ptr = nullptr 
)
inherited

Definition at line 171 of file BasisFunction.cc.

◆ accept() [2/2]

bool CASM::Function::accept ( const FunctionVisitor visitor,
BasisSet const *  home_basis_ptr = nullptr 
) const
inherited

Definition at line 189 of file BasisFunction.cc.

◆ apply_sym_coeffs()

Function * CASM::PolynomialFunction::apply_sym_coeffs ( const SymOp op,
int  dependency_layer 
)
overridevirtual

Reimplemented from CASM::Function.

Definition at line 995 of file PolynomialFunction.cc.

◆ argument_bases()

const ArgumentContainer& CASM::Function::argument_bases ( ) const
inlineinherited

Definition at line 170 of file BasisFunction.hh.

◆ box_integral_scalar_prod()

double CASM::PolynomialFunction::box_integral_scalar_prod ( const PolynomialFunction RHS,
double  edge_length 
) const

Definition at line 918 of file PolynomialFunction.cc.

◆ cache_deval()

double CASM::PolynomialFunction::cache_deval ( const DoF::RemoteHandle dvar) const
overridevirtual

Implements CASM::Function.

Definition at line 839 of file PolynomialFunction.cc.

◆ cache_eval()

double CASM::PolynomialFunction::cache_eval ( ) const
overridevirtual

Implements CASM::Function.

Definition at line 819 of file PolynomialFunction.cc.

◆ class_ID()

int CASM::PolynomialFunction::class_ID ( ) const
inlineoverridevirtual

Implements CASM::Function.

Definition at line 63 of file PolynomialFunction.hh.

◆ clear_formula()

void CASM::Function::clear_formula ( )
inlineinherited

Definition at line 76 of file BasisFunction.hh.

◆ compare() [1/2]

bool CASM::PolynomialFunction::compare ( const PolynomialFunction RHS) const

Definition at line 976 of file PolynomialFunction.cc.

◆ compare() [2/2]

bool CASM::Function::compare ( Function const *  RHS) const
inherited

Definition at line 52 of file BasisFunction.cc.

◆ copy() [1/2]

Function * CASM::PolynomialFunction::copy ( ) const
overridevirtual

Implements CASM::Function.

Definition at line 159 of file PolynomialFunction.cc.

◆ copy() [2/2]

Function * CASM::PolynomialFunction::copy ( const PolyTrie< double > &  new_coeffs) const

Definition at line 165 of file PolynomialFunction.cc.

◆ depends_on()

bool CASM::PolynomialFunction::depends_on ( const Function test_func) const
overridevirtual

Reimplemented from CASM::Function.

Definition at line 185 of file PolynomialFunction.cc.

◆ dof_IDs()

std::set< Index > CASM::PolynomialFunction::dof_IDs ( ) const
overridevirtual

Implements CASM::Function.

Definition at line 373 of file PolynomialFunction.cc.

◆ dot()

double CASM::Function::dot ( Function const *  RHS) const
inherited

Definition at line 28 of file BasisFunction.cc.

◆ extend_hierarchy()

static void CASM::Function::extend_hierarchy ( )
inlinestaticprotectedinherited

Definition at line 182 of file BasisFunction.hh.

◆ fill_dispatch_table()

void CASM::PolynomialFunction::fill_dispatch_table ( )
static

Definition at line 399 of file PolynomialFunction.cc.

◆ formula()

std::string CASM::Function::formula ( ) const
inherited

Definition at line 281 of file BasisFunction.cc.

◆ frobenius_scalar_prod()

double CASM::PolynomialFunction::frobenius_scalar_prod ( const PolynomialFunction RHS) const

Definition at line 879 of file PolynomialFunction.cc.

◆ gaussian_integral_scalar_prod()

double CASM::PolynomialFunction::gaussian_integral_scalar_prod ( const PolynomialFunction RHS,
double  std_dev 
) const

◆ get_class_ID()

static int CASM::DerivedID< PolynomialFunction , Function >::get_class_ID ( )
inlinestaticprotectedinherited

Definition at line 30 of file HierarchyID.hh.

◆ get_coefficient()

double CASM::PolynomialFunction::get_coefficient ( Index  i) const
overridevirtual

Implements CASM::Function.

Definition at line 251 of file PolynomialFunction.cc.

◆ get_coeffs()

SparseTensor< double > const * CASM::PolynomialFunction::get_coeffs ( ) const
overridevirtual

Reimplemented from CASM::Function.

Definition at line 425 of file PolynomialFunction.cc.

◆ get_eigen_coeffs()

virtual Eigen::VectorXd const* CASM::Function::get_eigen_coeffs ( ) const
inlinevirtualinherited

Reimplemented in CASM::OccupantFunction.

Definition at line 113 of file BasisFunction.hh.

◆ ID()

Index CASM::Function::ID ( ) const
inlineinherited

Definition at line 55 of file BasisFunction.hh.

◆ identifier()

std::string CASM::Function::identifier ( char  _key) const
inherited

Definition at line 273 of file BasisFunction.cc.

◆ is_zero()

bool CASM::PolynomialFunction::is_zero ( ) const
overridevirtual

Implements CASM::Function.

Definition at line 205 of file PolynomialFunction.cc.

◆ leading_coefficient() [1/2]

double CASM::PolynomialFunction::leading_coefficient ( ) const
overridevirtual

Implements CASM::Function.

Definition at line 232 of file PolynomialFunction.cc.

◆ leading_coefficient() [2/2]

double CASM::PolynomialFunction::leading_coefficient ( Index index) const
overridevirtual

Implements CASM::Function.

Definition at line 239 of file PolynomialFunction.cc.

◆ make_formula() [1/2]

void CASM::PolynomialFunction::make_formula ( ) const
overridevirtual

Implements CASM::Function.

Definition at line 266 of file PolynomialFunction.cc.

◆ make_formula() [2/2]

void CASM::PolynomialFunction::make_formula ( double  prefactor) const

◆ minus()

Function * CASM::Function::minus ( Function const *  RHS) const
inherited

Definition at line 72 of file BasisFunction.cc.

◆ minus_equals()

Function * CASM::PolynomialFunction::minus_equals ( const PolynomialFunction RHS)

Definition at line 970 of file PolynomialFunction.cc.

◆ minus_in_place()

Function * CASM::Function::minus_in_place ( Function const *  RHS)
inherited

Definition at line 104 of file BasisFunction.cc.

◆ multiply()

Function * CASM::Function::multiply ( Function const *  RHS) const
inherited

Definition at line 90 of file BasisFunction.cc.

◆ new_class_ID() [1/2]

static int CASM::HierarchyID< Function >::new_class_ID ( )
inlinestaticprotectedinherited

Definition at line 16 of file HierarchyID.hh.

◆ new_class_ID() [2/2]

static int CASM::HierarchyID< Function >::new_class_ID ( )
inlinestaticprotectedinherited

Definition at line 16 of file HierarchyID.hh.

◆ normalize()

void CASM::Function::normalize ( )
inherited

Definition at line 33 of file BasisFunction.cc.

◆ num_args()

Index CASM::Function::num_args ( ) const
inlineinherited

Definition at line 57 of file BasisFunction.hh.

◆ num_terms()

Index CASM::PolynomialFunction::num_terms ( ) const
overridevirtual

Implements CASM::Function.

Definition at line 221 of file PolynomialFunction.cc.

◆ plus()

Function * CASM::Function::plus ( Function const *  RHS) const
inherited

Definition at line 67 of file BasisFunction.cc.

◆ plus_equals()

Function * CASM::PolynomialFunction::plus_equals ( const PolynomialFunction RHS)

Definition at line 989 of file PolynomialFunction.cc.

◆ plus_in_place()

Function * CASM::Function::plus_in_place ( Function const *  RHS)
inherited

Definition at line 96 of file BasisFunction.cc.

◆ poly_coeffs()

const PolyTrie<double>& CASM::PolynomialFunction::poly_coeffs ( ) const
inline

Definition at line 41 of file PolynomialFunction.hh.

◆ poly_quotient() [1/3]

Function * CASM::PolynomialFunction::poly_quotient ( const OccupantFunction RHS) const

Definition at line 1062 of file PolynomialFunction.cc.

◆ poly_quotient() [2/3]

Function * CASM::PolynomialFunction::poly_quotient ( const Variable RHS) const

Definition at line 1009 of file PolynomialFunction.cc.

◆ poly_quotient() [3/3]

Function * CASM::Function::poly_quotient ( Function const *  RHS) const
inherited

Definition at line 78 of file BasisFunction.cc.

◆ poly_remainder() [1/3]

Function * CASM::PolynomialFunction::poly_remainder ( const OccupantFunction RHS) const

Definition at line 1090 of file PolynomialFunction.cc.

◆ poly_remainder() [2/3]

Function * CASM::PolynomialFunction::poly_remainder ( const Variable RHS) const

Definition at line 1038 of file PolynomialFunction.cc.

◆ poly_remainder() [3/3]

Function * CASM::Function::poly_remainder ( Function const *  RHS) const
inherited

Definition at line 84 of file BasisFunction.cc.

◆ print()

void CASM::Function::print ( std::ostream &  stream) const
inherited

Definition at line 211 of file BasisFunction.cc.

◆ print_tex()

void CASM::Function::print_tex ( std::ostream &  stream) const
inherited

Definition at line 220 of file BasisFunction.cc.

◆ prune_zeros()

bool CASM::PolynomialFunction::prune_zeros ( )

Definition at line 987 of file PolynomialFunction.cc.

◆ refresh_ID()

void CASM::Function::refresh_ID ( )
inherited

Definition at line 207 of file BasisFunction.cc.

◆ register_remotes()

int CASM::Function::register_remotes ( const std::vector< DoF::RemoteHandle > &  remote_handles)
virtualinherited

Reimplemented in CASM::Variable, and CASM::OccupantFunction.

Definition at line 238 of file BasisFunction.cc.

◆ remote_deval()

double CASM::PolynomialFunction::remote_deval ( const DoF::RemoteHandle dvar) const
overridevirtual

Implements CASM::Function.

Definition at line 779 of file PolynomialFunction.cc.

◆ remote_eval()

double CASM::PolynomialFunction::remote_eval ( ) const
overridevirtual

Implements CASM::Function.

Definition at line 755 of file PolynomialFunction.cc.

◆ scale()

void CASM::PolynomialFunction::scale ( double  scale_factor)
overridevirtual

Implements CASM::Function.

Definition at line 431 of file PolynomialFunction.cc.

◆ sclass_ID()

static int CASM::PolynomialFunction::sclass_ID ( )
inlinestatic

Definition at line 66 of file PolynomialFunction.hh.

◆ set_arguments() [1/2]

void CASM::Function::set_arguments ( const ArgumentContainer new_arg)
inlineinherited

change arguments of this function

Definition at line 161 of file BasisFunction.hh.

◆ set_arguments() [2/2]

void CASM::Function::set_arguments ( const ArgumentContainer new_arg,
std::vector< Index > const &  compatibility_map 
)
inherited

change arguments, allowing for new_arg to be larger than current argument list [or permuted (not yet implemented)]

Parameters
compatibility_mapspecifies which elements of
new_argare compatible with urrent argument list (e.g., [2, 3])

Definition at line 113 of file BasisFunction.cc.

◆ set_formula()

void CASM::Function::set_formula ( const std::string &  new_formula)
inlineinherited

Definition at line 69 of file BasisFunction.hh.

◆ set_identifier()

void CASM::Function::set_identifier ( char  _key,
std::string const &  _value 
)
inherited

Definition at line 268 of file BasisFunction.cc.

◆ set_tex_formula()

void CASM::Function::set_tex_formula ( const std::string &  new_formula)
inlineinherited

Definition at line 73 of file BasisFunction.hh.

◆ shallow_compare()

bool CASM::Function::shallow_compare ( Function const *  RHS) const
inherited

Definition at line 45 of file BasisFunction.cc.

◆ small_to_zero()

void CASM::PolynomialFunction::small_to_zero ( double  tol = TOL)
overridevirtual

Implements CASM::Function.

Definition at line 216 of file PolynomialFunction.cc.

◆ sym_copy_coeffs()

Function * CASM::Function::sym_copy_coeffs ( const SymOp op,
int  dependency_layer = 1 
) const
inherited

Definition at line 230 of file BasisFunction.cc.

◆ tex_formula()

std::string CASM::Function::tex_formula ( ) const
inherited

Definition at line 291 of file BasisFunction.cc.

◆ to_json()

jsonParser & CASM::Function::to_json ( jsonParser json) const
virtualinherited

Reimplemented in CASM::Variable, and CASM::OccupantFunction.

Definition at line 387 of file BasisFunction.cc.

◆ transform_monomial_and_add()

Function * CASM::PolynomialFunction::transform_monomial_and_add ( double  prefactor,
const Array< Index > &  ind,
const SymOp op 
)

Definition at line 520 of file PolynomialFunction.cc.

◆ transform_monomial_and_add_new()

Function * CASM::PolynomialFunction::transform_monomial_and_add_new ( double  prefactor,
const Array< Index > &  ind,
const SymOp op,
const std::vector< bool > &  transform_flags 
)

Definition at line 651 of file PolynomialFunction.cc.

◆ type_name()

std::string CASM::PolynomialFunction::type_name ( ) const
inlineoverridevirtual

Implements CASM::Function.

Definition at line 43 of file PolynomialFunction.hh.

◆ update_dof_IDs()

bool CASM::Function::update_dof_IDs ( const std::vector< Index > &  before_IDs,
const std::vector< Index > &  after_IDs 
)
inherited

Definition at line 250 of file BasisFunction.cc.

Member Data Documentation

◆ func_ID

Index CASM::Function::func_ID
protectedinherited

Definition at line 194 of file BasisFunction.hh.

◆ ID_count

Index CASM::Function::ID_count
staticprivateinherited

Definition at line 266 of file BasisFunction.hh.

◆ inner_prod_table

Array< Array< InnerProduct * > > CASM::Function::inner_prod_table
staticprotectedinherited
Initial value:
=
Array<Array<InnerProduct *> >()

Definition at line 177 of file BasisFunction.hh.

◆ m_arg2fun

Array<Index> CASM::Function::m_arg2fun
protectedinherited

Definition at line 219 of file BasisFunction.hh.

◆ m_arg2sub

Array<Index> CASM::Function::m_arg2sub
protectedinherited

m_label_format sets the label format used to generate a label string for a Function object. It is specified as a string of the form (substr1 + "%a" + substr2 + "%b" + substr3 + ... ), where "%a" and "%b" are flags that specify object-specific values. The following flags are allowed:

  • f : function index (only available for some derived types)
  • b : basis index (only available for OccupantFunction and Variable)
  • n : neighbor list index – the DoF ID if dof.is_locked()==false
  • g : global DoF index – the DoF ID if dof.is_locked()==true For objects where the flag does not uniquely specify a single value, it evaluates to a substring that concatenates multiple values in ascending order. Example: For a polynomial function that combines DoFs from the sites {8, 2, 4} of the neighborlist, n will evaluate to the substring expression "2_4_8"

Definition at line 218 of file BasisFunction.hh.

◆ m_argument

ArgumentContainer CASM::Function::m_argument
protectedinherited

Definition at line 196 of file BasisFunction.hh.

◆ m_coeffs

PolyTrie<double> CASM::PolynomialFunction::m_coeffs
protected

Definition at line 127 of file PolynomialFunction.hh.

◆ m_formula

std::string CASM::Function::m_formula
mutableprotectedinherited

Definition at line 221 of file BasisFunction.hh.

◆ m_identifiers

std::map<char, std::string> CASM::Function::m_identifiers
privateinherited

Definition at line 268 of file BasisFunction.hh.

◆ m_tex_formula

std::string CASM::Function::m_tex_formula
protectedinherited

Definition at line 221 of file BasisFunction.hh.

◆ operation_table

Array< Array< FunctionOperation * > > CASM::Function::operation_table
staticprotectedinherited
Initial value:
=
Array<Array<FunctionOperation *> >()

Definition at line 178 of file BasisFunction.hh.


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