This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
en:projects:details:gio01 [2010/11/15 16:47]
en:projects:details:gio01 [2011/09/22 10:05]
Line 1: Line 1:
 ---- dataentry project ---- ---- dataentry project ----
-title : Implementing a conference scheduling system in Ruby on Rails +title : Simulating kinetic theory of gases 
-contactname: ​Giovanni Cangiani +contactname: ​Omid Etesami 
-contactmail_mail: ​giovanni.cangiani@epfl.ch +contactmail_mail: ​omid.etesami 
-contacttel: ​021 6937526 +contacttel: ​36793 
-contactroom:​ BC 149+contactroom:​ BC 150
 type : bachelor semester type : bachelor semester
 status : available status : available
 table : projects table : projects
-created_dt : 2009-05-29+created_dt : 2011-09-22
 taken_dt :  taken_dt : 
 completed_dt : completed_dt :
Line 17: Line 17:
 ---- ----
-This project ​is very practicalIts goal of this project ​is to design and implementat ​of an important feature ​of a web-based ​ +A simple model to relate macroscopic properties of gases to the microscopic properties of their molecules ​is the kinetic model for gases(See for example Feynman Lectures on Physics, Volume 1, Chapter 39, "​Kinetic theory ​of gases"​). For simplicity, you can assume that the gas is monatomic like Helium. Then, you can think of the gas as a lot of small balls (atoms) colliding ​to each other or colliding to the container elastically. These collisions constantly change the directions ​of the movement ​of the balls. 
-conference organization system that is being developed in our lab: semi-automatic ​system  +  
-for scheduling ​the talks and the sessions ​of a conference starting from the list of accepted papers.+The goal of this project ​is to simulate such a system. You can then see  
 +1. the relation between pressure ​and average kinetic energy, 
 +2. the velocity distribution ​of the molecules,​ 
 +3. the speed with which the system approaches equilibrium from a non-equilibrium state.
-The taker of the project will have to deal with the following tasks +The simulation can be generalized in many ways:
-  * review of existing implementations +
-  * design of the object model +
-  * design of an easy-to-use and elegant user interface +
-  * implementation of the computer program +
-  * (optional) research and implementation of an automatic methods for scheduling the talks+
-The taker of the project will have the opportunity to learn and/or improve his knowledge about +1. You can consider two different types of molecules in the same container, for example, both Helium ​and Argon. You can verify that the molecule with more mass has on average a smaller velocity.
-  * the Ruby language +
-  * the [[http://​rubyonrails.org/​|Ruby ​on Rails]] web development framework +
-  * test-driven development +
-  * user interface design +
-  * scheduling and resource allocation algorithms +
-  * [[http://​git-scm.com/|git]] distributed control version system+
 +2. You can consider polyatomic molecules by modeling each molecule as a bunch of atoms connected together with sticks. Then, there will be rotational as well as translational movements. You can then check the "​equipartition theorem"​ that relates the average rotational energy to the average translational energy. You can further generalize the model by letting springs, instead of sticks, connect the atoms.
 +3. You can add pistons that allow interaction between two containers. Then, you can verify that the piston equalizes the average kinetic energy of the molecules in the two containers.
 +The prerequisite for this project is the ability to find algorithms and data structures to simulate the model efficiently + knowing the basic probability required to analyze the results of the simulation.