Thanks for that list. I would encourage you to publish your code. If you don’t think it’s quite ready for prime time, yet, you don’t have to register the package, but if it’s public, at least it lets other people use it.
One question about particle physics @alusiani and others… have you found it useful to define specific types? for instance a ‘track’ type which would have vertices and momentum? Or maybe for more theoretical work a quark type which has red/blue/green properties? And others of course.
Here is an attempt to share some code I have written, some simple utility functions on top of PrettyTables.jl for reporting vectors matrices, with ability to wrap large numbers of rows and columnts to print in blocks that can fit a limited screen area.
Following also an invitation by @Ronis_BR.
gist with matrix printing Julia code relying on Prettytables.jl
For sure it makes a lot of sense for a physicist to have defined types like in Measurements.jl, which hold quantities with correlated uncertainties and on which most ordinary number operations are possible with proper uncertainties propagation. This really helps in writing simpler, easier and more clear code.
In general I would say that the programming language features of type definition together with the ability to extend basic types operations for new custom types, and define new operations applicable to custom types are really useful for the scope of writing code more quickly, in a more easy way, more maintainable, more easy to read, also facilitating collaboration.
I’m a researcher developing techniques for designing and using a variety of sensors for aerospace design and control applications. I use the DifferentialEquations library for simulating the physics for new sensor designs in relevant fluid flow environments.
I hope to contribute to this vibrant community.
I did some data visualization on the Duniter Ğ1 cryptocurrency’s web of trust.
(click to see animated version)
I do fusion energy research. I’m exploring Julia for predictive and/or surrogate modeling, and especially for model inversion & parameter-fitting. I think SciML has serious potential to help out with tasks in this area, such as trying to infer transport coefficients by optimizing the loss function between the observed data and the solution of a PDE parameterized by those coefficients. Here’s a related project with pretty plots that was based on Julia.
@lamorton went for a job at the British fusion research centre and met someone who was very interested in Julia. I can put you in touch.
(*) UKAEA and JET share the same campus - there is a separate British project.
Lately, I am working on a problem collaborating with experimentalists to understand the drying process of conductive thin films. The system includes three-component (donor A, acceptor B, and solvent S), where A and B may undergo phase separation along with the evaporation of S. It involves a solution of a moving boundary PDE. The simpler version of the two-component case is describing here. For 3-component phase separation case, the PDE system is even more complicated which involves 1st through 4th order derivatives and two coupled PDEs.
To construct the model, I spend two months starting from the simplest 2-component case. However, with the help of DifferentialEquations.jl, I only spend one day making all numerical algorithms work! I even find some errors in my model during experimentation of numerical calculations. It is so AMAZING! If I were using C++ just like before, I expect I will spend another two months to make one such algorithm to work properly.
This is one of the numerous examples I have encountered these two years when I began to do research using Julia. I have rewritten one of my main research software from C++ to Julia, and the development process is so enjoyable. Julia enables me to add many functionalities that I would not dare to think of by using C++ or Python. I’d say Julia extends my ability to think about more complicated physical problems and solve them!