## GISAS without DWBA terms

This example shows scattering from a monolayer that contains a dilute random assembly of monodisperse cylindrical disks.

This is the same system as in our basic GISAS example except that there is no substrate. In consequence, there are no reflections, and therefore the DWBA boils down to the ordinary Born approximation.

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55  #!/usr/bin/env python3 """ Cylinder form factor in Born approximation """ import bornagain as ba from bornagain import ba_plot as bp, deg, nm import matplotlib.pyplot as plt def get_sample(): """ A sample with cylinders in a homogeneous environment ("Vacuum"), implying a simulation in plain Born approximation. """ # Materials material_particle = ba.RefractiveMaterial("Particle", 0.0006, 2e-08) vacuum = ba.RefractiveMaterial("Vacuum", 0, 0) # Form factors ff = ba.Cylinder(5*nm, 5*nm) # Particles particle = ba.Particle(material_particle, ff) # Particle layouts layout = ba.ParticleLayout() layout.addParticle(particle) layout.setTotalParticleSurfaceDensity(0.01) # Layers layer = ba.Layer(vacuum) layer.addLayout(layout) # Sample sample = ba.MultiLayer() sample.addLayer(layer) return sample def get_simulation(sample): beam = ba.Beam(1e9, 0.1*nm, 0.2*deg) n = 200 detector = ba.SphericalDetector(n, -2*deg, 2*deg, n, 0, 3*deg) simulation = ba.ScatteringSimulation(beam, sample, detector) return simulation if __name__ == '__main__': sample = get_sample() simulation = get_simulation(sample) result = simulation.simulate() bp.plot_simulation_result(result) plt.show() 
auto/Examples/scatter2d/CylindersInBA.py