AI-based Materials and Process Simulation II — Final Project

Week 16 · final report, code and presentation · 30 % of the course grade (proposal and progress talk were the other 10 %)

1 What you hand in, and when

There is no final exam in Course II. The term project (40 % of the grade) consists of

Part Weight Due
Proposal (W08_project_proposal.ipynb) 5 % before Week 9 — done
Progress talk and code review 5 % Week 15 — done
Final presentation (including live questions on your code) 10 % in the Week 16 session; slides uploaded before the session
Final report and code 20 % one week after the Week 16 session (you can use the feedback from your talk)

The Week 16 session has no quiz: the presentations come first, the course synthesis (short slides, W16_lecture.html) closes the session.

Submit (one folder or zip, named AMPS2_project_<student-ID>):

  1. project.ipynb — the Colab notebook that produces every number and figure in the report. It must run end to end after Runtime → Restart session and run all, with %%fenicsx -np 2.
  2. report.qmd and the rendered report.html — start from report_template/report.qmd. Render it with W16_render_report.ipynb on Colab or with a local Quarto installation.
  3. figs/ — the figures used in the report, saved by project.ipynb.
  4. The presentation slides (PDF or HTML).

2 The report

At most 10 pages in print (about 4 000 words plus figures), in English. Equations, tables and figures instead of prose wherever possible. The template contains every required section; keep the headings. If you chose a topic A–J, its page in projects/ lists the required tasks and the verification specific to the topic: both must appear in the report.

Section What must be in it
1 Problem The application and why it matters for your research; geometry, governing equations, boundary and initial conditions, parameters with units, the dimensionless groups (Péclet, Damköhler, Thiele, Rayleigh, slenderness, stiffness ratio, …), the quantity of interest (QoI).
2 Model and weak form Spaces, essential vs natural conditions, the constitutive model and its internal variables, the residual F(u;v) and the Jacobian (derived, or ufl.derivative plus a check). The reductions you make (2D, axisymmetric, plane strain, periodic cell, one-way coupling, steady state) and why they are valid for your parameters.
3 Numerical choices Elements and why they do not lock or violate inf-sup (Weeks 1, 7, 8, 11); stabilisation and the Péclet argument (Week 12); time stepping and its stability (Weeks 5, 6, 14); Newton, load or parameter continuation; linear solver and preconditioner; the cost on Colab. Where these choices can fail for your parameter range.
4 Implementation Structure of the code (one short table: function or cell → purpose), solver options, what the model module contains, what is saved and plotted where.
5 Verification (a) Manufactured or exact solution: the predicted rates, a convergence table/plot with observed rates on at least 4 meshes, errors measured against the exact expression (Week 15). (b) The topic’s own physical check (topic page) or, for your own topic, a benchmark or analytical limit with a citation, and the deviation in %. (c) A balance or conservation check where the model has one (mass, energy, force, flux). (d) -np 1 and -np 2 give the same QoI (except branching 1D meshes, Week 7).
6 Results The topic’s design output and a parameter study; the mesh (and time-step) uncertainty of every reported value — observed order, Richardson value or GCI (Week 15), or a table on three meshes. Physical interpretation.
7 LLM workflow What was generated by an LLM, which errors you found, how you found each one (which test failed), and how each component was verified. At least three concrete cases.
8 Limitations What your model and numerics cannot do; what you would do next.
References, AI-usage log Cited sources (papers, textbooks, benchmark data). The AI-usage log table of the course, completed, and the code-provenance note.

Numbers. Every number in the report must come from a cell of project.ipynb that you ran. Put a short tag after each table or figure caption naming the cell (e.g. “project.ipynb §5.2”). Do not round away disagreements: if the observed rate is 1.6 where you predicted 2, say so and explain.

3 The code

  • One notebook, ordered like the report (model module → §5 verification → §6 results). The model code goes into one %%writefile /tmp/fnx/<name>.py module (as in every week of this course); projkit.py from Week 15 may be pasted in as a second module.
  • %%fenicsx -np 2 for every simulation; ordinary cells only NumPy and matplotlib. Long runs save their results to /tmp/fnx/*.npz or Google Drive; the plotting cells read them.
  • Print the converged reason (KSP/SNES) of every solve that a reported number depends on — and, for time stepping or continuation, of every step.
  • Total run time on Colab: at most 30 minutes (Colab was about 4 times slower than a laptop in Week 15). If the full study takes longer, run the expensive part once, save the results, and add a cell with a reduced version (coarser mesh) that reproduces the trend.
  • Code you did not write (LLM, demos, tutorials, the course modules) is allowed — and must be listed in the AI-usage log and the code-provenance note.

4 The presentation

12 minutes per student: 8 minutes talk + 4 minutes questions. Strict timing.

  1. Problem, reductions and QoI (1 slide)
  2. Model, weak form and the one numerical choice that matters most for your problem (1–2 slides)
  3. Verification: the convergence plot with predicted slopes and the topic’s physical check (2 slides)
  4. Results with their mesh uncertainty (1–2 slides)
  5. One LLM error you found, and how (1 slide)

Live questions on your code. Have project.ipynb open. You will be asked to show where something happens in the code (e.g. where a boundary condition enters, which line sets the Jacobian, where the QoI is reduced over ranks) and to predict what a small change would do — as in the Week 15 code review. Being unable to explain your own submitted code counts as not having done that part (syllabus, Academic Integrity).

5 Checklist before you submit