# :: Jan Prokaj :::...

### Efficiently solving one-dimensional diffusion problems

#### Summary

Diffusion problems arise in many branches of science and engineering. The one-dimensional diffusion equation is solved using a multi-rate numerical algorithm. The algorithm divides the system into different parts or blocks, allowing each block to take different time steps.

For each of the three initial profiles studied in tandem with three representative diffusion coefficient dependences, there is a very significant speedup over a Crank-Nicholson time-stepping scheme without blocking. The greatest speedup (by a factor of 5 in certain cases) is obtained for a linear diffusion with relatively small diffusion coefficient. Diffusion speed and block size are found to be major factors affecting the performance of this algorithm. Implementation of this algorithm for a two-dimensional diffusion is possible, and even greater speedups are expected in that case, since the second dimension allows for the inactive block(s) to occupy larger fractions of the overall domain.

#### Multirate timestepping

• Divides the diffusion system in multiple blocks
• Each block has different timestepping rate
• Active blocks updated frequently
• Inactive blocks rarely
• Block boundaries updated as necessary

#### Implementation

• 2 implementations
• Fixed blocking (updates inactive block at a fixed interval)
• Automatic blocking (updates inactive block whenever necessary)
• Crank-Nicholson numerical method used as a base
• Equation discretized using box method
• Diffusion model: D(C) = αC + β
• Neumann boundary conditions
• 2 blocks
• Tridiagonal matrix solver
• Written in C language

#### What was tested

 3 initial profiles: 0.75*e-0.5*(x-1)2 3.50*e-4.0*(x-1)2 1.50*e-2.0*(x-1)2 Timestep size: 0.025, 0.05, 0.01 Gridstep size: 0.025, 0.05, 0.01 Nonlinear diffusion (α = 1.5, β = 0.02) Linear diffusion α = 0, β = 0.02 α = 0, β = 0.2 2 implementations of multirate algorithm Fixed blocking Automatic blocking

#### Conclusions

• Multirate numerical methods produce significant speedup over single-rate methods
• Magnitude of speedup depends on:
• Diffusion speed
• Size of the inactive block
• Timestep size (smaller --> greater speedup)
• Gridstep size (greater --> greater speedup)
• Automatic blocking better than Fixed blocking
• No calculation necessary to determine the frequency of updating the inactive block in Automatic blocking
• But, no significant difference in speedup
• Almost no loss of accuracy in the multirate algorithm
• Depends on the concentration value used to divide the system into blocks

#### Acknowledgements

This project was supported by a SMART grant.

Disclaimer

Disclaimer: IRIS group, Computer Science Department, USC Viterbi School of Engineering or University of Southern California do not screen or control the content on this website and thus does not guarantee the accuracy, integrity, or quality of such content. All content on this personal website is provided by and is the sole responsibility of the person from which such content originated..