MaMiCo 1.2
Loading...
Searching...
No Matches
CouplingCell.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_DATA_STRUCTURES_COUPLINGCELL_H_
6#define _MOLECULARDYNAMICS_COUPLING_DATA_STRUCTURES_COUPLINGCELL_H_
7
8#include "tarch/la/Vector.h"
9#include <cstdlib>
10#include <fstream>
11#include <iostream>
12#include <string>
13
14namespace coupling {
15namespace datastructures {
16
17template <unsigned int dim> class CouplingCell;
18} // namespace datastructures
19} // namespace coupling
20
29template <unsigned int dim> class coupling::datastructures::CouplingCell {
30public:
36
38 virtual ~CouplingCell() {}
39
42 void setMicroscopicMass(const double& mass) { _microscopicMass = mass; }
45 const double& getMicroscopicMass() const { return _microscopicMass; }
52
55 void setMacroscopicMass(const double& mass) { _macroscopicMass = mass; }
58 const double& getMacroscopicMass() const { return _macroscopicMass; }
65
68 const double& getPotentialEnergy() const { return _potentialEnergy; }
71 void setPotentialEnergy(const double& potentialEnergy) { _potentialEnergy = potentialEnergy; }
72
75 void addMicroscopicMass(const double& mass) { _microscopicMass += mass; }
79
82 void addMacroscopicMass(const double& mass) { _macroscopicMass += mass; }
86
93
96 void setTemperature(const double& temperature) { _temperature = temperature; }
99 const double& getTemperature() const { return _temperature; }
100
107
114
119
122
125};
126
127#endif // _MOLECULARDYNAMICS_COUPLING_DATA_STRUCTURES_COUPLINGCELL_H_
defines the cell type with cell-averaged quantities only (no linked cells).
Definition CouplingCell.h:29
void addMacroscopicMomentum(const tarch::la::Vector< dim, double > &momentum)
Definition CouplingCell.h:85
void addMicroscopicMass(const double &mass)
Definition CouplingCell.h:75
const tarch::la::Vector< dim, double > & getMicroscopicMomentum() const
Definition CouplingCell.h:51
double _macroscopicMass
Definition CouplingCell.h:110
tarch::la::Vector< dim, double > _currentVelocity
Definition CouplingCell.h:124
const tarch::la::Vector< dim, double > & getCurrentVelocity() const
Definition CouplingCell.h:92
double _temperature
Definition CouplingCell.h:121
const tarch::la::Vector< dim, double > & getMacroscopicMomentum() const
Definition CouplingCell.h:64
void addMacroscopicMass(const double &mass)
Definition CouplingCell.h:82
double _microscopicMass
Definition CouplingCell.h:103
virtual ~CouplingCell()
Definition CouplingCell.h:38
void setTemperature(const double &temperature)
Definition CouplingCell.h:96
void setMicroscopicMass(const double &mass)
Definition CouplingCell.h:42
const double & getPotentialEnergy() const
Definition CouplingCell.h:68
void addMicroscopicMomentum(const tarch::la::Vector< dim, double > &momentum)
Definition CouplingCell.h:78
const double & getMicroscopicMass() const
Definition CouplingCell.h:45
void setMacroscopicMomentum(const tarch::la::Vector< dim, double > &momentum)
Definition CouplingCell.h:61
void setPotentialEnergy(const double &potentialEnergy)
Definition CouplingCell.h:71
CouplingCell()
Definition CouplingCell.h:33
const double & getTemperature() const
Definition CouplingCell.h:99
const double & getMacroscopicMass() const
Definition CouplingCell.h:58
void setMacroscopicMass(const double &mass)
Definition CouplingCell.h:55
tarch::la::Vector< dim, double > _macroscopicMomentum
Definition CouplingCell.h:113
tarch::la::Vector< dim, double > _microscopicMomentum
Definition CouplingCell.h:106
void setCurrentVelocity(const tarch::la::Vector< dim, double > &velocity)
Definition CouplingCell.h:89
double _potentialEnergy
Definition CouplingCell.h:118
void setMicroscopicMomentum(const tarch::la::Vector< dim, double > &momentum)
Definition CouplingCell.h:48
Definition Vector.h:24
everything necessary for coupling operations, is defined in here
Definition AdditiveMomentumInsertion.h:15