开发者

High order PDEs

I'm trying to solve a 6th-order nonlinear PDE (1D) with fixed boundary values (extended Fisher-Kolmogorov - EFK). 开发者_Go百科After failing with FTCS, next attempt is MoL (either central in space or FEM) using e.g. LSODES.

How can this be implemented? Using Python/C + OpenMP so far, but need some pointers to do this efficiently.

EFK with additional 6th order term:

u_t = d u_6x - g u_4x + u_xx + u-u^3

where d, g are real coefficients.

u(x,0) = exp(-x^2/16), ux = 0 on boundary

domain is [0,300] and dx << 1 since i'm looking for pattern formations (subject to the values of d, g)

I hope this is sufficient information.


All PDE solutions like this will ultimately end up being expressed using linear algebra in your program, so the trick is to figure out how to get the PDE into that form before you start coding.

Finite element methods usually begin with a weighted residual method. Non-linear equations will require a linear approximation and iterative methods like Newton-Raphson. I would recommend that you start there.

Yours is a transient solution, so you'll have to do time stepping. You can either use an explicit method and live with the small time steps that stability limits will demand or an implicit method, which will force you to do a matrix inversion at each step.

I'd do a Fourier analysis first of the linear piece to get an idea of the stability requirements.

The only term in that equation that makes it non-linear is the last one: -u^3. Have you tried starting by leaving that term off and solving the linear equation that remains?

UPDATE: Some additional thoughts prompted by comments:

I understand how important the u^3 term is. Diffusion is a 2nd order derivative w.r.t. space, so I wouldn't be so certain that a 6th order equation will follow suit. My experience with PDEs comes from branches of physics that don't have 6th order equations, so I honestly don't know what the solution might look like. I'd solve the linear problem first to get a feel for it.

As for stability and explicit methods, it's dogma that the stability limits placed on time step size makes them likely to fail, but the probability isn't 1.0. I think map reduce and cloud computing might make an explicit solution more viable than it was even 10-20 years ago. Explicit dynamics have become a mainstream way to solve difficult statics problems, because they don't require a matrix inversion.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