CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::DoFEnvironment Class Referenceabstract

#include <DoFManager.hh>

+ Inheritance diagram for CASM::DoFEnvironment:

Detailed Description

DoFEnvironment is abstract class that handles interface between Configurations and BasisSets and allows for efficient evaluation of functions on a Configuration. Evaluation is structured this way to preserve polymorphism of DoF and allow easy addition of new types of DoFs. At the same time, we wish to prevent circular dependencies among DoF, Configuration, BasisSet and Function.

Definition at line 45 of file DoFManager.hh.

Public Member Functions

 DoFEnvironment (std::string dof_name)
 
virtual ~DoFEnvironment ()
 
const std::string & name () const
 
virtual void set_global_state (const Configuration &config)=0
 set the state of GLOBAL parameters based on their value in config More...
 
virtual void set_local_state (const Configuration &config, Index l)=0
 set the state of LOCAL parameters based on their value in config More...
 
virtual void resize_neighborhood (Index nlist_size)
 
virtual int register_dofs (BasisSet &basis) const =0
 
virtual FunctionVisitorget_function_label_visitor () const
 
virtual void print_clexulator_member_definitions (std::ostream &stream, const SiteOrbitree &tree, const std::string &indent) const
 
virtual void print_clexulator_private_method_definitions (std::ostream &stream, const SiteOrbitree &tree, const std::string &indent) const
 
virtual void print_clexulator_private_method_implementations (std::ostream &stream, const SiteOrbitree &tree, const std::string &indent) const
 
virtual void print_clexulator_public_method_definitions (std::ostream &stream, const SiteOrbitree &tree, const std::string &indent) const
 
virtual void print_clexulator_public_method_implementations (std::ostream &stream, const SiteOrbitree &tree, const std::string &indent) const
 
virtual void print_to_clexulator_constructor (std::ostream &stream, const SiteOrbitree &tree, const std::string &indent) const
 

Private Attributes

std::string m_dof_name
 

Constructor & Destructor Documentation

CASM::DoFEnvironment::DoFEnvironment ( std::string  dof_name)
inline

Definition at line 49 of file DoFManager.hh.

virtual CASM::DoFEnvironment::~DoFEnvironment ( )
inlinevirtual

Definition at line 50 of file DoFManager.hh.

Member Function Documentation

virtual FunctionVisitor* CASM::DoFEnvironment::get_function_label_visitor ( ) const
inlinevirtual

Reimplemented in CASM::OccupationDoFEnvironment.

Definition at line 69 of file DoFManager.hh.

const std::string& CASM::DoFEnvironment::name ( ) const
inline

Definition at line 52 of file DoFManager.hh.

virtual void CASM::DoFEnvironment::print_clexulator_member_definitions ( std::ostream &  stream,
const SiteOrbitree tree,
const std::string &  indent 
) const
inlinevirtual

Reimplemented in CASM::OccupationDoFEnvironment.

Definition at line 73 of file DoFManager.hh.

virtual void CASM::DoFEnvironment::print_clexulator_private_method_definitions ( std::ostream &  stream,
const SiteOrbitree tree,
const std::string &  indent 
) const
inlinevirtual

Reimplemented in CASM::OccupationDoFEnvironment.

Definition at line 75 of file DoFManager.hh.

virtual void CASM::DoFEnvironment::print_clexulator_private_method_implementations ( std::ostream &  stream,
const SiteOrbitree tree,
const std::string &  indent 
) const
inlinevirtual

Definition at line 76 of file DoFManager.hh.

virtual void CASM::DoFEnvironment::print_clexulator_public_method_definitions ( std::ostream &  stream,
const SiteOrbitree tree,
const std::string &  indent 
) const
inlinevirtual

Reimplemented in CASM::OccupationDoFEnvironment.

Definition at line 78 of file DoFManager.hh.

virtual void CASM::DoFEnvironment::print_clexulator_public_method_implementations ( std::ostream &  stream,
const SiteOrbitree tree,
const std::string &  indent 
) const
inlinevirtual

Definition at line 79 of file DoFManager.hh.

virtual void CASM::DoFEnvironment::print_to_clexulator_constructor ( std::ostream &  stream,
const SiteOrbitree tree,
const std::string &  indent 
) const
inlinevirtual

Reimplemented in CASM::OccupationDoFEnvironment.

Definition at line 81 of file DoFManager.hh.

virtual int CASM::DoFEnvironment::register_dofs ( BasisSet basis) const
pure virtual

register_dofs sizes internal datastructures and then loops over all Orbitrees to register the remote values in each DoF whose name matches m_dof_name

Implemented in CASM::StrainDoFEnvironment, CASM::DisplacementDoFEnvironment, and CASM::OccupationDoFEnvironment.

virtual void CASM::DoFEnvironment::resize_neighborhood ( Index  nlist_size)
inlinevirtual

Reimplemented in CASM::DisplacementDoFEnvironment, and CASM::OccupationDoFEnvironment.

Definition at line 62 of file DoFManager.hh.

virtual void CASM::DoFEnvironment::set_global_state ( const Configuration config)
pure virtual

set the state of GLOBAL parameters based on their value in config

Implemented in CASM::StrainDoFEnvironment, CASM::DisplacementDoFEnvironment, and CASM::OccupationDoFEnvironment.

virtual void CASM::DoFEnvironment::set_local_state ( const Configuration config,
Index  l 
)
pure virtual

set the state of LOCAL parameters based on their value in config

Implemented in CASM::StrainDoFEnvironment, CASM::DisplacementDoFEnvironment, and CASM::OccupationDoFEnvironment.

Member Data Documentation

std::string CASM::DoFEnvironment::m_dof_name
private

Definition at line 46 of file DoFManager.hh.


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