Fit both dimensionless shapes. More...
#include <tape_loss.hpp>
Public Member Functions | |
| void | fit () |
| Re-derive the shapes from the physics. | |
| TapeLossIirParams | parameters_for (const TapeLossGeometry &geometry) const noexcept |
| Corners in hertz for a given geometry. | |
Static Public Member Functions | |
| static TapeLossShapes | tabulated () noexcept |
| The shipped values. | |
Public Attributes | |
| SpacingShape | spacing |
| ThicknessShape | thickness |
Fit both dimensionless shapes.
Allocating and iterative; control thread only, and only once per instance — after this, every speed and every age is a scalar multiply.
|
inline |
Re-derive the shapes from the physics.
Expensive (a multi-start simplex search); this is the offline derivation behind the shipped table, kept so the table can be regenerated and so the acceptance suite can prove the shipped values reproduce it.
|
inlinenoexcept |
Corners in hertz for a given geometry.
The spacing shape's normalized variable is f·d/v, so its corners become hertz when multiplied by v/d; the thickness shape's is f·δ/v, so by v/δ. Both are exact.
|
inlinestaticnoexcept |
The shipped values.
| SpacingShape pulp::signal::chardelay::TapeLossShapes::spacing |
| ThicknessShape pulp::signal::chardelay::TapeLossShapes::thickness |