This repository contains the coursework for the Scientific Computing assignment. The project is divided into three main parts, each implemented in separate Python scripts. Additionally, HPC cluster job scripts and result figures are included.
SCICOMP_22/
├── fig/ # Directory containing result images
├── src/ # Source code directory
│ ├── snellius_jobs/ # HPC job scripts
│ │ ├── job.sh # Shell script for job submission
│ │ ├── task.py # Python script for handling HPC tasks
│ ├── time_dependent_pde.py # Part 2: Solving time-dependent PDEs
│ ├── time_indep_algorithm.py # Part 3: Solving time-independent algorithms
│ ├── wave_equation.py # Part 1: Solving the wave equation
├── .gitignore # Git ignore file
├── concentration_evolution.mp4 # Video of concentration evolution
├── LICENSE # License information
├── presentation.ipynb # Jupyter Notebook for presentation
├── requirements.txt # Dependencies list for Python installation
├── README.md # Project documentation
- wave_equation.py: Implements numerical solutions for the wave equation (Part 1 of the assignment).
- time_dependent_pde.py: Contains methods to solve time-dependent partial differential equations (Part 2).
- time_indep_algorithm.py: Implements algorithms for time-independent problems (Part 3).
- snellius_jobs/: Contains scripts for running computations on the Snellius HPC cluster.
job.sh
: Bash script to submit jobs to the HPC cluster.task.py
: Python script defining computation tasks for the cluster.
- This directory contains all result images generated from the computations.
- LICENSE: License file for the repository.
- README.md: This document, providing an overview of the project.
To execute the different parts of the assignment, navigate to the presentation.ipynb, which contains overview and visualizations. For HPC execution, submit job.sh
using the appropriate command on Snellius.
For HPC cluster:
sbatch snellius_jobs/job.sh
Ensure the following Python packages are installed:
pip install -r requirements.txt
This project is licensed under the terms specified in the LICENSE
file.
For any questions, please refer to the presentation notebook or the provided scripts.