8金收官!仿真工程师为你揭秘中国跳水梦之队的“水花消失术”

news2024/11/19 1:48:16

巴黎奥运会上,中国跳水梦之队再一次上演“水花消失术”,不仅赢得了裁判的高分,也令全球观众惊叹不已。

发挥出色的运动员入水如同“牛奶入水”,顺滑得仿佛不带一丝涟漪;而发挥失误的运动员仿佛“炸鱼队”来袭,如同“奶牛落水”,水花四溅。

  

如此巨大的反差背后,到底隐藏着什么秘密?

这一切的答案都在流体力学里。

今天,就让我们通过仿真技术,一步步拆解“水花消失术”背后的科学原理。

从力学角度来看,运动员的入水过程实质上是运动员身体(固体)与水(流体)之间的撞击与相互作用。要理解跳水时水花大小的力学原理,我们需要引入流体力学中两个重要的无量纲数:雷诺数韦伯数

雷诺数(Re)是流体力学中用来描述流体运动特性的重要参数,定义为流体的惯性力与粘性力之比。计算公式为:

其中,ρ是流体的密度,v是物体相对于流体的速度,L是特征长度,μ是流体的动力粘度。

对于跳水运动来说,雷诺数的大小决定了流体在运动员身体表面的流动状态。当雷诺数较大时,流动倾向于形成湍流和涡流,这意味着水在运动员入水时更容易被剧烈扰动,从而激起较大的水花;而雷诺数较小时,流动则更为平稳,水花的产生就会受到抑制。

韦伯数(We)是另一个关键参数,用于描述惯性力与表面张力之比。计算公式为:

其中,σ是流体的表面张力。韦伯数在跳水过程中影响水面破裂与水花形成的程度。当韦伯数较大时,惯性力占主导,水面更容易被冲破,形成明显的水花;而当韦伯数较小时,表面张力更为显著,可以有效抑制水花的产生。

为什么“冰棍”式跳水,水花更小?

很多人会有疑问,为什么运动员在跳水时,不使用双手合拢形成楔形入水,而是采用手心向下的“冰棍”式入水呢?通过分析雷诺数和韦伯数,我们可以揭开这个谜团。

楔形入水:当运动员采用双手合拢的楔形入水时,水流沿着楔形的斜面被强行分开,形成强烈的挤压作用。这一过程中的雷诺数通常较高,意味着水流的惯性力占据主导,容易产生湍流和大规模的水体扰动。与此同时,由于楔形的几何结构,水流沿着斜面向上流动,导致大量的水被向上排开,进而激起高韦伯数条件下的显著水花。这种入水方式虽然可以减少水对身体的正面阻力,但却不可避免地造成较大的水花。

“冰棍”式入水:相比之下,当运动员采用手心向下的“冰棍”式入水时,入水表面呈现较为平整的方形结构。此时,水受到的压力方向主要是垂直向下的,水流被均匀排开,雷诺数相对较低,流动更加稳定。此外,由于水体在立方体表面周围形成负压区域,后续补偿流的速度较慢,韦伯数也因此较低,水面不容易破裂,水花自然较小。这种入水方式有效地减少了水流的扰动,因而成为“水花消失术”的关键。

接下来让我们通过耦合物质点有限元仿真技术,模拟运动员的不同入水姿态和角度,更加直观精准地展示水花大小。

首先建立一个锥形的运动员模型,模拟双手合拢的入水方式。

从仿真结果可以看出,水体受到沿锥形面法向的压力被排开,从而沿着锥形面表面(阻力最小的方向)斜向上流动。此外,随着水与锥形体接触圈不断扩大,被排开的水量越来越多,并持续快速地沿表面向上堆积,最终形成向外扩散的水花和向上飞溅的射流。

接下来建立一个方形的运动员模型,模拟手心向下的“冰棍”式跳水。

假定运动员可以垂直入水,手掌完全平行于水面。

从仿真结果可以看出,水体受到立方体端部的压力方向向下,水被排开后沿着水平方向运动,在立方体表面周围形成负压区域;身体两侧与水滑动接触,并不会继续将水推向两侧。后续补偿流流向立方体本身,但并未形成持续向上堆积的效应,这将显著减小水花大小。

基于数值仿真,我们发现,当建立一个椭球形状的运动员模型,模拟垂直入水时居然实现了近似“零水花”的效果!且不同于上述锥形体、方形体,水面回流产生的射流高度也很小。

垂直入水

垂直入水但即使是这么“圆润”的体型,如果入水时存在一定角度,比如10度、20度夹角入水,会对水花产生多大的影响呢?

10度夹角入水

20度夹角入水

