51作业君
首页
低价平台
服务介绍
代写程序
代写论文
编程辅导
程序案例
论文案例
联系方式
诚邀英才
代写选择指南
程序辅导案例
>
Program
>
程序代写案例-PHY407F
欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top
PHY407F Computational Physics Final Project Guidelines As a final assessment, you will complete a project that involves using computational br>methods to solve some physics (or related field) problem. This is an individual assignment: you will not work in pairs like for the labs; instead, you will pick your own topic and produce a report for which you will be the sole author. The topic and computational methods you explore are completely up to you. I provide some possibilities and keywords to search at the end of this document, but you can completely ignore this and choose your own if you wish. Choose a project that is of interest to you, allows you to be creative, challenge yourself, and enjoy learning something new. The topic of your term project should NOT be your undergrad thesis, a topic for some other term project you must write or work you have done for some other course. Essentially, it should be something new you've decided to explore for this course. It may however be related to something else you have done or are doing, as long as the part you are doing for this course is original. You can style your project in one of two ways: 1. You can write a ‘Lab’ like the ones we have done in this course. E.g., provide a ‘Computational Background’, then a ‘Physics Background’, then some instructions on how to solve some problems on some related theme or topic. Also provide the solutions and codes. 2. You can write a ‘Term Paper’. This is more like a research paper where you provide an ‘Introduction’ section where you review the literature on your topic and computational methods, a ‘Methods’ section where you detail your methods, a ‘Results’ section where you provide results and a ‘Discussion/Conclusion’ section where you discuss your results. The style choice is totally up to you. Whichever you choose, make sure to provide citations to references that you use (see https://advice.writing.utoronto.ca/using- sources/documentation/). Also provide all codes you develop. Your term project should somehow go beyond the scope of this course. It can do so in one of the following ways: 1. use a computational method that was not covered by the labs (e.g., some new way to numerically solve an integral, or some new finite-difference scheme for solving ODEs). 2. use a computational method for a higher-dimensional problem, as long as it involves significant changes to the algorithm (e.g., doing a 2D shallow water simulation instead of a 1D shallow water simulation is NOT trivial but solving for the volume of a hypersphere in 11 dimensions instead of 10 is trivial). 3. combine several computational techniques to solve a more complicated problem (if it is not too similar to what we did in class). The final report should be in the range of 5-8 pages of written text (including tables and figures, but not code lines). Use a single line spacing, margins no smaller than 2.5 cm, Times New Roman 12 pt. font (or equivalent; the LaTeX basic font is equivalent enough). As a general guideline, any page over 12 will be increasingly frowned upon by the marker. Some projects might involve complex computing methods but only a few lines of code to implement (these would probably result in a project with a much longer introduction or computational background explaining these complex methods, but the code would be short). Some might involve simple methods to understand but require a lot of programming (in this case, the intro/computational background may be shorter, but the codes will be longer). Based on the weight of the term project and the amount of time you have to complete it, I am expecting a finished product that is the equivalent of 2 regular course labs (in terms of time spent on the project), “one lab” being the amount of work one student completes in one week. Equivalently, it should be the equivalent of one full lab (as done by one lab group during a week). Reports will be due Thursday Dec. 9th at 11:59 pm. However, there is a NO-PENALTY extension until Sunday Dec. 19th at 11:59 pm. This extension deadline is strict. Make sure to hand in your project long before this deadline so that there is no issue with being just over the due date/time. Work handed in after Sunday, Dec. 19th at 11:59 pm will be assigned a grade of 0. How to hand in: like the labs, you will hand in your project via Quercus. Same rules as the assignments. See “PHY407 Assignment Policy”, and in summary, it would be in the same format as the labs, i.e., .py + .pdf (or .doc(x) or .odt): one or more python scripts, along with a report containing text, equations, and/or explanations of various sorts. It should include ONE document for your write up (pdf or doc(x)) and ALL files needed to run your code. You may upload auxiliary files (movies, data files). Your total submission must not exceed 30 MB. If it does exceed it, you can use a cloud storing service. At UofT, we can all use OneDrive, and you have the possibility to only share it with the marker if you wish to. No matter how you style your project, it must include the following: 1. Explanation of any new computing methods (along with citations to where you learned about them). You can assume a knowledge base of someone who took this course (e.g., you don’t have to explain the idea of numerically solving integrals to explain a new technique for numerically solving an integral. But if you decide to cover finite element methods, you should explain this from its basics since we didn’t cover any in class). 2. Some sort of efficiency/accuracy/stability/error estimates related to your project. Which to focus on will depend on your topic and methods choice, but I expect some discussion of these points (at least a paragraph). 3. A section where you discuss how you can test (and hopefully did test) your codes to ensure there are no bugs and that it produces correct results. This can involve simple test cases, limiting cases, benchmark studies etc. 4. Your codes will be graded based on computational efficiency (though we did not insist on it during the term and therefore will be somewhat lax), organization and readability by me. This means you should include lots of good comments, make sure your code is organized well (with modules, nice spacing) and that it minimizes the number of floating-point operations (based on your accuracy goals). Here is the grading scheme for the project: Content (11/24) 1) appropriate level/amount of discussion of computational methods involved. a) E.g., you could present the computational method as a readable pseudocode. 2) effective (i.e., thorough, succinct and understandable) descriptions of these methods and anything else involved (e.g., your “Physics background”, or your results, discussion etc.). 3) suitability of the methods for solving the physical problem you are considering. 4) Efficiency/accuracy/stability/error discussion. Code (5/24) 1) understandable code (i.e., comments, organization) 2) modularization (for testing purposes) 3) appropriate level/amount of coding for the project. Presentation and writeup (8/24) 1) Grammar, style, lack of typos, good organization to the document. 2) Effective presentation of plots and figures. • Help, Feedback and Collaboration: Since this is a ‘final project’, we will implement the philosophy of an open book final exam. You are required to do your own work (no partners) although you can use any texts/articles/online refs you like. You cannot ask for help on finding bugs in your codes from anyone. As a slight deviation from an open- book final exam, you can informally discuss your topic with other students in the course, compare ideas and references but you cannot work in groups, and you must hand in a copy that is yours, and yours only. You can ask Prof. Grisouard and the TAs for advice on whether a particular topic is appropriate and whether you are approaching it in a good way (i.e., with appropriate methods). But make sure to do this early (i.e. before the end of labs). If you want feedback on your choice of topic or computational approach, you must ask by Dec. 1st. By then you are expected to have a detailed plan in place for your project. Basically, the point of the project is for you to demonstrate, individually, what you have learned in this course and how you would apply it to some new scenario not covered in the course. Potential Project Topics: Here are some ideas for different topics and/or computational methods you can use in your project. Some of these are just keywords (i.e., they wouldn’t be an entire project but could be a specific method to implement as part of a project). Some are just physics topics that typically involve computational methods. Do some online searching of these methods to learn what they are about. I’ve tried to organize them based on their relevance to the chapters of the text. Feel free to completely ignore these and come up with your own (maybe by looking through other computational text like Numerical Recipes). Again, if you want feedback/advice/guidance you must see one of us before Dec. 2nd. I urge you to choose a project that is of scientific nature. It does not have to be physics: it can be about biology, medical sciences, finance, engineering… But I advise against picking a project that is purely about image processing or convolutional neural networks, for example. Instead, try and tie it to a scientific topic. Some decent texts where you can look for methods and problems are: 1) Press et al., Numerical Recipes 2) Heath, Scientific Computing 3) Giordano & Nakanishi, Computational Physics Ideas for Topics & Methods: • Functional Analysis (Integrals, Derivatives, Interpolation, Extrapolation…): o Gauss-Kronrod quadrature o higher order finite difference approximations o using Chebyshev approximations for derivatives & integrals o cubic spline interpolation o computing special functions: gamma function, error function, Bessel functions, Legendre polynomials, spherical harmonics • Solving linear systems and linear algebra: o Singular Value Decomposition o Cholesky Decomposition o Conjugate gradient method o Sparse systems o Lanczos algorithm o data optimization o Methods of interest for determining eigenvalues/eigenfunctions (Jacobi, Power, QR, Krylov subspace, etc.) • FFTS: o dealing with aliasing o correlation and autocorrelation o filtering and data windowing o wavelet transforms o compression of information • Solving ODEs: o methods for stiff equations o predictor-corrector methods o integral equations o bifurcations in nonlinear systems o resonances in planetary orbits o chaotic tumbling of satellites o other chaotic systems o molecular dynamics simulations: dilute gas, planetary motions, planetary formation, melting transitions o efficient numerical methods for integrating N-body problems: fast multipole method or particle-mesh methods o Fermi-Pasta-Ulam-Tsingou system o Galerkin method o Collocation method • Solving PDEs: o solving for electric fields and potentials for different charge distributions o magnetic fields produced by current distributions o wave motions (on a string, in the ocean, atmosphere, …) o membrane vibrations o 2D or 3D parabolic, elliptic, or hyperbolic equations o Schrodinger’s equation in 2 or 3D, different potentials, barriers, quantum tunneling o multigrid methods o finite element methods o spectral element methods o fluid dynamics with shocks o nonlinear PDEs o solitons o 2D shallow water equations o barotropic vorticity equations (simple atmospheric dynamics) o time dependent/time independent quantum mechanical calculations • Random Processes & Monte Carlo: o stratified sampling o adaptive Monte Carlo for particle physics (VEGAS) o relationship between diffusion and entropy o fractal dimensionality of curves o percolation o 1st order phase transitions o 2nd order phase transitions o protein folding o neural networks/machine learning o neurons and action potentials o cellular automata o Master’s equation o variational Monte Carlo method for time independent Schrodinger equation o earthquake simulations: block sticking & slipping o kinetic Monte Carlo (Gillespie algorithm) o Langevin dynamics o Density functional theory (quantum Monte Carlo)
欢迎咨询51作业君
官方微信
TOP
Email:51zuoyejun
@gmail.com
添加客服微信:
abby12468