![]() |
Rosetta
2021.16
|
Base class for controlling the temperature of a simulation. More...
#include <TemperatureController.hh>

Public Types | |
| typedef utility::vector1 < core::Size > | GridCoord |
Public Types inherited from protocols::moves::Mover | |
| typedef utility::tag::TagCOP | TagCOP |
| typedef core::pose::Pose | Pose |
| typedef core::pose::PoseCOP | PoseCOP |
| typedef std::list< std::string > | Strings |
Public Member Functions | |
| TemperatureController () | |
| Default constructor. More... | |
| TemperatureController (TemperatureController const &) | |
| Copy constructor. More... | |
| TemperatureController & | operator= (TemperatureController const &)=default |
| This has substantially different behavior than the copy constructor. More... | |
| void | apply (core::pose::Pose &) override |
| No-op implemented only to satisfy the Mover interface. More... | |
| std::string | get_name () const override |
| Return the name of this class. More... | |
| bool | reinitialize_for_each_job () const override |
| Return false. This class does not need to be reinitialized for each job. More... | |
| bool | reinitialize_for_new_input () const override |
| Return false. This class does not need to be reinitialized for new input. More... | |
| void | observe_after_metropolis (MetropolisHastingsMover const &metropolis_hastings_mover) override |
| Callback executed after the Metropolis criterion is evaluated. More... | |
| virtual core::Real | temperature_move (core::Real score)=0 |
| Execute the temperature move. More... | |
| virtual core::Real | temperature_move (core::pose::Pose &pose) |
| Execute a temperature move which depends on the current pose. More... | |
| virtual core::Real | temperature () const =0 |
| Return the current temperature. More... | |
| virtual core::Real | temperature (core::Size level) const =0 |
| Set the current temperature to match given level. More... | |
| virtual core::Size | temperature_level () const |
| Return the current temperature level. More... | |
| virtual GridCoord | level_2_grid_coord (core::Size level) const |
| virtual core::Size | exchange_grid_dim () const |
| virtual core::Size | nlevels_per_dim (core::Size) const |
| virtual void | initialize_simulation (core::pose::Pose &pose, MetropolisHastingsMover const &metropolis_hastings_mover, core::Size level, core::Real temperature, core::Size cycle) |
| void | initialize_simulation (core::pose::Pose &, MetropolisHastingsMover const &, core::Size) override |
| Callback executed before any Monte Carlo trials are attempted. More... | |
| virtual core::Size | n_temp_levels () const |
| Return the number of temperature levels used by this controller. More... | |
| protocols::moves::MonteCarloCOP | monte_carlo () const |
| Return const access to the MonteCarlo object being controlled. More... | |
| virtual bool | finished_simulation (core::Size trials, core::Size ntrials) |
| Return true if the simulation has been completed. More... | |
| virtual void | set_monte_carlo (protocols::moves::MonteCarloOP monte_carlo) |
| Set the MonteCarlo object to be controlled. More... | |
Public Member Functions inherited from protocols::canonical_sampling::ThermodynamicObserver | |
| ThermodynamicObserver () | |
| Default constructor. More... | |
| ~ThermodynamicObserver () override | |
| Destructor. More... | |
| void | apply (core::pose::Pose &) override |
| Callback executed after each move is made. More... | |
| virtual void | finalize_simulation (core::pose::Pose &, MetropolisHastingsMover const &) |
| Callback executed after all Monte Carlo trials are completed. More... | |
| virtual bool | restart_simulation (core::pose::Pose &, MetropolisHastingsMover &, core::Size &, core::Size &, core::Real &) |
| Attempt to restart the last simulation that was recorded by this observer. More... | |
| virtual bool | requires_pose () |
| Return false if this observer does not require a valid pose. TrialCounterObserver is an example of such an observer. More... | |
Public Member Functions inherited from protocols::moves::Mover | |
| Mover () | |
| virtual MoverOP | create () |
| MoverCOP | get_self_ptr () const |
| MoverOP | get_self_ptr () |
| MoverCAP | get_self_weak_ptr () const |
| MoverAP | get_self_weak_ptr () |
| Mover (std::string const &type_name) | |
| sets the type for a mover; name_ has been removed (2010/05/14) More... | |
| virtual void | test_move (Pose &pose) |
| : Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More... | |
| virtual MoverOP | clone () const |
| Return a clone of the Mover object. More... | |
| virtual MoverOP | fresh_instance () const |
| Generates a new Mover object freshly created with the default ctor. More... | |
| MoverStatus | get_last_move_status () const |
| end parser interface, start Job Distributor interface///////////// More... | |
| void | reset_status () |
| resets status to SUCCESS, meant to be used before an apply(). The job distributor (august 08 vintage) uses this to ensure non-accumulation of status across apply()s. More... | |
| virtual core::pose::PoseOP | get_additional_output () |
| Mechanism by which a mover may return multiple output poses from a single input pose. More... | |
| void | set_type (std::string const &setting) |
| Set the 'type' string. More... | |
| std::string | get_type () const |
| void | type (const std::string &type_in) |
| Set the 'type' string. More... | |
| std::string const & | type () const |
| Get the set 'type' string. More... | |
| virtual void | set_input_pose (PoseCOP pose) |
| setter for poses contained for rms More... | |
| virtual void | set_native_pose (PoseCOP pose) |
| setter for native poses contained for rms -— we should get rid of this method? it is widely used, but a bit unsafe More... | |
| PoseCOP | get_input_pose () const |
| PoseCOP | get_native_pose () const |
| virtual void | parse_my_tag (TagCOP tag, basic::datacache::DataMap &data) |
| Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More... | |
| void | set_current_job (protocols::jobdist::BasicJobCOP job) |
| jobdist::BasicJobCOP | get_current_job () const |
| virtual void | set_current_tag (std::string const &new_tag) |
| std::string | get_current_tag () const |
| A tag is a unique identifier used to identify structures produced by this Mover. get_current_tag() returns the tag, and set_current_tag( std::string tag ) sets the tag. This functionality is not intended for use with the 2008 job distributor. More... | |
| virtual void | show (std::ostream &output=std::cout) const |
| Outputs details about the Mover, including current settings. More... | |
| virtual core::Real | last_proposal_density_ratio () |
| virtual void | clear_info () |
| Strings container can be used to return miscellaneous info (as std::string) from a mover, such as notes about the results of apply(). The job distributor (Apr 09 vintage) will check this function to see if your protocol wants to add string info to the Job that ran this mover. One way this can be useful is that later, a JobOutputter may include/append this info to an output file. More... | |
| virtual Strings & | info () |
| non-const accessor More... | |
| virtual Strings const & | info () const |
| const accessor More... | |
| virtual void | provide_citation_info (basic::citation_manager::CitationCollectionList &) const |
| Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More... | |
Protected Member Functions | |
| protocols::moves::MonteCarloOP | monte_carlo () |
| Return non-const access to the MonteCarlo object being controlled. More... | |
Protected Member Functions inherited from protocols::moves::Mover | |
| void | set_last_move_status (MoverStatus status) |
| nonvirtual setter for MoverStatus last_status_. Protected means that only the mover itself will be able to change its own status. The job distributor (august 08 vintage) is aware of status set with this function and will do what the MoverStatus says. More... | |
Private Attributes | |
| protocols::moves::MonteCarloOP | monte_carlo_ |
Additional Inherited Members | |
Static Public Member Functions inherited from protocols::moves::Mover | |
| static std::string | name () |
| static void | register_options () |
| Overload this static method if you access options within the mover. More... | |
Base class for controlling the temperature of a simulation.
Many schemes to improve the performance of condensed phase Monte Carlo simulations depends on changing the temperature of the system. Common examples include simulated annealing and parallel tempering. This class provides an interface for writing these algorithms. The most important method is temperature_move(), which is responsible for actually changing the temperature of the MonteCarlo object used for the underlying simulation. Methods like temperature_level() are also provided for managing a discrete number of different temperature levels, which is a common feature of these algorithms.
The TemperingBase class serves a similar role to this one, but is geared towards controllers that actually intend to change the temperature. This class also is parent to FixedTemperatureController, which is the default controller used by MetropolisHastingsMover.
| typedef utility::vector1< core::Size > protocols::canonical_sampling::TemperatureController::GridCoord |
| protocols::canonical_sampling::TemperatureController::TemperatureController | ( | ) |
Default constructor.
| protocols::canonical_sampling::TemperatureController::TemperatureController | ( | TemperatureController const & | other | ) |
Copy constructor.
|
inlineoverridevirtual |
No-op implemented only to satisfy the Mover interface.
Implements protocols::moves::Mover.
Reimplemented in protocols::canonical_sampling::TemperingBase.
|
inlinevirtual |
Reimplemented in protocols::canonical_sampling::HamiltonianExchange.
|
inlinevirtual |
Return true if the simulation has been completed.
Reimplemented in protocols::canonical_sampling::AsyncMPITemperingBase.
Referenced by protocols::canonical_sampling::AsyncMPITemperingBase::finished_simulation().
|
overridevirtual |
Return the name of this class.
Implements protocols::moves::Mover.
Reimplemented in protocols::canonical_sampling::FixedTemperatureController, and protocols::canonical_sampling::TemperingBase.
|
virtual |
|
inlineoverridevirtual |
Callback executed before any Monte Carlo trials are attempted.
Reimplemented from protocols::canonical_sampling::ThermodynamicObserver.
Reimplemented in protocols::canonical_sampling::TemperingBase.
|
inlinevirtual |
Reimplemented in protocols::canonical_sampling::HamiltonianExchange.
| protocols::moves::MonteCarloCOP protocols::canonical_sampling::TemperatureController::monte_carlo | ( | ) | const |
Return const access to the MonteCarlo object being controlled.
References monte_carlo_.
Referenced by protocols::canonical_sampling::TemperingBase::check_temp_consistency(), protocols::canonical_sampling::TemperingBase::initialize_simulation(), protocols::canonical_sampling::HamiltonianExchange::initialize_simulation(), protocols::canonical_sampling::TemperingBase::set_current_temp(), protocols::canonical_sampling::HamiltonianExchange::set_monte_carlo(), set_monte_carlo(), and protocols::canonical_sampling::TemperingBase::temperature().
|
protected |
Return non-const access to the MonteCarlo object being controlled.
References monte_carlo_.
|
inlinevirtual |
Return the number of temperature levels used by this controller.
Reimplemented in protocols::canonical_sampling::TemperingBase.
Referenced by protocols::canonical_sampling::MultiTemperatureTrialCounter::count_trial(), nlevels_per_dim(), and protocols::canonical_sampling::MultiTemperatureTrialCounter::reset().
|
inlinevirtual |
Reimplemented in protocols::canonical_sampling::HamiltonianExchange.
References n_temp_levels().
|
overridevirtual |
Callback executed after the Metropolis criterion is evaluated.
Implements protocols::canonical_sampling::ThermodynamicObserver.
Reimplemented in protocols::canonical_sampling::TemperingBase.
References monte_carlo_, protocols::hybridization::score, and temperature_move().
|
default |
This has substantially different behavior than the copy constructor.
Referenced by protocols::canonical_sampling::ParallelTempering::operator=(), and protocols::canonical_sampling::AsyncMPITemperingBase::operator=().
|
inlineoverridevirtual |
Return false. This class does not need to be reinitialized for each job.
Reimplemented from protocols::moves::Mover.
|
inlineoverridevirtual |
Return false. This class does not need to be reinitialized for new input.
Reimplemented from protocols::moves::Mover.
|
virtual |
Set the MonteCarlo object to be controlled.
Reimplemented in protocols::canonical_sampling::HamiltonianExchange.
References monte_carlo(), and monte_carlo_.
Referenced by protocols::canonical_sampling::HamiltonianExchange::set_monte_carlo().
|
pure virtual |
Return the current temperature.
Implemented in protocols::canonical_sampling::FixedTemperatureController, and protocols::canonical_sampling::TemperingBase.
Referenced by protocols::canonical_sampling::MultiTemperatureTrialCounter::_write_to_stream().
|
pure virtual |
Set the current temperature to match given level.
Implemented in protocols::canonical_sampling::FixedTemperatureController, and protocols::canonical_sampling::TemperingBase.
|
inlinevirtual |
Return the current temperature level.
Tempering controllers often work with a handful of discrete temperature levels. This method makes it possible to work with levels, which are discrete, rather than temperatures, which are continuous.
Reimplemented in protocols::canonical_sampling::TemperingBase.
Referenced by protocols::canonical_sampling::MultiTemperatureTrialCounter::count_accepted(), protocols::canonical_sampling::MultiTemperatureTrialCounter::count_energy_drop(), and protocols::canonical_sampling::MultiTemperatureTrialCounter::count_trial().
|
pure virtual |
Execute the temperature move.
This method is called by observe_after_metropolis() and is expected to return the new temperature (in units of kT, to the extent that that is meaningful in the context of rosetta).
Implemented in protocols::canonical_sampling::FixedTemperatureController, protocols::canonical_sampling::ParallelTempering, protocols::canonical_sampling::HamiltonianExchange, and protocols::canonical_sampling::SimulatedTempering.
Referenced by observe_after_metropolis(), and temperature_move().
|
virtual |
Execute a temperature move which depends on the current pose.
The default implementation just calls the pose-independent temperature_pose() method with the energy of the given pose. However, the HamiltonianExchange temperature controller needs to evaluate the alternative Hamiltonian.
Reimplemented in protocols::canonical_sampling::HamiltonianExchange.
References core::pose::Pose::energies(), temperature_move(), and core::scoring::Energies::total_energy().
|
private |
Referenced by monte_carlo(), observe_after_metropolis(), and set_monte_carlo().
1.8.7