Questions tagged «incompressible»

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) 有理不等式约束的数量大约等于决策变量数量的两倍 目标函数是决策变量之一 等式约束的雅可比行列是密集的,不等式约束的雅可比行列是密集的。

3

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
对于具有各向异性边界网格的不可压缩流,哪些空间离散化有效?
高雷诺数流产生非常薄的边界层。如果在“大涡流模拟”中使用了壁分辨率,则宽高比可能约为10610610^6。在这种情况下,许多方法变得不稳定,因为insup常数会随着长宽比的平方根或更差而降低。insup常数很重要,因为它会影响线性系统的条件数和离散解的逼近性质。尤其是,以下关于离散误差保持的先验界限(Brezzi和Fortin 1991) μ∥u−uh∥H1≤C[μβinfv∈V∥u−v∥H1+infq∈Q∥p−q∥L2]∥p−ph∥L2≤Cβ[μβinfv∈V∥u−v∥H1+infq∈Q∥p−q∥L2]μ‖u−uh‖H1≤C[μβinfv∈V‖u−v‖H1+infq∈Q‖p−q‖L2]‖p−ph‖L2≤Cβ[μβinfv∈V‖u−v‖H1+infq∈Q‖p−q‖L2]\begin{split} \mu \lVert {\mathbf u} - \mathbf u_h \rVert_{H^1} \le C \left[ \frac{\mu}{\beta} \inf_{\mathbf v \in \mathcal V} \lVert{\mathbf u - \mathbf v}\rVert_{H^1} + \inf_{q \in \mathcal Q} \lVert p-q \rVert_{L^2} \right] \\ \lVert{p - p_h}\rVert_{L^2} \le \frac{C}{\beta} \left[ \frac{\mu}{\beta} \inf_{\mathbf v \in \mathcal V} \lVert{\mathbf u - …

3
制造的不可压缩的Navier-Stokes解决方案-如何找到无散度的速度场?
在制造解决方案(MMS)的方法中,假设一个精确的解决方案,将其代入方程式并计算相应的源项。然后将该解决方案用于代码验证。 对于不可压缩的Navier-Stokes方程,MMS容易导致连续性方程中的源项(非零)。但是,并非所有代码都允许连续性方程式中使用源项,因此对于这些代码,只有制造的具有无散度速度场的解决方案才可以。我发现该示例适用于域 \ begin {align} u_1&=-\ cos(\ pi x)\ sin(\ pi y)\\ u_2&= \ sin(\ pi x)\ cos(\ pi y)\ end {align} 在一般的3D情况下,如何制造无散度的速度场?Ω=[0,1]2Ω=[0,1]2\Omega=[0,1]^2 u1u2=−cos(πx)sin(πy)=sin(πx)cos(πy)u1=−cos⁡(πx)sin⁡(πy)u2=sin⁡(πx)cos⁡(πy)\begin{align} u_1 &= -\cos(\pi x) \sin(\pi y) \\ u_2 &= \sin(\pi x) \cos(\pi y) \end{align}
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.