Atomic Movement at Different Phases

About

What is the topic you chose to model? Why did you decide to study this topic?
The topic that appealed to us the most was to model the demonstration of atomic movement during the different phases of water. We decided that it would be best to study this topic because when we were brainstorming ideas, the model that we had built during the lecture with Aaron was a good base that we could modify to our story well enough so that means we wouldn’t experience a lot of troubleshooting errors while we’re unable to be with the staff at the moment.

What was your hypothesis about the topic when you started?
Our hypothesis was if there is an increase in temperature, the molecular forces holding the particles would weaken and the movement and range of motion of the particles would gradually increase, indicating a change of phase. Another hypothesis was that there will never be a temperature cold enough to make the atoms completely stop moving.

What were the questions you planned for your model to help answer?
We based our model around the questions on how much does movement in particles change per degree up is the change in amount of movement static or variable and whether there is a temperature cold enough to make the atoms freeze altogether resulting in no movement.

What were your hypotheses about the answers to the questions when you started?
To answer our first question, we hypothesized that the change in the amount of movement as the temperature goes up is variable (and not static) since hot temperatures make it go faster and as for the second question, absolute zero is at -273.15℃ and it is physically impossible to reach absolute zero so what that being said, there would still be small vibrational movements.

What type of results and behaviors did you expect from your system model?
We tried to code the behaviors to match how the atoms should move in each phase. When the substance is in its solid form, the atoms should be stationary, tightly compressed, and vibrating in its stationary position. When the substance has reached melting point at 0℃, it should transform from a solid to a liquid so when so when the slider moves and it is now 0℃, the atoms should have a wider range of motion, moving at a faster motion. When the substance has reached boiling point at 100oC, it should transform from a liquid to a gaseous state so when the slider moves and it is now 100℃, the movement of the particles shifts to an excited state where the particles constantly zoom.

Did your observations match your expectations? If not, why do you think they did not? What did this teach you about the topic you were modeling?
Our model did achieve the objective of demonstrating the movement and arrangement of the particles in the different phases of water and it did execute accordingly to the parameters and values (0℃ and 100℃) as the slider dictated the motion of the particles accordingly, however it was hard to find a code to program the particles to compress back together when you move the slider bar back to 0℃ from a gaseous state so it doesn’t realistically model the particles transition from a gas to a liquid to a solid. Additionally, our model doesn’t take into account other extraneous transitions such as sublimation and deposition. All these extra kinks made us realize that there was a lot more to what we could have modeled for this particular topic overall and that it is a lot more complex, coding-wise, than we had hoped.

Did the results support your initial hypotheses? If not, what were your new hypotheses?
Aside from those additional things that can be included, our model does support our hypothesis as it demonstrates how an increase of temperature affects the molecular bonds of the particles and its overall movement and phase.

What changes did you have to make to your plans and your models to make your models more accurate and/or realistic?
We had to abolish the design that atoms bounce off each other and we had to start off with the atoms tightly compressed together to represent the substance in a solid phase and gradually spread out as the temperature increases.

What did you learn from working on this project?
Doriz: We had to look through our old chemistry notes and go into more in-depth research so it was an experience to revisit chemistry content especially when it has been a long time since. Additionally, we learned more programming concepts and HTML elements on our own time such as incorporating a slider bar that dictates the motion and speed of the particles.
Sharonda: We also learned that Python is easier than Javascript. I learned that atoms don’t actually touch and they kind of actually avoid each other. I also learned that atoms contract when they get colder, I wouldn’t have predicted this.


Sources:
Boundless. “Boundless Chemistry.” Lumen, courses.lumenlearning.com/boundless-chemistry/chapter/phase-changes/.

Versions

Version 12: Atomic Movement 11
There is a world with multiple randomly-placed, randomly-sized, moving particles. There are buttons to play, step, and reset the model. Stepping the model causes the particles to move. Resetting the model places the particles at a new random location with a new random size. If a particle hits a wall, it bounces off. The sliders will add increments of temperature and will change the speed and movement of the particles for each phase. Playing the model causes it to step repeatedly. Resetting the model causes it to stop playing. Once the play button has been clicked, it cannot be clicked again until the model is reset. In the solid phase particles are close together, as the temperature gets larger the particles start to flow apart from each other.
1. Create second panel
2. Have particles gradually spread out as it gets hotter

