求解在 x=0 上具有奇点的二阶非线性 ODE

计算科学 数值分析
2021-12-21 07:20:39

我正在对电磁纳米结构进行一些研究,我必须求解这个微分方程(常数的确切值无关紧要,我只想要给这些常数一些值的 y(x) 的所有可能解)。

d2ydx2=1xdydx+sin(2y)2(1x2+KA)DAsin(y)x+μHM2Asin(y)

从 x=0 到 x=R,具有边界条件

y(0)=0, dydx(R)=D2A

我相信你找不到这个方程的解析解,所以我一直在尝试使用像射击法这样的数值方法(考虑到边界条件,我发现它很合适)。

问题是 x=0 上的奇点无法让我找到解决方案。根据我在方法中采取的步骤,我得到不同的结果。您对我如何进行有任何想法吗?可能是另一种数值方法?

我还在物理数学StackExchange 上发布了这个,但现在我无法修复它。

1个回答

如果您对数值解决方案感到满意,那么我建议您使用隐式积分方案。存在三种类型的隐式积分方案,根据它们是否需要评估域端点处的被积函数进行分类。

  • Lobatto:被积函数在两个端点进行评估
  • Radau:在单个端点评估被积函数
  • 高斯:被积函数在两个端点都被评估

最简单的 Radau 方案是反向欧拉积分:

xk+1=xk+(tk+1tk)f(tk+1,xk+1)

每个积分步骤都需要非线性求解,但不需要在初始点评估被积函数。请注意,您需要将动态转换为一阶形式

对于高阶方案,请查看 Wolfram MathWorld: Radau Quadrature Gaussian Quadrature

如果您的问题在初始点上只是单一的,那么这些都可以很好地工作。如果解决方案中的其他时间存在奇点,那么您需要做一些更复杂的事情。如果发生这种情况,那么粗略的方法是识别奇点何时出现并将问题分解为连续的子问题,其中奇点仅出现在每个子问题的域的边缘。