|
Rosetta 3.5
|
#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... | |
| virtual | ~FASTERNode () |
| destructor More... | |
| virtual void | print () const |
| 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) |
| 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) |
| adds energy to the one-body energy for state state More... | |
| virtual void | add_to_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &energies) |
| adds all the energies in energies to the one-body energies for this node More... | |
| virtual void | zero_one_body_energies () |
| sets all of the one-body energies for this node to zero More... | |
| core::PackerEnergy | get_one_body_energy (int state) |
| returns the one body energy for a state More... | |
| virtual void | prepare_for_simulated_annealing () |
| prepares node for simulated annealing More... | |
| void | prepare_for_FASTER () |
| void | assign_zero_state () |
| assigns node's state to it's zero, or "unassigned" state. More... | |
| virtual bool | state_unassigned () const |
| 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... | |
| virtual unsigned int | count_static_memory () const |
| 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... | |
| virtual unsigned int | count_dynamic_memory () const |
| 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 | |
| virtual | ~PrecomputedPairEnergiesNode () |
| PrecomputedPairEnergiesNode (InteractionGraphBase *owner, int node_id, int num_states) | |
Public Member Functions inherited from core::pack::interaction_graph::FixedBBNode | |
| virtual | ~FixedBBNode () |
| 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 () |
Private Member Functions | |
| FASTERNode () | |
| FASTERNode (FASTERNode const &) | |
| FASTERNode & | operator= (FASTERNode const &) |
Definition at line 43 of file FASTERInteractionGraph.hh.
Definition at line 46 of file FASTERInteractionGraph.hh.
| 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.
Definition at line 54 of file FASTERInteractionGraph.cc.
|
virtual |
destructor
not responsible for any dynamically allocated memory, so node does nothing it's member variables, of course, are implicitly destructed
Definition at line 75 of file FASTERInteractionGraph.cc.
|
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 | ||
| ) |
Definition at line 452 of file FASTERInteractionGraph.cc.
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 | ||
| ) |
Definition at line 475 of file FASTERInteractionGraph.cc.
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 |
Definition at line 487 of file FASTERInteractionGraph.hh.
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().
|
virtual |
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.
Definition at line 129 of file FASTERInteractionGraph.cc.
References core::pack::interaction_graph::NodeBase::get_num_states(), and one_body_energies_.
|
virtual |
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.
Definition at line 120 of file FASTERInteractionGraph.cc.
References 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 |
Definition at line 218 of file FASTERInteractionGraph.cc.
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().
|
virtual |
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.
Definition at line 187 of file FASTERInteractionGraph.cc.
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
Definition at line 262 of file FASTERInteractionGraph.cc.
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 | ( | ) |
Definition at line 460 of file FASTERInteractionGraph.cc.
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().
|
virtual |
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.
Definition at line 333 of file FASTERInteractionGraph.cc.
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_.
|
virtual |
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.
Definition at line 324 of file FASTERInteractionGraph.cc.
References FASTERNode().
|
inlineprotected |
Definition at line 456 of file FASTERInteractionGraph.hh.
References core::pack::interaction_graph::NodeBase::get_adjacent_node().
Referenced by relax_neighbors(), reset_relaxed_for_neighbors(), and tell_neighbors_to_prep_for_relaxation().
|
inlineprotected |
Definition at line 462 of file FASTERInteractionGraph.hh.
References core::pack::interaction_graph::NodeBase::get_adjacent_node().
| int core::pack::interaction_graph::FASTERNode::get_current_state | ( | ) | const |
returns the state the node is currently assigned
Definition at line 247 of file FASTERInteractionGraph.cc.
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 | ( | ) |
Definition at line 708 of file FASTERInteractionGraph.cc.
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 |
Definition at line 468 of file FASTERInteractionGraph.hh.
References core::pack::interaction_graph::NodeBase::get_owner().
|
inlineprotected |
Definition at line 474 of file FASTERInteractionGraph.hh.
References core::pack::interaction_graph::NodeBase::get_owner().
|
inlineprotected |
Definition at line 444 of file FASTERInteractionGraph.hh.
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 |
Definition at line 450 of file FASTERInteractionGraph.hh.
References core::pack::interaction_graph::NodeBase::get_incident_edge().
| core::PackerEnergy core::pack::interaction_graph::FASTERNode::get_one_body_energy | ( | int | state) |
returns the one body energy for a state
| state | - [in] |
Definition at line 149 of file FASTERInteractionGraph.cc.
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
Definition at line 253 of file FASTERInteractionGraph.cc.
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 |
Definition at line 736 of file FASTERInteractionGraph.cc.
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 | ( | ) |
Definition at line 748 of file FASTERInteractionGraph.cc.
References core::pack::interaction_graph::NodeBase::get_index_of_adjacent_node(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), and core::pack::interaction_graph::RG().
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::get_random_neighbor_for_node().
| int core::pack::interaction_graph::FASTERNode::get_relaxed_state | ( | ) | const |
Definition at line 742 of file FASTERInteractionGraph.cc.
References relaxed_state_.
| void core::pack::interaction_graph::FASTERNode::get_total_energy_in_curr_state_assignment_for_all_states | ( | ) |
Definition at line 375 of file FASTERInteractionGraph.cc.
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) |
Definition at line 426 of file FASTERInteractionGraph.cc.
References protocols::hotspot_hashing::accept, current_state_, partial_assign_state(), relaxed_state_, and core::pack::interaction_graph::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) |
Definition at line 437 of file FASTERInteractionGraph.cc.
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 | ( | ) |
Definition at line 413 of file FASTERInteractionGraph.cc.
References core::pack::interaction_graph::NodeBase::get_num_states(), one_body_energies_, and partial_assign_state().
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::assign_BMEC().
| void core::pack::interaction_graph::FASTERNode::prep_for_neighbors_perturbation | ( | ) |
Definition at line 673 of file FASTERInteractionGraph.cc.
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 | ( | ) |
Definition at line 165 of file FASTERInteractionGraph.cc.
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 | ( | ) |
Definition at line 542 of file FASTERInteractionGraph.cc.
References have_contributed_deltaE_following_perturbation_, and perturbed_.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::perturb_dBR_and_relax(), and core::pack::interaction_graph::FASTERInteractionGraph::perturb_sBR_and_relax().
|
virtual |
prepares node for simulated annealing
updates internal edge vector + other vectorized edge information
Implements core::pack::interaction_graph::NodeBase.
Definition at line 157 of file FASTERInteractionGraph.cc.
References core::pack::interaction_graph::NodeBase::get_edge_vector_up_to_date(), in_FASTER_mode_, and update_internal_vectors().
|
virtual |
prints a description of the node and all of it's one-body energies
Implements core::pack::interaction_graph::NodeBase.
Definition at line 79 of file FASTERInteractionGraph.cc.
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
Definition at line 294 of file FASTERInteractionGraph.cc.
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. |
Definition at line 570 of file FASTERInteractionGraph.hh.
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 | ( | ) |
Definition at line 577 of file FASTERInteractionGraph.cc.
References core::pack::interaction_graph::NodeBase::get_num_states(), relaxed_state_, and state_energies_in_current_context_.
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::relax_in_current_context().
| void core::pack::interaction_graph::FASTERNode::relax_after_neighbors_perturbation | ( | ) |
Definition at line 691 of file FASTERInteractionGraph.cc.
References core::pack::interaction_graph::NodeBase::get_num_states(), have_relaxed_since_neighbors_perturbation_, perturbed_, relaxed_state_, and state_energies_in_current_context_.
Referenced by relax_neighbors().
| void core::pack::interaction_graph::FASTERNode::relax_neighbors | ( | ) |
Definition at line 566 of file FASTERInteractionGraph.cc.
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 | ( | ) |
Definition at line 602 of file FASTERInteractionGraph.cc.
References current_state_, and relaxed_state_.
Referenced by reset_relaxed_for_neighbors().
| void core::pack::interaction_graph::FASTERNode::reset_relaxed_for_neighbors | ( | ) |
Definition at line 592 of file FASTERInteractionGraph.cc.
References get_adjacent_faster_node(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), and reset_relaxed().
Referenced by core::pack::interaction_graph::FASTERInteractionGraph::reject_perturbation().
| void core::pack::interaction_graph::FASTERNode::set_no_longer_perturbed | ( | ) |
Definition at line 549 of file FASTERInteractionGraph.cc.
References perturbed_.
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::set_perturbed_state | ( | int | perturbed_state) |
Definition at line 555 of file FASTERInteractionGraph.cc.
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().
|
inlinevirtual |
Implements core::pack::interaction_graph::NodeBase.
Definition at line 64 of file FASTERInteractionGraph.hh.
References current_state_.
| void core::pack::interaction_graph::FASTERNode::tell_neighbors_to_prep_for_relaxation | ( | ) |
Definition at line 609 of file FASTERInteractionGraph.cc.
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
Definition at line 309 of file FASTERInteractionGraph.cc.
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
Definition at line 354 of file FASTERInteractionGraph.cc.
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 |
Definition at line 106 of file FASTERInteractionGraph.cc.
References core::pack::interaction_graph::NodeBase::get_num_states(), and one_body_energies_.
|
virtual |
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.
Definition at line 97 of file FASTERInteractionGraph.cc.
References one_body_energies_.
|
virtual |
sets all of the one-body energies for this node to zero
Implements core::pack::interaction_graph::NodeBase.
Definition at line 139 of file FASTERInteractionGraph.cc.
References core::pack::interaction_graph::NodeBase::get_num_states(), and one_body_energies_.
|
private |
Definition at line 174 of file FASTERInteractionGraph.hh.
Referenced by assign_zero_state(), commit_considered_substitution(), and project_deltaE_for_substitution().
|
private |
Definition at line 179 of file FASTERInteractionGraph.hh.
Referenced by assign_state(), assign_zero_state(), commit_considered_substitution(), and project_deltaE_for_substitution().
|
private |
Definition at line 175 of file FASTERInteractionGraph.hh.
Referenced by commit_considered_substitution(), and project_deltaE_for_substitution().
|
private |
Definition at line 176 of file FASTERInteractionGraph.hh.
Referenced by commit_considered_substitution(), and project_deltaE_for_substitution().
|
private |
Definition at line 177 of file FASTERInteractionGraph.hh.
Referenced by commit_considered_substitution(), count_dynamic_memory(), project_deltaE_for_substitution(), and update_internal_vectors().
|
private |
Definition at line 170 of file FASTERInteractionGraph.hh.
Referenced by assign_state(), assign_zero_state(), commit_considered_substitution(), get_deltaE_for_relaxed_state_following_perturbation(), get_one_body_energy_current_state(), partial_assign_state(), print_internal_energies(), and update_internal_energy_sums().
|
private |
Definition at line 171 of file FASTERInteractionGraph.hh.
Referenced by acknowledge_neighbors_state_substitution(), assign_state(), assign_zero_state(), commit_considered_substitution(), complete_partial_state_assignment(), partial_assign_state(), print_internal_energies(), project_deltaE_for_substitution(), and update_internal_energy_sums().
|
private |
Definition at line 172 of file FASTERInteractionGraph.hh.
Referenced by acknowledge_neighbors_state_substitution(), assign_state(), assign_zero_state(), commit_considered_substitution(), complete_partial_state_assignment(), count_dynamic_memory(), print_internal_energies(), and update_internal_vectors().
|
private |
Definition at line 169 of file FASTERInteractionGraph.hh.
Referenced by assign_state(), assign_zero_state(), commit_considered_substitution(), get_current_state(), partial_assign_relaxed_state(), partial_assign_state(), print_internal_energies(), reset_relaxed(), and state_unassigned().
|
private |
Definition at line 167 of file FASTERInteractionGraph.hh.
Referenced by acknowledge_neighbors_perturbed_state(), count_dynamic_memory(), get_total_energy_in_curr_state_assignment_for_all_states(), project_deltaE_for_substitution(), and update_internal_vectors().
|
private |
Definition at line 186 of file FASTERInteractionGraph.hh.
Referenced by get_deltaE_for_relaxed_state_following_perturbation(), prep_for_neighbors_perturbation(), and prepare_for_perturbation().
|
private |
Definition at line 182 of file FASTERInteractionGraph.hh.
Referenced by prepare_for_FASTER().
|
private |
Definition at line 185 of file FASTERInteractionGraph.hh.
Referenced by acknowledge_neighbors_perturbed_state(), and relax_after_neighbors_perturbation().
|
private |
Definition at line 183 of file FASTERInteractionGraph.hh.
Referenced by complete_partial_state_assignment(), prepare_for_FASTER(), and prepare_for_simulated_annealing().
|
private |
Definition at line 190 of file FASTERInteractionGraph.hh.
Referenced by count_dynamic_memory(), get_deltaE_for_relaxed_state_following_perturbation(), prepare_for_FASTER(), relax_neighbors(), and tell_neighbors_to_prep_for_relaxation().
|
private |
Definition at line 166 of file FASTERInteractionGraph.hh.
Referenced by acknowledge_neighbors_partial_state_assignment(), acknowledge_neighbors_perturbed_state(), acknowledge_neighbors_state_substitution(), count_dynamic_memory(), get_total_energy_in_curr_state_assignment_for_all_states(), project_deltaE_for_substitution(), and update_internal_vectors().
|
private |
Definition at line 164 of file FASTERInteractionGraph.hh.
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 |
Definition at line 191 of file FASTERInteractionGraph.hh.
Referenced by count_dynamic_memory(), prepare_for_FASTER(), set_perturbed_state(), and tell_neighbors_to_prep_for_relaxation().
|
private |
Definition at line 187 of file FASTERInteractionGraph.hh.
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 |
Definition at line 189 of file FASTERInteractionGraph.hh.
Referenced by acknowledge_neighbors_perturbed_state(), count_dynamic_memory(), prep_for_neighbors_perturbation(), prepare_for_FASTER(), relax(), and relax_after_neighbors_perturbation().
|
private |
Definition at line 188 of file FASTERInteractionGraph.hh.
Referenced by count_dynamic_memory(), get_total_energy_in_curr_state_assignment_for_all_states(), prep_for_neighbors_perturbation(), and prepare_for_FASTER().
1.8.4