During rapid development, some short-sighted decisions have been made and need to be rectified to improve the quality of the code base.
it's not that the decisions that were made are incorrect, it's just that they were not the best but that they worked and I needed to move on to other parts of the code.
[x] Remove plotting methods from the Simulation class. The Simulation class/object should only be responsible for running the simulation (iteration updates, particle management and so on).
[x] The Simulation object should output a 2 pandas DataFrames
[x] Final/current state of all particles (position, charge, mass, velocity and so on)
[x] Particle Positional History (optional callable method) - for plotting the trajectories of the particles in a 3D plot
[x] Create a plotting library that creates the fig and ax objects but doesn't plot the graphs, leave that to the Streamlit or other application as needed
[x] update the plots for non-nanoparticle modes
[ ] add the full definition for the Brownian motion (dependent on the particle's size, density, fluid permeability and so on)
[ ] Make is a selectable option from the side panel (forces??)
[ ] Update all documentation and how to guides on the site to make sense and ensure they are current.
During rapid development, some short-sighted decisions have been made and need to be rectified to improve the quality of the code base.
it's not that the decisions that were made are incorrect, it's just that they were not the best but that they worked and I needed to move on to other parts of the code.