Questions tagged «hyperbolic-pde»

双曲偏微分方程描述了波浪的行为。

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
科学Python中有限差分法的建议
对于我正在研究的项目(在双曲PDE中),我希望通过查看一些数字来大致了解行为。但是,我不是一个很好的程序员。 您是否可以推荐一些资源来学习如何在Scientific Python中有效地编码有限差分方案(也欢迎其他学习曲线较小的语言)? 为了让您了解此建议的受众群体(我): 我是经过培训的纯数学家,并且对有限差分方案的理论知识有些熟悉 我需要帮助的是如何使计算机计算出我想要的计算量,特别是以一种方式,我不会重复别人已经付出的太多努力(以免在需要时重新发明轮子)包已可用)。(我想避免的另一件事是,在建立了适合该目的的数据结构时,手动编写一些愚蠢的代码。) 我有一些编码经验;但是我没有使用Python的知识(因此我不介意是否有足够的资源来学习其他语言(例如,例如Octave))。 书籍,文档以及示例代码的集合都将是有用的。


1
什么时候应该在双曲PDE的集成中使用隐式方法?
用于求解PDE(或ODE)的数值方法分为两大类:显式方法和隐式方法。隐式方法允许较大的稳定时间步长,但每个步骤需要更多的工作。对于双曲线PDE,普遍的看法是,隐式方法通常不会奏效,因为使用比CFL条件允许的时间步长大的时间步长会导致非常不准确的结果。但是,在某些情况下会使用隐式方法。对于给定的应用程序,应该如何选择使用显式方法还是隐式方法?


1
有什么方法可以解决可压缩的欧拉方程
我想为可压缩的Euler方程编写自己的求解器,最重要的是,我希望它在所有情况下均能正常运行。我希望它是基于FE的(DG可以)。有哪些可能的方法? 我知道要进行零阶DG(有限体积)处理,并且应该非常可靠。我已经实现了基本的FVM求解器,并且效果很好,但是收敛速度很慢。但是,这绝对是一种选择。 我为线性化的Euler方程实现了FE解算器(适用于任何网格和任何元素的多项式阶数),但是我得到了虚假的振荡(最终爆炸了,因此无法使用它来解决我的问题),我在文献中读到,需要稳定它。如果我实施某种稳定化处理,那么对所有问题(边界条件和几何形状)都可以有效地发挥作用吗?收敛速度是多少? 除此之外,欧拉方程还有其他健壮的方法(即具有一定稳定性的高阶DG)吗? 我知道许多人在研究代码中尝试了许多不同的方法,但是我对一种适用于所有几何形状和边界条件的健壮方法感兴趣(编辑:在2D和3D中)。

2
对于双曲型PDE,应使用哪种时间积分方法?
如果我们采用线法对双曲型PDE进行离散化(时间和空间离散化),则在空间离散化之后,通过我们最喜欢的数值方法(fx。有限体积法)获得的结果在实际中是否重要,我们采用哪种ODE求解器进行时间离散化(TVD / SSP /等)? 添加了一些其他信息:精度问题可能是非平滑问题的问题。众所周知,尽管初始解很平滑,但非线性双曲型PDE仍会在有限的时间内产生冲击,在这种情况下,对于高阶方法,精度可能降为一阶。 通常基于线性化进行ODE稳定性分析,以获得形式为q_t = J q(带有qa扰动向量)的ODE线性半离散系统,其中J的特征值应在选定时间的绝对稳定性范围内进行标度,步进方法。替代策略是使用伪光谱或能量方法进行稳定性分析。 我知道,TVD / SSP方法的动机是避免因时间步长方法引起的假性振荡,否则可能会导致不自然的行为。问题是,经验是否表明这些类型的时间步伐方法比例如经典的工作马(如明确的Runge-Kutta方法)或其他方法更优越。显然,它们对于解决方案可能会显示冲击的问题类别应具有更好的性能。因此,有人可能会争辩说,我们应该只将这些类型的方法用于时间积分。


2
“波动方程”的有限差分方案,特征方法
考虑以下问题 Wuv=FWuv=F W_{uv} = F ,其中强迫项可以取决于(有关公式,请参见下面的Edit 1)以及及其一阶导数。这是一个1 + 1维波动方程。我们在指定了初始数据。u,vu,vu,vWWW{u+v=0}{u+v=0}\{u+v = 0\} 我对区间的依赖范围内的解决方案感兴趣, 并正在考虑以下有限差分方案。{u+v=0,u∈[−uM,uM]}{u+v=0,u∈[−uM,uM]}\{ u+v = 0, u \in [- u_M,u_M]\} 我们的目标是发展由和类似。该方案在因此我可以通过向上积分从初始数据中一致地计算;因此,我只需要真正查看和的演化方程。WuWuW_uWu(u,v+1)−Wu(u,v)=F(u,v)Wu(u,v+1)−Wu(u,v)=F(u,v)W_u(u,v+1) - W_u(u,v) = F(u,v)Wv(u+1,v)−Wv(u,v)=F(u,v)Wv(u+1,v)−Wv(u,v)=F(u,v)W_v(u+1,v) - W_v(u,v) = F(u,v)W(u,v)+Wu(u,v)+Wv(u+1,v)=W(u+1,v+1)=W(u,v)+Wv(u,v)+Wu(u,v+1)W(u,v)+Wu(u,v)+Wv(u+1,v)=W(u+1,v+1)=W(u,v)+Wv(u,v)+Wu(u,v+1) W(u,v) + W_u(u,v) + W_v(u+1,v) = W(u+1,v+1) = W(u,v) + W_v(u,v) + W_u(u,v+1)WWWWvWvW_vWuWuW_u 对于初始数据,我们需要兼容条件。这表明我可以通过在初始时间使用的前向(in)有限差分来计算初始数据,并在半整数点处给定的值。Wu(u,v)−Wv(u+1,v−1)=W(u+1,v−1)−W(u,v)Wu(u,v)−Wv(u+1,v−1)=W(u+1,v−1)−W(u,v)W_u(u,v) - W_v(u+1,v-1) = W(u+1,v-1) - W(u,v)uuuWWWWtWtW_t(u+0.5,v−0.5)(u+0.5,v−0.5)(u+0.5,v-0.5) 问题: …

2
将FEM DG方法与Riemann求解器耦合
是否有将非连续galerkin有限元求解器与Riemann求解器耦合的好的论文和/或代码? 我需要研究耦合椭圆和双曲问题,但是大多数拆分方法都是临时的。由于我有大量的FEniCS代码,因此我想将Riemann求解器与其结合在一起。尽管一个简单的Roe求解器将是一个开始,但我正在寻找使用更复杂方法的指南。
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.