Ejemplo n.º 1
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.mode = "worker"
     self.inventory.sequence = ["source", "verifier"]
     geometer = self.inventory.geometer
     self.inventory.geometer.inventory.verifier = (0, 0, 1), (0, 0, 90)
     return
Ejemplo n.º 2
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.sequence = ['source', 'sample', 'monitor']
     geometer = self.inventory.geometer
     geometer.inventory.sample = (0,0,1), (0,0,0)
     geometer.inventory.monitor = (0,0,1), (0,0,0)
     return
Ejemplo n.º 3
0
    def main(self):
        base.main(self)

        neutrons = {}
        
        #get neutrons from other nodes
        from mcni.neutron_storage import neutrons_from_npyarr as a2n, neutrons_as_npyarr as n2a, ndblsperneutron
        from mcni.utils.mpiutil import rank as mpirank, send, receive, world
        
        tag = 999
        if mpirank != 0:
            arr = n2a( self.inventory.recorder.neutrons )
            send(arr , 0, tag )
        else:
            for peer in range(1, world.size):
                arr = receive( peer, tag )
                arr.shape = -1, ndblsperneutron
                neutrons[ peer ] = a2n( arr )
                continue
            neutrons[ 0] = self.inventory.recorder.neutrons

        #compare
        testFacility = self.testFacility
        if mpirank == 0:
            for peer in range(1, world.size):
                testFacility.assertNotEqual(
                    neutrons[0][0].state.velocity[2],
                    neutrons[peer][0].state.velocity[2],
                    )
                continue
        return
Ejemplo n.º 4
0
    def main(self):
        base.main(self)

        neutrons = {}
        
        #get neutrons from other nodes
        from mcni.neutron_storage import neutrons_from_npyarr as a2n, neutrons_as_npyarr as n2a, ndblsperneutron
        from mcni.utils.mpi import rank as mpirank, send, receive, world
        
        tag = 999
        if mpirank != 0:
            arr = n2a( self.inventory.recorder.neutrons )
            print "Node %s: sending array of shape %s" % (mpirank, arr.shape,)
            send(arr , 0, tag )
        else:
            for peer in range(1, world.size):
                arr = receive( peer, tag )
                arr.shape = -1, ndblsperneutron
                neutrons[ peer ] = a2n( arr )
                print "Node %s: received array of shape %s" % (mpirank, arr.shape)
                continue
            neutrons[ 0] = self.inventory.recorder.neutrons

        #compare
        if mpirank == 0:
            for peer in range(1, world.size):
                assert neutrons[0][0].state.velocity[2] != neutrons[peer][0].state.velocity[2]
                continue
        return
Ejemplo n.º 5
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.sequence = ['source', 'sample', 'monitor']
     geometer = self.inventory.geometer
     geometer.inventory.sample = (0, 0, 1), (0, 0, 0)
     geometer.inventory.monitor = (0, 0, 1), (0, 0, 0)
     return
Ejemplo n.º 6
0
        def _defaults(self):
            base._defaults(self)

            self.inventory.overwrite_datafiles = True
            
            self.inventory.sequence = ['source', 'monitor']
            geometer = self.inventory.geometer
            geometer.inventory.monitor = (0,0,1), (0,0,0)

            source = self.inventory.source
            # dimension of source
            source.inventory.radius= 0.1
            # distance from source to target
            source.inventory.dist = 1. # should match monitor position
            # target dimension
            source.inventory.xw = 0.1 
            source.inventory.yh = 0.1
            # energy distibution
            # gaussian distibution
            source.inventory.gauss = 1
            source.inventory.E0 = source_E0
            source.inventory.dE = source_dE
            
            monitor = self.inventory.monitor
            # dimension
            monitor.inventory.xwidth = -0.1
            monitor.inventory.yheight = 0.1
            # 
            monitor.inventory.Emin = monitor_Emin
            monitor.inventory.Emax = monitor_Emax
            monitor.inventory.nchan = monitor_N
            
            return
Ejemplo n.º 7
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.mode = 'worker'
     from mcni.pyre_support.LauncherSerial import LauncherSerial
     self.inventory.launcher = LauncherSerial()
     self.inventory.sequence = ['source', 'verifier']
     geometer = self.inventory.geometer
     self.inventory.geometer.inventory.verifier = (0,0,1), (0,0,90)
     return
