The following is an excerpt.
“All kinds of contributions are welcome to make the SIMLab Toolbox better and more useful,” Térence Coudert writes in this article. Coudert is co-head of SFI CASA’s Methods and Tools Programme.
All kinds of contributions are welcome to make the SIMLab Toolbox better and more useful. This can take many forms: user case reports, documentation, issue reports or entirely new software modules (new “tools”). Contributing to the toolbox project can be a rewarding way to learn, teach, and build experience in different skills. Here are some ways you can get involved and help the SIMLab Toolbox team to improve the product.
Report an issue
One of the easiest and most effective ways you can help improve the toolbox is to report issues. All you have to do is to send an e-mail to firstname.lastname@example.org. Write a short summary of the issue in the e-mail subject and describe your problems and/or your ideas in the e-mail body. An issue could be, for example:
- a “bug”: if you have problem which impairs or prevents the functions of the product;
- a new feature: you are thinking of a new feature of a product;
- an improvement: an enhancement to an existing feature.
Please do not forget to specify the component (a tool of the toolbox) in the description of the issue (for example MatPrePost, SIMLab Metal Model, etc.). Please keep in mind that reporting an issue (or a bug) that you have encountered is nice but it is better when the developer can reproduce this problem. When sending an issue, you could attach some files in addition to the description of the issue. These files will change from software to software but here is a short summary of what can or should be attached at the same time as the issue:
- MatPrePost: upload the MatPrePost project file as well as the experimental data. The developer will have to reproduce your problem and needs the same data as you.
- SIMLab Model Library: the best to track a bug with the SML is to re-run the same input file. Please indicate which FE solver you have used (e.g. ABAQUS or LS-DYNA), the computation mode (mpp or smp), single or double precision, and the error file you got. If you are not able to provide the input file and/or material card (due to confidentiality), you should provide a similar material card with different parameters. The same holds for the input file. Sometimes bugs in the SML are related to missing options in the input file.
What happens when an issue is reported
The e-mail sent is received by the issue tracker hosted at code.sintef.no, then the server notifies the project manager. The latter notifies the main developer responsible for the related component if the issue is a bug. The new feature requests are discussed by the entire team in a regular meeting. A plan is then defined to solve the issue and more description is added on the issue and, if necessary, new issues are created (e.g. a task for the developer). The developer writes a new “unit test”, a small program that can reproduce automatically the issue/bug. Then the developer changes the source code of the software until the unit test succeeds. The new code is committed to the “version control system”, it is then registered and available for the other developer. The continuous integration server is notified that the code has changed, builds the component software and runs all unit tests to validate the software features. If a test fails, the developer has broken one feature of the software and needs to solve this new issue. When all tests are passed, the new executable or new libraries can be distributed to the issue reporter and the new patch/feature will be available in the next software release. The SIMLab Toolbox executables are available in the SFI CASA Sharepoint portal https://spfarm.ntnu.no/sites/project/103.
Contribute to the knowledge base and/or wiki
The toolbox development is supported by professional development software hosted on code.sintef.no. These tools help the team with workflows, task management, change management, and issue tracking. When users engaged in the project have an issue, they submit a “ticket” via an e-mail to the system and then contribute to a knowledge base. But an issue tracker is not a user support forum. It is a list of pending technical tasks, along with information relevant for those tasks, and information about progress on those tasks including which ones might get worked on in the short term. So, why not use a collaborative tool where everyone can view and contribute to the information within it to grow a knowledge base on the SFI CASA Methods and Tools.
Confluence (https://www.atlassian.com/software/confluence), already included in the code.sintef.no server, is a great knowledge base solution. It combines professional web publishing features with the ease-of-use and flexibility of a wiki. The users are assigned to categories that best suit their field of expertise, meaning that articles are only written by those who are best-informed. Confluence’s users can post questions on an article, and experts can answer them. It’s a tool for sharing information; the users have the opportunity to expand their knowledge, and the experts have the opportunity to share it.