Heat Diffusion
Heat Diffusion
Heat Diffusion
1
Certificate
This is to certify that this is the original work of Jatin Kaushal of
class 12 A of No Filter in the partial fulfillment of computer science
practical examination conducted by CBSE under the guidance of my
Chemistry teacher Seema Sharma during the year 2018-19 by Central
Board of Secondary Education, New Delhi.
2
Acknowledgment
I Jatin Kaushal of class 12 A express my sincere gratitude towards
our principal Mr. A.K. Sharma for giving me this golden opportunity
to program the software No Filter. I would also like to thank my
Chemistry teacher, Seema Sharma, for helping and guiding me on
this project.
3
Contents
1 Aim 5
2 Introduction 5
3 Methodology 5
3.1 Random Walks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.2 Application of the Algorithm . . . . . . . . . . . . . . . . . 6
4 Observations 7
5 Conclusion 8
4
1 Aim
To simulate heat diffusion across a sp3 hybridized tetrahedral carbon lattice using
Random Walks
2 Introduction
Heat diffusion across any solid depends on how one atom, with a certain amount
of kinetic energy, can impart that kinetic energy to it’s neighboring atoms. Sigma
bonds are particularly well suited for this transfer of energy since they are rigid
enough.
For instance, a 2-dimensional grid of carbon atoms, known as graphite, is
not a very good conductor of heat, since it has two sp2 hybridized orbitals and
an unhybridized p orbital. Whereas, if we have a 3-dimensional lattice of carbon
atoms, known as diamond, it becomes a good conductor of heat, due to the increase
in sigma bonds.
3 Methodology
3.1 Random Walks
In computational science, a random walk is an extremely common and useful model
for simulating a variety of physical phenomena. The algorithm is used to simulate
propagation of particles, and variations of the algorithm can also be used to study
things like brownian motion, share prices (economics), genetic drift (biology) and
more.
3.1.1 Algorithm
The Gaussian Random Walk on a two dimensional grid is the vanilla algorithm.
It starts off by assuming position of the object we want to track on the coordinate
plane to be (0, 0). Next, we propagate our simulation, essentially take our first
step, by randomly choosing one of the four possible values our object could assume.
Each propagation allows for a change of ±1 to any coordinate. At our first step,
this could be (1, 0), (-1, 0), (0, 1), (0, -1).
We continue this process of propagating the simulation for as long as we like
to track the position of the object.
5
3.1.2 Application of the Algorithm
For our purposes of studying heat diffusion, we aren’t interested in the definite
position of some particle, but rather the probability of finding said particle at any
given location after a certain number of propagation steps.
We will start off by creating a two dimensional grid of our atoms, which is
represented as a 2D array of floating point values, which is the kinetic energy of
the atom at that position.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
Next we dump some electron-Volts into the central atom. We assume a default
of E0 = 10 eV.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 10. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
Now, not all bonds transfer energy equally. We need a scaling factor to transfer
that 10eV to it’s neighbors, and account for heat loss. For this, we use the bond
energy of the atom we’re concerned about. In this case, the bond is a Carbon-
Carbon bond, and it’s bond energy is 607 kJ/mol. To scale this value between
0 and 1, so that we obey the conservation of energy, we need a logistic function.
We’ll call this the tension of the bond
Eb
T (Eb ) = (1)
1 + |Eb |
Further, we need to add yet another scaling factor to this since our bond
energies are going to be large, and this function will always return approximately
0.9. We are free to choose this factor as we please, but making it dependent on
the bond energy would ensure that our tensions aren’t too close to each other.
1 Eb
T (Eb ) = √ · (2)
Eb 1 + |Eb |
6
We could have used a number of logistic functions, but this one has a small
rate of change, allowing us for a larger accuracy.
Since the 10eV will be split equally across the four atoms surrounding our
central atom, we need to account for that, so we split the 10 eV into four so that it
will equally distribute, giving us a total energy transfer by the following equation
1
E = E0 · T · (3)
4
Finally, our propagated step looks like so
Calculating this and propagating our simulation grid, our grid looks like this.
0. 0. 0. 0. 0.
0. 0. 2.49 0. 0.
0. 2.49 0.01 2.49 0.
0. 0. 2.49 0. 0.
0. 0. 0. 0. 0.
Notice that this method tracks the probability distribution of the random walk
(taking into account the tension, of course), rather than the actual position of
some particle.
7
4 Observations
Running our simulation on a 100 by 100 grid of atoms, with an initial energy 100eV
results in the following distribution after 15 steps
5 Conclusion
This demonstrates that a random walk model can be used to simulate heat con-
duction in diamonds