从仿真结果可以看出,入水角对水花的大小影响非常大。身体对一侧的水快速挤压,挤压速度与入水角的正弦成正比。在入水过程中,身体对接触的水持续提供横向的推动冲量,使得整个入水过程大量的水获得横向动量,溅起很大的侧向水花。同时由于入水过程排开水的空间很大,后面的补偿流获得很大的加速空间,撞击激起速度很快的射流水花。

值得一提的是,我们的工程师通过联合CAE计算引擎和图形学渲染引擎,得到了具有真实感的入水画面。

通过数值仿真,我们还发现,当椭球体入水姿态倾斜了一定角度,比如10度、20度夹角入水,如果此时的速度方向与姿态方向一致,将产生类似垂直入水的“零水花”效果,但回流会反溅出很高的射流

10度、20度夹角入水,速度方向与姿态方向一致

最后的彩蛋:“炸鱼队”躺平式入水。

水平入水

通过上述一系列仿真分析,我们可以清晰地分析不同入水方式和角度对水花大小的影响。这不仅能够帮助我们理解“水花消失术”背后的力学原理,还能为运动员的入水姿态提供科学指导,帮助他们进一步优化技术,从而在比赛中取得更好的成绩。

关于伏图

伏图(Simdroid)具备固体力学、流体力学、电动力学、热力学等通用求解器,支持多物理场耦合仿真。在统一友好的环境中为仿真工作者提供前处理、求解分析和后处理工具。同时,作为仿真PaaS平台,其内置的APP开发器支持用户以无代码化的方式便捷封装参数化仿真模型及仿真流程,将仿真知识、专家经验转化为可复用的仿真APP。

  试用通用多物理场仿真PaaS平台伏图(Simdroid):

伏图® - Simapps Store - 工业仿真APP商店

探索更多仿真APP开发与应用,可关注“仿真APP赋能千行百业”系列直播!

系列直播回放:“仿真APP赋能千行百业”系列直播-合集 - Simapps Store - 工业仿真APP商店

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2065952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

.Net Linux平台下System.Drawing.Imaging替代方案

文章目录 前言一、ImageSharp库二、SkiaSharp库三、System.Drawing.Common库总结 前言 在.NET Standard中,System.Drawing.Imaging 命名空间并不直接支持,因为 System.Drawing 命名空间主要是为了Windows Forms(WinForms)和GDI设计…

FPGA第 5 篇,FPGA技术优略势,FPGA学习方向,FPGA学习路线,FPGA专业知识的学习方向(FPGA现场可编程门阵列学习路线和方向)

前言 前几篇讲了一下FPGA的发展和应用,以及未来前景。具体详细,请看 FPGA发展和应用,以及未来前景https://blog.csdn.net/weixin_65793170/category_12665249.html 这里我们来,记录一下,FPGA专业知识的学习路线 一.…

World of Warcraft [CLASSIC] the Eye of Eternity [EOE] P1-P2

World of Warcraft [CLASSIC] the Eye of Eternity [EOE] 永恒之眼(蓝龙) 第一阶段 第二阶段 第三阶段 载具1-6技能介绍 World of Warcraft [CLASSIC] the Eye of Eternity [EOE]_永恒之眼 eoe-CSDN博客 永恒之眼怎么出副本呢,战斗结束&am…

泛微E9如何更新缓存

泛微E9如何更新缓存 在E9中,是默认开启了数据缓存的,如果直接操作数据库是会存在缓存不更新的问题,E9系统提供以下几种方式进行缓存清空的方式。 注:原则上禁止通过非程序渠道直接修改OA数据库数据,可以直接在页面进行…

LCR 162. 数字 1 的个数 题解

