#!/usr/bin/env python3"""
Basic example of specular reflectometry simulation.
"""importbornagainasbafrombornagainimportba_plotasbp,deg,angstromdefget_sample():"""
Sample consisting of 20 alternating Ti and Ni layers.
"""# Define materialsm_ambient=ba.MaterialBySLD("Vacuum",0,0)m_ti=ba.MaterialBySLD("Ti",-1.9493e-06,0)m_ni=ba.MaterialBySLD("Ni",9.4245e-06,0)m_substrate=ba.MaterialBySLD("SiSubstrate",2.0704e-06,0)# Define layersambient_layer=ba.Layer(m_ambient)ti_layer=ba.Layer(m_ti,30*angstrom)ni_layer=ba.Layer(m_ni,70*angstrom)substrate_layer=ba.Layer(m_substrate)# Define samplesample=ba.MultiLayer()sample.addLayer(ambient_layer)for_inrange(10):sample.addLayer(ti_layer)sample.addLayer(ni_layer)sample.addLayer(substrate_layer)returnsampledefget_simulation(sample):n=bp.simargs['n']scan=ba.AlphaScan(n,2*deg/n,2*deg)scan.setWavelength(1.54*angstrom)returnba.SpecularSimulation(scan,sample)if__name__=='__main__':bp.parse_args(sim_n=500)sample=get_sample()simulation=get_simulation(sample)result=simulation.simulate()bp.plot_simulation_result(result)