Go to the documentation of this file. 1 #ifndef SimTK_SIMBODY_FORCE_THERMOSTAT_H_
2 #define SimTK_SIMBODY_FORCE_THERMOSTAT_H_
138 Real boltzmannsConstant,
139 Real bathTemperature,
141 int numExcludedDofs = 6);
292 #endif // SimTK_SIMBODY_FORCE_THERMOSTAT_H_
This object is intended to contain all state information for a SimTK::System, except topological info...
Definition: State.h:280
Real getExternalPower(const State &state) const
Get the amount of power being applied by the thermostat to the system; sign is positive when energy i...
#define SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS(DERIVED, DERIVED_IMPL, PARENT)
Definition: PrivateImplementation.h:343
int getNumThermalDofs(const State &) const
Return the number of thermal degrees of freedom being used in the definition of temperature for this ...
Thermostat & setDefaultNumChains(int numChains)
Set the default (state independent) number of Nose'-Hoover chains.
Thermostat & setDefaultNumExcludedDofs(int numExcludedDofs)
Set the default number of system rigid body degrees of freedom (0-6) to be excluded from the calculat...
const Thermostat & setNumChains(State &, int numChains) const
Set the actual number of Nose'-Hoover chains to be used.
int getDefaultNumExcludedDofs() const
Get the initial value for the number of system rigid body degrees of freedom (0-6) to be excluded fro...
This is a System that represents the dynamics of a particle moving along a smooth surface.
Definition: Assembler.h:37
This is a feedback-controlled force that uses Nose'-Hoover chains to maintain a particular temperatur...
Definition: Force_Thermostat.h:131
void setExternalWork(State &state, Real work) const
Set the current value of the work done by the bath to an arbitrary value; normally zero for initializ...
int getNumChains(const State &) const
Obtain the current number of Nose'-Hoover chains in use.
void setChainState(State &, const Vector &) const
Set the thermostat state variables to particular values.
Thermostat()
Default constructor creates an empty handle.
Definition: Force_Thermostat.h:145
void initializeChainState(State &) const
This is a solver that initializes thermostat state variables to zero.
void initializeSystemToBathTemperature(State &) const
Set the controlled system to a set of randomized velocities which yields the bath temperature.
Thermostat & excludeMobilizedBody(MobilizedBodyIndex)
TODO: not implemented yet.
This subsystem contains the bodies ("matter") in the multibody system, the mobilizers (joints) that d...
Definition: SimbodyMatterSubsystem.h:133
This is the base class from which all Force element handle classes derive.
Definition: Force.h:50
Real getCurrentTemperature(const State &) const
Return the temperature of the controlled degrees of freedom via the definition T = 2*ke / (N*Kb) wher...
Vector getChainState(const State &) const
Return the current values of the thermostat chain variables.
This is a concrete subsystem which can apply arbitrary forces to a MultibodySystem.
Definition: GeneralForceSubsystem.h:47
Real getDefaultBathTemperature() const
Get the initial value for the bath temperature that will be use for the "bath temperature" State vari...
int getDefaultNumChains() const
Get the initial value for the number of chains that will be used for the "number of chains" State var...
void setSystemToTemperature(State &, Real T) const
Set the controlled system to a set of randomized velocities which yields a particular temperature.
Real getBoltzmannsConstant() const
Can't change the value of Boltzmann's constant after construction; this is the value being used.
Real getDefaultRelaxationTime() const
Get the initial value for the bath temperature that will be use for the "bath temperature" State vari...
const Thermostat & setBathTemperature(State &, Real Tb) const
Set the bath temperature which serves as the target temperature for the thermostat.
Real getBathTemperature(const State &) const
Obtain the current bath temperature, in units which are determined by the value of Boltzmann's consta...
Thermostat(GeneralForceSubsystem &forces, const SimbodyMatterSubsystem &matter, Real boltzmannsConstant, Real bathTemperature, Real relaxationTime, int numExcludedDofs=6)
Define a global thermostat (one that affects all degrees of freedom) at a given default temperature a...
const Thermostat & setNumExcludedDofs(State &, int numExcludedDofs) const
Set the actual number of system rigid body degrees of freedom (0-6) to be excluded from the calculati...
Thermostat & setDefaultBathTemperature(Real bathTemperature)
Set the default (state independent) bath temperature.
#define SimTK_SIMBODY_EXPORT
Definition: Simbody/include/simbody/internal/common.h:68
SimTK_Real Real
This is the default compiled-in floating point type for SimTK, either float or double.
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:606
int getNumExcludedDofs(const State &) const
Get the current value for the number of system rigid body degrees of freedom (0-6) to be excluded fro...
const Thermostat & setRelaxationTime(State &, Real t) const
Set the relaxation time which determines how long the system will take to equilibrate to the bath tem...
Real getExternalWork(const State &state) const
Get the amount of work that has been done by the bath on the system since an arbitrary start time.
Thermostat & setDefaultRelaxationTime(Real relaxationTime)
Set the default (state independent) relaxation time.
Real getRelaxationTime(const State &) const
Obtain the current relaxation time.
Real calcBathEnergy(const State &state) const
Calculate the total "bath energy" which, when added to the system energy, should yield a conserved qu...