2
$\begingroup$

I want to numerically integrate the equation $\partial_t u= a(t) \partial_xu+b\partial_{xxx}u+c$ to get $u(t)$. Is is preferable to use a difference formula of higher order of accuracy for spatial derivatives? Thanks. I am using a Semi-Discretization method called Method of Lines (vertical) to treat this problem.

$\endgroup$
2
  • $\begingroup$ Could you tell us more about the problem - what is the domain, etc.? $\endgroup$ Oct 3, 2012 at 1:40
  • $\begingroup$ hi, @tom-dickens it is a equation resulting from fluid dynamics. $\endgroup$
    – gstar2002
    Oct 4, 2012 at 15:25

1 Answer 1

2
$\begingroup$

You could use the method of lines to solve this PDE. If you use an explicit finite difference method, you will need to take a rather small time step (${\mathcal O(\Delta x^3))}$ due to the $u_{xxx}$ term.

Given that you don't specify any boundary conditions, I will assume that you are solving the Cauchy problem. In that case (or in case of periodic boundary conditions), there is a much more efficient approach. Since your PDE is linear and the coefficients don't vary in space, you can solve in terms of Fourier modes. Decompose the initial data as usual:

$$u(x,0) = \sum_k c_k\exp{ikx}.$$

Then use the ansatz

$$u(x,0) = \sum_k g_k(t)\exp{ikx}$$

with $g_k(0) = c_k$. Substituting this in your PDE gives

$$g_k'(t) = ik a(t) - ik^3b + c.$$

This can be solved very easily by numerical quadrature (or exactly, if $a(t)$ can be integrated symbolically).

$\endgroup$
2
  • $\begingroup$ Thanks David. I decided to use MOL to solve the problem. But I will try to use the Fourier method, if I have one more chance. $\endgroup$
    – gstar2002
    Oct 29, 2012 at 20:00
  • $\begingroup$ The acture system is more complicated, but I think the Fourier method is applicable. $\endgroup$
    – gstar2002
    Oct 29, 2012 at 20:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.