Ejemplo n.º 8
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.sequence = ['source', 'counter']
     geometer = self.inventory.geometer
     self.inventory.geometer.inventory.source = (0,0,0), (0,0,0)
     
     self.inventory.multiple_scattering = 1
     self.inventory.buffer_size = ncount
     self.inventory.ncount = ncount
     
     self.inventory.overwrite_datafiles = True
     return
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'counter']
        geometer = self.inventory.geometer
        self.inventory.geometer.inventory.source = (0, 0, 0), (0, 0, 0)

        self.inventory.multiple_scattering = 1
        self.inventory.buffer_size = ncount
        self.inventory.ncount = ncount

        self.inventory.overwrite_datafiles = True
        return
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'verifier']

        geometer = self.inventory.geometer
        self.inventory.geometer.inventory.source = (0, 0, 0), (0, 0, 0)
        self.inventory.geometer.inventory.verifier = (0, 0, 0), (0, 0, 0)

        storage = self.inventory.source
        #the path where neutrons were saved in the simulation
        #of Instrument1
        path = os.path.join(instrument1_outputpath, neutron_storage_path)
        storage.inventory.path = path
        return
Ejemplo n.º 11
0
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'verifier']
        
        geometer = self.inventory.geometer
        self.inventory.geometer.inventory.source = (0,0,0), (0,0,0)
        self.inventory.geometer.inventory.verifier = (0,0,0), (0,0,0)

        storage = self.inventory.source
        #the path where neutrons were saved in the simulation
        #of Instrument1
        path = os.path.join(instrument1_outputpath, neutron_storage_path )
        storage.inventory.path = path
        return
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'storage']

        geometer = self.inventory.geometer
        self.inventory.geometer.inventory.source = (0, 0, 0), (0, 0, 0)
        self.inventory.geometer.inventory.storage = (0, 0, 1), (0, 0, 0)

        source = self.inventory.source
        source.inventory.position = '0,0,0'
        source.inventory.velocity = '1000,2000,3000'

        storage = self.inventory.storage
        storage.inventory.path = neutron_storage_path
        return
Ejemplo n.º 13
0
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'monitor']

        from mcstas2.pyre_support import componentfactory as factory
        self.inventory.source = factory('sources', 'Source_simple')('source')
        self.inventory.monitor = factory('monitors', 'E_monitor')('monitor')

        # print self.inventory.source

        geometer = self.inventory.geometer

        geometer.inventory.monitor = (0, 0, 1), (0, 0, 0)

        return
Ejemplo n.º 14
0
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'storage']
        
        geometer = self.inventory.geometer
        self.inventory.geometer.inventory.source = (0,0,0), (0,0,0)
        self.inventory.geometer.inventory.storage = (0,0,1), (0,0,0)

        source = self.inventory.source
        source.inventory.position = '0,0,0'
        source.inventory.velocity = '1000,2000,3000'

        storage = self.inventory.storage
        storage.inventory.path = neutron_storage_path
        return
 def _defaults(self):
     base._defaults(self)
     self.inventory.mode = 'worker'
     from mcni.pyre_support.LauncherSerial import LauncherSerial
     self.inventory.launcher = LauncherSerial()
     self.inventory.sequence = ['source', 'counter']
     geometer = self.inventory.geometer
     self.inventory.geometer.inventory.source = (0,0,0), (0,0,0)
     
     self.inventory.multiple_scattering = 1
     self.inventory.buffer_size = ncount
     self.inventory.ncount = ncount
     
     self.inventory.overwrite_datafiles = True
     return
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'monitor']

        from mcstas2.pyre_support import componentfactory as factory
        self.inventory.source = factory('sources', 'Source_simple')('source')
        self.inventory.monitor = factory('monitors', 'E_monitor')('monitor')

        # print self.inventory.source
        
        geometer = self.inventory.geometer

        geometer.inventory.monitor = (0,0,1), (0,0,0)

        return
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = [
            'source', 'validator1', 'monitor', 'validator2']
        self.inventory.outputdir = 'restore_neutrons_TestCase-out'
        self.inventory.ncount = 5
        self.inventory.buffer_size = 5
        self.inventory.overwrite_datafiles = 1

        geometer = self.inventory.geometer
        geometer.inventory.monitor = (0,0,1), (0,0,0)
        
        monitor = self.inventory.monitor
        monitor.inventory.restore_neutron = 1

        self.inventory.validator1 = Validator('validator1', 'validator')
        self.inventory.validator2 = Validator('validator2', 'validator')
        return