Version 11: Atomic Movement 11
There is a world with multiple randomly-placed, randomly-sized, moving particles. There are buttons to play, step, and reset the model. Stepping the model causes the particles to move. Resetting the model places the particles at a new random location with a new random size. If a particle hits a wall, it bounces off. The sliders will add increments of temperature and will change the speed and movement of the particles for each phase. Playing the model causes it to step repeatedly. Resetting the model causes it to stop playing. Once the play button has been clicked, it cannot be clicked again until the model is reset. In the solid phase particles are close together.
1. Start off with a cluster of particles


Version 10: Atomic Movement 10
There is a world with multiple randomly-placed, randomly-sized, moving particles. There are buttons to play, step, and reset the model. Stepping the model causes the particles to move. Resetting the model places the particles at a new random location with a new random size. If a particle hits a wall, it bounces off. The sliders will add increments of temperature and will change the speed and movement of the particles for each phase. Playing the model causes it to step repeatedly. Resetting the model causes it to stop playing. Once the play button has been clicked, it cannot be clicked again until the model is reset.
1. Make numerous particles/atoms
2. Let particles flow in any direction as the temperature slider gets greater


Version 9: Atomic Movement 9
There is a world with 1 randomly-placed, randomly-sized, stationary particle. There are buttons to play, step, and reset the model. Stepping the model causes the particle to move. Resetting the model places the particle at a new random location with a new random size. If the particle hits a wall, it bounces off. The sliders will add increments of temperature and will change the speed and movement of the particles for each phase. Playing the model causes it to step repeatedly. Resetting the model causes it to stop playing. Once the play button has been clicked, it cannot be clicked again until the model is reset.
1. Add an "if" statement to the step function that checks if the particle has gone past a wall, and if it has, reverses the direction of the particle
2. Anywhere there is code for center_x and velocity, add code for center_y and velocity_y


Version 8: Atomic Movement 8
There is a world with 1 randomly-placed stationary particle. There are buttons to play, step, and reset the model and there are sliders. Stepping the model causes the particle to move. Resetting the model places the particle at a new random Location. The sliders will add increments of temperature and will change the speed and movement of the particles for each phase. Playing the model causes it to step repeatedly. Resetting the model causes it to stop playing. Once the play button has been clicked, it cannot be clicked again until the model is reset.
1. In the reset function, call clearInterval
2. In the play function, add a line to disable the play button
3. In the reset function, add a line to enable the play button


Version 7: Atomic Movement 7
There is a world with 1 randomly-placed stationary particle. There are buttons to play, step, and reset the model and there are sliders. Stepping the model causes the particle to move. Resetting the model places the particle at a new random Location. The sliders will add increments of temperature and will change the speed and movement of the particles for each phase. Playing the model causes it to step repeatedly.
1. Add an HTML button element for the Play button
2. Define a JavaScript function that is called whenever the button is clicked 2a. The function will call the step function repeatedly using a setInterval


Version 6: Atomic Movement 6
There is a world with 1 randomly-placed stationary particle. There are buttons to step and reset the model and there are sliders. Stepping the model causes the particle to move. Resetting the model places the particle at a new random Location. The sliders will add increments of temperature and will change the speed and movement of the particles for each phase. Add an HTML slider element for the slider (“temperature”) Before zero degrees, the particle is stationary (moving from side to side but very limited range); After zero degrees, the particle begins to move in a free-flowing movement (liquid); After 100 degrees, the particle begins to gain speed and bounce off everywhere (gas)


Version 5: Atomic Movement 5
There is a world with 1 randomly-placed stationary particle. There are buttons to step and reset the model. Stepping the model causes the particle to move. Resetting the model places the particle at a new random location.
1. Add an HTML button element for the Reset button
2. Define a JavaScript function that is called whenever the reset button is clicked
2a. The function will basically do what the onload function already does
2b. Except we also have to clear the canvas
3. Add an HTML button element for the Step button
4. Define a JavaScript function that is called whenever the step button is clicked
4a. Change the x-position of the center of the particle by 3
4b. Change the y-position of the center of the particle by 3


Version 4: Atomic Movement 4
There is a world with 1 randomly-placed stationary particle.
1. Get random numbers for center_x, center_y
2. Make sure the circle is inside the walls


Version 3: Atomic Movement 3
There is a world with 1 stationary particle.
1. Create a JavaScript file
2. Link it to the HTML file
3. ADD JS code to draw a circle on the canvas


Version 2: Atomic Movement 2
There is a world.
1. Create an HTML canvas element
2. Style it using CSS (give it a border and a background color)


Version 1: Atomic Movement 1
1. Add our name
2. Add a description


Version 0: Atomic Movement 0
1. Download the template
2. Upload the template to our public_html
3. Open the template in our web browser