Skip to content

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

Open
@drobnyjt

Description

@drobnyjt
Collaborator

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

        Participants

        @drobnyjt

        Issue actions

          [feature] Major refactor to enhance code organization, potentially improve performance · Issue #181 · lcpp-org/RustBCA