Skip to content

[feature] Major refactor to enhance code organization, potentially improve performance #181

Open
@drobnyjt

Description

@drobnyjt

Is your feature request related to a problem? Please describe.
RustBCA has some code consistency issues and organizational problems that should be fixed with a major refactor at some point in the future. Below is a non-complete list of the issues I'm aware of:

  1. choose_collision_partner in bca.rs
  2. surface_refraction and refraction_angle in particle.rs
  3. particle_advance and rotate_particle in particle.rs
  4. boundary_condition_planar and surface_binding_energy in material.rs
  • SoA (Struct of Arrays) should be considered for Particles over AoS - could improve performance significantly
  • Electronic stopping should be broken into component functions so bits and pieces can be unit-tested

Additional context
Biggest effect of this refactor will be easing development of alternative ways of running the code, preparing the code to be made a library for binary collisions first with the physics loop and I/O being optional, and making more parts of the code unit-testable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions