Molecular Dynamics Simulation
1.0
src
physics
pairwiseforces
GravitationalForce.cpp
Go to the documentation of this file.
1
#include "
GravitationalForce.h
"
2
3
#include "
utils/ArrayUtils.h
"
4
5
std::array<double, 3UL>
GravitationalForce::calculateForce
(
const
Particle
& p,
const
Particle
& q)
const
{
6
const
auto
displacement = q.
getX
() - p.
getX
();
7
const
double
dist =
ArrayUtils::L2Norm
(displacement);
8
9
const
auto
f_gravity = (p.
getM
() * q.
getM
() / (std::pow(dist, 3))) * displacement;
10
11
return
f_gravity;
12
}
13
14
GravitationalForce::operator std::string()
const
{
return
"Gravitational"
; }
ArrayUtils.h
GravitationalForce.h
GravitationalForce::calculateForce
std::array< double, 3UL > calculateForce(const Particle &p, const Particle &q) const override
Calculates the gravitational forces between two particles.
Definition:
GravitationalForce.cpp:5
Particle
Class to represent a particle.
Definition:
Particle.h:26
Particle::getX
const std::array< double, 3 > & getX() const
Gets the position of the particle.
Definition:
Particle.h:157
Particle::getM
double getM() const
Gets the mass of the particle.
Definition:
Particle.h:177
ArrayUtils::L2Norm
auto L2Norm(const Container &c)
Definition:
ArrayUtils.h:174
Generated by
1.9.1