189轮转数组 189. 轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 时间复杂度o(n),空间复杂度 o(1) class Solution {public void rotate(int[] nums, i…

Python 如何使用 functools 模块

functools 模块是 Python 标准库中的一个重要模块,它提供了一些有用的高阶函数和工具,帮助开发者更轻松地操作和处理函数。functools 中的工具主要用于函数的缓存、包装、偏函数等功能。 1. functools 模块概述 functools 模块的设计目的是为了简化和增…

无人机+消防车:高楼灭火系统技术详解

“无人机消防车”高楼灭火系统技术是一种创新的消防解决方案,旨在解决高层建筑灭火难题。以下是对该技术的详细解析: 一、技术背景与需求 高层建筑数量多,火灾隐患多发。根据国家消防救援局发布的数据,高层建筑火灾频发&#xf…

MyBatis核心机制

实现MyBatis核心机制环境搭建 1.核心框架示意图 2.模块搭建 1.创建maven项目 2.引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSc…

超维机器人在工业与能源领域的具身智能探索和应用

具身智能&#xff08;Embodied AI&#xff09;是指机器人能够通过其物理形态与环境的交互&#xff0c;进行感知、学习、决策和执行&#xff0c;从而完成复杂任务的能力。具身智能强调机器人不仅要具备感知环境和分析数据的能力&#xff0c;还要能够通过身体的行为和物理互动来适…

zabbix5.0与7.0版本区别 切换建议

Zabbix5.0和Zabbix7.0的区别 1. 性能和扩展性优化 1.1 高效的数据处理和存储 优化的数据库性能&#xff1a; Zabbix 7.0 在数据库层面进行了多项优化&#xff0c;以减少查询延迟和提高数据处理速度。这包括对数据库结构的改进和索引优化&#xff0c;使得大规模数据的读取和写…

Linux云计算 |【第二阶段】SECURITY-DAY3

主要内容&#xff1a; Prometheus监控服务器、Prometheus被监控端、Grafana监控可视化 补充&#xff1a;Zabbix监控软件不自带LNMP和DB数据库&#xff0c;需要自行手动安装配置&#xff1b;Prometheus监控软件自带WEB页面和DB数据库&#xff1b;Prometheus数据库为时序数据库&…

<数据集>翻越栏杆行为识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;512张 标注数量(xml文件个数)&#xff1a;512 标注数量(txt文件个数)&#xff1a;512 标注类别数&#xff1a;1 标注类别名称&#xff1a;[climbing] 使用标注工具&#xff1a;labelImg 标注规则&#xff1a;对类…

十五分钟两百行代码,手写一个vue项目全局通用的弹框

前言&#xff1a; 我们在写vue项目时&#xff0c;弹框是非常常用的组件&#xff0c;并且在同一个项目中&#xff0c;弹框大多类似。所以我们可以抽离封装出一个通用的弹框&#xff1b; 因为vue3可向下兼容&#xff0c;所以作者这边会使用vue2的写法&#xff0c;vue3写法大同小…

vue3 语法糖<script setup>

在 Vue 3 中&#xff0c;<script setup>是一种新的语法糖&#xff0c;它极大地简化了组件的编写方式。 <script setup> 是在单文件组件 (SFC) 中使用组合式 API 的编译时语法糖。当同时使用 SFC 与组合式 API 时该语法是默认推荐。 基本概念 简洁的语法&#xf…

使用Qg波形快速提取模型参数的新方法以准确捕获SiC MOSFET在不同负载条件下的开关特性

来源&#xff1a;Novel Methodology for Fast Model Parameter Extracting Using Qg Waveforms to Accurately Capture Switching Characteristics of SiC MOSFET Under Various Load Conditions&#xff08;ISPSD 24年&#xff09; 摘要 本文提出了一种快速提取模型参数的方…

类和对象(高级)

类和对象&#xff08;高级&#xff09; 一、运算符重载 运算符重载是对已有的运算符 指定新功能。不能创建新运算。 运算符重载关键字operator 思路&#xff1a; 1、弄懂运算符的运算对象的个数。&#xff08;个数决定了 重载函数的参数个数&#xff09; 2、识别运算符左边的…

【css】伪元素实现跟随鼠标移动的渐变效果

主要功能是在按钮上实现鼠标跟随渐变效果。每当用户将鼠标移动到按钮上时&#xff0c;按钮会显示一个以鼠标位置为中心的渐变效果。 1. 核心部分: 监听鼠标在元素内移动 监听鼠标在元素内移动&#xff0c;并触发该事件。 const handleMouseMove (e: MouseEvent) > {if (…

C#知识|语法拾遗:数据类型转换

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 其实关于数据转换在任何语言中都会涉及&#xff0c;无论是PLC编程语言&#xff0c;还是SCADA开发中的脚本语言&#xff0c;都会涉及&#xff0c;在前边学习JavaScript的内容时&#xff0c;也看过相关内容&#xff1a; …

[RAG]喂饭教程!Neo4J可视化GraphRAG索引

GraphRAG通过结合知识图谱&#xff0c;增加RAG的全局检索能力。今天我将讲解如何使用Neo4J可视化GraphRAG索引的结果&#xff0c;以便进一步的处理、分析&#xff0c;以小说提取的实体《仙逆》为例&#xff0c;一图胜千言。本文分为4小节&#xff0c;安装neo4j、导入GraphRAG索…

如何做服务端渲染?

node server 接收客户端请求&#xff0c;得到当前的请求url 路径&#xff0c;然后在已有的路由表内查找到对应的组件&#xff0c;拿到需要请求的数据&#xff0c;将数据作为 props、context或者store 形式传入组件 然后基于 react 内置的服务端渲染方法 renderToString()把组件…