Every object that has a finite temperature radiates energy. In this simulation, users can change the temperature of a solid to observe how its emitted radiation changes.
The solid is represented at the bottom of the screen as a lattice of positive ions (when in Microscopic View), or as a simplified terrain (when in Macroscopic view). After toggling the Radiation option on and clicking play, users can observe radiation escaping from the solid. Using the thermometer on the left of the screen, users can change the temperature of the solid, and observe the effect of these changes on the emitted radiation. For example, users will note that higher temperature solids emit radiation with a lower (average) wavelength than those at lower temperatures. When in Microscopic View, users can also observe the oscillation of the positive ions comprising the lattice, noting that (1) it is this oscillation that generates the observed emission, and (2) at higher temperatures, the ions oscillate more rapidly. By toggling the Grid option on, users can measure the wavelength of the emitted radiation. Finally, by toggling the Wavelength Distribution option on, users will see a chart showing the distribution of wavelengths emitted at a given temperature, noting that, for simplification purposes, the radiation displayed on the screen consists only of the most frequent wavelength in that distribution, whereas in real settings the solid would emit radiation with wavelengths across this distribution.
A live deployment of the application can be accessed here. Please submit any issues you identify to the application's GitHub repository.
- Once you clone the repository, run
yarnornpm installto install its dependencies. - In the project directory, make sure to create an
.env.localfile and to add"REACT_APP_BASE="to the top of this file. You can do this through your shell by runningtouch .env.localandecho "REACT_APP_BASE=" >> .env.localin the project root. - Run
yarn start(ornpm start) to start the application. It should automatically open in your browser atlocalhost:3000. You can also access it in development mode onhttp://localhost:3000/?appInstanceId=6156e70ab253020033364411&spaceId=5b56e70ab253020033364411&dev=true - The simulation's main components are located in
src/components/lab(canvas components) andsrc/components/common(side menu and controls). It uses React, React-Redux, and React-Konva.