Ejemplo n.º 18
0
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = [
            'source', 'validator1', 'monitor', 'validator2'
        ]
        self.inventory.outputdir = 'restore_neutrons_TestCase-out'
        self.inventory.ncount = 5
        self.inventory.buffer_size = 5
        self.inventory.overwrite_datafiles = 1

        geometer = self.inventory.geometer
        geometer.inventory.monitor = (0, 0, 1), (0, 0, 0)

        monitor = self.inventory.monitor
        monitor.inventory.restore_neutron = 1

        self.inventory.validator1 = Validator('validator1', 'validator')
        self.inventory.validator2 = Validator('validator2', 'validator')
        return
Ejemplo n.º 19
0
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'detector']

        geometer = self.inventory.geometer
        geometer.inventory.source = (0, 0, mod2sample), (0, 0, 0)
        geometer.inventory.detector = (0, 0, mod2sample), (0, 0, 0)

        source = self.inventory.source
        source.inventory.Ei = Ei
        source.inventory.E = E
        source.inventory.Q = Q
        source.inventory.L1 = mod2sample

        detector = self.inventory.detector
        detector.inventory.eventsdat = eventsdat
        detector.inventory.instrumentxml = instrumentxml
        detector.inventory.tofparams = str(tofparams)
        return
Ejemplo n.º 20
0
    def _defaults(self):
        base._defaults(self)
        # serial mode
        self.inventory.mode = 'worker'
        from mcni.pyre_support.LauncherSerial import LauncherSerial
        self.inventory.launcher = LauncherSerial()

        self.inventory.sequence = ['source', 'verifier']
        
        geometer = self.inventory.geometer
        self.inventory.geometer.inventory.source = (0,0,0), (0,0,0)
        self.inventory.geometer.inventory.verifier = (0,0,0), (0,0,0)

        storage = self.inventory.source
        #the path where neutrons were saved in the simulation
        #of Instrument1
        path = os.path.join(instrument1_outputpath, neutron_storage_path )
        storage.inventory.path = path
        return
Ejemplo n.º 21
0
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'detector']

        geometer = self.inventory.geometer
        geometer.inventory.source = (0,0,mod2sample), (0,0,0)
        geometer.inventory.detector = (0,0,mod2sample), (0,0,0)

        source = self.inventory.source
        source.inventory.Ei = Ei
        source.inventory.E = E
        source.inventory.Q = Q
        source.inventory.L1 = mod2sample

        detector = self.inventory.detector
        detector.inventory.eventsdat = eventsdat
        detector.inventory.instrumentxml = instrumentxml
        detector.inventory.tofparams = str(tofparams)
        return
Ejemplo n.º 22
0
    def _defaults(self):
        base._defaults(self)
        # serial mode
        self.inventory.mode = 'worker'
        from mcni.pyre_support.LauncherSerial import LauncherSerial
        self.inventory.launcher = LauncherSerial()

        self.inventory.sequence = ['source', 'storage']
        
        geometer = self.inventory.geometer
        self.inventory.geometer.inventory.source = (0,0,0), (0,0,0)
        self.inventory.geometer.inventory.storage = (0,0,1), (0,0,0)

        source = self.inventory.source
        source.inventory.position = '0,0,0'
        source.inventory.velocity = '1000,2000,3000'

        storage = self.inventory.storage
        storage.inventory.path = neutron_storage_path
        return
Ejemplo n.º 23
0
 def _defaults(self):
     
     base._defaults(self)
     
     self.inventory.sequence = [            
         'source',
         'guide1',
         'guide2',
         'slit1',
         'slit2',
         'neutron_recorder',
         ]
     
     geometer = self.inventory.geometer
     geometer.inventory.source = (0,0,0), (0,0,0)
     geometer.inventory.guide2 = (0,0,5), (0,0,0)
     geometer.inventory.guide2 = (0,0,10), (0,0,0)
     geometer.inventory.slit1 = (0,0,29.0), (0,0,0)
     geometer.inventory.slit2 = (0,0,30.5), (0,0,0)
     geometer.inventory.neutron_recorder = (0,0,30.6), (0,0,0)
     return
