@@ -78,7 +78,7 @@ flowchart TD
7878 mechanical_energy --- motor_energy["<b>motor_energy</b><br><i>(isq::mechanical_energy / motor_efficiency)</i>"]
7979
8080 potential_energy["<b>isq::potential_energy</b><br>[J]"]
81- potential_energy --- gravitational_potential_energy["<b>gravitational_potential_energy</b><br><i>(isq::mass * isq::acceleration * isq::height)</i>"]
81+ potential_energy --- gravitational_potential_energy["<b>gravitational_potential_energy</b><br><i>(isq::mass * isq::acceleration_of_free_fall * isq::height)</i>"]
8282```
8383
8484!!! tip
@@ -131,8 +131,8 @@ constexpr quantity<qs::total_mass[kg]> total_mass(quantity<qs::cabin_mass[kg]> c
131131constexpr quantity<qs::gravitational_potential_energy[J]> lifting_energy (quantity< qs::total_mass[kg] > mass,
132132 quantity< qs::travel_height[m] > height)
133133{
134- constexpr quantity g = isq::acceleration (1 * si::standard_gravity);
135- return mass * g * height;
134+ constexpr quantity g0 = isq::acceleration_of_free_fall (1 * si::standard_gravity);
135+ return mass * g0 * height;
136136}
137137
138138constexpr quantity< isq::kinetic_energy[J] > acceleration_energy(quantity< qs::total_mass[kg] > mass,
@@ -210,7 +210,7 @@ int main()
210210 inline constexpr struct cruising_speed final : quantity_spec<isq::speed> {} cruising_speed;
211211 inline constexpr struct motor_efficiency final : quantity_spec<isq::mechanical_efficiency> {} motor_efficiency;
212212 inline constexpr struct motor_energy final : quantity_spec<isq::mechanical_energy, isq::mechanical_energy / motor_efficiency> {} motor_energy;
213- inline constexpr struct gravitational_potential_energy final : quantity_spec<isq::potential_energy, isq::mass * isq::acceleration * isq::height> {} gravitational_potential_energy;
213+ inline constexpr struct gravitational_potential_energy final : quantity_spec<isq::potential_energy, isq::mass * isq::acceleration_of_free_fall * isq::height> {} gravitational_potential_energy;
214214
215215 }
216216
@@ -229,14 +229,14 @@ int main()
229229 }
230230
231231 constexpr quantity<qs::gravitational_potential_energy[J]> lifting_energy(quantity<qs::total_mass[kg]> mass,
232- quantity<qs::travel_height[m]> height)
232+ quantity<qs::travel_height[m]> height)
233233 {
234- constexpr quantity g = isq::acceleration (1 * si::standard_gravity);
235- return mass * g * height;
234+ constexpr quantity g0 = isq::acceleration_of_free_fall (1 * si::standard_gravity);
235+ return mass * g0 * height;
236236 }
237237
238238 constexpr quantity<isq::kinetic_energy[J]> acceleration_energy(quantity<qs::total_mass[kg]> mass,
239- quantity<qs::cruising_speed[m/s]> speed)
239+ quantity<qs::cruising_speed[m/s]> speed)
240240 {
241241 return 0.5 * mass * pow<2>(speed);
242242 }
@@ -322,14 +322,14 @@ int main()
322322 ```cpp
323323 // Gravitational potential energy: E_p = m * g * h
324324 inline constexpr struct gravitational_potential_energy final :
325- quantity_spec<isq::mass * isq::acceleration * isq::height> {} gravitational_potential_energy;
325+ quantity_spec<isq::mass * isq::acceleration_of_free_fall * isq::height> {} gravitational_potential_energy;
326326
327327 // Type-checked dimensional analysis!
328328 quantity energy =
329- gravitational_potential_energy(total_mass(1200 * kg) * isq::acceleration (1 * si::standard_gravity) * travel_height(30 * m));
329+ gravitational_potential_energy(total_mass(1200 * kg) * isq::acceleration_of_free_fall (1 * si::standard_gravity) * travel_height(30 * m));
330330 ```
331331
332- The equation form `mass * acceleration * height`:
332+ The equation form `mass * acceleration_of_free_fall * height`:
333333
334334 - Makes the physics explicit in the type system
335335 - Ensures correct ingredients are used in calculations
@@ -420,7 +420,7 @@ int main()
420420- **Self-documenting APIs**: Function signatures clearly communicate what kind of
421421 quantity each parameter expects
422422- **Equation-based specifications**: Using equation forms like
423- `isq::mass * isq::acceleration * isq::height` for `gravitational_potential_energy`
423+ `isq::mass * isq::acceleration_of_free_fall * isq::height` for `gravitational_potential_energy`
424424 makes the physics explicit in the type system and requires correct ingredients
425425 to be used in a quantity equation to get the desired outcome
426426- **Practical applications**: Valuable in motor sizing (cabin/passenger/total mass),
0 commit comments