Finite Difference solution to nonlinear diffusion equation

버전 1.1.0.0 (196 KB) 작성자: Ahmos Sansom
Numerical solution to nonlinear diffusion equation and creates movie of results
다운로드 수: 3K
업데이트 날짜: 2015/6/18

라이선스 보기

Solves nonlinear diffusion equation which can be linearised as shown for the general nonlinear diffusion equation in Richtmyer & Morton [1]. The approach is to linearise the pde and apply a Crank-Nicolson implicit finite difference scheme to solve the equation numerically.
Matlab run command
--------------------------

type:
IsoFreeSurfaceSolver

solves the pde:
-------------------

\frac{\partial h}{\partial t}=\frac{1}{12}\frac{\partial^2 h^4}{\partial x^2}

The pde has the application to isothermal viscous fluid flow spreading on a horizonatal substrate under gravity - Huppert [2]. Note that PDE has been nondimensionlised.

Initial conditions:

t=0: h = (1 - x^2)_{+} + 10^-6 (has prewetting film)

The spatial domain is discretised taking account of symmetry at x = 0:

\frac{\partial h}{\partial x} = 0

and is also used to close the free surface model at the end of the discretised domain (x = xend) - assumes fluid won't reach this boundary.

The pde can be solved analytically using similarity equations as discussed by Barenblatt [3]; used below to validate numerical solution.

References
--------------

[1] "Difference Methods for initial value problems," R. D. Richtmyer and K. W. Morton, John Wiley and Sons, 1967.

[2] "The Propagation of two-dimensional and axisymmetric visous gravity currents over a rigid horizontal surface," H. E. Huppert, Journal of Fluid Mechanics, 1982.

[3] "On some unsteady motions of a liquid or gas in a porous medium, Russian journal Prikladnaya Matematika i Mekhanika, 1952.

인용 양식

Ahmos Sansom (2024). Finite Difference solution to nonlinear diffusion equation (https://www.mathworks.com/matlabcentral/fileexchange/27890-finite-difference-solution-to-nonlinear-diffusion-equation), MATLAB Central File Exchange. 검색 날짜: .

MATLAB 릴리스 호환 정보
개발 환경: R2015a
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
버전 게시됨 릴리스 정보
1.1.0.0

Updated for 2015

1.0.0.0