max_ionization = total_ionization / cs max_brem = (total_ionization + brem_cs) / cs max_excitation = (total_ionization + brem_cs + excitation_cs) / cs max_elastic = (total_ionization + brem_cs + excitation_cs + elastic_cs) / cs print '\tAdjoint_weight_factor = ', '%.16e' % weight_factor print '\t---------------------------------------' print '\tmax ionization random number = ', '%.16e' % max_ionization print '\tmax brem random number = ', '%.16e' % max_brem print '\tactual min excitation random number = .28545' print '\tactual max excitation random number = ', excitation_cs / cs + .28545 print '\tmax excitation random number = ', max_excitation print '\tmax elastic random number = ', '%.16e' % max_elastic brem_dist = Collision.createLogLogLogCorrelatedBremsstrahlungDistribution( adjoint_data, 1e-12) atomic_dist = Collision.createAtomicExcitationDistribution(adjoint_data) random_numbers = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] Prng.RandomNumberGenerator.setFakeStream(random_numbers) incoming_energy = 1.55 outgoing_energy, scattering_angle = brem_dist.sample(incoming_energy) print "\noutgoing_energy = ", '%.16e' % outgoing_energy print "scattering_angle = ", '%.16e' % scattering_angle outgoing_energy, scattering_angle = atomic_dist.sample(incoming_energy) print "\noutgoing_energy = ", '%.16e' % outgoing_energy print "scattering_angle = ", '%.16e' % scattering_angle
pdfs = numpy.zeros(shape=(len(schemes), length)) cdfs = numpy.zeros(shape=(len(schemes), length)) samples = numpy.zeros(shape=(len(schemes), length)) labels = [] Num = len(schemes) for n in range(0, len(schemes)): if interpolation == "LogLogLog": labels.append(schemes[n] + " - log") if schemes[n] == "Unit-base": dist = Collision.createLogLogLogUnitBaseBremsstrahlungDistribution(native_data, tol) if schemes[n] == "Unit-base Correlated": dist = Collision.createLogLogLogUnitBaseCorrelatedBremsstrahlungDistribution(native_data, tol) if schemes[n] == "Correlated": dist = Collision.createLogLogLogCorrelatedBremsstrahlungDistribution(native_data, tol) elif interpolation == "LinLinLin": labels.append(schemes[n] + " - lin") if schemes[n] == "Unit-base": dist = Collision.createLinLinLinUnitBaseBremsstrahlungDistribution(native_data, tol) elif schemes[n] == "Unit-base Correlated": dist = Collision.createLinLinLinUnitBaseCorrelatedBremsstrahlungDistribution(native_data, tol) elif schemes[n] == "Correlated": dist = Collision.createLinLinLinCorrelatedBremsstrahlungDistribution(native_data, tol) if schemes[n] == "Unit-base": upper_samples = numpy.zeros(len(random_numbers)) Num = n # Sample both upper and lower distrbutions lower_random_numbers = numpy.zeros((len(random_numbers)*3))