![]() |
Rosetta
2021.16
|
#include <FASTERInteractionGraph.hh>

Public Types | |
| typedef PrecomputedPairEnergiesNode | parent |
Public Member Functions | |
| FASTERNode (InteractionGraphBase *owner, int node_id, int num_states) | |
| main constructor, no default or copy constructors More... | |
| ~FASTERNode () override | |
| destructor More... | |
| void | print () const override |
| prints a description of the node and all of it's one-body energies More... | |
| void | update_one_body_energy (int state, core::PackerEnergy energy) override |
| update energy to the one-body energy for state More... | |
| virtual void | update_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &energies) |
| set all the one-body energies for this node More... | |
| void | add_to_one_body_energy (int state, core::PackerEnergy energy) override |
| adds energy to the one-body energy for state state More... | |
| void | add_to_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &energies) override |
| adds all the energies in energies to the one-body energies for this node More... | |
| void | zero_one_body_energies () override |
| sets all of the one-body energies for this node to zero More... | |
| core::PackerEnergy | get_one_body_energy (int state) const override |
| returns the one body energy for a state More... | |
| void | prepare_for_simulated_annealing () override |
| prepares node for simulated annealing More... | |
| void | prepare_for_FASTER () |
| void | assign_zero_state () override |
| assigns node's state to it's zero, or "unassigned" state. More... | |
| bool | state_unassigned () const override |
| void | assign_state (int new_state) |
| assigns node a new_state More... | |
| int | get_current_state () const |
| returns the state the node is currently assigned More... | |
| core::PackerEnergy | get_one_body_energy_current_state () const |
| returns the one body energy for the state the node is currently assigned More... | |
| core::PackerEnergy | project_deltaE_for_substitution (int alternate_state, core::PackerEnergy &prev_node_energy) |
| returns the change in energy that would be induced by switching this node from its current state into another state More... | |
| void | commit_considered_substitution () |
| tells the node that it should change its state to the last state it was asked to consider (from a call to project_deltaE_for_substitution) More... | |
| void | acknowledge_neighbors_state_substitution (int edge_to_altered_neighbor, core::PackerEnergy new_edge_energy, int other_node_new_state) |
| updates bookkeeping arrays for when a neighbor has changed its state More... | |
| void | print_internal_energies () const |
| outputs to standard error the bookkeeping energies for the node in its current state assignment More... | |
| void | update_internal_energy_sums () |
| removes numerical drift long stretches of efficient bookkeeping produces More... | |
| unsigned int | count_static_memory () const override |
| If FASTERNode is the most-derived class being used, then this function will be called and will return the amount of memory statically allocated by a single FASTERNode. More... | |
| unsigned int | count_dynamic_memory () const override |
| Called either by the IGBase if the FASTERNode is the most-derived class, or called recursively by a derived class. Called to account for the dynamically allocated memory that this node uses. More... | |
| void | get_total_energy_in_curr_state_assignment_for_all_states () |
| void | partial_assign_state_with_lowest_one_body_energy () |
| void | partial_assign_relaxed_state (Real probability) |
| void | partial_assign_state (int state) |
| void | acknowledge_neighbors_partial_state_assignment (int which_neighbor, int neighbors_new_state) |
| void | complete_partial_state_assignment () |
| void | acknowledge_neighbors_perturbed_state (int which_neighbor, int const neighbors_perturbed_state) |
| void | prepare_for_perturbation () |
| void | set_no_longer_perturbed () |
| void | set_perturbed_state (int perturbed_state) |
| void | relax_neighbors () |
| void | relax () |
| void | reset_relaxed_for_neighbors () |
| void | reset_relaxed () |
| void | tell_neighbors_to_prep_for_relaxation () |
| void | prep_for_neighbors_perturbation () |
| void | relax_after_neighbors_perturbation () |
| core::PackerEnergy | get_deltaE_for_relaxed_state_following_perturbation () |
| core::PackerEnergy | get_one_body_energy_for_relaxed_state () const |
| int | get_relaxed_state () const |
| int | get_random_neighbor () |
Public Member Functions inherited from core::pack::interaction_graph::PrecomputedPairEnergiesNode | |
| ~PrecomputedPairEnergiesNode () override | |
| PrecomputedPairEnergiesNode (InteractionGraphBase *owner, int node_id, int num_states) | |
Public Member Functions inherited from core::pack::interaction_graph::FixedBBNode | |
| ~FixedBBNode () override | |
| FixedBBNode (InteractionGraphBase *owner, int node_id, int num_states) | |
Public Member Functions inherited from core::pack::interaction_graph::NodeBase | |
| virtual | ~NodeBase () |
| virtual destructor More... | |
| NodeBase (InteractionGraphBase *, int node_id, int num_states) | |
| Main constructor, no default constructor nor copy constructor. More... | |
| int | get_num_states () const |
| returns the number of states for this node More... | |
| std::list< EdgeBase * >::iterator | add_edge (EdgeBase *edge_ptr) |
| adds edge pointer to edge list; returns an iterator to the new list element More... | |
| void | drop_edge (std::list< EdgeBase * >::iterator edge_iterator) |
| removes an edge iterator from the node's edge list More... | |
| void | drop_all_edges () |
| deletes all edges incident upon this node More... | |
| EdgeBase * | find_edge (int other_node_index) const |
| a slow (linear) search for an edge. The edge is identified by the index of the node to which the edge connects this node. Returns NULL when there is no such connecting edge. More... | |
| void | depth_first_connected_component_counting () |
| performs a depth first traversal of the graph. Each node informs the graph that the traversal resulted in arriving at the node. More... | |
| std::list< EdgeBase * > ::const_iterator | edge_list_begin () |
| std::list< EdgeBase * > ::const_iterator | edge_list_end () |
| int | get_node_index () const |
| int | get_num_incident_edges () const |
| int | get_num_edges_to_smaller_indexed_nodes () const |
| int | get_num_edges_to_larger_indexed_nodes () const |
| EdgeBase const * | get_incident_edge (int index) const |
| These functions are public for the sake of writing good unit tests. More... | |
| EdgeBase * | get_incident_edge (int index) |
| int | get_index_of_adjacent_node (int index) const |
| NodeBase const * | get_adjacent_node (int index) const |
| NodeBase * | get_adjacent_node (int index) |
Protected Member Functions | |
| void | update_internal_vectors () |
| updates bookkeeping arrays that correspond to edge-list. More... | |
| FASTEREdge const * | get_incident_faster_edge (int index) const |
| FASTEREdge * | get_incident_faster_edge (int index) |
| FASTERNode const * | get_adjacent_faster_node (int index) const |
| FASTERNode * | get_adjacent_faster_node (int index) |
| FASTERInteractionGraph const * | get_fasterig_owner () const |
| FASTERInteractionGraph * | get_fasterig_owner () |
Protected Member Functions inherited from core::pack::interaction_graph::NodeBase | |
| void | update_edge_vector () |
| converts edge-list to edge-vector representation More... | |
| bool | get_edge_vector_up_to_date () const |
| InteractionGraphBase const * | get_owner () const |
| InteractionGraphBase * | get_owner () |
Private Member Functions | |
| FASTERNode () | |
| FASTERNode (FASTERNode const &) | |
| FASTERNode & | operator= (FASTERNode const &) |
Friends | |
| class | ::FASTERInteractionGraphTests |
| core::pack::interaction_graph::FASTERNode::FASTERNode | ( | InteractionGraphBase * | owner, |
| int | node_id, | ||
| int | num_states | ||
| ) |
main constructor, no default or copy constructors
allocates one-body energy array and initializes it to zero.
|
overridedefault |
destructor
not responsible for any dynamically allocated memory, so node does nothing it's member variables, of course, are implicitly destructed
|
private |
Referenced by count_static_memory().
|
private |
| void core::pack::interaction_graph::FASTERNode::acknowledge_neighbors_partial_state_assignment | ( | int | which_neighbor, |
| int | neighbors_new_state | ||
| ) |
References neighbors_curr_state_.
Referenced by core::pack::interaction_graph::FASTEREdge::acknowledge_partial_state_assignment().
| void core::pack::interaction_graph::FASTERNode::acknowledge_neighbors_perturbed_state | ( | int | which_neighbor, |
| int const | neighbors_perturbed_state | ||
| ) |
References edge_matrix_ptrs_, core::pack::interaction_graph::NodeBase::get_num_edges_to_smaller_indexed_nodes(), core::pack::interaction_graph::NodeBase::get_num_states(), have_relaxed_since_neighbors_perturbation_, neighbors_curr_state_, perturbed_, and state_energies_in_current_context_.
Referenced by core::pack::interaction_graph::FASTEREdge::acknowledge_perturbed_state().
|
inline |
updates bookkeeping arrays for when a neighbor has changed its state
| edge_to_altered_neighbor | - [in] - the index for the edge that connects this node to the node that just changed its state |
| new_edge_energ | - [in] - the pair energy between this node in its current state and the new state of the node that just changed its state |
| other_node_new_state | - [in] - the state the neighbor just adopted |
References curr_state_total_energy_, curr_state_two_body_energies_, and neighbors_curr_state_.
Referenced by core::pack::interaction_graph::FASTEREdge::acknowledge_state_zeroed(), and core::pack::interaction_graph::FASTEREdge::acknowledge_substitution().
|
overridevirtual |
adds all the energies in energies to the one-body energies for this node
| energies | - [in] - the array of energies. Must hold num_states_ entries |
Implements core::pack::interaction_graph::NodeBase.
References core::pack::interaction_graph::NodeBase::get_num_states(), and one_body_energies_.
|
overridevirtual |
adds energy to the one-body energy for state state
| state | - [in] - one-based index of the state |
| energy | - [in] - the energy that should be added. |
Implements core::pack::interaction_graph::NodeBase.
References protocols::buns::energy, and one_body_energies_.
| void core::pack::interaction_graph::FASTERNode::assign_state | ( | int | new_state | ) |
assigns node a new_state
node updates its curr_state one and two body energies
| new_state | - [in] - the new state the node should be assigned |
References core::pack::interaction_graph::FASTEREdge::acknowledge_state_change(), alternate_state_is_being_considered_, assign_zero_state(), curr_state_one_body_energy_, curr_state_total_energy_, curr_state_two_body_energies_, current_state_, get_incident_faster_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), core::pack::interaction_graph::NodeBase::get_num_states(), one_body_energies_, and relaxed_state_.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::set_network_state(), and core::pack::interaction_graph::FASTERInteractionGraph::set_state_for_node().
|
overridevirtual |
assigns node's state to it's zero, or "unassigned" state.
zeros the edge-energy array, informs neighbors that it's in its unassigned state
Implements core::pack::interaction_graph::NodeBase.
References core::pack::interaction_graph::FASTEREdge::acknowledge_state_zeroed(), alternate_state_, alternate_state_is_being_considered_, curr_state_one_body_energy_, curr_state_total_energy_, curr_state_two_body_energies_, current_state_, get_incident_faster_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), and relaxed_state_.
Referenced by assign_state(), and core::pack::interaction_graph::FASTERInteractionGraph::blanket_assign_state_0().
| void core::pack::interaction_graph::FASTERNode::commit_considered_substitution | ( | ) |
tells the node that it should change its state to the last state it was asked to consider (from a call to project_deltaE_for_substitution)
updates edge energy vector, iterates across neighbors having them update their edge energies. Bookkeeping recaptures performance lost by leaving energy2b structure
References core::pack::interaction_graph::FASTEREdge::acknowledge_substitution(), alternate_state_, alternate_state_is_being_considered_, alternate_state_one_body_energy_, alternate_state_total_energy_, alternate_state_two_body_energies_, curr_state_one_body_energy_, curr_state_total_energy_, curr_state_two_body_energies_, current_state_, get_incident_faster_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), and relaxed_state_.
| void core::pack::interaction_graph::FASTERNode::complete_partial_state_assignment | ( | ) |
References curr_state_total_energy_, curr_state_two_body_energies_, core::pack::interaction_graph::FASTEREdge::get_curr_state_energy_following_partial_state_assignment(), get_incident_faster_edge(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), get_total_energy_in_curr_state_assignment_for_all_states(), and in_FASTER_mode_.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::assign_BMEC(), core::pack::interaction_graph::FASTERInteractionGraph::commit_relaxation(), and core::pack::interaction_graph::FASTERInteractionGraph::probabilistically_commit_relaxation().
|
overridevirtual |
Called either by the IGBase if the FASTERNode is the most-derived class, or called recursively by a derived class. Called to account for the dynamically allocated memory that this node uses.
Reimplemented from core::pack::interaction_graph::NodeBase.
References alternate_state_two_body_energies_, core::pack::interaction_graph::NodeBase::count_dynamic_memory(), curr_state_two_body_energies_, edge_matrix_ptrs_, neighbor_relaxed_in_sBR_, neighbors_curr_state_, one_body_energies_, perturbed_two_body_energies_, state_energies_in_current_context_, and state_energies_in_current_state_assignment_.
|
overridevirtual |
If FASTERNode is the most-derived class being used, then this function will be called and will return the amount of memory statically allocated by a single FASTERNode.
Implements core::pack::interaction_graph::NodeBase.
References FASTERNode().
|
inlineprotected |
|
inlineprotected |
| int core::pack::interaction_graph::FASTERNode::get_current_state | ( | ) | const |
returns the state the node is currently assigned
References current_state_.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::get_current_network_state(), core::pack::interaction_graph::FASTERInteractionGraph::get_current_state_for_node(), and core::pack::interaction_graph::FASTERInteractionGraph::print_current_state_assignment().
| core::PackerEnergy core::pack::interaction_graph::FASTERNode::get_deltaE_for_relaxed_state_following_perturbation | ( | ) |
References curr_state_one_body_energy_, core::pack::interaction_graph::FASTEREdge::get_deltaE_for_perturbation(), get_incident_faster_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), have_contributed_deltaE_following_perturbation_, neighbor_relaxed_in_sBR_, one_body_energies_, perturbed_, and relaxed_state_.
Referenced by core::pack::interaction_graph::FASTEREdge::get_deltaE_for_neighbor_following_perturbation(), core::pack::interaction_graph::FASTERInteractionGraph::perturb_dBR_and_relax(), and core::pack::interaction_graph::FASTERInteractionGraph::perturb_sBR_and_relax().
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
References core::pack::interaction_graph::NodeBase::get_incident_edge().
Referenced by assign_state(), assign_zero_state(), commit_considered_substitution(), complete_partial_state_assignment(), get_deltaE_for_relaxed_state_following_perturbation(), partial_assign_state(), prep_for_neighbors_perturbation(), relax_neighbors(), set_perturbed_state(), update_internal_energy_sums(), and update_internal_vectors().
|
inlineprotected |
|
overridevirtual |
returns the one body energy for a state
| state | - [in] |
Implements core::pack::interaction_graph::PrecomputedPairEnergiesNode.
References one_body_energies_.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::get_one_body_energy_for_node_state().
| core::PackerEnergy core::pack::interaction_graph::FASTERNode::get_one_body_energy_current_state | ( | ) | const |
returns the one body energy for the state the node is currently assigned
References curr_state_one_body_energy_.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::get_energy_sum_for_vertex_group().
| core::PackerEnergy core::pack::interaction_graph::FASTERNode::get_one_body_energy_for_relaxed_state | ( | ) | const |
References one_body_energies_, and relaxed_state_.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::get_energy_following_relaxation().
| int core::pack::interaction_graph::FASTERNode::get_random_neighbor | ( | ) |
| int core::pack::interaction_graph::FASTERNode::get_relaxed_state | ( | ) | const |
References relaxed_state_.
| void core::pack::interaction_graph::FASTERNode::get_total_energy_in_curr_state_assignment_for_all_states | ( | ) |
References edge_matrix_ptrs_, core::pack::interaction_graph::NodeBase::get_num_edges_to_smaller_indexed_nodes(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), core::pack::interaction_graph::NodeBase::get_num_states(), neighbors_curr_state_, one_body_energies_, and state_energies_in_current_state_assignment_.
Referenced by complete_partial_state_assignment(), and prepare_for_FASTER().
|
private |
| void core::pack::interaction_graph::FASTERNode::partial_assign_relaxed_state | ( | Real | probability | ) |
References protocols::hotspot_hashing::accept, current_state_, partial_assign_state(), relaxed_state_, and core::scoring::rg.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::commit_relaxation(), and core::pack::interaction_graph::FASTERInteractionGraph::probabilistically_commit_relaxation().
| void core::pack::interaction_graph::FASTERNode::partial_assign_state | ( | int | state | ) |
References core::pack::interaction_graph::FASTEREdge::acknowledge_partial_state_assignment(), curr_state_one_body_energy_, curr_state_total_energy_, current_state_, get_incident_faster_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), one_body_energies_, and relaxed_state_.
Referenced by partial_assign_relaxed_state(), and partial_assign_state_with_lowest_one_body_energy().
| void core::pack::interaction_graph::FASTERNode::partial_assign_state_with_lowest_one_body_energy | ( | ) |
| void core::pack::interaction_graph::FASTERNode::prep_for_neighbors_perturbation | ( | ) |
References core::pack::interaction_graph::FASTEREdge::acknowledge_participation_in_perturbation(), get_incident_faster_edge(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), have_contributed_deltaE_following_perturbation_, perturbed_, state_energies_in_current_context_, and state_energies_in_current_state_assignment_.
Referenced by tell_neighbors_to_prep_for_relaxation().
| void core::pack::interaction_graph::FASTERNode::prepare_for_FASTER | ( | ) |
References core::pack::interaction_graph::NodeBase::get_edge_vector_up_to_date(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), core::pack::interaction_graph::NodeBase::get_num_states(), get_total_energy_in_curr_state_assignment_for_all_states(), have_prepared_once_for_FASTER_, in_FASTER_mode_, neighbor_relaxed_in_sBR_, perturbed_two_body_energies_, state_energies_in_current_context_, state_energies_in_current_state_assignment_, and update_internal_vectors().
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::prepare_for_FASTER().
| void core::pack::interaction_graph::FASTERNode::prepare_for_perturbation | ( | ) |
|
overridevirtual |
prepares node for simulated annealing
updates internal edge vector + other vectorized edge information
Implements core::pack::interaction_graph::NodeBase.
References core::pack::interaction_graph::NodeBase::get_edge_vector_up_to_date(), in_FASTER_mode_, and update_internal_vectors().
|
overridevirtual |
prints a description of the node and all of it's one-body energies
Implements core::pack::interaction_graph::NodeBase.
References core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_states(), and one_body_energies_.
| void core::pack::interaction_graph::FASTERNode::print_internal_energies | ( | ) | const |
outputs to standard error the bookkeeping energies for the node in its current state assignment
References curr_state_one_body_energy_, curr_state_total_energy_, curr_state_two_body_energies_, current_state_, core::pack::interaction_graph::NodeBase::get_index_of_adjacent_node(), and core::pack::interaction_graph::NodeBase::get_num_incident_edges().
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::print_current_state_assignment().
|
inline |
returns the change in energy that would be induced by switching this node from its current state into another state
iterates across the incident edges for a node in two phases: in the first phase, it examines edges leading to higher-indexed nodes in the second phase, it examines edges leading to smaller-indexed nodes. for cache efficiency, all of the amino-acid-neighbor-offset information that each edge calculates is stored on the nodes themselves. The edges are never touched; rather, their private information is stored on the nodes and handed to static member functions of the DensePDEdge class. This "store edge information on the nodes" strategy gives me performance equivalent to the previous energy2b lookup tables.
| alternate_state | - [in] - the alternate state to consider |
| previous_energy_for_node | - [out] - the old energy1b/energy2b sum for this node; used by simulate annealing. |
References alternate_state_, alternate_state_is_being_considered_, alternate_state_one_body_energy_, alternate_state_total_energy_, alternate_state_two_body_energies_, curr_state_total_energy_, edge_matrix_ptrs_, core::pack::interaction_graph::FASTEREdge::get_alternate_state_energy(), core::pack::interaction_graph::NodeBase::get_num_edges_to_smaller_indexed_nodes(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), neighbors_curr_state_, and one_body_energies_.
| void core::pack::interaction_graph::FASTERNode::relax | ( | ) |
| void core::pack::interaction_graph::FASTERNode::relax_after_neighbors_perturbation | ( | ) |
| void core::pack::interaction_graph::FASTERNode::relax_neighbors | ( | ) |
References core::pack::interaction_graph::FASTEREdge::acknowledge_perturbed_state(), get_adjacent_faster_node(), get_incident_faster_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), neighbor_relaxed_in_sBR_, relax_after_neighbors_perturbation(), and relaxed_state_.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::perturb_dBR_and_relax(), and core::pack::interaction_graph::FASTERInteractionGraph::perturb_sBR_and_relax().
| void core::pack::interaction_graph::FASTERNode::reset_relaxed | ( | ) |
References current_state_, and relaxed_state_.
Referenced by reset_relaxed_for_neighbors().
| void core::pack::interaction_graph::FASTERNode::reset_relaxed_for_neighbors | ( | ) |
| void core::pack::interaction_graph::FASTERNode::set_no_longer_perturbed | ( | ) |
| void core::pack::interaction_graph::FASTERNode::set_perturbed_state | ( | int | perturbed_state | ) |
References core::pack::interaction_graph::FASTEREdge::acknowledge_participation_in_perturbation(), get_incident_faster_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), perturbed_two_body_energies_, and relaxed_state_.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::perturb_dBR_and_relax(), and core::pack::interaction_graph::FASTERInteractionGraph::perturb_sBR_and_relax().
|
inlineoverridevirtual |
Implements core::pack::interaction_graph::NodeBase.
References current_state_.
| void core::pack::interaction_graph::FASTERNode::tell_neighbors_to_prep_for_relaxation | ( | ) |
References get_adjacent_faster_node(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), neighbor_relaxed_in_sBR_, perturbed_two_body_energies_, and prep_for_neighbors_perturbation().
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::perturb_dBR_and_relax(), and core::pack::interaction_graph::FASTERInteractionGraph::perturb_sBR_and_relax().
| void core::pack::interaction_graph::FASTERNode::update_internal_energy_sums | ( | ) |
removes numerical drift long stretches of efficient bookkeeping produces
References curr_state_one_body_energy_, curr_state_total_energy_, core::pack::interaction_graph::FASTEREdge::get_current_two_body_energy(), core::pack::interaction_graph::NodeBase::get_edge_vector_up_to_date(), get_incident_faster_edge(), and core::pack::interaction_graph::NodeBase::get_num_incident_edges().
|
protected |
updates bookkeeping arrays that correspond to edge-list.
calls base class update_edge_vector function, and then proceeds to create appropriate bookkeeping arrays used in simulated annealing
References alternate_state_two_body_energies_, curr_state_two_body_energies_, edge_matrix_ptrs_, get_incident_faster_edge(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), neighbors_curr_state_, and core::pack::interaction_graph::NodeBase::update_edge_vector().
Referenced by prepare_for_FASTER(), and prepare_for_simulated_annealing().
|
virtual |
set all the one-body energies for this node
| energies | - [in] - the array of energies. Must hold num_states_ entries |
References core::pack::interaction_graph::NodeBase::get_num_states(), and one_body_energies_.
|
overridevirtual |
update energy to the one-body energy for state
| state | - [in] - one-based index of the state |
| energy | - [in] - the energy that should be set. |
Implements core::pack::interaction_graph::NodeBase.
References protocols::buns::energy, and one_body_energies_.
|
overridevirtual |
sets all of the one-body energies for this node to zero
Implements core::pack::interaction_graph::NodeBase.
References core::pack::interaction_graph::NodeBase::get_num_states(), and one_body_energies_.
|
friend |
|
private |
Referenced by assign_zero_state(), commit_considered_substitution(), and project_deltaE_for_substitution().
|
private |
Referenced by assign_state(), assign_zero_state(), commit_considered_substitution(), and project_deltaE_for_substitution().
|
private |
Referenced by commit_considered_substitution(), and project_deltaE_for_substitution().
|
private |
Referenced by commit_considered_substitution(), and project_deltaE_for_substitution().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by prepare_for_FASTER().
|
private |
Referenced by acknowledge_neighbors_perturbed_state(), and relax_after_neighbors_perturbation().
|
private |
Referenced by complete_partial_state_assignment(), prepare_for_FASTER(), and prepare_for_simulated_annealing().
|
private |
|
private |
|
private |
Referenced by add_to_one_body_energies(), add_to_one_body_energy(), assign_state(), count_dynamic_memory(), get_deltaE_for_relaxed_state_following_perturbation(), get_one_body_energy(), get_one_body_energy_for_relaxed_state(), get_total_energy_in_curr_state_assignment_for_all_states(), partial_assign_state(), partial_assign_state_with_lowest_one_body_energy(), print(), project_deltaE_for_substitution(), update_one_body_energies(), update_one_body_energy(), and zero_one_body_energies().
|
private |
|
private |
|
private |
Referenced by assign_state(), assign_zero_state(), commit_considered_substitution(), get_deltaE_for_relaxed_state_following_perturbation(), get_one_body_energy_for_relaxed_state(), get_relaxed_state(), partial_assign_relaxed_state(), partial_assign_state(), relax(), relax_after_neighbors_perturbation(), relax_neighbors(), reset_relaxed(), and set_perturbed_state().
|
private |
|
private |
1.8.7