Computational Physics

advertisement
Computational Physics
Dr. Guy Tel-Zur
2011A
Sunny Yellow Flower. Picture by Sharee Basinger, publicdomainpictures.net
About me...
1988
1991
2001+
1996
20032004
1996+
2005+
Survey
• Please answer the survey at:
http://spreadsheets.google.com/gform?key=t3T
cOcxehKAzYyhm6WukzeA#invite
The Course Vision
“The crucial need for today's students and
readers is to move forward from the
older "formula-based" emphasis toward a
solution-based course. Solving problems
is the heart of modern engineering mathematics
and scientific computing. “ – Gilbert Strang –
Computational Science and Engineering, page
7, SIAM (2007).
What is Computational Physics
Reference: Resource Letter CP-2: Computational Physics
Rubin H. Landau, Am. J. Phys. 76 4&5, April/May 2008
A broader view –
Computational Science
X=Physics, Biology, Chemistry, …
X
Computational
X
CS
Math
Reference: Resource Letter CP-2: Computational Physics
Rubin H. Landau, Am. J. Phys. 76 4&5, April/May 2008
3 Pillars
Theory
Computational
Physics
Experiment
4 Pillars?
Theory
Computational
Physics
Data Mining
Experiment
2 Computational Pillars
See next slide, from Communications of the ACM,
http://cacm.acm.org/magazines/2010/9/98038-science-has-only-two-legs/fulltext
September 2010 issue
NVIDIA CEO at the GTC2010, Sept. 2010
The 3rd Pillar of Science is HPC !!!
HPC = High – Performance Computing
What is Computational Physics?
Computational Physics combines physics, computer
science and applied mathematics in order to provide
scientific solutions to realistic and often complex
problems. Areas of application include the nature of
elementary particles, the study and design of
materials, the study of complex structures (like
proteins) in biological physics, environmental
modeling, and medical imaging. A computational
physicist understands not only the workings of
computers and the relevant science and mathematics,
but also how computer algorithms and simulations
connect the two.
Source: http://www.sru.edu/academics/colleges/ches/physics/Pages/ComputationalPhysics%28BS%29.aspx
Computational Physics is an active field
Journals and Magazines…
APS, EPS, IPS…
No CP division 
Scientific Papers On-line at arXiv.org
http://arxiv.org/list/physics.comp-ph/recent
Career Opportunities for
Computational Physicists
• A graduate degree in physics in areas such as biophysics, condensed matter
physics, particle physics, astrophysics to name a few.
• A career in High-performance and scientific computing, in the energy and
aerospace sectors, with chemical and pharmaceutical companies, with
environmental management agencies.
• Employment in firms that develop scientific software, as well as computer
games.
• A research career in an academic, industrial, or national laboratory
• A teaching career in physics
• A job in Wall Street. Even Wall Street employers are interested in people
with a background in computational physics.
Source: http://www.sru.edu/academics/colleges/ches/physics/Pages/ComputationalPhysics%28BS%29.aspx
Physics Engine in Computer Games
Course Building Blocks
Tools
Methods
Case Studies
Practice
Rubin Landau et al, “A Survey of Computational Physics”
Parallel and distributed
computing
Rubin Landau et al, “A Survey of Computational Physics”
Scheme on previous slide refers to at least 2 quarters (20 weeks) course
Scientific Discovery through
Advanced Computing (SciDAC)
DOE Office of Science
http://www.scidac.gov/
When will be such a national initiative in Israel…? 
Source: http://www.princeton.edu/as/LNL/presentations/spring2010/LnL031010TangFusionSimulation.pdf
What V&V Means?
The problem of quantifying uncertainty:
Validation "Solving the right equations"
Verification "Solving the equations right"
Tools
• Programming Languages
– C/C++
– Fortran
– Python
+OpenMP
+MPI
+Condor
• Numerical Tools
– CERN paw/root/Matlab/Octave/Scilab
• Visualization
– VTK
- grace
- Paraview -VisIt -Mayavi
– Vpython - GNUplot -DX
• Workflow
– Kepler(?)
Full Scientific Research Study –
“Workflow”
Raw Data
Number
Crunching/Data
Analysis
Reduced Data
Visualization
Prototyping
(Matlab)
“Batch”
“Data Base”
Specific Format ,
e.g. NetCDF
Interactive
mode
Parallelism
My Goal: Introducing Parallelism whenever
possible is going to be my own “twist” to the
course
AMD – 6 cores microprocessor
Power7: IBM’s Next-Generation Server Processor with 8
cores.
The chip is 567 mm2 and contains 1.2 billion transistors
Recommended Reading:
http://www.computer.org/cms/Computer.org/ComputingNow
/homepage/2010/0710/W_MI_Power7.pdf
NVIDIA CEO at GTC2010
GPGPU increase presence at the Top500 Supercomputers
Serial vs. Parallel - demo
Execute: C:\FlexPDE5student\samples_student\steady_state\fluids\swirl
Low cpu utilization
Uses only one core
Some highlights of the course –
Next slides
We will have:
1. Standard “Classical” text PLUS
2. Several “Mini-Courses” – My add-ons
1. Parallel Computing – MPI,
OpenMP
2. Batch/Grid Computing – Condor
3. Visualization (next slide)
4. Cluster Computing
Parallel Visualization
A visit to the parallel visualization lab at the
Mechanical Engineering building
How to build a parallel computing
cluster – hands on demo
A report from SC10
The Latest Innovations
Course Web Site
http://physics.bgu.ac.il/~gtelzur/teaching/comphy/2011A/
‫חובות הקורס וציונים‬
‫•‬
‫•‬
‫•‬
‫•‬
‫קיימת חובת הגשת כל ‪ 4‬תרגילי הבית (התעוד יעשה‬
‫ב‪ LaTeX -‬ויוגש כ‪ PDF -‬באמצעות הדוא"ל למרצה‪.‬‬
‫באופן מדגמי יבדקו תרגילים ויינתן עליהם ציון (עד‬
‫סוף הסמסטר תיבדק לכל הפחות עבודה אחת מכל‬
‫סטודנט) – משקל‪20% :‬‬
‫סיכומי השיעור – כל שיעור יסוכם בפורמט מאמר על‪-‬‬
‫ידי סטודנט אחר ויינתן על‪-‬כך ציון‪ .‬הסיכום יעשה ב‪-‬‬
‫‪ .LaTeX‬משקל‪ )*(10% :‬לא סופי ‪ -‬תלוי במספר‬
‫הסטודנטים‬
‫בסוף הסמסטר – פרויקטי גמר‪ .‬לפרויקט שני חלקים‪:‬‬
‫מצגת ודוח מסכם ‪ –70%‬ראו פרטים נוספים בהמשך‪.‬‬
‫נשאלתי לגבי העומס הצפוי בקורס‬
The following is from: Old Dominion University Physics 420/520 Spring 2010
Keys to success Right motivation, working diligently, effectively and efficiently is the key to
success.
If you work regularly and allocate enough time each day to practice and complete
the assignments on time and keep up with the course, you will get the most out of
the course both intellectually and grade-wise.
You should invest about 6-9 hours per week outside of class to succeed in this
course. This is consistent with university guidelines (i.e. two to three hours of
outside preparation time for every credit hour). Students with little or no
programming experience (or those who love the subject and wish to do extremely
well in it) may want to put in more hours. Please, let me know as soon as possible
if you have difficulties and may need extra help.
You are recommended to start you assignments well before the last night when
your assignments are due. It is a general experience that a computer program
usually does not work correctly (if works at all) at the beginning. A search for a
problem, or a computer bug, may take more time that you expect.
‫ידי המרצה‬-‫ בע"פ על‬:‫הערות נוספות‬
‫תרגילי הבית‬
•
•
•
•
•
•
•
•
Approximately 4 sets of homework problems will be assigned.
The students will write computer programs based on computational algorithms discussed in
class.
These assignments constitute a very important part of the course, since the thinking involved
in scientific programming can only be developed through practical work.
The assignments must be returned by their stated due dates, unless an extension is granted
by the instructor. For late return of assignments, a 10% point deduction will be applied for
each late day.
Programs should be written in Fortran 90/95 or in C/C++ or in Python.
The programs as well as a short report discussing the results should be handed in to the
instructor by the stated due date. The solution programs should be sent as an attachment in
an e-mail to the address gtelzur@bgu.ac.il. The report (hardcopy required) should be handed
to the instructor in class before the deadline.
Every student is expected to work independently on the assignments. However, discussions
with fellow students are allowed, indeed encouraged, as long as they are kept on a general
level and do not amount to direct copying of ideas or programming solutions.
Although discussions and some degree of cooperation between students is allowed, The
material turned in must be independently written.
Inspired from: http://physics.bu.edu/~py502/syllabus.pdf
‫פרויקטי הגמר‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫מהווים את החלק הארי בציון על הקורס‪.‬‬
‫מייחס להם חשיבות רבה‪.‬‬
‫כל סטודנט יציג בפני הכיתה את נושא הפרוייקט שלו‬
‫אני אפרסם בהמשך רשימת נושאים מטעמי‬
‫אתם מוזמנים להציע נושאים משלכם‪.‬‬
‫אפשר לקבל רעיונות בקישור הבא‪:‬‬
‫‪http://physics.usc.edu/~shaas/516/projects.html‬‬
‫פרויקטי הגמר‬
‫• מצגת – הפרויקט יוצג בפני הכיתה‪ .‬יש לתאר את‬
‫נושא העבודה‪ ,‬האתגר החישובי והדרך למתן‬
‫מענה לאתגר‪.‬בשלב הזה לא נדרשת כתיבת‬
‫תכנית מחשב – משקל ‪ 10%‬מהציון הסופי‬
‫• דוח מסכם‪ :‬יסכם את כל הפרויקט לרבות המצגת‬
‫ותכנית המחשב שתכתב עבורו‪ .‬יצורף תיעוד מלא‬
‫ומסקנות (פרוט מבנה העבודה – בהמשך)‪ .‬משקל‪:‬‬
‫‪ 60%‬מהציון הסופי‬
‫המצגות של פרויקטי הגמר‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫כל סטודנט יציג נושא‬
‫פורמט ‪HTML ,PDF ,PPT‬‬
‫המצגות תתקיימנה בשני השיעורים האחרונים של הקורס‬
‫שפה‪ :‬עברית‪/‬אנגלית (דיבור‪/‬שקפים)‪.‬‬
‫יש לשלוח באמצעות המייל את המצגת אל המרצה עד חצות‬
‫הלילה שלפני השיעור כך שהמצגת תועלה למחשב המרצה‬
‫ולא יהיה בזבוז זמן של התקנות מהתקנים חיצוניים או‬
‫חיבור מחשבים למקרן בזמן השיעור‬
‫את המצגות יש לשלוח לכתובת‪gtelzur@gmail.com :‬‬
‫הדוח המסכם של פרויקט הגמר‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫חלק או כל העבודות תועלנה בהמשך לאתר הקורס‬
‫מבנה העבודה‪ :‬שער (שם‪ ,‬ת‪.‬ז‪ ,.‬כותרת)‪ ,‬תמצית‪,‬‬
‫מבוא‪,‬גוף העבודה‪ ,‬מסקנות‪ ,‬רשימת סימוכין‪ ,‬נספחים‪.‬‬
‫מומלץ לכלול גראפים‪ ,‬תרשימים‪ ,‬טבלאות להמחשת‬
‫התוצאות‬
‫מומלץ פורמט ‪ – LaTeX‬ראו בהמשך‬
‫הגשה אלקטרונית בלבד לכתובת‪:‬‬
‫‪gtelzur@gmail.com‬‬
More tips about the Final Projects
• Consult these links:
1. http://www.odu.edu/~agodunov/teaching/p
hys420_10/organize_comp_proj.pdf
2. http://www.odu.edu/~agodunov/teaching/p
hys420_10/Sample_Project.pdf
3. http://www.odu.edu/~agodunov/teaching/n
otes/Intr02_projects.pdf
Programming Languages
•
•
•
•
C/C++
Fortran 90/95
Python
More discussion on that in the next
presentation!
Visualization Tools - ‫כלי המחשה‬
•
•
•
•
Gnuplot – included in Python(x,y)
Xmgrace – 2D, Linux only
vPython – included in Python(x,y)
Qtiplot – Free for Linux OS (Origin clone)
http://soft.proindependent.com/qtiplot.html
• Excel
• CERN’s PAW/Root (if time will permit)
LaTeX
• Learn LaTex, here are a few links to tutorials:
– http://www.cs.cornell.edu/Info/Misc/LaTeXTutorial/LaTeX-Home.html
– http://www.pages.drexel.edu/~pyo22/students/la
texRelated/latexTutorial.html
– Getting Started With LaTex:
http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/
GSWLaTeX.pdf
LaTeX Recommended Environment
(install it on your laptops)
• MikTeX: http://www.miktex.org/
• LaTeX Editor: Led http://www.latexeditor.org/index.html
• Optional: LyX - http://www.lyx.org/
(less recommended)
• Online check your LaTeX equations with Texify:
http://www.texify.com/links.php
Linux Background
Check:
http://www.physics.udel.edu/~bnikolic/teaching/phys660/RUTE/rute/index.html
‫מה עוד?‬
‫• נשתדל למצוא זמן למשחקים ולהדגמות יפות!‬
‫ ‪• Open Source Physics‬‬‫‪http://www.compadre.org/osp/‬‬
‫• נתקלתם במאמר מעניין? קישור רלוונטי באינטרנט‬
‫– אודה לכם אם תשלחו מידע זה אלי‬
‫שמירה על קשר‬
‫•‬
‫•‬
‫•‬
‫•‬
‫אתם יכולים לפנות אלי במייל‪:‬‬
‫‪gtelzur@gmail.com‬‬
‫נא לעקוב אחרי אתר האינטרנט של הקורס אשר‬
‫מתעדכן באופן שוטף‬
‫?‪ – Mailing lists‬אפשר להקים בגוגל‬
‫קבוצה בפייסבוק‪?...‬‬
Let’s get started!
Download