Skip to content

Latest commit

 

History

History
26 lines (15 loc) · 1.73 KB

contributing.md

File metadata and controls

26 lines (15 loc) · 1.73 KB

Contributing to fem_2d

New features and new trait implementations are welcome! In either case, a new branch should be started with a descriptive name.

All tests (run with cargo test) must pass! New tests should be included with new features in the appropriate module.

Breaking changes to the public API are acceptable as this library is pre 1.0; however they should be avioded whenever possible, and should have strong justification when enacted.

New Trait Implementations

fem_2d is pulbicly generic over Integrals and ShapeFns which are generally problem specific. New implementations of either of these traits for alternate PDEs are welcome.

  • Integral implementations should be added to their own module located under [/src/integration/]
  • ShapeFn implementations should also be added to their own module located under [/src/basis/]

New Features

If fem_2d is missing a feature that you would like to see, feel free to add it! Be sure that all new code is well documented and thoroughly tested. PR's should include plenty of description of- and justification for- the new feature.

Take care to include new code in a sensible location within the existing module structure. The base-level modules: domain, basis, integration, and linalg provide a nice conseptual separation of the libraries funcitonality. New features will likely fit somewhere in one of these categories; however a new base-level module may be added with sufficient justification.

Release Process

  1. Implement and test a new feature, trait implementation, or bug-fix.
  2. Send a PR to this repository.
  3. Once merged, the version will be incremented by a Crate-maintainer, and the new version will be published to crates.io