Ejemplo n.º 24
0
    def _defaults(self):
        
        base._defaults(self)
        
        self.inventory.sequence = [
            
            'moderator',
            'core_vessel_insert',
            'shutter_guide',
            'guide1',
            
            't0_chopper',
            
            'guide2',
            
            'fermi_chopper',
            
            'guide3', 'guide4', 'guide5',
            
            'energy_monitor1', 'tof_monitor1',

            'neutron_recorder',
            ]
        
        geometer = self.inventory.geometer
        geometer.inventory.moderator = (0,0,0), (0,0,0)
        geometer.inventory.core_vessel_insert = (0,0,1.), (0,0,0)
        geometer.inventory.shutter_guide = (0,0, 2.2679), (0,0,0)
        geometer.inventory.guide1 = (0,0,4.179), (0,0,0)
        geometer.inventory.t0_chopper = (0,0,9.000), (0,0,0)
        geometer.inventory.guide2 =  (0,0,9.482), (0,0,0)
        geometer.inventory.fermi_chopper = (0,0,11.6), (0,0,0)
        geometer.inventory.guide3 = (0,0,11.815), (0,0,0)
        geometer.inventory.guide4 = (0,0,12.061), (0,0,0)
        geometer.inventory.guide5 = (0,0,13.017), (0,0,0)
        geometer.inventory.energy_monitor1 = (0,0,13.407), (0,0,0)
        geometer.inventory.tof_monitor1 = (0,0,13.407), (0,0,0)
        geometer.inventory.neutron_recorder = (0,0,13.45), (0,0,0)
        return
Ejemplo n.º 25
0
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'sample', 'detector']

        geometer = self.inventory.geometer
        geometer.inventory.source = (0, 0, 0), (0, 0, 0)
        geometer.inventory.sample = (0, 0, mod2sample), (0, 0, 0)
        geometer.inventory.detector = (0, 0, mod2sample), (0, 0, 0)

        source = self.inventory.source
        source.inventory.position = 0, 0, 0
        source.inventory.velocity = 0, 0, vi
        source.inventory.probability = 1
        source.inventory.time = 0.0

        sample = self.inventory.sample
        sample.inventory.xml = 'Ni.xml'

        detector = self.inventory.detector
        detector.inventory.eventsdat = eventsdat
        detector.inventory.instrumentxml = instrumentxml
        detector.inventory.tofparams = str(tofparams)
        return
Ejemplo n.º 26
0
    def _defaults(self):
        base._defaults(self)
        self.inventory.sequence = ['source', 'sample', 'detector']

        geometer = self.inventory.geometer
        geometer.inventory.source = (0,0,0), (0,0,0)
        geometer.inventory.sample = (0,0,mod2sample), (0,0,0)
        geometer.inventory.detector = (0,0,mod2sample), (0,0,0)

        source = self.inventory.source
        source.inventory.position = 0,0,0
        source.inventory.velocity = 0,0,vi
        source.inventory.probability = 1
        source.inventory.time = 0.0

        sample = self.inventory.sample
        sample.inventory.xml = 'Ni.xml'

        detector = self.inventory.detector
        detector.inventory.eventsdat = eventsdat
        detector.inventory.instrumentxml = instrumentxml
        detector.inventory.tofparams = str(tofparams)
        return
Ejemplo n.º 27
0
    def _defaults(self):
        base._defaults(self)
        
        self.inventory.sequence = ['source', 'monitor']
        
        geometer = self.inventory.geometer
        geometer.inventory.source = (0,0,0), (0,0,0)
        geometer.inventory.monitor = (0,0,10), (0,0,0)
        
        source = self.inventory.source
        source.inventory.dist = 10
        source.inventory.xw = 0.1
        source.inventory.yh = 0.1
        source.inventory.radius = 0.02
        source.inventory.E0 = 60
        source.inventory.dE = 5

        monitor = self.inventory.monitor
        monitor.inventory.Emin = 10
        monitor.inventory.Emax = 100
        monitor.inventory.nchan = 20
        monitor.inventory.xwidth = 0.1
        monitor.inventory.yheight = 0.1
        return
