计算化学公社

标题: 讲讲我是如何借助模拟计算完成自行车一日千里(500km)挑战的 [打印本页]

作者
Author:
Graphite    时间: 2024-10-14 16:24
标题: 讲讲我是如何借助模拟计算完成自行车一日千里(500km)挑战的
本帖最后由 Graphite 于 2024-10-14 16:27 编辑

(, 下载次数 Times of downloads: 0)

公路自行车是一项耐力运动。机械地看,就是人体输出的机械功持续对抗外界阻力、达到速度平衡的过程。提升速度和耐力的基础就是提升功率输出。
(, 下载次数 Times of downloads: 0)
自行车上可以装一种称作“功率计”的传感器设备,其本质上就是应力应变计,材料到达屈服点之前,应力F=kx,x为应变。曲柄上加一个应变片,由于材料的k确定,就得到了力F。再根据曲柄长度和角速度可以得到线速度v,于是P=Fv,获得功率。功率计测得的数据可以发送到码表上实时查看和保存、分析。

市面上有很多骑行社交、分析软件,事后的分析很全,可以对功率-心率进行拟合,对踩踏频率、踩踏圆周效率进行分析,进行上坡效率的分析等等。但是都没有“根据功率和地形预测完成时间”的功能。

实际上这个问题不难,虽然我没法预测我的功率表现,但是阻力是可以计算的。骑行阻力由四部分构成:
(1)空气阻力,F=0.5*rho*CdA*V_air^2,rho空气密度,CdA风阻系数(此前我已经根据大量数据拟合,确定过这个数对我来说是0.32),V_air空速。
(2)滚动阻力,F=C_roll*mg,C_roll滚阻系数,这个查阅轮胎厂数据得到是0.004
(3)上下坡时的重力分量,F=cos(theta)mg,就是初中物理小车受到的向下的力
(4)内部机械功损耗,一般在良好润滑的情况下,大概占2%。

空气密度还跟海拔、湿度有关。我所在的昆明,海拔1900,湿度40%的情况下,空气密度只有0.94,而沿海>1.2。

至于速度和时间,完全就是分子模拟时间积分、更新力、加速度、速度那一套,因为骑行是个宏观过程,dt=1s都可以,而且我也不是LJ小球,不会因为积分步长或积分算法不合适就撞墙上崩溃

文件的解析和IO,用了骑友(一位创业中程序员)的网络微服务,省得我再研究码表厂的奇怪文件协议。

理论存在,C++,启动!

(, 下载次数 Times of downloads: 0) (, 下载次数 Times of downloads: 0)

结果:
反向读取一个已经骑过的轨迹的地形数据,根据目标速度计算目标功率,上坡和平路的误差在3%以内,下坡误差在10%以内(下坡有刹车和过弯,而且下坡速度快了再加功率没啥用)。又调了调个人体型参数啥的,2% / 6%y以内误差,很够用了。
(, 下载次数 Times of downloads: 0)

完了我就寻思,3年前骑过一个环青海湖一日360 km,那这回能不能挑战个滇池一天500 km。于是跑了下模拟,发现平均功率130 W能骑到29-30 km/h的速度,这是我能持续15个小时以上的强度。
令我很意外的是,正常在沿海完全平路的情况下30 km/h的速度需要140W,滇池边上是有坡的,如果沿海地区有相应的坡可能全天平均功率需要150 W+。
骑几分钟强度+20 W不算什么,但是骑17个小时+20 W就是轻松愉快跟炼狱的区别了。这说明亚高原的低空气密度对完成挑战非常重要。

根据具体的数据,还设计了最佳出发时间为凌晨3:00-3:30。因为滇池西岸有一段窄路没灯,自己带灯也很难搞。结合日出日落时间,按照这个出发时间和速度,第一次经过该路段时应该刚好天亮,最后一次离开该路段后应该刚好天黑。

除此以外还设计了补给方案,根据运动营养学,这种超低强度运动(相比于几分钟、几十分钟的偏力量性质的运动而言),>50%的热量来自于脂肪供能。我又因为肥宅了一段时间,已经有了大概1-2 kg (7000-15000 kcal)的冗余脂肪。考虑到此次消耗,-8000 kcal,基础代谢,-1500 kcal,身体糖原储存,+1500 kcal,那么我只需要补充> 5000 kcal的碳水/脂肪混合物(高碳水比例,碳水至少> 65%功能比)就大差不差。这样每个小时需要吸收的碳水< 60g,在高效代谢范围内。

据此,又按照时间、地图、以前路上实际骑行所见设计了补给点,路边上就能够购物的地方很少,最后选定了滇池起点+65 km的小卖部、和起点+25 km度假村麦当劳等,一圈是100km。

(备注:人在进行自行车耐力运动时机械效率是20%-25%,由于1 kcal = 4.184 kJ,所以大体上就是作1 kJ机械功,需要补1 kcal化学能)

逻辑闭环,化身无情输出机器,轻松完成了这次挑战。理论速度29.3 km/h,实际速度28.6 km/h,运动17.5小时,含休息19.9小时,速度不及预期主要来自通勤、红绿灯掉速。

下图:清晨的海口村和经过精简后的装备(因为已经算死了补给周期和补给量),回家后后背析出的盐。
(, 下载次数 Times of downloads: 0) (, 下载次数 Times of downloads: 0)




作者
Author:
北大-陶豫    时间: 2024-10-14 20:51
原来昆明日行千里的原理是海拔高了空气稀薄,学到了。
借楼请教一下,海拔高了会因为氧气含量减少而骑得更困难吗?
作者
Author:
Graphite    时间: 2024-10-14 22:02
本帖最后由 Graphite 于 2024-10-14 23:19 编辑
北大-陶豫 发表于 2024-10-14 20:51
原来昆明日行千里的原理是海拔高了空气稀薄,学到了。
借楼请教一下,海拔高了会因为氧气含量减少而骑得更 ...

是的,海拔变高会使得人的有效输出降低。在2000 m左右海拔,同强度有效输出降低5%~6%左右(来自Joe Friel),但是阻力减少了10%~15%,所以还是赚的。例如以前刷1小时世界纪录的选手往往偏爱墨西哥城,海拔2200 m。

如果上升到4000 m+海拔,有效输出降低可达20%。此时虽然空气阻力只有平原的60%,但考虑到多山环境中,空气阻力降低对爬坡几乎没用,以及寒冷、多变环境、高反的影响,就不一定“能取巧”了。
作者
Author:
是涅炎啊    时间: 2024-10-17 00:28
石墨老哥的物理了得啊,此篇帖子将骑行和物理、编程相结合,共同书写了科学运动的华美篇章,感觉可以出一道物理阅读题。
作者
Author:
是涅炎啊    时间: 2024-10-17 00:29
题外话:以麦当劳为标记点,看出来老哥真的很喜欢吃麦当劳
作者
Author:
Graphite    时间: 2024-10-17 08:25
是涅炎啊 发表于 2024-10-17 00:29
题外话:以麦当劳为标记点,看出来老哥真的很喜欢吃麦当劳

物理水平一般,吃饭水平了得
作者
Author:
Sui1999    时间: 2024-10-31 11:04
哈哈哈,我最远的一次骑行是二百四十多公里




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3