# STOCHASTIC_DIFFUSION Stochastic Diffusivity

STOCHASTIC_DIFFUSION is a MATLAB library which implement several versions of a stochastic diffusivity coefficient.

The 1D diffusion equation has the form

```        - d/dx ( DC(X) d/dx U(X) ) = F(X).
```
where DC(X) is a function called the diffusivity and F(X) is called the source term or forcing term.

In the 1D stochastic version of the problem, the diffusivity function includes the influence of stochastic parameters:

```        - d/dx ( DC(X;OMEGA) d/dx U(X;OMEGA) ) = F(X).
```

The 2D diffusion equation has the form

```        - Del ( DC(X,Y) Del U(X,Y) ) = F(X,Y).
```

In the 2D stochastic version of the problem, the diffusivity function includes the influence of stochastic parameters:

```        - Del ( DC(X,Y;OMEGA) Del U(X,Y;OMEGA) ) = F(X,Y).
```

### Languages:

STOCHASTIC_DIFFUSION is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

### Related Data and Programs:

BLACK_SCHOLES, a MATLAB library which implements some simple approaches to the Black-Scholes option valuation theory;

CNOISE, a MATLAB library which generates samples of noise obeying a 1/f^alpha power law, by Miroslav Stoyanov.

CORRELATION, a MATLAB library which contains examples of statistical correlation functions.

ORNSTEIN_UHLENBECK, a MATLAB library which approximates solutions of the Ornstein-Uhlenbeck stochastic differential equation (SDE) using the Euler method and the Euler-Maruyama method.

PCE_LEGENDRE, a MATLAB program which assembles the system matrix associated with a polynomal chaos expansion of a 2D stochastic PDE, using Legendre polynomials;

PCE_ODE_HERMITE, a MATLAB program which sets up a simple scalar ODE for exponential decay with an uncertain decay rate, using a polynomial chaos expansion in terms of Hermite polynomials.

SDE, a MATLAB library which illustrates the properties of stochastic differential equations, and common algorithms for their analysis, by Desmond Higham;

STOCHASTIC_GRADIENT_ND_NOISE, a MATLAB program which solves an optimal control problem involving a functional over a system with stochastic noise.

### Reference:

1. Ivo Babuska, Fabio Nobile, Raul Tempone,
A Stochastic Collocation Method for Elliptic Partial Differential Equations with Random Input Data,
SIAM Journal on Numerical Analysis,
Volume 45, Number 3, 2007, pages 1005-1034.
2. Howard Elman, Darran Furnaval,
Solving the stochastic steady-state diffusion problem using multigrid,
IMA Journal on Numerical Analysis,
Volume 27, Number 4, 2007, pages 675-688.
3. Roger Ghanem, Pol Spanos,
Stochastic Finite Elements: A Spectral Approach,
Revised Edition,
Dover, 2003,
ISBN: 0486428184,
LC: TA347.F5.G56.
4. Xiang Ma, Nicholas Zabaras,
An adaptive hierarchical sparse grid collocation algorithm for the solution of stochastic differential equations,
Journal of Computational Physics,
Volume 228, pages 3084-3113, 2009.
5. Fabio Nobile, Raul Tempone, Clayton Webster,
A Sparse Grid Stochastic Collocation Method for Partial Differential Equations with Random Input Data,
SIAM Journal on Numerical Analysis,
Volume 46, Number 5, 2008, pages 2309-2345.