Questions tagged «fluid-dynamics»

运动中的流体和气体的特性研究

17
是否有适用于Python的高质量非线性编程求解器?
我要解决几个具有挑战性的非凸全局优化问题。目前,我使用了MATLAB的Optimization Toolbox(特别是fmincon()使用algorithm = 'sqp'),它非常有效。但是,我的大部分代码是在Python中进行的,我也想在Python中进行优化。是否存在可以与Python绑定竞争的NLP求解器fmincon()?它必须 能够处理非线性等式和不等式约束 不需要用户提供雅可比行列式。 如果不保证全局最优(fmincon()没有),也可以。我正在寻找一种即使在遇到挑战性问题时也可以收敛到局部最优的东西,即使它比慢一些fmincon()。 我尝试了OpenOpt提供的几种求解器,发现它们不如MATLAB的fmincon/sqp。 只是为了强调,我已经有了一个易于处理的公式和一个好的求解器。我的目标仅仅是更改语言,以使工作流程更加简化。 Geoff指出问题的某些特征可能是相关的。他们是: 10-400个决策变量 4-100个多项式相等约束(多项式范围从1到大约8) 有理不等式约束的数量大约等于决策变量数量的两倍 目标函数是决策变量之一 等式约束的雅可比行列是密集的,不等式约束的雅可比行列是密集的。



2
连续性方程的良好有限差分
下面的等式将是一个很好的有限差分离散化: ∂ρ∂t+∇⋅(ρu)=0∂ρ∂t+∇⋅(ρu)=0\frac{\partial \rho}{\partial t} + \nabla \cdot \left(\rho u\right)=0? 我们可以考虑一维情况: ∂ρ∂t+ddx(ρu)=0∂ρ∂t+ddx(ρu)=0\frac{\partial \rho}{\partial t} + \frac{d}{dx}\left(\rho u\right)=0 由于某种原因,我可以找到的所有方案都是针对拉格朗日坐标的。我暂时想出了这个方案(不考虑j索引): ρn+1i,j−ρni,jτ+1hx(ρn+1i+1,j+ρn+1i,j2unxi+1/2,j−ρn+1i,j+ρn+1i−1,j2unxi−1/2)=0ρi,jn+1−ρi,jnτ+1hx(ρi+1,jn+1+ρi,jn+12uxi+1/2,jn−ρi,jn+1+ρi−1,jn+12uxi−1/2n)=0 \frac{\rho^{n+1}_{i,j}-\rho^{n}_{i,j}}{\tau} + \frac{1}{h_x}\left(\frac{\rho^{n+1}_{i+1,j}+\rho^{n+1}_{i,j}}{2}u^{n}_{_xi+1/2,j}- \frac{\rho^{n+1}_{i,j}+\rho^{n+1}_{i-1,j}}{2}u^{n}_{_xi-1/2}\right)=0 但是似乎真的不稳定或有一些可怕的稳定条件。是这样吗? 速度实际上是通过达西定律。另外,我们还有状态方程。整个系统还包括一个能量方程和理想气体的状态方程。速度可能变为负数。u=−kμ∇pu=−kμ∇pu=-\frac{k}{\mu}\nabla p

6
如何开始使用CFO的OpenFOAM
我正在使用OpenFOAM解决CFD中的基本内部流程。入门的最佳方法是什么,有人跳入我的行列可能会给我带来一个很好的在线参考资料,以解决任何问题吗?我听说到现在为止它还是一个小众市场,而且很多求解器函数的文档都还不够完善。显然,软件包本身随附的文档只是一个开始,但是是否有第三方参考(如OpenFOAM Wiki)?


2
间断Galerkin:节点vs模态的优缺点
有两种通用方法可以表示不连续Galerkin方法中的解:节点法和模态法。 模态:解由模态系数的总和乘以一组多项式来表示,例如其中通常是正交多项式,例如Legendre。这样的一个优点是正交多项式生成对角质量矩阵。u (x ,t )= ∑ñ我= 1ü一世(t )ϕ一世(x )ü(X,Ť)=∑一世=1个ñü一世(Ť)ϕ一世(X)u(x,t) = \sum_{i=1}^N u_i(t) \phi_i(x)ϕ一世ϕ一世\phi_i 节点:单元由定义解决方案的多个节点组成。然后,基于对插值多项式进行拟合来重建单元,例如,其中是拉格朗日多项式。这样的优点之一是,您可以将节点放置在正交点上并快速求积分。u (x ,t )= ∑ñ我= 1ü一世(x ,t )l一世(x )ü(X,Ť)=∑一世=1个ñü一世(X,Ť)升一世(X)u(x,t) = \sum_{i=1}^N u_i(x,t) l_i(x)升一世升一世l_i 在大规模的情况下,复合物( -自由度)3D混结构具有灵活性,实施的清晰度,和效率的目标/非结构化并行应用程序,什么是每种方法的比较优势和劣势?10610610^610910910^9 我确信那里已经有很多文学作品,所以如果有人可以指出我的想法,那也将是一件很棒的事情。

