This is an old revision of the document!
ESC202: Spring 2022: Monday Lecture: 13:00-14:00 Exercises: 14:00-17:00 in Y36-J-33
TAs: Stefan Schafroth and Sebastian Schulz (sebastian.schulz@uzh.ch)
Dear Students,
We will begin LIVE lectures again (hooray!), see you on Mondays in Y36-J-33!
Joachim Stadel
21. Feb. 2022: Tree Structures and Dimensional Searching
In order to qualify for the final semester project and a passing grade you will need to hand in 80% satisfactory assignments (to the satisfaction of the TAs). Assignments should be individual and should be in python and provide a correct virtual environment!
For help getting started with virtual environments, please read carefully Python Virtual Environments for Pip and Python Virtual Environments for Conda.
You should email 3 things to Sebastian (sebastian.schulz@uzh.ch):
Template: template.zip
Instructions:
Please add the names of the people you work together (if you do) to the comment section of your python scripts.
Create a virtual environment using
Pip
- run virtualenv yourenv_name to create a virtual environment
- run source yourenv_name/bin/activate to activate yourenv_name
- install necessary libraries that you want using pip install package_name
- work in that directory, get your outputs (*.pdf, *.png, *jpeg, *.mp4, etc…)
- run pip freeze > requirements.txt to get your list of libraries
Conda
- run conda create -n yourenvname python=x.x anaconda to create a virtual environment
- run source activate yourenvname to activate yourenv_name
- install necessary libraries that you want using conda install -n yourenv_name package_name
- work in that directory, get your outputs (*.pdf, *.png, *jpeg, *.mp4, etc…)
- run conda list –export > requirements.txt to get your list of libraries
1. Build a partitioning function of particles like we introduced it in class. The hard part is making sure your partition function is really bomb proof, check all “edge cases” (e.g., no particles in the cell, all particles on one side or other of the partition, already partitioned data, particles in the inverted order of the partition, etc…). (Hand in by Feb 27 2022).
2. Implement a binary tree of cells which contain at most 8 particles each (see pseudo-code in the Teams Kursmaterialien folder). Then, implement the ballwalk algorithm as introduced in the lecture (making use of the dist2 function) to calculate the number of particles within a distance to a point in the box. (Hand in by March 6 2022)