@@ -75,9 +75,6 @@ pub fn single_ion_bca<T: Geometry>(particle: particle::Particle, material: &mate
7575
7676 //Remove particle from top of vector as particle_1
7777 let mut particle_1 = particles. pop ( ) . unwrap ( ) ;
78-
79- //println!("Particle start Z: {} E: {} ({}, {}, {})", particle_1.Z, particle_1.E/Q, particle_1.pos.x/ANGSTROM, particle_1.pos.y/ANGSTROM, particle_1.pos.z/ANGSTROM);
80-
8178 //BCA loop
8279 while !particle_1. stopped & !particle_1. left {
8380
@@ -114,8 +111,6 @@ pub fn single_ion_bca<T: Geometry>(particle: particle::Particle, material: &mate
114111 particle_1. pos. x, particle_2. pos. x, & binary_collision_geometry) )
115112 . unwrap ( ) ;
116113
117- //println!("{}", binary_collision_result);
118-
119114 //Only use 0th order collision for local electronic stopping
120115 if k == 0 {
121116 normalized_distance_of_closest_approach = binary_collision_result. normalized_distance_of_closest_approach ;
@@ -127,17 +122,14 @@ pub fn single_ion_bca<T: Geometry>(particle: particle::Particle, material: &mate
127122 particle_2. E = binary_collision_result. recoil_energy - material. average_bulk_binding_energy ( particle_2. pos . x , particle_2. pos . y , particle_2. pos . z ) ;
128123 particle_2. energy_origin = particle_2. E ;
129124
130- //Accumulate asymptotic deflections for primary particle
125+ //Accumulate energy losses and asymptotic deflections for primary particle
131126 total_energy_loss += binary_collision_result. recoil_energy ;
132-
133- //total_deflection_angle += psi;
134127 total_asymptotic_deflection += binary_collision_result. asymptotic_deflection ;
135128
136- //Rotate particle 1, 2 by lab frame scattering angles
137- particle:: rotate_particle ( & mut particle_1, binary_collision_result. psi ,
129+ particle_1. rotate ( binary_collision_result. psi ,
138130 binary_collision_geometry. phi_azimuthal ) ;
139131
140- particle :: rotate_particle ( & mut particle_2, -binary_collision_result. psi_recoil ,
132+ particle_2. rotate ( -binary_collision_result. psi_recoil ,
141133 binary_collision_geometry. phi_azimuthal ) ;
142134
143135 particle_2. dir_old . x = particle_2. dir . x ;
@@ -184,28 +176,24 @@ pub fn single_ion_bca<T: Geometry>(particle: particle::Particle, material: &mate
184176
185177 //Advance particle in space and track total distance traveled
186178 #[ cfg( not( feature = "accelerated_ions" ) ) ]
187- let distance_traveled = particle :: particle_advance ( & mut particle_1,
179+ let distance_traveled = particle_1. advance (
188180 binary_collision_geometries[ 0 ] . mfp , total_asymptotic_deflection) ;
189181
190182 #[ cfg( feature = "accelerated_ions" ) ]
191- let distance_traveled = particle :: particle_advance ( & mut particle_1,
183+ let distance_traveled = particle_1. advance (
192184 binary_collision_geometries[ 0 ] . mfp + distance_to_target - material. geometry . get_energy_barrier_thickness ( ) , total_asymptotic_deflection) ;
193185
194186 //Subtract total energy from all simultaneous collisions and electronic stopping
195187 bca:: update_particle_energy ( & mut particle_1, & material, distance_traveled,
196188 total_energy_loss, normalized_distance_of_closest_approach, strong_collision_Z,
197189 strong_collision_index, & options) ;
198- //println!("Particle finished collision loop Z: {} E: {} ({}, {}, {})", particle_1.Z, particle_1.E/Q, particle_1.pos.x/ANGSTROM, particle_1.pos.y/ANGSTROM, particle_1.pos.z/ANGSTROM);
199-
200- //println!("{} {} {}", energy_0/EV, energy_1/EV, (energy_1 - energy_0)/EV);
201190
202191 //Check boundary conditions on leaving and stopping
203192 material:: boundary_condition_planar ( & mut particle_1, & material) ;
204193
205194 //Set particle index to topmost particle
206195 particle_index = particles. len ( ) ;
207196 }
208- //println!("Particle stopped or left Z: {} E: {} ({}, {}, {})", particle_1.Z, particle_1.E/Q, particle_1.pos.x/ANGSTROM, particle_1.pos.y/ANGSTROM, particle_1.pos.z/ANGSTROM);
209197 particle_output. push ( particle_1) ;
210198 }
211199 particle_output
0 commit comments