SPH物体漂浮模拟 之 波海泛舟
文章目录
- 1. SPH方法
- 2. DualSPHysics在输入文件中定义漂浮物体
- 2.1 波海泛舟
1. SPH方法
SPH(Smoothed Particle Hydrodynamics )是一种粒子方法,在模拟大变形问题时有相对于传统网格方法非常明显的优势,对于包含自由面的流体流动问题,SPH方法能获得很理想的结果。电脑计算能力的提升使得粒子方法在计算效率上的劣势变得不那么重要,从而在工程问题上具备了一定的应用能力。包括对于物理世界的科学计算、对物理场景的模拟和再现等。
DualSPHysics是Github上基于SPH方法的一款功能强大的开源代码。除了参数化建模,还支持vtk、stl等格式的模型文件,可以导入复杂的实体模型,这也是DualSPHysics在工程问题上有一定应用能力的原因。
2. DualSPHysics在输入文件中定义漂浮物体
DualSPHysics在XML文件中定义外部模型文件的语句为,也可以导入ply、obj等格式的文件,相应的语句为、。
<geometry><commands><mainlist><setmkbound mk="10" /><drawfilevtk file="SPH_ElevationPartBinary.vtk" /></mainlist></commands>
</geometry>
对于漂浮在水面的物体,还需要定义关键词,其中mkbound变量的值为之前导入的模型的编号,然后在输入模型的质量,如果质量太大可能直接就沉底了。
<floatings><floating mkbound="10"><massbody value="2800" /></floating>
</floatings>
2.1 波海泛舟
小木船以模型文件的形式导入到计算域中;采用参数化的方式创建水域、求解域;采用移动边界条件产生周期性的波浪。
然后利用Blender添加简单的光照等元素进行渲染,下图就是渲染的结果。
SPH物体漂浮模拟 之 波海泛舟相关推荐
- 【Unity3d】简单的物体漂浮算法
之前左右游戏的时候有需要实现模拟物体漂浮的功能的,所以写了一个简单的物体漂浮的算法,使用正弦函数和余弦函数去控制物体的偏移量,这样就能实现物体绕着原点漂浮的感觉. 首先我们需要设置一个最大偏移量off ...
- 【Unity笔记】使物体(船)漂浮在水面上——浮力
在官方论坛看到一个关于怎么使物体漂浮在水面上的讨论:https://forum.unity3d.com/threads/floating-a-object-on-water.31671/ 水动力系统 ...
- 基于SPH的流体仿真过程
转载自:https://blog.csdn.net/changbaolong/article/details/13172079 http://blog.sina.com.cn/s/blog_6f638 ...
- 模拟水面表面张力,效果自然、真实,北大图灵班研究入选SIGGRAPH
十分自然的表面张力模拟效果. 樱桃落在水面,你能分辨出这张图是真实还是模拟的吗? 因为表面张力的存在,落叶可浮于水面.水黾得以在水面爬行,这是十分自然的现象. 而计算机模拟表面张力,也可以达到十分真实 ...
- python物理引擎模拟三体_一个物理引擎能不能模拟少量粒子之间的力?
就像有人已经回答过的一样,这个问题和分子动力学(MD)以及等离子体里面静电场的模拟很像,只不过考虑的粒子间相互作用是万有引力的形式. 对于MD来说,别说几个了,就是几万个粒子都不成问题.对于等离子体来 ...
- Unity 3D学习笔记(5)物体的碰撞/触发检测
前言 在学习了刚体组件后,我们看到了物体的物理效果,比如重力,碰撞等等,那么该如何检测他们之间的碰撞呢? 在Unity中,有碰撞检测和触发检测两种类型,他们的简单概括如下: 一.碰撞检测 1.如何使用 ...
- 【UnityShader】云海效果模拟与视差映射
之前在知乎上看到有大佬模拟了云海效果,正好之前项目里要用,就仔细研究一下,发现确实挺有意思的. 主要原理就是视差映射ParallaxMapping,先主要介绍一下视差映射的原理. 视差映射Parall ...
- 基于Matlab模拟用于海况海洋学研究的 X 波段雷达系统(附源码)
海事雷达系统在充满挑战的动态环境中运行.为了改进对感兴趣目标的检测并评估系统性能,必须了解海面返回的性质. 在本例中,将模拟用于海况海洋学研究的 X 波段雷达系统.雷达系统是一个固定的海上平台.将首先 ...
- 用matlab模拟凸透镜,凸透镜成像的计算机模拟.pdf
凸透镜成像的计算机模拟,凸透镜成像模拟,凸透镜的成像规律,探究凸透镜成像的规律,凸透镜成像的规律ppt,凸透镜的成像原理,凸透镜成像的规律视频,凸透镜成像实验的改进,凸透镜成像规律的应用,凸透镜成像的 ...
最新文章
- 5G LAN — 解决方案示例
- 个人周报20200420
- Cisco ASA 5500系列防火墙 Series Adaptive Security Appliances
- python端口被占用_端口被占用怎么解决
- ajax实现局部删除,Express+AdminLTE+hbs+Ajax实现局部刷新终极版(第二部分)
- Mac怎么预览html的网页效果,苹果Mac快速预览网页小技巧
- Element-ui中table使用row-class-name无效的锅
- STM32 使用SPI读写FLASH(W25Q64型号)
- UWP 如何阻止WebView自动打开浏览器?
- jQuery教程大纲
- Git在windows和linux安装教程
- 华为畅享20plus能更鸿蒙不,甘南收购华为畅享20Plus尾插排线数据线耳机
- 荣耀magic book忘记pin,只能用pin登录,还着急用电脑里的文件
- C++判断字符串是否所有字符全都不同
- python中i表示什么_python中::-1代表什么?
- sv 从0到1 procedural/function
- 计算机的发展经历了四代,代的划分是根据计算机的,计算机的发展经历了四代,\代\的划分是根据计算机的运算速度来划分....
- Python之字典巩固练习(随机生成银行卡号、重复数字统计、模拟轮盘抽奖游戏等)
- 摄提格,是外来词音译,还是有特定含义?
- video标签实现视频播放和进度显示
热门文章
- Windows7建立共享WiFi设置(局域网配置)
- c++中绝对值的函数
- vue动态style添加背景图backgroundImage,结合computed
- HTML我的家乡宁夏学生网页设计作品 dreamweaver作业静态HTML网页设计模板 宁夏旅游景点网页作业制作...
- USB-详解/sys/kernel/debug/usb/devices
- ESP-IDF:ESP32 fatory分区不够用,重新分区的方法
- 二叉堆的基本概念与实现
- oracle 删除定时任务 、查询定时任务、暂停定时任务、创建定时任务
- 富士康本科计算机,富士康计算机 南开大学【深圳成考】
- connection_reset解决方案