Contribute to SPHinXsys

You are welcomed to contribute to SPHinXsys. As the code is on git-hub, you can register an account there (if you do not have a github account yet) and fork out the SPHinXsys repository. You can work on the forked repository and add new features, and then commit them.

Credit your contribution

Please remember to add your name as an author in the header files that you have contributed. If you are working for an institute or company, you can also add you affiliation after your name. After reviewed by the SPHinXsys team, you may further specify which part of the code is your contribution. As this record will be always kept in the source code, you can refer the contribution credit any time.

Support your contribution

The SPHinXsys team is happy to provide technical support for contributors. Besides communication via Github Issues, the team may arrange online discussion with contributor(s) to discuss specialized technical issues.

Contribute new features

After you have finished a new feature, which is a commit together with a new test case which uses the new feature, you can send a pull request to the SPHinXsys repository. The SPHinXsys team will review the new code and give suggestions for revision, if there is. After the revision is done, your contribution will be merged into the master branch of the original SPHinXsys repository.

Contribute new test cases

Test cases are very important for testing the features and showing the ability of SPHinXsys. If you think that a cases which implemented by you are very useful for the above propose, you can move this test into the folder cases_test in your local commit which is directly branched from the master branch in the original SPHinXsys repository. After test it, you can carry out a pull request. Then, a standard review process will be carried out before merge it to the original SPHinXsys repository. If a new test cases is added, it will be maintained together with code by SPHinXsys team.

Contribute challenging benchmarks

Improving numerical algorithms is one of our main drives and we are happy to test challenging cases and to be informed if there is any other code that does better on any benchmark case. For this, you can inform us by the contact listed below. If you have the case implemented, you can do just as contribute a new test case, except move this case to cases_user folder. Then, after a standard pull request and review process, we will merge you code to master branch and discuss with you on the issues of the case and work together to improve the numerical algorithm for that case.

If you have any further question, you are also welcomed to contact xiangyu.hu@tum.de.