salvadorgarciamunoz / kipet

Development repository for Kipet.
GNU General Public License v3.0
20 stars 17 forks source link

Model refactor #168

Closed kwmcbride closed 3 years ago

kwmcbride commented 3 years ago

This is the final version of KIPET to be delivered (officially). Any updates that I will be making can naturally be found on my own repository.

This merge contains many additions and changes that make KIPET easier and more useful to use. Some of the major changes include:

  1. A new reporting framework has been introduced such that almost all information related to the set-up and solution for a model solved in KIPET is saved in a convenient HTML format.

  2. A new module exists simply for handling all of the methods related to the reduced Hessian. This was required to fix several issues with the newer version of k_aug. This also greatly simplifies the code and consolidates several methods. Also here is a unified method for calculating the reduced Hessian for problems with spectral data. The methods here are greatly simplified (and may be simplified even further in future versions).

  3. The variables Cs associated with the subset of absorbing species has been removed. The constraints accompanying these variables were found to be redundant and were not needed in the code. This removal meant that large sections of code needed to be changed (simplified).

  4. Plots for residuals and parity have been added

  5. Changed the initialization to a fixed simulation using the FE simulator.

  6. Updated the dosing method to not simply handle changes in the concentration for single species (which did not make much practical sense), but to handle additions of specific volumes and concentrations. This required the addition of a permanent volume state. This can be modified if necessary using a method in the ReactionModel instance.

  7. Completely rewrote the way the MEE is set-up using the ReactionSet class (previously KipetModel). It now makes more sense.

  8. ReactionModel instances can be made much easier and does not require a ReactionSet instance.

  9. The doc strings have all been updated

  10. The modules have been either moved or renamed to more appropriate names. The folders have also been updated as well.

  11. Refactored the way model times are arranged in the TemplateBuilder. It is now much easier to follow and modify, if needed.

  12. And many, many smaller changes have been made to help future developers.

kwmcbride commented 3 years ago

This is available as version 1.0.1 on PyPi at the moment. Somehow I messed up my virtual environment and had to make a new one. This allowed me to identify several directory issues that I fixed in the last few commits.