Skip to content

The GitHub repository that group B of cohort 4 is using for their project. Project relates to solving spherically symmetric diffusion equation and using this solution.

Notifications You must be signed in to change notification settings

HetSys/PX915_GroupB_22-23

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SPAMS - Single PArticle Model Solver

A half single particle model by Group B for the 2023 PX915 group project.

Program Features

SPAMS models the charging and discharging of a lithium ion battery using a Crank-Nicolson semi-implicit finite difference scheme to obtain the concentration of lithium in a sphere, c(iapp, r), at each time step, and has the following features:

  • Apply a constant, stepwise or custom current
  • Options for parallelism
  • Extend the model to a full battery
  • First order sensitivty analysis

Dependencies

Prior to installing the program or accessing the tutorial, you will need to ensure you have the following installed:

  • intel/2017.4.196-GCC-6.4.0-2.28
  • impi/2017.3.196 imkl/2017.3.196
  • imkl/2017.3.196
  • netCDF-Fortran/4.4.4
  • GCC/10.2.0
  • Python/3.8.6
  • numpy
  • netCDF4
  • matplotlib

For an scrtp managed system the following procedure will ensure correct dependendcies are installed:

module purge; module load intel/2017.4.196-GCC-6.4.0-2.28  impi/2017.3.196 imkl/2017.3.196 netCDF-Fortran/4.4.4 GCC/10.2.0 Python/3.8.6
pip3 install numpy netCDF4 Matplotlib

Installation

To install SPAMS, navigate to the directory in your file system where you would like to download it, and use the following command:

git clone https://github.com/HetSys/PX915_GroupB_22-23

Running the program

Run line: python3 user_input.py

Accessing the user tutorial

A full tutorial for basic usage of the program is provided in Jupyter notebook format.

  • The notebook can been found in the main directory and is called 'Tutorial.ipynb'.
  • The notebook can be viewed here in github as a markdown file.
  • To run the notebook, load it from the terminal by navigating to the main program directory and using the command:
nohup jupyter notebook Tutorial.ipynb
  • You should then be able to find the notebook url using
cat nohup.out

Developer documentation

Developer documentation is available at https://hetsys.github.io/PX915_GroupB_22-23/.

logo

Contributors

Fraser Birks, Laura Cairns, Sebastian Dooley, Arielle Fitkin, Jake Eller, and Yu Lei

HetSys CDT, University of Warwick

About

The GitHub repository that group B of cohort 4 is using for their project. Project relates to solving spherically symmetric diffusion equation and using this solution.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6