MaMiCo
1.2
Toggle main menu visibility
Loading...
Searching...
No Matches
coupling
interface
Molecule.h
1
// Copyright (C) 2015 Technische Universitaet Muenchen
2
// This file is part of the Mamico project. For conditions of distribution
3
// and use, please see the copyright notice in Mamico's main folder, or at
4
// www5.in.tum.de/mamico
5
#ifndef _MOLECULARDYNAMICS_COUPLING_INTERFACE_MOLECULE_H_
6
#define _MOLECULARDYNAMICS_COUPLING_INTERFACE_MOLECULE_H_
7
8
#include "tarch/la/Vector.h"
9
10
namespace
coupling
{
11
namespace
interface {
12
template
<
unsigned
int
dim>
class
Molecule
;
13
}
14
}
// namespace coupling
15
23
template
<
unsigned
int
dim>
class
coupling::interface::Molecule
{
24
public
:
26
virtual
~Molecule
() {}
27
29
virtual
tarch::la::Vector<dim, double>
getVelocity
()
const
= 0;
30
34
virtual
void
setVelocity
(
const
tarch::la::Vector<dim, double>
& velocity) = 0;
35
37
virtual
tarch::la::Vector<dim, double>
getPosition
()
const
= 0;
38
42
virtual
void
setPosition
(
const
tarch::la::Vector<dim, double>
& position) = 0;
43
49
virtual
void
setForce
(
const
tarch::la::Vector<dim, double>
& force) = 0;
50
54
virtual
tarch::la::Vector<dim, double>
getForce
()
const
= 0;
55
57
virtual
double
getPotentialEnergy
()
const
= 0;
58
62
virtual
void
setPotentialEnergy
(
const
double
& potentialEnergy) = 0;
63
};
64
#endif
// _MOLECULARDYNAMICS_COUPLING_INTERFACE_MOLECULE_H_
coupling::interface::Molecule
interface to access a single molecule in the MD simulation.
Definition
Molecule.h:23
coupling::interface::Molecule::setForce
virtual void setForce(const tarch::la::Vector< dim, double > &force)=0
coupling::interface::Molecule::setPosition
virtual void setPosition(const tarch::la::Vector< dim, double > &position)=0
coupling::interface::Molecule::setPotentialEnergy
virtual void setPotentialEnergy(const double &potentialEnergy)=0
coupling::interface::Molecule::setVelocity
virtual void setVelocity(const tarch::la::Vector< dim, double > &velocity)=0
coupling::interface::Molecule::~Molecule
virtual ~Molecule()
Definition
Molecule.h:26
coupling::interface::Molecule::getPotentialEnergy
virtual double getPotentialEnergy() const =0
coupling::interface::Molecule::getVelocity
virtual tarch::la::Vector< dim, double > getVelocity() const =0
coupling::interface::Molecule::getForce
virtual tarch::la::Vector< dim, double > getForce() const =0
coupling::interface::Molecule::getPosition
virtual tarch::la::Vector< dim, double > getPosition() const =0
tarch::la::Vector
Definition
Vector.h:25
coupling
everything necessary for coupling operations, is defined in here
Definition
AdditiveMomentumInsertion.h:15
Generated by
1.17.0