1 #ifndef SimTK_SIMBODY_FORCE_THERMOSTAT_H_
2 #define SimTK_SIMBODY_FORCE_THERMOSTAT_H_
138 Real boltzmannsConstant,
139 Real bathTemperature,
141 int numExcludedDofs = 6);
155 Thermostat& setDefaultNumChains(
int numChains);
160 Thermostat& setDefaultBathTemperature(Real bathTemperature);
163 Thermostat& setDefaultRelaxationTime(Real relaxationTime);
169 Thermostat& setDefaultNumExcludedDofs(
int numExcludedDofs);
174 int getDefaultNumChains()
const;
178 Real getDefaultBathTemperature()
const;
181 Real getDefaultRelaxationTime()
const;
186 int getDefaultNumExcludedDofs()
const;
190 Real getBoltzmannsConstant()
const;
211 const Thermostat& setNumExcludedDofs(
State&,
int numExcludedDofs)
const;
216 int getNumChains(
const State&)
const;
221 Real getBathTemperature(
const State&)
const;
224 Real getRelaxationTime(
const State&)
const;
229 int getNumExcludedDofs(
const State&)
const;
235 int getNumThermalDofs(
const State&)
const;
240 Real getCurrentTemperature(
const State&)
const;
243 void initializeChainState(
State&)
const;
257 Real calcBathEnergy(
const State& state)
const;
261 Real getExternalPower(
const State& state)
const;
265 Real getExternalWork(
const State& state)
const;
269 void setExternalWork(
State& state, Real work)
const;
274 void initializeSystemToBathTemperature(
State&)
const;
281 void setSystemToTemperature(
State&, Real T)
const;
292 #endif // SimTK_SIMBODY_FORCE_THERMOSTAT_H_
This is the base class from which all Force element handle classes derive.
Definition: Force.h:50
This is a feedback-controlled force that uses Nose'-Hoover chains to maintain a particular temperatur...
Definition: Force_Thermostat.h:131
This is for arrays indexed by mobilized body number within a subsystem (typically the SimbodyMatterSu...
This is the handle class for the hidden State implementation.
Definition: State.h:264
Includes internal headers providing declarations for the basic SimTK Core classes, including Simmatrix.
#define SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS(DERIVED, DERIVED_IMPL, PARENT)
Definition: PrivateImplementation.h:343
This is a concrete subsystem which can apply arbitrary forces to a MultibodySystem.
Definition: GeneralForceSubsystem.h:47
#define SimTK_SIMBODY_EXPORT
Definition: Simbody/include/simbody/internal/common.h:72
Thermostat()
Default constructor creates an empty handle.
Definition: Force_Thermostat.h:145
This subsystem contains the bodies ("matter") in the multibody system, the mobilizers (joints) that d...
Definition: SimbodyMatterSubsystem.h:130