In [1]:
sys.path.append('C:/Users/schick/General/git/')
%load_ext autoreload
%autoreload 2
import scipy.constants as constants
import numericalunits as u
u.reset_units('SI')
In [2]:
import udkm1Dsimpy as ud
In [3]:
Dy = ud.atom('Dy', ID='dy123')
print(Dy)
en = 8047*u.eV
qz = 1*u.angstrom**-1
print(Dy.getAtomicFormFactor(en))
print(Dy.getCMAtomicFormFactor(en,qz))
In [4]:
Tb = ud.atom('Tb')
print(Tb)
print(Tb.getAtomicFormFactor(en))
print(Tb.getCMAtomicFormFactor(en,qz))
In [5]:
DyTb = ud.atomMixed('DyTb', name='some alloy', ID='123213')
# print(dyTb)
DyTb.name
DyTb.addAtom(Dy, 0.4)
DyTb.addAtom(Tb, 0.6)
print(DyTb)
print(DyTb.getAtomicFormFactor(en))
print(DyTb.getCMAtomicFormFactor(en,qz))
In [8]:
uc = ud.unitCell('uc', 'Unit Cell', 3*u.angstrom, heatCapacity=10*(u.J/u.kg/u.K),
linThermExp=1e-6/u.K, thermCond=1*(u.W/u.m/u.K),
optPenDepth=10*u.nm, soundVel=5*(u.nm/u.ps))
uc.addAtom(Dy, 'lambda strain: 0*(strain+1)')
uc.addAtom(Dy, 'lambda strain: 0.25*(strain+1)')
uc.addAtom(Tb, 0.5)
uc.addAtom(Tb, 0.75)
print(uc)
In [9]:
uc.visualize(strains=0.01)
In [28]:
params = {
'heatCapacity' : ['lambda T: 30*T**3 + 10*T**2', 10*(u.J/u.kg/u.K)],
'linThermExp' : [1, 1e-6/u.K],
'thermCond' : [2, 1*(u.W/u.m/u.K)],
'subSystemCoupling' : ['lambda T: 5*(T[0]-T[1])', 'lambda T: -5*(T[0]-T[1])'],
'optPenDepth' : 10*u.nm,
'soundVel' : 5*(u.nm/u.ps),
}
uc = ud.unitCell('uc', 'Unit Cell', 3*u.angstrom, **params)
uc.addAtom(Dy, 'lambda strain: 0*(strain+1)')
uc.addAtom(Dy, 'lambda strain: 0.25*(strain+1)')
uc.addAtom(Tb, 0.5)
uc.addAtom(Tb, 0.75)
print(uc)