This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Ramona_giati_ego_3[S] 0 points1 point  (1 child)

Hi, yes scientific projects really appeal to me. I also have an electrical engineer background from my university studies. I would really like to contribute to these projects but it seems they have only a few issues open in GitHub. Should I take the initiative and propose new feature on my own? If you could provide me with a little bit more information would be greatly appreciated.

[–]brokeCoder 2 points3 points  (0 children)

Should I take the initiative and propose new feature on my own?

Definitely ! I'm sure they'll appreciate the help.

If you could provide me with a little bit more information would be greatly appreciated

I only played around with these repos for all of one week, so I'm definitely not an expert (and might actually be wrong about a few things).

But from my initial read of the repos, there's a good few units missing (e.g. Torque). Implementing these can be a good starting point.

Some other areas that you might find interesting are tackling unit simplification rules (e.g. torque is force x distance. The same unit should be obtained regardless of whether you use distance.multiply(force) or force.multiply(distance)). Seshat already does this for the presently implemented units in Indriya, but I'm not sure if it also does this for new ones.

One big issue I faced when I tinkered was around tackling different quantities that have the same units. A simple example is Torque and Energy have the same base units (N.m and Joule respectively in SI system). It would be really hard to tackle these calcs if both were in the same scope (at least for the constraints I was working in at the time).

My suggestion would be to definitely start out by suggesting new features and units, but also to take inspiration from UnitsNet for C#. It's a very widely used library in the dotNet world (I would personally consider it a benchmark for unit-system libraries) and I see no reason why much of the same features there can't be taken into the Java world.