scattering namespace
Contents
- 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. |