![]() |
Rosetta Protocols
2014.35
|
Base class for controlling the temperature of a simulation. More...
#include <TemperatureController.hh>
Public Types | |
typedef utility::vector1 < core::Size > | GridCoord |
![]() | |
typedef utility::tag::TagCOP | TagCOP |
typedef core::pose::Pose | Pose |
typedef core::pose::PoseCOP | PoseCOP |
typedef protocols::filters::Filters_map | Filters_map |
typedef std::list< std::string > | Strings |
Public Member Functions | |
TemperatureController () | |
Default constructor. More... | |
TemperatureController (TemperatureController const &) | |
Copy constructor. More... | |
virtual void | apply (core::pose::Pose &) |
No-op implemented only to satisfy the Mover interface. More... | |
virtual std::string | get_name () const |
Return the name of this class. More... | |
virtual bool | reinitialize_for_each_job () const |
Return false. This class does not need to be reinitialized for each job. More... | |
virtual bool | reinitialize_for_new_input () const |
Return false. This class does not need to be reinitialized for new input. More... | |
virtual void | observe_after_metropolis (MetropolisHastingsMover const &metropolis_hastings_mover) |
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) |
virtual void | initialize_simulation (core::pose::Pose &, MetropolisHastingsMover const &, core::Size) |
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... | |
![]() | |
ThermodynamicObserver () | |
Default constructor. More... | |
virtual | ~ThermodynamicObserver () |
Destructor. 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... | |
![]() | |
Mover () | |
virtual | ~Mover () |
virtual MoverSP | create () |
virtual void | apply (core::io::serialization::PipeMap &pmap) |
virtual void | parse_state (SerializableState const &state) |
virtual void | parse_def (utility::lua::LuaObject const &def, utility::lua::LuaObject const &score_fxns, utility::lua::LuaObject const &tasks, MoverCacheSP cache) |
virtual void | save_state (SerializableState &state) |
Mover (std::string const &type_name) | |
sets the type for a mover; name_ has been removed (2010/05/14) More... | |
Mover (Mover const &other) | |
Mover & | operator= (Mover const &other) |
assignment operator More... | |
virtual core::Real | last_proposal_density_ratio () |
std::string const & | type () const |
void | set_type (std::string const &setting) |
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... | |
void | set_current_tag (std::string const &new_tag) |
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 | 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... | |
void | type (const std::string &type_in) |
virtual MoverOP | clone () const |
Return a clone of the Mover object. More... | |
virtual void | parse_my_tag (TagCOP tag, basic::datacache::DataMap &data, Filters_map const &filters, Movers_map const &movers, Pose const &pose) |
Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More... | |
std::string | get_type () const |
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... | |
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 MoverOP | fresh_instance () const |
Generates a new Mover object freshly created with the default ctor. More... | |
void | set_current_job (protocols::jobdist::BasicJobCOP job) |
jobdist::BasicJobCOP | get_current_job () const |
virtual void | show (std::ostream &output=std::cout) const |
Outputs details about the Mover, including current settings. More... | |
Protected Member Functions | |
protocols::moves::MonteCarloOP | monte_carlo () |
Return non-const access to the MonteCarlo object being controlled. More... | |
![]() | |
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 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.
References canonical_sampling.
protocols::canonical_sampling::TemperatureController::TemperatureController | ( | TemperatureController const & | other | ) |
Copy constructor.
References canonical_sampling.
|
inlinevirtual |
No-op implemented only to satisfy the Mover interface.
Reimplemented from protocols::canonical_sampling::ThermodynamicObserver.
Reimplemented in protocols::canonical_sampling::AsyncMPITemperingBase, protocols::canonical_sampling::ParallelTempering, protocols::canonical_sampling::TemperingBase, protocols::canonical_sampling::HamiltonianExchange, and protocols::canonical_sampling::SimulatedTempering.
|
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().
|
virtual |
Return the name of this class.
Implements protocols::moves::Mover.
Reimplemented in protocols::canonical_sampling::FixedTemperatureController, protocols::canonical_sampling::ParallelTempering, protocols::canonical_sampling::TemperingBase, protocols::canonical_sampling::HamiltonianExchange, and protocols::canonical_sampling::SimulatedTempering.
|
virtual |
|
inlinevirtual |
Callback executed before any Monte Carlo trials are attempted.
Reimplemented from protocols::canonical_sampling::ThermodynamicObserver.
Reimplemented in protocols::canonical_sampling::ParallelTempering, protocols::canonical_sampling::HamiltonianExchange, protocols::canonical_sampling::SimulatedTempering, protocols::canonical_sampling::TemperingBase, and protocols::canonical_sampling::AsyncMPITemperingBase.
|
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(), 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 nlevels_per_dim().
|
inlinevirtual |
Reimplemented in protocols::canonical_sampling::HamiltonianExchange.
References n_temp_levels().
|
virtual |
Callback executed after the Metropolis criterion is evaluated.
Implements protocols::canonical_sampling::ThermodynamicObserver.
Reimplemented in protocols::canonical_sampling::TemperingBase.
References protocols::moves::MonteCarlo::last_accepted_score(), monte_carlo_, score, and temperature_move().
|
inlinevirtual |
Return false. This class does not need to be reinitialized for each job.
Reimplemented from protocols::moves::Mover.
|
inlinevirtual |
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.
|
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.
|
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::SimulatedTempering, and protocols::canonical_sampling::HamiltonianExchange.
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().