def test(self):
        from LinearlyInterpolatedDispersion_Example import example
        disp = example()

        from DWFromDOS_Example import example
        dw_calctor = example()

        atoms = mccomponentsbp.vector_AtomicScatterer(5)
        
        aa = mcnibp.Vector3_double(1,0,0)
        bb = mcnibp.Vector3_double(0,1,0)
        cc = mcnibp.Vector3_double(0,0,1)
        
        temperature = 300
        Ei = 70
        max_omega = 55
        max_Q = 12
        nMCsteps_to_calc_RARV = 10000

        kernel = mccomponentsbp.Phonon_CoherentInelastic_PolyXtal_kernel(
            disp, atoms, aa, bb, cc,
            dw_calctor,
            temperature,
            max_omega, 
            )
            
        return
コード例 #2
0
    def test(self):
        from LinearlyInterpolatedDispersion_Example import example
        disp = example()

        from DWFromDOS_Example import example
        dw_calctor = example()

        atoms = mccomponentsbp.vector_AtomicScatterer(5)

        aa = mcnibp.Vector3_double(1, 0, 0)
        bb = mcnibp.Vector3_double(0, 1, 0)
        cc = mcnibp.Vector3_double(0, 0, 1)

        temperature = 300
        Ei = 70
        max_omega = 55
        max_Q = 12
        nMCsteps_to_calc_RARV = 10000

        kernel = mccomponentsbp.Phonon_CoherentInelastic_PolyXtal_kernel(
            disp,
            atoms,
            aa,
            bb,
            cc,
            dw_calctor,
            temperature,
            max_omega,
        )

        return
コード例 #3
0
    def test(self):
        from LinearlyInterpolatedDispersion_Example import example
        dispersion = example()

        Q = mcnibp.Vector3_double
        
        b1 = Q( 2,0,0 )
        b2 = Q( 0,3,0 )
        b3 = Q( 0,0,4 )
        rc = mccomponentsbp.ReciprocalCell( )
        rc.b1 = b1; rc.b2 = b2; rc.b3 = b3
        disp = mccomponentsbp.PeriodicDispersion_3D( dispersion, rc )
        self.assertAlmostEqual( disp.energy(0, Q(2,3,4)), disp.energy(0, Q(0,0,0) ) )
        return
    def test(self):
        from LinearlyInterpolatedDispersion_Example import example
        dispersion = example()

        M = mcnibp.Matrix3_double
        Q = mcnibp.Vector3_double
        m = M( 1,2,0,
               2,0,3,
               3,1,0)
        
        disp = mccomponentsbp.ChangeCoordinateSystem_forDispersion_3D( dispersion, m )
        
        self.assertAlmostEqual( disp.energy(0, Q(1,0,0)), disp.energy(0, Q(1,2,3) ) )
        self.assertAlmostEqual( disp.energy(0, Q(0,1,0)), disp.energy(0, Q(2,0,1) ) )
        self.assertAlmostEqual( disp.energy(0, Q(0,0,1)), disp.energy(0, Q(0,3,0) ) )
        
        return
コード例 #5
0
    def test(self):
        from LinearlyInterpolatedDispersion_Example import example
        dispersion = example()

        Q = mcnibp.Vector3_double

        b1 = Q(2, 0, 0)
        b2 = Q(0, 3, 0)
        b3 = Q(0, 0, 4)
        rc = mccomponentsbp.ReciprocalCell()
        rc.b1 = b1
        rc.b2 = b2
        rc.b3 = b3
        disp = mccomponentsbp.PeriodicDispersion_3D(dispersion, rc)
        self.assertAlmostEqual(disp.energy(0, Q(2, 3, 4)),
                               disp.energy(0, Q(0, 0, 0)))
        return
    def test(self):
        from LinearlyInterpolatedDispersion_Example import example
        dispersion = example()

        M = mcnibp.Matrix3_double
        Q = mcnibp.Vector3_double
        m = M(1, 2, 0, 2, 0, 3, 3, 1, 0)

        disp = mccomponentsbp.ChangeCoordinateSystem_forDispersion_3D(
            dispersion, m)

        self.assertAlmostEqual(disp.energy(0, Q(1, 0, 0)),
                               disp.energy(0, Q(1, 2, 3)))
        self.assertAlmostEqual(disp.energy(0, Q(0, 1, 0)),
                               disp.energy(0, Q(2, 0, 1)))
        self.assertAlmostEqual(disp.energy(0, Q(0, 0, 1)),
                               disp.energy(0, Q(0, 3, 0)))

        return