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
def phonon_coherentinelastic_singlextal_kernel( self, dispersion, dw_calctor, unitcell, temperature, ): # unitcell_vol = unitcell.getVolume() unitcell_vol = unitcell.lattice.getVolume() unitcell_vol = float(unitcell_vol) temperature = float(temperature) atoms = [ self.atomicscatterer_fromSite( site ) for site in unitcell ] atom_vector = b.vector_AtomicScatterer(0) for atom in atoms: atom_vector.append( atom ) deltaV_Jacobi = 0.001 zridd = b.ZRidd(10) # 0.1 - accuracy of velocity (m/s) rootsfinder = b.FindRootsEvenly(zridd, 2000) targetregion = b.TargetCone(self.vector3(0,0,0),0) epsilon = 1.e-10 return b.Phonon_CoherentInelastic_SingleXtal_kernel( dispersion, atom_vector, unitcell_vol, dw_calctor, temperature, deltaV_Jacobi, rootsfinder, targetregion, epsilon )
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
def phonon_coherentinelastic_polyxtal_kernel( self, dispersion, dw_calctor, unitcell, temperature, max_omega, ): # unitcell_vol = unitcell.getVolume() lattice = unitcell.lattice base = lattice.base aa = self.vector3(base[0]) bb = self.vector3(base[1]) cc = self.vector3(base[2]) temperature = float(temperature) atoms = [ self.atomicscatterer_fromSite( site ) for site in unitcell ] atom_vector = b.vector_AtomicScatterer(0) for atom in atoms: atom_vector.append( atom ) return b.Phonon_CoherentInelastic_PolyXtal_kernel( dispersion, atom_vector, aa, bb, cc, dw_calctor, temperature, max_omega, )
def test(self): atoms = mccomponentsbp.vector_AtomicScatterer(5) unitcell_vol = 30 dw_core = 0.1 scattering_xs = absorption_xs = 0 kernel = mccomponentsbp.Phonon_IncoherentElastic_kernel( atoms, unitcell_vol, dw_core, scattering_xs, absorption_xs, ) return
def test(self): atoms = mccomponentsbp.vector_AtomicScatterer(5) unitcell_vol = 30 dw_core = 0.1 scattering_xs = absorption_xs = 0 kernel = mccomponentsbp.Phonon_IncoherentElastic_kernel( atoms, unitcell_vol, dw_core, scattering_xs, absorption_xs, ) return
def phonon_incoherentelastic_kernel( self, unitcell, dw_core, scattering_xs = 0., absorption_xs = 0., ): # unitcell_vol = unitcell.getVolume() unitcell_vol = unitcell.lattice.getVolume() unitcell_vol = float(unitcell_vol) atoms = [ self.atomicscatterer_fromSite( site ) for site in unitcell ] atom_vector = b.vector_AtomicScatterer(0) for atom in atoms: atom_vector.append( atom ) return b.Phonon_IncoherentElastic_kernel( atom_vector, unitcell_vol, dw_core, scattering_xs, absorption_xs, )
def test2(self): 'vector<AtomicScatterer>' atoms = mccomponentsbp.vector_AtomicScatterer(2) return
def test2(self): 'vector<AtomicScatterer>' atoms = mccomponentsbp.vector_AtomicScatterer(2) return