 |
Version: SMASH-2.0
|
|
Go to the documentation of this file.
8 #ifndef SRC_INCLUDE_SMASH_PROPAGATION_H_
9 #define SRC_INCLUDE_SMASH_PROPAGATION_H_
50 double calc_hubble(
double time,
const ExpansionProperties &metric);
73 const std::vector<FourVector> &beam_momentum);
86 const ExperimentParameters ¶meters,
87 const ExpansionProperties &metric);
104 Particles *particles,
double dt,
const Potentials &pot,
105 RectangularLattice<std::pair<ThreeVector, ThreeVector>> *FB_lat,
106 RectangularLattice<std::pair<ThreeVector, ThreeVector>> *FI3_lat);
109 #endif // SRC_INCLUDE_SMASH_PROPAGATION_H_
void expand_space_time(Particles *particles, const ExperimentParameters ¶meters, const ExpansionProperties &metric)
Modifies positions and momentum of all particles to account for space-time deformation.
ExpansionMode mode_
Type of metric used.
double calc_hubble(double time, const ExpansionProperties &metric)
Calculate the Hubble parameter , which describes how large the expansion flow is.
double b_
Expansion parameter in the metric (faster expansion for larger values)
ExpansionProperties(ExpansionMode mode, double b)
Constructor of ExpansionProperties.
double 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.
ExpansionMode
Defines properties of expansion for the metric (e.g.
Struct containing the type of the metric and the expansion parameter of the metric.
void update_momenta(Particles *particles, double dt, const Potentials &pot, RectangularLattice< std::pair< ThreeVector, ThreeVector >> *FB_lat, RectangularLattice< std::pair< ThreeVector, ThreeVector >> *FI3_lat)
Updates the momenta of all particles at the current time step according to the equations of motion: