Version: SMASH-3.1
propagation.h File Reference
#include <utility>
#include <vector>
#include "lattice.h"
#include "particles.h"
#include "potentials.h"

Go to the source code of this file.

Classes

struct  smash::ExpansionProperties
 Struct containing the type of the metric and the expansion parameter of the metric. More...
 

Namespaces

 smash
 

Functions

double smash::calc_hubble (double time, const ExpansionProperties &metric)
 Calculate the Hubble parameter \(H(t)\), which describes how large the expansion flow is. More...
 
double smash::propagate_straight_line (Particles *particles, double to_time, const std::vector< FourVector > &beam_momentum)
 Propagates the positions of all particles on a straight line to a given moment. More...
 
void smash::expand_space_time (Particles *particles, const ExperimentParameters &parameters, const ExpansionProperties &metric)
 Modifies positions and momentum of all particles to account for space-time deformation. More...
 
void smash::update_momenta (std::vector< Particles > &particles, double dt, const Potentials &pot, RectangularLattice< std::pair< ThreeVector, ThreeVector >> *FB_lat, RectangularLattice< std::pair< ThreeVector, ThreeVector >> *FI3_lat, RectangularLattice< std::pair< ThreeVector, ThreeVector >> *EM_lat, DensityLattice *jB_lat)
 Updates the momenta of all particles at the current time step according to the equations of motion: More...