Ejemplo n.º 28
0
    def _defaults(self):
        base._defaults(self)

        self.inventory.sequence = ['source', 'monitor']

        geometer = self.inventory.geometer
        geometer.inventory.source = (0, 0, 0), (0, 0, 0)
        geometer.inventory.monitor = (0, 0, 10), (0, 0, 0)

        source = self.inventory.source
        source.inventory.dist = 10
        source.inventory.xw = 0.1
        source.inventory.yh = 0.1
        source.inventory.radius = 0.02
        source.inventory.E0 = 60
        source.inventory.dE = 5

        monitor = self.inventory.monitor
        monitor.inventory.Emin = 10
        monitor.inventory.Emax = 100
        monitor.inventory.nchan = 20
        monitor.inventory.xwidth = 0.1
        monitor.inventory.yheight = 0.1
        return
Ejemplo n.º 29
0
 def __init__(self, name = "SMARTS_Moderator2Sample"):
     base.__init__(self, name)
     return
Ejemplo n.º 30
0
 def __init__(self, name='simple2'):
     base.__init__(self, name)
     return
Ejemplo n.º 31
0
 def main(self):
     self.inventory.verifier.setTestFacility( self.testFacility )
     base.main(self)
     return
Ejemplo n.º 32
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.sequence = neutron_components
     return
Ejemplo n.º 33
0
 def __init__(self, name='test-FixedQE'):
     base.__init__(self, name)
     return
Ejemplo n.º 34
0
 def __init__(self, name='test-Nickel'):
     base.__init__(self, name)
     return
Ejemplo n.º 35
0
 def __init__(self, name):
     base.__init__(self, name)
     return
Ejemplo n.º 36
0
 def _defaults(self):
     base._defaults(self)
     geometer = self.inventory.geometer
Ejemplo n.º 37
0
 def __init__(self, name = 'simple2'):
     base.__init__(self, name)
     return
Ejemplo n.º 38
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.sequence = neutron_components
     return
Ejemplo n.º 39
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.sequence = ['source', 'recorder']
     geometer = self.inventory.geometer
     self.inventory.geometer.inventory.recorder = (0,0,0), (0,0,0)
     return
Ejemplo n.º 40
0
 def _init(self):
     base._init(self)
     return
Ejemplo n.º 41
0
 def __init__(self, name='restore_neutrons_TestCase'):
     base.__init__(self, name)
     return
Ejemplo n.º 42
0
 def __init__(self, name = 'test1'):
     base.__init__(self, name)
     return
Ejemplo n.º 43
0
 def __init__(self, name='componentfactory_TestCase_Instrument'):
     base.__init__(self, name)
     return
Ejemplo n.º 44
0
 def __init__(self, name='test1'):
     base.__init__(self, name)
     return
Ejemplo n.º 45
0
 def _defaults(self):
   base._defaults(self)
   geometer = self.inventory.geometer
Ejemplo n.º 46
0
 def _init(self):
     base._init(self)
     return
Ejemplo n.º 47
0
 def main(self):
     self.inventory.verifier.setTestFacility(self.testFacility)
     base.main(self)
     return
Ejemplo n.º 48
0
 def __init__(self, name = 'source-monitor'):
     base.__init__(self, name)
     return
Ejemplo n.º 49
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.sequence = ['source', 'verifier']
     geometer = self.inventory.geometer
     self.inventory.geometer.inventory.verifier = (0, 0, 1), (0, 0, 90)
     return
Ejemplo n.º 50
0
 def __init__(self, name = 'source-monitor'):
     base.__init__(self, name)
     return
Ejemplo n.º 51
0
 def __init__(self, name = 'test-FixedQE'):
     base.__init__(self, name)
     return
Ejemplo n.º 52
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.sequence = ['source', 'sample', 'detector']
     return
Ejemplo n.º 53
0
 def __init__(self, name = 'SD'):
     base.__init__(self, name)
     return
Ejemplo n.º 54
0
 def _defaults(self):
     base._defaults(self)
     self.inventory.sequence = ['source', 'detector']
     return
Ejemplo n.º 55
0
 def __init__(self, name='SSSD'):
     base.__init__(self, name)
     return