Ok, I've gone through the steps for licensing and dedicating an SVN space to the open source movement. This software is now GPL licensed and ready for open sourcing to allow improvement or modification to the software by anyone who wishes to contribute. All improvements and derivatives must be open source under the same license as part of the terms for GPL licensing.
The SVN is
http://svn2.assembla.com/svn/ebikecalculatoropen .
If you just want to browse or have a look around the space, the url is
http://code.assembla.com/ebikecalculato ... sion/nodes .
Here's the directions for developing this.
This project was built using the NetBeans IDE for the GUI Builder and code editing and JDK 5 to maintain compatibility with Mac Systems. It also uses JFreeChart in order to create graphs and all those cool things.
What I would suggest is find JDK 5 as offered by Sun, download it bundled with netbeans and install it. If you want to contribute to the above project, please send your email address to me and I'll add you as a member to the group so that you can add to the project directly, otherwise you can check it out anonymously and create a derivative work. After installing it, checkout the project using the subversion feature of netbeans and, if you wish to contribute directly, add your member login info there. Once you've checked it out, make sure to add JDK 5 so that the project can use it and find and download JFreeChart-1.0.11 from sourceforge and add the libraries to Java's lib folder, and add to the folders to the project inside netbeans. After that's done, you should be able to compile and edit the project freely and you would commit changes to the source code by right clicking the project and clicking commit.
Some things that might be desired to change/add-Change the built in 2d array for the motors so that it can read that information from an external CSV spreadsheet or some other database. This way, the motors can be added in the future without requiring compiling the program and so anyone could add motors to the motor database.
-Add in a motor current limit so that motor-current limited controllers like Kelly controllers can be accurately simulated.
-Modify it so that it'd be possible to use more than one motor in the same drive-train. That honestly sounds like a lot of work to keep relatively simple.
-Include a drive-train loss box so that one could include drive-train losses into the simulation. A percentage may be the most intuitive.
-Add in inductance so that high inductance motors can be accurately simulated in the high RPM range.
-Get rid of the antiquated efficiency linear-interpolation code for hub motors, since the efficiency calculations now work.
...Some superficial things for maintainability reasons...-Capitalize the "Final Int" variables to distinguish it as a constant used for the general motor's data array for array item access.