Ejemplo n.º 1
0
def test_inconsistent_energy_values_warns_correctly():
    d1 = elements.Dipole('d1', 1, BendingAngle=numpy.pi, Energy=5.e+9,
                         PassMethod='BndMPoleSymplectic4RadPass')
    d2 = elements.Dipole('d2', 1, BendingAngle=numpy.pi, Energy=3.e+9,
                         PassMethod='BndMPoleSymplectic4RadPass')
    m1 = elements.Marker('m1', Energy=5.e+9)
    m2 = elements.Marker('m2', Energy=3.e+9)
    with pytest.warns(AtWarning):
        params = _matlab_scanner([m1, m2])
        assert params['_energy'] == 5.e+9
    with pytest.warns(AtWarning):
        params = _matlab_scanner([d1, d2])
        assert params['_energy'] == 5.e+9
Ejemplo n.º 2
0
def test_lattice_gets_attributes_from_elements():
    d = elements.Dipole('d1', 1, BendingAngle=numpy.pi, Energy=3.e+6,
                        PassMethod='BndMPoleSymplectic4RadPass')
    params = _matlab_scanner([d])
    assert params['name'] == ''
    assert params['_energy'] == 3.e+6
    assert params['periodicity'] == 2
    assert params['_radiation'] is True
Ejemplo n.º 3
0
def test__non_integer_number_of_cells_warns_correctly():
    d = elements.Dipole('d1', 1, BendingAngle=0.195)
    with pytest.warns(AtWarning):
        params = _matlab_scanner([d], energy=3.e+9)
        assert params['periodicity'] == 32
Ejemplo n.º 4
0
def test_bndstrmpole_symplectic_4_pass(rin):
    bend = elements.Dipole('b', 1.0)
    bend.PassMethod = 'BndStrMPoleSymplectic4Pass'
    element_pass(bend, rin)