namespace
scatteringContents
- Reference
namespace for scattering
Functions
-
template<typename Scalar>auto critical_vel(Scalar m1, Scalar m2, Scalar E1_inner, Scalar E2_inner) -> auto
- Calculate the critical velocity of the scattering between two clusters(can be single particle).
-
template<typename Cluster1, typename Cluster2>auto critical_vel(Cluster1 const& stay_cluster, Cluster2 const& incident_cluster) -> auto
- Calculate the critical velocity of the scattering between two clusters(can be single particle).
-
template<typename Scalar>auto incident_orbit(Scalar m_stay, Scalar m_incident, Scalar v_inf, Scalar b_max, Scalar r) -> auto
- Randomly create an incident orbit that its infinity incident end is uniformly distributed in a circle area with radius b_max.
-
template<typename Cluster1, typename Cluster2, typename Scalar>auto incident_orbit(Cluster1 const& stay_cluster, Cluster2 const& incident_cluster, Scalar v_inf, Scalar tidal_factor) -> auto deprecated
- Randomly create an incident orbit that its infinity incident end is uniformly distributed in a circle area with radius b_max.
Function documentation
#include <src/scattering/cross-section.hpp>
template<typename Scalar>
auto hub:: scattering:: critical_vel(Scalar m1,
Scalar m2,
Scalar E1_inner,
Scalar E2_inner)
Calculate the critical velocity of the scattering between two clusters(can be single particle).
Template parameters | |
---|---|
Scalar | Floating point like type. |
Parameters | |
m1 in | Mass of the first cluster. |
m2 in | Mass of the second cluster. |
E1_inner in | The inner mechanical energy(mechanical energy in its own centre of mass frame) of the first cluster. |
E2_inner in | The inner mechanical energy(mechanical energy in its own centre of mass frame) of the second cluster. |
Returns | The critical velocity. |
#include <src/scattering/cross-section.hpp>
template<typename Cluster1, typename Cluster2>
auto hub:: scattering:: critical_vel(Cluster1 const& stay_cluster,
Cluster2 const& incident_cluster)
Calculate the critical velocity of the scattering between two clusters(can be single particle).
Template parameters | |
---|---|
Cluster1 | std::ranges(Container) with element type has public member mass (Scalar), pos (Vector) and vel (Vector)./Type of single particle. |
Cluster2 | std::ranges(Container) with element type has public member mass (Scalar), pos (Vector) and vel (Vector)./Type of single particle. |
Parameters | |
stay_cluster in | The scattered cluster/scattered single particle. |
incident_cluster in | The incident cluster/incident single particle. |
Returns | The critical velocity. |
#include <src/scattering/cross-section.hpp>
template<typename Scalar>
auto hub:: scattering:: incident_orbit(Scalar m_stay,
Scalar m_incident,
Scalar v_inf,
Scalar b_max,
Scalar r)
Randomly create an incident orbit that its infinity incident end is uniformly distributed in a circle area with radius b_max.
Template parameters | |
---|---|
Scalar | Floating point like type. |
Parameters | |
m_stay in | The mass of the scattered object. |
m_incident in | The mass of the incident object. |
v_inf in | The relative velocity at infinity between scattering objects. |
b_max in | The max impact parameter. |
r in | The relative distance between the centre of mass between two objects. Used to generate the phase (true anomaly of the orbit). The incident object will launch at this distance. |
Returns | The incident hyperbolic orbit. |
#include <src/scattering/cross-section.hpp>
template<typename Cluster1, typename Cluster2, typename Scalar>
auto hub:: scattering:: incident_orbit(Cluster1 const& stay_cluster,
Cluster2 const& incident_cluster,
Scalar v_inf,
Scalar tidal_factor)
Randomly create an incident orbit that its infinity incident end is uniformly distributed in a circle area with radius b_max.
Template parameters | |
---|---|
Cluster1 | std::ranges(Container) with element type has public member mass (Scalar), pos (Vector) and vel (Vector)./Type of single particle. |
Cluster2 | std::ranges(Container) with element type has public member mass (Scalar), pos (Vector) and vel (Vector)./Type of single particle. |
Scalar | Floating point like type. |
Parameters | |
stay_cluster in | The scattered cluster/scattered single particle. |
incident_cluster in | The incident cluster/incident single particle. |
v_inf in | The relative velocity at infinity between scattering objects. |
tidal_factor in | Tidal factor between two clusters. Used to generate the phase (true anomaly of the orbit). The incident object will launch at the corresponding distance of this tidal factor. |
Returns | The incident hyperbolic orbit. TODO : b_max selection is implicit, need to be changed. |