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);
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 top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
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:593
This object is intended to contain all state information for a SimTK::System, except topological info...
Definition: State.h:276
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:133