|
Home > Courses > 4P10
|
PHYS 5P10
- Introduction to Scientific Computing
-
These links should work, if you have created your web-access directories correctly:
Aliza |
Ankreet |
Garrett |
Jaiden |
Ross |
Shawn |
Teresa
-
Final project proposals presentation will take place Tuesday, Nov. 19, starting at 13:00 (not 12:30, as usual).
Keeping to 10-mins time slots is very challenging, so to help the process run smoothly, please prepare your 1-2 slides
as
.pdf or .html
files and place them in the public_html/ subdirectories of your home directory, as described in the following
instructions for preparing web-based project presentations. Be sure to verify that
the files are visible externally via a full URL.
-
When submitting your homework notebook files, please use the following naming convention:
A#-LastName.ipynb where # is the number of the assignment. For example, A4-Jones.ipynb . As always, make sure you name and the title of assignment are clearly shown in the very first cell, and include the standard check for and optional creation of the work directory. Your jupyer notebook has to run with no errors "right out of the box" under another user's account.
-
Please submit your homework via email to edward dot sternin at brocku dot ca.
Attach (do not include in the body of the message) *.m,*.c, Makefile *.ipynb etc.
files as necessary. Make sure the jupyter notebook or the comments in the code
contain your Brock computer ID/email as the identifier of the author. Do not use your student number
as an identifier, it is to be kept private.
- Late homework submissions are penalized by a sinking cap of 15%/day, so assignments that are 2 days late cannot get a grade higher than 70, etc.
- Monitor your grades through the Marks link on the left.
These are previously made announcements:
-
Welcome to the home page of PHYS 5P10
. Watch this space for important announcements.
- This course can be taken as PHYS 5P10 or MATH 5P69, and by undergraduates as PHYS 4P10. The courses will be differentiated by level-appropriate expectations in the preparation of reports and projects.
- Be sure to review this statement on academic integrity
- To help you plan, the important dates of the current academic year are listed here.
- Lectures: Tu Th 12:30-14:00 in MC H300, starting Sept.5.
- All lectures will be conducted in the form of a lecture/tutorial, with each student performing the actions modeled by the instructor.
- Students registered in the class have their IDs activated on the Physics cluster. Verify by logging in on one of the workstations in B203 or H200/H300 before coming to class, and contact ITS if you are not able to to do so.
- Lectures will be posted in Lectures, both as .ipynb notebooks and as [non-interactive] .html files, if you do not have jupyter installed (it is installed on all computers in the Physics Department).
-
Although most of your homework will be submitted in the form of
jupyter notebook , high-quality output will require
some knowledge of LaTeX. Also, you are expected to prepare final project report using LaTeX. LaTeX is available on all computers in
Physics labs, and online at overleaf.com.
In preparation, students are encouraged to open overleaf accounts. Some useful resources for writing reports are here, and will be reviewed in class.
What Brock calendar entry says (slightly revised for the current calendar):
-
Survey of computational methods and techniques commonly used in condensed matter physics research; graphing and visualization of data; elements of programming and programming style; use of subroutine libraries; common numerical tasks; symbolic computing systems. Case studies from various areas of computational physics. Discipline-specific scientific writing and preparation of documents and presentations.
What do I need to bring into the course?
- This course is a core course of the MSMP program, and is recommended to all Physics graduate students. Basic familiarity with Linux is assumed, and will be reviewed briefly.
Course Goals
- to develop a working knowledge of interactions with Linux OS
- to become proficient in experimental data graphing and numerical analysis
- to gain working knowledge of program development
- to become familiar with one or several interpreted programming environments, and to acquire basic scripting skills
- to become proficient in LaTeX and use it for scientific papers and presentations
Textbook
There is no formal textbook for the course. A number of online resources are available and can be used as reference material for the lectures. Some of these are:
This list will grow as the course progresses.
Component |
% of the final mark |
Notes |
Projects |
70% |
Six (or seven, time permitting) extended projects. Project submissions should be made in the form of a jupyter notebook file, via email to the instructor. |
Final presentation |
30% |
One of the projects (selected at random) submitted in the form of a scientific journal submission,
using Phys. Rev. or Can. J. Phys. format, and presented in-class as a research seminar. |
This is an approximate outline. Topics not on this list may get covered as time permits.
- A common toolbox
- interacting with the OS; CLI vs GUI
- Linux as a collection of small tools + pipes between them
- the basics of programming: shell, C, scripting languages
- code development: edit, compile, run, make and Makefile structure, elementary debugging, linking to program libraries
- visualization with gnuplot and other graphing tools
- Numerical methods
- Numerical differentiation: finite differences, interpolation, root finding
- Numerical integration: special functions and quadrature
- Solution of Ordinary Differential Equations: Euler-Cromer, Runge-Kutta
- Linear algebra: methods of solving systems of equations and eigenvalue problems
- Stochastic Methods:Random number generators, importance sampling, Molecular dynamics, Monte-Carlo techniques
- Case Studies/Projects
- Least-squares problem: experimental noisy data, noise distribution and filtering, importance of baseline, assumption of Gaussian noise, chi-squared; classification of LS problems, regularization and selection of lambda. Test case: a spectrum of exponential relaxation rates
- Molecular modeling: protein database data, force fields, GROMACS simulation package. Test case: a lipid bilayer with cholesterol guests (T.Harroun)
- Models of solids: Ising model, magnetic moment, temperature, heat capacity, Metropolis' algorithm. Test case: magnetic transitions in an Ising lattice
- Image Analysis: filtering to remove noise, segmentation to isolate regions and objects of interest, regional and spectral analysis to extract statistical data. Test case: spatial frequency distribution of a line image
|
|