Пример #1
0
"""
Plot form factor.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, 0, 5, 0, 5)
n = 4
results = []
for i in range(n):
    theta = 30 * i / (n - 1)
    title = r'$\vartheta=%d^\circ$' % theta
    ff = ba.FormFactorFullSpheroid(3 * nanometer, 13 * nanometer)
    trafo = ba.RotationY(theta * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_FullSpheroid_tilt")
Пример #2
0
"""
Plot form factor.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, 0, 5, 0, 5)
n = 4
results = []
for i in range(n):
    theta = 30 * i / (n - 1)
    title = r'$\vartheta=%d^\circ$' % theta
    ff = ba.FormFactorCone(4 * nanometer, 11 * nanometer, 75 * degree)
    trafo = ba.RotationY(theta * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_Cone")
Пример #3
0
"""
Plot form factors.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, -5, 5, -5, 5)
n = 4
results = []
for i in range(n):
    omega = 90 * i / (n - 1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorSawtoothRippleBox(25 * nanometer, 10 * nanometer,
                                        8 * nanometer, 5 * nanometer)
    trafo = ba.RotationZ(omega * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_SawtoothRipple")
Пример #4
0
"""
Plot form factors.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(1000, 0, 5, 0, 5)
n = 3
results = []
for i in range(n):
    siz = [10, 100, 1000][i]
    title = r'$L_x = %d~nm$' % siz
    ff = ba.FormFactorBox(siz, 10, 10)
    data = bp.run_simulation(det, ff)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_det_box")
Пример #5
0
"""
import bornagain as ba
from   bornagain import nanometer, degree
import bornplot as bp
import math

det = bp.Detector( 200, -5, 5, -5, 5 )
n    = 3
results = []
edge = 4.8

title = 'face normal'
trafo = ba.RotationY(48.1897*degree)
ff = ba.FormFactorIcosahedron(edge*nanometer)
data = bp.run_simulation(det,ff,trafo)
results.append( bp.Result(0, data, title) )

title = 'vertex normal'
trafo = ba.RotationY(-52.6226*degree)
ff = ba.FormFactorIcosahedron(edge*nanometer)
data = bp.run_simulation(det,ff,trafo)
results.append( bp.Result(1, data, title) )

title = 'edge normal'
trafo = ba.RotationY(69.0948*degree)
ff = ba.FormFactorIcosahedron(edge*nanometer)
data = bp.run_simulation(det,ff,trafo)
results.append( bp.Result(2, data, title) )

bp.make_plot( results, det, "ff_Icosahedron_sym" )
Пример #6
0
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp
import math

det = bp.Detector(200, -5, 5, -5, 5)
n = 3
results = []
edge = 3.2

title = 'face normal'
trafo = ba.RotationY(26.5651 * degree)
ff = ba.FormFactorDodecahedron(edge * nanometer)
data = bp.run_simulation(det, ff, trafo)
results.append(bp.Result(0, data, title))

title = 'vertex normal'
trafo = ba.RotationY(-52.6226 * degree)
ff = ba.FormFactorDodecahedron(edge * nanometer)
data = bp.run_simulation(det, ff, trafo)
results.append(bp.Result(1, data, title))

title = 'edge normal'
trafo = ba.RotationY(58.2825 * degree)
ff = ba.FormFactorDodecahedron(edge * nanometer)
data = bp.run_simulation(det, ff, trafo)
results.append(bp.Result(2, data, title))

bp.make_plot(results, det, "ff_Dodecahedron_sym")
Пример #7
0
"""
Plot form factors.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, 0, 5, 0, 5)
n = 4
results = []
for i in range(n):
    omega = 90 * i / (n - 1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorCosineRipple(25 * nanometer, 10 * nanometer,
                                   8 * nanometer)
    trafo = ba.RotationZ(omega * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_CosineRipple")
Пример #8
0
"""
Plot form factors.
"""
import bornagain as ba
from   bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector( 200, 0, 5, 0, 5 )
n    = 4
results = []
for i in range(n):
    omega=45*i/(n-1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorTruncatedCube(6.4*nanometer, 1.5*nanometer)
    trafo = ba.RotationZ(omega*degree)
    data = bp.run_simulation(det,ff,trafo)
    results.append( bp.Result(i, data, title) )
    
bp.make_plot( results, det, "ff_TruncatedCube" )
Пример #9
0
"""
Plot form factor.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, 0, 5, 0, 5)
n = 4
results = []
for i in range(n):
    theta = 30 * i / (n - 1)
    title = r'$\vartheta=%d^\circ$' % theta
    ff = ba.FormFactorCylinder(3 * nanometer, 8.8 * nanometer)
    trafo = ba.RotationY(theta * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_Cylinder")
Пример #10
0
"""
Plot form factors.
"""
import bornagain as ba
from   bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector( 200, 0, 5, 0, 5 )
n    = 4
results = []
for i in range(n):
    omega=45*i/(n-1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorPyramid(10*nanometer, 4.2*nanometer, 60.0*degree)
    trafo = ba.RotationZ(omega*degree)
    data = bp.run_simulation(det,ff,trafo)
    results.append( bp.Result(i, data, title) )
    
bp.make_plot( results, det, "ff_Pyramid" )
Пример #11
0
"""
Plot form factors.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, 0, 5, 0, 5)
n = 4
results = []
for i in range(n):
    omega = 30 * i / (n - 1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorPrism6(5.7 * nanometer, 3 * nanometer)
    trafo = ba.RotationZ(omega * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_Prism6")
Пример #12
0
"""
Plot form factors.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, 0, 5, 0, 5)
n = 4
results = []
for i in range(n):
    omega = 45 * i / (n - 1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorCuboctahedron(8 * nanometer, 5 * nanometer, 0.5,
                                    60.0 * degree)
    trafo = ba.RotationZ(omega * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_Cuboctahedron")
Пример #13
0
"""
Plot form factor.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, 0, 5, 0, 5)
n = 4
results = []
for i in range(n):
    omega = 90 * i / (n - 1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorHemiEllipsoid(10 * nanometer, 3.8 * nanometer,
                                    3.2 * nanometer)
    trafo = ba.RotationZ(omega * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_HemiEllipsoid")
Пример #14
0
"""
Plot form factor.
"""
import bornagain as ba
from   bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector( 200, 0, 5, 0, 5 )
pars = [0,5,10,20]
n = len(pars)
results = []
for i in range(n):
    theta=pars[i]
    title = r'$\vartheta=%d^\circ$' % theta
    ff = ba.FormFactorTruncatedSphere(4.2*nanometer, 6.1*nanometer, 0)
    trafo = ba.RotationY(theta*degree)
    data = bp.run_simulation(det,ff,trafo)
    results.append( bp.Result(i, data, title) )
    
bp.make_plot( results, det, "ff_demo_1quadrants" )
Пример #15
0
"""
Plot form factor.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, 0, 5, 0, 5)
n = 4
results = []
for i in range(n):
    theta = 30 * i / (n - 1)
    title = r'$\vartheta=%d^\circ$' % theta
    ff = ba.FormFactorTruncatedSphere(4.2 * nanometer, 6.1 * nanometer)
    trafo = ba.RotationY(theta * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_TruncatedSphere")
Пример #16
0
"""
Plot form factor.
"""
import bornagain as ba
from   bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector( 200, 0, 5, 0, 5 )
n    = 1
results = []
for i in range(n):
    ff = ba.FormFactorFullSphere(3.9*nanometer)
    data = bp.run_simulation(det,ff)
    results.append( bp.Result(i, data) )
    
bp.make_plot( results, det, "ff_FullSphere" )
Пример #17
0
"""
Plot form factors.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, -5, 5, -5, 5)
n = 4
results = []
for i in range(n):
    omega = 60 * i / (n - 1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorTetrahedron(12 * nanometer, 8 * nanometer, 75 * degree)
    trafo = ba.RotationZ(omega * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_Tetrahedron")
"""
Plot form factor.
"""
import bornagain as ba
from   bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector( 200, 0, 5, 0, 5 )
n    = 4
results = []
for i in range(n):
    omega=90*i/(n-1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorEllipsoidalCylinder(6.3*nanometer, 4.2*nanometer, 3*nanometer)
    trafo = ba.RotationZ(omega*degree)
    data = bp.run_simulation(det,ff,trafo)
    results.append( bp.Result(i, data, title) )
    
bp.make_plot( results, det, "ff_EllipsoidalCylinder" )
Пример #19
0
"""
Plot form factors.
"""
import bornagain as ba
from   bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector( 200, 0, 5, 0, 5 )
n    = 4
results = []
for i in range(n):
    omega=90*i/(n-1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorRipple1(25*nanometer, 10*nanometer, 8*nanometer )
    trafo = ba.RotationZ(omega*degree)
    data = bp.run_simulation(det,ff,trafo)
    results.append( bp.Result(i, data, title) )
    
bp.make_plot( results, det, "ff_Ripple1" )
Пример #20
0
"""
Plot form factors.
"""
import bornagain as ba
from bornagain import nanometer, degree
import bornplot as bp

det = bp.Detector(200, 0, 5, 0, 5)
n = 4
results = []
for i in range(n):
    omega = 90 * i / (n - 1)
    title = r'$\omega=%d^\circ$' % omega
    ff = ba.FormFactorBox(18 * nanometer, 4.6 * nanometer, 3 * nanometer)
    trafo = ba.RotationZ(omega * degree)
    data = bp.run_simulation(det, ff, trafo)
    results.append(bp.Result(i, data, title))

bp.make_plot(results, det, "ff_Box")