2
CFD模拟常用离散化方案的缺点
前几天,我的计算流体力学讲师不在了,他派了他的博士候选人代替他。在他的演讲中,他似乎指出了与流体流动模拟的各种离散化方案相关的几个缺点: 有限差分法: 很难满足守恒性并申请不规则几何形状 有限体积法: 它倾向于偏向边缘和一维物理。 有限元法:使用有限元法 很难求解双曲方程。 间断的Galerkin: 这是世界上最好的(也是最糟糕的)。 波动分割: 它们尚未广泛应用。 演讲结束后,我尝试问他从哪里得到这些信息,但他没有说明任何消息来源。我还试图让他澄清DG是“世界上最好的和最坏的”的意思,但无法给出明确的答案。我只能假设他是根据自己的经验得出这些结论的。 根据我自己的经验,我只能验证关于FDM难以应用于不规则几何的第一个说法。对于所有其他索赔,我没有足够的经验来验证它们。我很好奇这些所谓的“缺点”对于CFD模拟的准确性如何。

5
有没有一个好的,易于使用的高质量开源CFD求解器?
我的论文是研究燃烧模型简化的数值方法。我的方法纯粹是在燃烧模拟的化学部分上运行的,并且我有大量的0D模拟案例研究(无流量)。我想要的是运行确实包含模拟的模拟,最好是2-D或3-D模拟。 由于计算量大,因此这些仿真需要并行进行。我还需要一些可以与化学求解器(例如Chemkin或Cantera)交互的东西,我已经有了它们的源代码。(Chemkin在Fortran 77中,而Cantera在C ++中。) 在理想情况下,我可以使用我在grad程序和一些CFD软件包中获得的流体力学基础知识来指定一种流动模式,添加化学成分并运行它。如果需要的话,我可以根据前合作者使用的实验设置,为简单的案例研究建立控制流体运动和化学反应的方程式,但是我非常希望不要滚动自己的CFD代码,除非有一个或多个非常容易实现的软件包。我愿意花2-3周的时间;我不知道此要求是否排除了PETSc或Trilinos。如果我不得不花更多的时间,我宁愿推迟到以后再做,因为我有一个合作者也提供CFD代码用于案例研究。 有没有人有使用CFD软件包或编写CFD代码的经验,如果有,您可以推荐一个吗?我知道我想使用的一件事是Strang拆分,但是我不是CFD或PDE专家。我研究化学和模型还原的数值方法。另外,请评论您使用推荐的软件花了多长时间才能上手。 @FrenchKheldar很好地指出了我要解决的问题的特征: 理想(完美)气体,单相 可压缩 层流必不可少;湍流优先。(我从CFD数值方法的先前工作中了解了一些湍流,但是我还没有从事CFD求解器的工作;我只对物理学有一点了解。) 零马赫数公式是可以的(我不在乎冲击或超音速流动) 燃烧化学,忽略Soret和Dufour的通量,并将扩散视为Fickian 几何可以很简单 我可以编写接口代码,尽管我写的越少越好。@FrenchKheldar还指出Cantera具有Fortran和Python绑定。我现在使用Cantera Python绑定进行快速原型制作,因此我也对这些感到满意。

3

2
(如何)编写运行速度更快的模拟?
我已经开始使用python作为编程语言来执行CFD中的所有作业。我在编程方面经验很少。我来自机械工程领域,正在从事航空航天工程的高等教育。 有时,CFD的计算方面比处理方程式或进行数学运算更乏味。 有哪些一般准则可以使我们的程序运行更快?做并行处理的技巧是什么?如何编写运行速度更快的代码? 我在哪里可以得到回答上述问题的资源(对于像我这样的外行人来说很容易理解)?



1
压力作为拉格朗日乘数
在不可压缩的Navier-Stokes方程中, 压力项通常被称为拉格朗日乘数,用于强制不可压缩条件。ρ(ut+(u⋅∇)u)∇⋅u=−∇p+μΔu+f=0ρ(ut+(u⋅∇)u)=−∇p+μΔu+f∇⋅u=0\begin{align*} \rho\left(\mathbf{u}_t + (\mathbf{u} \cdot \nabla)\mathbf{u}\right) &= - \nabla p + \mu\Delta\mathbf{u} + \mathbf{f}\\ \nabla\cdot\mathbf{u} &= 0 \end{align*} 从什么意义上说这是真的?是否存在不可压缩的Navier-Stokes方程式,作为受不可压缩性约束的优化问题?如果是这样,是否存在一个数值模拟,其中在优化框架内求解了不可压缩流体的方程?

1
Dirichlet-Neumann边界条件解变得不稳定-压力校正方法
我正在模拟雷诺数为500的气瓶上不可压缩的流动。我正在使用压力校正方法求解更大型的斯托克斯方程。我的解决方案在一定时间(约5秒)后变得不稳定。 我尝试细化我的网格,步长(0.05)(确保我的CFL <1,即使我使用的是隐式方法) 我的边界条件,网格和不稳定结果显示在附图中。该畴大约是圆柱直径的25倍。 我试图模拟这个问题O网格(几乎立即变得不稳定)。 以下链接包含边界条件和结果的图片。 如果有人可以分享自己对这个问题的想法/经验,我将不胜感激。非常感谢。 编辑: 抱歉键入错误: 我正在使用以下边界条件:诺伊曼边界 ∂u⃗ ∂n−n⃗ p=0;∂u→∂n−n→p=0;\frac{\partial \vec{u}} {\partial n} - \vec{n} p = 0; 在Dirichlet边界上 u⃗ =ux=1u→=ux=1 \vec{u} = u_x = 1 编辑: 我在狄利克雷边界附近的节点上应用了速度边界条件。同样,右上角和右下角节点是速度为1的狄利克雷边界。 之后,我对模拟结果进行了更深入的研究,发现在流入/流出交界处,不稳定开始逐渐蔓延。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.