longemen3000 / LavoisierCore.jl

Abstract Definitions and Functions to establish a thermodynamic library in julia
MIT License
8 stars 2 forks source link

Some thoughts (combine with Thermodynamics.jl?) #1

Open doomphoenix-qxz opened 5 years ago

doomphoenix-qxz commented 5 years ago

I'm finished with my heavy work this semester and ready to put some work into thermodynamics in Julia!

First, I really like your core code (the core.jl file, which seems to be the abstract Helmholtz models and the base of the HELD algorithm--I couldn't really tell if the HELD algorithm is finished yet but I know it's quite a bit of work so perhaps not?).

Second, I think it would be good to plan how to organize the repository. I really like the DifferentialEquations.jl model, where they have a bunch of independent packages for different things and the DifferentialEquations.jl module really just loads all those other packages and reexports them. I also like the idea of putting the core phase equilibria algorithm and other abstract things into a Base package (like DiffEqBase.jl). I actually created a ThermodynamicsBase.jl but there's not a lot there. On a similar note, I'm not sure LavoisierCore is the best name for the thermodynamics library. I think there's value in having a thermodynamics library outside of its use for a particular process simulator, and that it name should state that it's a thermodynamics library. In that vein I suggest that LaviosierCore and Thermodynamics.jl be combined into a single repository named Thermodynamics.jl. You can be the owner, especially since I plan to work more on molten salt and actinide chemistry/thermodynamics rather than general things, since that's what I need for my research, but I think it's a better name.

longemen3000 commented 5 years ago

I really want to organize things like the DifferencialEquations.jl package, but i have little experience doing that, any help is appreciated. if you want to do it, i will give you the necessary write permissions. my priority right now is to write an interface for equilibrium solvers, including the HELD one. About the name, of course, the name literally comes from random asking a friend, a more fitting name and set of name can help a lot in the visibility of the project. I think that, once the equilibrium solver is coded and the naming scheme is set, the package, the package can be published to the Julia Registry for open use.

doomphoenix-qxz commented 5 years ago

Yeah, I can definitely help organize things. I'll be making a list of exactly what I think I can help with over the next few days and I'll let you know once I have it. About the naming and publishing, that sounds good to me.