问题标签 [fluid-dynamics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1144 浏览

simulation - OpenFOAM 中的 GAMG Preconditioner 是如何工作的?

我使用 OpenFOAM 进行 CFD 模拟。一个非常流行的预处理器是GAMG,它在用于模拟流体流动的 SIMPLE 或 PISO 求解器中每个时间步需要少量迭代。

我想了解 GAMG 如何准备内部结构。

它是否在几何的基础上在一次迭代中只创建一次 GAMG 中使用的内部数据结构,然后只更新这些数据结构中的条目?

或者

它是否在一次迭代中多次创建内部数据结构?我在这里阅读了文档,但没有答案。

感谢您的回答。

0 投票
0 回答
416 浏览

c++ - 流体c ++中的雅可比迭代对象

我正在编写一个程序来计算某个物体周围某个电流的速度,例如一个正方形。现在,我使用 Jacobi 迭代方法,当我运行它时,结果不是我所期望的。我不知道我做错了什么。我有 2 个类,一个创建一个我无法调整的网格,另一个创建一个带有参数“voneindig”的对象。

如果我制作一个正方形和一个网格并运行 Iterate() 函数,我的正方形对象似乎变大了。(我在原来的正方形周围得到越来越多的零)

成员函数 getStatusElement() 是我用正方形所在的位置和其他位置的零创建的网格。

我希望我已经为这个问题提供了足够的信息,否则我可以给你我所有的代码。非常感谢!

0 投票
1 回答
500 浏览

distributed-computing - 为什么计算流体动力学问题在并行处理中难以解决?

我在分布式计算界听说过这个。我不是机械工程师。你能说出为什么会这样吗?有什么解决方案吗?

PS:我可以使用有限元方法作为解决方案吗?

0 投票
1 回答
240 浏览

simulation - 当半径为 0 时,我们对平滑粒子流体动力学使用什么排斥方向?

在进行 SPH 时,Kelagar 的论文建议使用特定的内核来实现粒子之间的压力感应力。当半径在内核半径内时,它推荐的内核如下:

其中 h 是内核半径,r 是我们对计算函数值感兴趣的半径。

然后论文指出,这个函数的梯度是

其中 r_vec 现在是从内核中心到我们感兴趣的点的向量。随着 r_vec 的长度从正方向变为 0,论文指出这个梯度接近:

但这是一个标量,而不是一个向量。为了在我们感兴趣的两点之间产生排斥,需要有一个排斥的方向。

当两个粒子彼此相邻时,我们应该使用哪个方向?

0 投票
1 回答
639 浏览

c++ - 在 C++ 中模拟物体撞击液体表面

我对基本的编程概念相当熟悉,我的大部分编程经验都在 MATLAB 中。我对 C/C++ 有一些经验,但不是很多。我想通过一个我认为很酷的自发项目自学 C++(因为这会让我保持动力)。这是我的想法:

我想模拟一个物体(用户定义的形状、质量、密度等)落入(用户指定的高度)具有初始静止表面(用户定义的属性,如密度、粘度等)的液体中。我想使用适当的物理来可视化创建的飞溅。我不需要这是一个花哨的视频。我正在寻找的是:一旦物体撞击表面,就会有数学函数在撞击后的任何给定时间定义表面的形状(当然,我必须先弄清楚物理原理)。我想在命中后的给定时间点找到这些形状,比如每 0.1 秒,然后我可以快速连续显示表面,所以它基本上是一个显示表面形状如何随时间变化的视频。

假设我熟悉所涉及的物理学,我的问题是:

  1. 这是可行的,还是我野心勃勃?
  2. 我猜我不能只使用 CodeBlocks,因为我需要一些基于图形的东西来进行可视化。你有什么建议吗?视觉基础,也许?
  3. 在你看来,你认为我会通过这个项目获得相当多的 C++ 接触,还是你认为我应该专注于一些不那么物理的东西(恰好是我的专业)等等......嗯...... .计算机科学?

谢谢!

0 投票
2 回答
89 浏览

fluid-layout - 内部边界

我正在使用这篇文章来编写一个流体模拟应用程序。我无法实现内部边界。据我所知,当我为边界内的每个单元格设置边界(在set_bnd函数中)时,我应该计算相邻非边界单元格的平均值,如下所示:

不幸的是,烟雾在与边界表面接触时被吸收并消失。
我的数学背景不足以理解计算的每个部分,所以如果有人指出我正确的方向,我将非常感激。

0 投票
2 回答
430 浏览

modelica - Modelica.Media.R134a 错误

在 Modelica 标准库 3.2.1 中包含了制冷剂 R134a 的模型,但它似乎无法与 Modelica.Fluid 一起正常工作。在一个简单的例子中DynamicPipe,它会导致以下错误:

use_T_start是假的。这里有什么问题?如何解决?

TIA

更新:

选择的状态是 h 和 p,因为它应该是。pTX 调用的参数似乎是所选介质的默认值。

PartialStaggeredFlowModel使用Medium.density_pTXand Medium.setState_pTX,但将它们更改为各自的 phX 函数并不能解决问题。

0 投票
1 回答
2918 浏览

android - 如何在android中创建流体运动

我需要在瓶子内渲染流体并且当设备旋转时

0 投票
2 回答
881 浏览

algorithm - 流体模拟如何集成到刚体 phisix 引擎中?

1)有没有证据表明混合刚体phisix和流体(比如SPH)的模拟可以为现实世界提供建模?
2)这种混合的框架是如何工作的?

假设我们在一个带有 2 种不同液体(油和水)和一个柔软的身体 - 球的盒子内有一个 woden 秋千。开始条件如下: 在此处输入图像描述

我们如何才能模拟这种情况呢?用什么工具?

我现在如何看待它(如果我错了,请高举我)

  1. 我们所有的物体和流体都处于 ( *)
  2. Bullet 等现代引擎支持柔体和刚体 - 因此我们可以*在 RB\SB phisix 引擎中加载 ( ) 并制作框架。
  3. 取所有顶点并将那里的位置与前一帧进行比较。得到某种形式的矢量力场。
  4. 将流体引擎中的 rb/sb at tate ( *) 表示为具有来自我们力场的脉冲的粒子
  5. 加载 ( *) ,其中 RB 和 SB 作为粒子,其密度对应于它们所制造的材料,脉冲对应于先前计算的矢量场
  6. 在流体引擎中制作框架
  7. 更新相对于粒子运动的 rb/sb 位置 - 获取新状态 ( **)

对于简单的情况,这至少在理论上可以用 GPU 上的当前流体 3 + 子弹 3 近乎实时地计算……但我不知道这在多大程度上使系统不真实?

0 投票
1 回答
860 浏览

objective-c - Spritekit 模拟流体流

有没有一种简单的方法来模拟场景中的电流?我知道他们在 spritekit 中提供重力、质量、密度、阻力和其他属性,但我没有看到的是,我将如何模拟场景中当前影响的对象?

IE 说我有一个物体使用重力和密度从屏幕顶部下降到底部,就好像它从水里掉下来一样,设置它应该相当简单。但是,假设我想在场景中间添加一个从左到右流动的电流......所以当物体下落时它开始受到电流的影响并且下落开始随着电流移动,并且随着它靠近电流中心时,它会增加其左/右运动,当它通过电流中心并远离其中心时,左/右运动会减慢。

这可能吗?我是否需要创建通过重力从左到右移动的不可见/透明节点来模拟这个?还是我应该使用其他方法?