SPH
|
#include "physics/Functions.h"
Go to the source code of this file.
Functions | |
NAMESPACE_SPH_BEGIN Float | evalBenzAsphaugScalingLaw (const Float D, const Float rho) |
Returns the critical energy Q_D^* as a function of body diameter. More... | |
Float | getImpactEnergy (const Float R, const Float r, const Float v) |
Computes the impact energy Q from impact parameters. More... | |
Float | getEffectiveImpactArea (const Float R, const Float r, const Float phi) |
Returns the the ratio of the cross-sectional area of the impact and the total area of the impactor. More... | |
Float | getImpactorRadius (const Float R_pb, const Float v_imp, const Float QOverQ_D, const Float rho) |
Calculates the impactor radius to satisfy required impact parameters. More... | |
Float | getImpactorRadius (const Float R_pb, const Float v_imp, const Float phi, const Float Q_effOverQ_D, const Float rho) |
Calculates the impactor radius to satisfy required impact parameters. More... | |
NAMESPACE_SPH_BEGIN Float evalBenzAsphaugScalingLaw | ( | const Float | D, |
const Float | rho | ||
) |
Returns the critical energy Q_D^* as a function of body diameter.
The critical energy is a kinetic energy for which half of the target is dispersed into the fragments. In other words, impact with critical energy will produce largest remnant (or fragment), mass of which is 50% mass of the parent body, The relation follows the scaling law of Benz & Asphaug (1999).
Definition at line 5 of file Functions.cpp.
Returns the the ratio of the cross-sectional area of the impact and the total area of the impactor.
This value is lower than 1 only at high impact angles, where a part of the impactor misses the target entirely (hit-and-run collision) and does not deliver its kinetic energy into the target. For the same Q/Q_D, oblique impacts will therefore look 'artificially' weaker than the impacts and lower impacts angle. Effective impact area can be used to 'correct' the impact energy, so that impacts at high impact angles are comparable with head-on impats. See Sevecek_2017 for details.
Q | Relative impact energy (kinetic energy of the impactor divided by the impactor mass) |
R | Radius of the target |
r | Radius of the impactor |
phi | Impact angle in radians |
Definition at line 22 of file Functions.cpp.
Computes the impact energy Q from impact parameters.
R | Radius of the target |
r | Radius of the impactor |
v | Impact speed. |
Definition at line 18 of file Functions.cpp.
Float getImpactorRadius | ( | const Float | R_pb, |
const Float | v_imp, | ||
const Float | phi, | ||
const Float | Q_effOverQ_D, | ||
const Float | rho | ||
) |
Calculates the impactor radius to satisfy required impact parameters.
The radius is computed so that the total relative effective impact energy is equal to the given value, assuming Benz & Asphaug scaling law. The effective impact energy takes into account the projected impact area, see getEffectiveImpactArea.
R_pb | Radius of the parent body (target) |
v_imp | Impact velocity |
phi | Impact angle |
Q_effOverQ_D | Ratio of the relative impact energy and the critical energy given by the scaling law |
rho | Density of the parent bod |
Definition at line 42 of file Functions.cpp.
Float getImpactorRadius | ( | const Float | R_pb, |
const Float | v_imp, | ||
const Float | QOverQ_D, | ||
const Float | rho | ||
) |
Calculates the impactor radius to satisfy required impact parameters.
The radius is computed so that the total relative impact energy is equal to the given value, assuming Benz & Asphaug scaling law.
R_pb | Radius of the parent body (target) |
v_imp | Impact velocity |
QOverQ_D | Ratio of the impact energy and the critical energy given by the scaling law |
rho | Density of the parent bod |
Definition at line 35 of file Functions.cpp.