ls1-MarDyn
ls1-MarDyn molecular dynamics code
src
thermostats
VelocityScalingThermostat.h
1
#ifndef VELOCITY_SCALING_THERMOSTAT_H
2
#define VELOCITY_SCALING_THERMOSTAT_H
3
4
#include "particleContainer/ParticleContainer.h"
5
6
#include <map>
7
8
9
class
VelocityScalingThermostat
{
10
public
:
11
VelocityScalingThermostat
();
12
~
~VelocityScalingThermostat
();
13
void
setGlobalBetaTrans(
double
beta) { _globalBetaTrans = beta; }
14
double
getGlobalBetaTrans() {
return
_globalBetaTrans; }
15
void
setGlobalBetaRot(
double
beta) { _globalBetaRot = beta; }
16
double
getGlobalBetaRot() {
return
_globalBetaRot; }
17
void
setGlobalVelocity(
double
v[3]);
18
19
void
enableComponentwise() { _componentwise =
true
; }
20
void
disableComponentwise() { _componentwise =
false
; }
21
22
void
setBetaTrans(
int
componentId,
double
beta);
23
double
getBetaTrans(
int
componentId) {
return
_componentBetaTrans[componentId]; }
24
void
setBetaRot(
int
componentId,
double
beta);
25
double
getBetaRot(
int
componentId) {
return
_componentBetaRot[componentId]; }
26
void
setVelocity(
int
componentId,
double
v[3]);
27
void
apply(
ParticleContainer
*moleculeContainer);
28
29
private
:
30
double
_globalBetaTrans;
31
double
_globalBetaRot;
32
double
_globalVelocity[3];
33
34
bool
_componentwise;
35
bool
_useGlobalVelocity;
36
std::map<int, double> _componentBetaTrans;
37
std::map<int, double> _componentBetaRot;
38
std::map<int, double*> _componentVelocity;
39
};
40
41
#endif
/* VELOCITY_SCALING_THERMOSTAT_H */
42
ParticleContainer
This Interface is used to get access to particles and pairs of particles.
Definition:
ParticleContainer.h:69
VelocityScalingThermostat
Definition:
VelocityScalingThermostat.h:9
Generated on Thu Oct 21 2021 02:54:37 for ls1-MarDyn by
1.9.2