You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
structs should be made private, with fields accessible by method where needed
some functions should be made methods; in particular:
choose_collision_partner in bca.rs
surface_refraction and refraction_angle in particle.rs
particle_advance and rotate_particle in particle.rs
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.
The text was updated successfully, but these errors were encountered:
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:
choose_collision_partner
in bca.rssurface_refraction
andrefraction_angle
in particle.rsparticle_advance
androtate_particle
in particle.rsboundary_condition_planar
andsurface_binding_energy
in material.rsAdditional 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.
The text was updated successfully, but these errors were encountered: