Aims and objectives
- Checkpoint
1
- Reacquaint
themselves with Unix commands and the EMACS text editor to edit source
code
- Refamiliarise
themselves with Java by modifying a simple Java program
- Make
a method (aka member function) call
- Use
a for loops : e.g. for(int i=0;i<10;i++)
- Introduce
File I/O constructs
- Learn
to use the xmgrace graphing tool
- Become
familiar with a concrete practical example of a Fourier series
- Advanced
students may learn about Fourier integrals
- Checkpoint
2
- Become
familiar with writing a user defined mathematical type as a class ( e.g.
Complex or Vector3d)
- How
to implement operations as class methods
- Develop
a tested Vector3d class for use later in course
- Understand
simultaneous development of a (reusable) class and a separate tester as sound
software practice
- Learn
text parsing strategies in Java
- Checkpoint
3
- Develop
a class representing particles with 3d positions, velocities etc.
- Reuse
object (class) developed earlier to as a user defined data type
representing vectors
- Learn
the importance of writing reusable objects with well designed interfaces
- Implement
the leap-frog numerical integration algorithm
- Simulate
some simple 1 particle systems in background electric and magnetic fields
- Learn
scientific code testing techniques such as verifying analytic solutions
in special cases
- Advanced
students will study numerical integration errors
- Checkpoint
4
- Students
will perform a detailed simulation of simple harmonic motion (mass on a
spring)
- Checkpoint
5
- Students
will perform simulations of two and three particle systems including
interactions between particles.
- Students
will implement several force laws governing these interactions
- The
difference between static data members and instance data members will be
illustrated
- The
difference between static methods and instance methods will be
illustrated
-
- Advanced
students will learn to visualize their results using the VMD package
- Advanced
students will learn to use command line arguments
- Object
inheritance will be introduced using the extends keyword
- Checkpoint
6
- Students
will perform a molecular dynamics simulation of ideal and non-ideal gases
in a box.
- Students
will become familiar with the minimum image convention
- Students
will learn the technique of checkpointing and restarting a simulation