Skip to content

Commit 3697bcd

Browse files
committed
Merge branch 'main' into kvec_isodistort_zyp
2 parents aecfedb + a55bd54 commit 3697bcd

File tree

7 files changed

+108
-58
lines changed

7 files changed

+108
-58
lines changed

GSASII/GSASIIlattice.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,8 @@ def cellDijFill(pfx,phfx,SGData,parmDict):
225225
elif SGData['SGLaue'] in ['3R', '3mR']:
226226
A = [parmDict[pfx+'A0']+parmDict[phfx+'D11'],parmDict[pfx+'A0']+parmDict[phfx+'D11'],
227227
parmDict[pfx+'A0']+parmDict[phfx+'D11'],
228-
parmDict[pfx+'A3']+parmDict[phfx+'D23'],parmDict[pfx+'A3']+parmDict[phfx+'D23'],
229-
parmDict[pfx+'A3']+parmDict[phfx+'D23']]
228+
parmDict[pfx+'A3']+parmDict[phfx+'D12'],parmDict[pfx+'A3']+parmDict[phfx+'D12'],
229+
parmDict[pfx+'A3']+parmDict[phfx+'D12']]
230230
elif SGData['SGLaue'] in ['m3m','m3']:
231231
A = [parmDict[pfx+'A0']+parmDict[phfx+'D11'],parmDict[pfx+'A0']+parmDict[phfx+'D11'],
232232
parmDict[pfx+'A0']+parmDict[phfx+'D11'],0,0,0]
@@ -2460,12 +2460,6 @@ def RBsymChk(RBsym,cubic,coefNames,L=18):
24602460
:param list coefNames: sp. harm coefficient names to be checked/converted
24612461
:param int L: maximum spherical harmonic order no. for cubic generation if needed
24622462
'''
2463-
# cubicsigns = {'C(3,1)c':[-1,],'C(4,1)c':[1,1,],'C(6,1)c':[1,-1],'C(6,2)c':[1,-1],'C(7,1)c':[1,-1],'C(8,1)c':[1,1,1],
2464-
# 'C(9,1)c':[1,-1],'C(9,2)c':[1,-1],'C(10,1)c':[1,-1,-1],'C(10,2)c':[1,1,-1]}
2465-
# cubicnames = {'C(3,1)c':['C(3,2)',],'C(4,1)c':['C(4,0)','C(4,4)'],'C(6,1)c':['C(6,0)','C(6,4)'],
2466-
# 'C(6,2)c':['C(6,2)','C(6,6)'],'C(7,1)c':['C(7,2)','C(7,6)'],'C(8,1)c':['C(8,0)','C(8,4)','C(8,8)'],
2467-
# 'C(9,1)c':['C(9,2)','C((9,6)'],'C(9,2)c':['C(9,4)','C(9,8)'],
2468-
# 'C(10,1)c':['C(10,0)','C(10,4)','C(10,8)'],'C(10,2)c':['C(10,2)','C(10,6)','C(10,10)']}
24692463
newNames = []
24702464
newSgns = []
24712465
if cubic: #sytsym is a cubic site
@@ -2760,38 +2754,53 @@ def SamAng(Tth,Gangls,Sangl,IFCoup):
27602754
(BA*dBBdF-BB*dBAdF)/BD],[np.zeros_like(BD),np.zeros_like(BD),np.zeros_like(BD)])
27612755

27622756
return psi,gam,dPSdA,dGMdA
2763-
2757+
'''BOH is even order terms from Table 15.2.1 of H.-J. Bunge, "Texture Analysis in Materials Science",
2758+
Cuvillier Verlag, Gottingen, 1993, p 501. BOH = Blmu for cubic [001] parallel to Z. Used in GetKcl & GetKclKsl
2759+
Dummy odd order terms not needed for texture analysis
2760+
'''
27642761
BOH = {
27652762
'L=2':[[],[],[]],
27662763
'L=4':[[0.30469720,0.36418281],[],[]],
27672764
'L=6':[[-0.14104740,0.52775103],[],[]],
27682765
'L=8':[[0.28646862,0.21545346,0.32826995],[],[]],
2766+
'L=9':[[],[],[]],
27692767
'L=10':[[-0.16413497,0.33078546,0.39371345],[],[]],
27702768
'L=12':[[0.26141975,0.27266871,0.03277460,0.32589402],
27712769
[0.09298802,-0.23773812,0.49446631,0.0],[]],
2770+
'L=13':[[],[],[]],
27722771
'L=14':[[-0.17557309,0.25821932,0.27709173,0.33645360],[],[]],
2772+
'L=15':[[],[],[]],
27732773
'L=16':[[0.24370673,0.29873515,0.06447688,0.00377,0.32574495],
27742774
[0.12039646,-0.25330128,0.23950998,0.40962508,0.0],[]],
2775+
'L=17':[[],[],[]],
27752776
'L=18':[[-0.16914245,0.17017340,0.34598142,0.07433932,0.32696037],
27762777
[-0.06901768,0.16006562,-0.24743528,0.47110273,0.0],[]],
2778+
'L=19':[[],[],[]],
27772779
'L=20':[[0.23067026,0.31151832,0.09287682,0.01089683,0.00037564,0.32573563],
27782780
[0.13615420,-0.25048007,0.12882081,0.28642879,0.34620433,0.0],[]],
2781+
'L=21':[[],[],[]],
27792782
'L=22':[[-0.16109560,0.10244188,0.36285175,0.13377513,0.01314399,0.32585583],
27802783
[-0.09620055,0.20244115,-0.22389483,0.17928946,0.42017231,0.0],[]],
2784+
'L=23':[[],[],[]],
27812785
'L=24':[[0.22050742,0.31770654,0.11661736,0.02049853,0.00150861,0.00003426,0.32573505],
27822786
[0.13651722,-0.21386648,0.00522051,0.33939435,0.10837396,0.32914497,0.0],
27832787
[0.05378596,-0.11945819,0.16272298,-0.26449730,0.44923956,0.0,0.0]],
2788+
'L=25':[[],[],[]],
27842789
'L=26':[[-0.15435003,0.05261630,0.35524646,0.18578869,0.03259103,0.00186197,0.32574594],
27852790
[-0.11306511,0.22072681,-0.18706142,0.05439948,0.28122966,0.35634355,0.0],[]],
2791+
'L=27':[[],[],[]],
27862792
'L=28':[[0.21225019,0.32031716,0.13604702,0.03132468,0.00362703,0.00018294,0.00000294,0.32573501],
27872793
[0.13219496,-0.17206256,-0.08742608,0.32671661,0.17973107,0.02567515,0.32619598,0.0],
27882794
[0.07989184,-0.16735346,0.18839770,-0.20705337,0.12926808,0.42715602,0.0,0.0]],
2795+
'L=29':[[],[],[]],
27892796
'L=30':[[-0.14878368,0.01524973,0.33628434,0.22632587,0.05790047,0.00609812,0.00022898,0.32573594],
27902797
[-0.11721726,0.20915005,-0.11723436,-0.07815329,0.31318947,0.13655742,0.33241385,0.0],
27912798
[-0.04297703,0.09317876,-0.11831248,0.17355132,-0.28164031,0.42719361,0.0,0.0]],
2799+
'L=31':[[],[],[]],
27922800
'L=32':[[0.20533892,0.32087437,0.15187897,0.04249238,0.00670516,0.00054977,0.00002018,0.00000024,0.32573501],
27932801
[0.12775091,-0.13523423,-0.14935701,0.28227378,0.23670434,0.05661270,0.00469819,0.32578978,0.0],
27942802
[0.09703829,-0.19373733,0.18610682,-0.14407046,0.00220535,0.26897090,0.36633402,0.0,0.0]],
2803+
'L=33':[[],[],[]],
27952804
'L=34':[[-0.14409234,-0.01343681,0.31248977,0.25557722,0.08571889,0.01351208,0.00095792,0.00002550,0.32573508],
27962805
[-0.11527834,0.18472133,-0.04403280,-0.16908618,0.27227021,0.21086614,0.04041752,0.32688152,0.0],
27972806
[-0.06773139,0.14120811,-0.15835721,0.18357456,-0.19364673,0.08377174,0.43116318,0.0,0.0]]
@@ -3006,7 +3015,8 @@ def SphHarmAng(L,M,P,Th,Ph):
30063015
30073016
:returns ylmp value/array: as reals
30083017
'''
3009-
ylmp = spsp.sph_harm(M,L,rpd*Th,rpd*Ph) #wants radians; order then degree
3018+
ylmp = spsp.sph_harm(M,L,rpd*Th,rpd*Ph) #wants radians; order then degree; not normalized
3019+
#### TODO: this will be deprecated in future scipy; new one sph_harm_y in scipy 1.15.1
30103020

30113021
if M > 0:
30123022
return (-1)**M*P*np.real(ylmp)*SQ2
@@ -3029,7 +3039,7 @@ def CubicSHarm(L,M,Th,Ph):
30293039
30303040
'''
30313041
if L == 0:
3032-
return SphHarmAng(L,M,1,Th,Ph)
3042+
return SphHarmAng(0,0,1,Th,Ph)
30333043
elif L == 3:
30343044
return SphHarmAng(3,2,-1,Th,Ph)
30353045
elif L == 4:

GSASII/GSASIIphsGUI.py

Lines changed: 57 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2919,6 +2919,16 @@ def OnTransform(event):
29192919
Vvec = np.zeros(3)
29202920
ifMag = False
29212921
BNSlatt = ''
2922+
ifRB = False
2923+
RBModels = data['RBModels']
2924+
for item in RBModels:
2925+
if RBModels[item]:
2926+
ifRB = True
2927+
if ifRB:
2928+
msg = 'Rigid Bodies present'
2929+
text = 'Rigid bodies must be deleted before transform can be done'
2930+
wx.MessageBox(text,caption=msg,style=wx.ICON_EXCLAMATION)
2931+
return
29222932
while True:
29232933
dlg = TransformDialog(G2frame,data,Trans,Uvec,Vvec,ifMag,BNSlatt)
29242934
try:
@@ -4490,7 +4500,8 @@ def chkUij(Uij,CSI): #needs to do something!!!
44904500
if 'Atoms' in data['Drawing'] and replot:
44914501
ci = colLabels.index('I/A')
44924502
G2mth.DrawAtomsReplaceByID(data,ci+8,atomData[r],ID)
4493-
G2plt.PlotStructure(G2frame,data)
4503+
G2frame.GetStatusBar().SetStatusText('Structure changed: Do "Edit Atoms/Update draw atoms" to refresh structure drawing',1)
4504+
# G2plt.PlotStructure(G2frame,data)
44944505
if SGData['SpGrp'] != 'P 1': #no need to update P 1 structures!
44954506
wx.CallAfter(Paint)
44964507

@@ -4515,7 +4526,8 @@ def AtomTypeSelect(event):
45154526
ID = atomData[r][ci+8]
45164527
if 'Atoms' in data['Drawing']:
45174528
G2mth.DrawAtomsReplaceByID(data,ci+8,atomData[r],ID)
4518-
G2plt.PlotStructure(G2frame,data)
4529+
G2frame.GetStatusBar().SetStatusText('Structure changed: Do "Edit Atoms/Update draw atoms" to refresh structure drawing',1)
4530+
# G2plt.PlotStructure(G2frame,data)
45194531
SetupGeneral()
45204532
else:
45214533
event.Skip()
@@ -4565,7 +4577,8 @@ def RowSelect(event):
45654577
G2frame.GetStatusBar().SetStatusText('Use right mouse click to brng up Atom editing options',1)
45664578
Atoms.ClearSelection()
45674579
Atoms.SelectRow(r,True)
4568-
G2plt.PlotStructure(G2frame,data)
4580+
G2frame.GetStatusBar().SetStatusText('Structure changed: Do "Edit Atoms/Update draw atoms" to refresh structure drawing',1)
4581+
# G2plt.PlotStructure(G2frame,data)
45694582

45704583
def ChangeSelection(event):
45714584
r,c = event.GetRow(),event.GetCol()
@@ -4663,8 +4676,8 @@ def Paint(Scroll=0):
46634676
Atoms.SetCellStyle(row,ci,WHITE,False)
46644677
saveCSI = CSI[0][i]
46654678
Atoms.SetCellTextColour(row,ci,BLACK)
4666-
if 'F' in rbExcl:
4667-
Atoms.SetCellStyle(row,colF,VERY_LIGHT_GREY,True)
4679+
# if 'F' in rbExcl:
4680+
# Atoms.SetCellStyle(row,colF,VERY_LIGHT_GREY,True)
46684681
if 'X' in rbExcl:
46694682
for c in range(0,colX+3):
46704683
if c != colR:
@@ -5191,7 +5204,7 @@ def AtomModify(event):
51915204
if dlg.ShowModal() == wx.ID_OK:
51925205
parm = dlg.GetValue()
51935206
for r in indx:
5194-
if not Atoms.IsReadOnly(r,0): #not if in RB!
5207+
# if not Atoms.IsReadOnly(r,0): #not if in RB!
51955208
atomData[r][cid] = parm
51965209
SetupGeneral()
51975210
FillAtomsGrid(Atoms)
@@ -5562,13 +5575,15 @@ def OnFracSplit(event):
55625575
cx,ct,cs,ci = G2mth.getAtomPtrs(data)
55635576
indx = getAtomSelections(Atoms,ct-1)
55645577
if indx:
5578+
B2 = {}
55655579
atomData = data['Atoms']
55665580
PE = G2elemGUI.PickElement(G2frame,oneOnly=True)
55675581
if PE.ShowModal() == wx.ID_OK:
55685582
Atype2 = PE.Elem.strip()
55695583
AtomInfo2 = G2elem.GetAtomInfo(Atype2)
55705584
FF2 = G2elem.GetFFtable([Atype2])[Atype2]
5571-
B2 = AtomInfo2['Isotopes']['Nat. Abund.']['SL'][0]
5585+
for iso in AtomInfo2['Isotopes']:
5586+
B2[iso] = AtomInfo2['Isotopes'][iso]['SL'][0]
55725587
PE.Destroy()
55735588
SQ = 0.0
55745589
PE2 = G2G.SingleFloatDialog(G2frame,'form factor','Enter sinth/lam for atom frac split',SQ)
@@ -5578,24 +5593,36 @@ def OnFracSplit(event):
55785593
ff2 = G2elem.ScatFac(FF2,SQ**2)
55795594
print(' X-ray site fractions for sin(th)/lam = %.3f'%SQ)
55805595
for ind in indx:
5581-
Aname1 = atomData[ind][ct-1]
5582-
Atype1 = G2elem.FixValence(atomData[ind][ct])
5583-
Afrac = atomData[ind][cx+3]
5584-
Amult = float(atomData[ind][cx+5])
5585-
AtomInfo1 = G2elem.GetAtomInfo(Atype1)
5586-
if Atype1 == Atype2:
5587-
print('ERROR - 2nd atom type must be different from selected atom')
5588-
continue
5589-
FF1 = G2elem.GetFFtable([Atype1])[Atype1]
5590-
ff1 = G2elem.ScatFac(FF1,SQ**2)
5591-
B1 = AtomInfo1['Isotopes']['Nat. Abund.']['SL'][0]
5596+
Aname1 = atomData[ind][ct-1]
5597+
Atype1 = G2elem.FixValence(atomData[ind][ct])
5598+
if Atype1 == 'Q':
5599+
PE = G2elemGUI.PickElement(G2frame,oneOnly=False)
5600+
if PE.ShowModal() == wx.ID_OK:
5601+
Atype1 = PE.Elem.strip()
5602+
PE.Destroy()
5603+
Afrac = atomData[ind][cx+3]
5604+
Amult = float(atomData[ind][cx+5])
5605+
AtomInfo1 = G2elem.GetAtomInfo(Atype1)
5606+
if Atype1 == Atype2:
5607+
print('ERROR - 2nd atom type must be different from selected atom')
5608+
continue
5609+
FF1 = G2elem.GetFFtable([Atype1])[Atype1]
5610+
ff1 = G2elem.ScatFac(FF1,SQ**2)
5611+
if ff1 != ff2:
55925612
frac1 = (ff1*Afrac-ff2)/(ff1-ff2)
5593-
bfrac1 = (B1*Afrac-B2)/(B1-B2)
55945613
print(' For %s: X-ray based site fractions %s = %.3f, %.3f/cell; %s = %.3f, %.3f/cell' \
5595-
%(Aname1,Atype1,frac1,frac1*Amult,Atype2,(1.-frac1),(1.-frac1)*Amult))
5596-
print(' neutron based site fractions %s = %.3f, %.3f/cell; %s = %.3f, %.3f/cell\n' \
5597-
%(Atype1,bfrac1,bfrac1*Amult,Atype2,(1.-bfrac1),(1.-bfrac1)*Amult))
5598-
5614+
%(Aname1,Atype1,frac1,frac1*Amult,Atype2,(1.-frac1),(1.-frac1)*Amult))
5615+
5616+
B1 = AtomInfo1['Isotopes']['Nat. Abund.']['SL'][0]
5617+
for iso in B2:
5618+
if B1 != B2[iso]:
5619+
bfrac1 = (B1*Afrac-B2[iso])/(B1-B2[iso])
5620+
atype2 = Atype2
5621+
if 'nat' not in iso:
5622+
atype2 += '_%s'%iso
5623+
print(' neutron based site fractions %s = %.3f, %.3f/cell; %s = %.3f, %.3f/cell' \
5624+
%(Atype1,bfrac1,bfrac1*Amult,atype2,(1.-bfrac1),(1.-bfrac1)*Amult))
5625+
55995626
def OnValidProtein(event):
56005627

56015628
def pickHandler(resName):
@@ -13867,14 +13894,16 @@ def RepaintRBInfo(rbType,rbIndx,Scroll=0):
1386713894
return
1386813895
Indx.clear()
1386913896
rbObj = data['RBModels'][rbType][rbIndx]
13870-
data['Drawing']['viewPoint'][0] = data['Atoms'][AtLookUp[rbObj['Ids'][0]]][cx:cx+3]
1387113897
Quad = rbObj['Orient'][0]
1387213898
data['Drawing']['Quaternion'] = G2mth.invQ(Quad)
1387313899
if rbType == 'Residue':
13900+
data['Drawing']['viewPoint'][0] = rbObj['Orig'][0]
1387413901
G2frame.bottomSizer = ResrbSizer(rbObj,rbIndx)
1387513902
elif rbType == 'Spin':
13903+
data['Drawing']['viewPoint'][0] = data['Atoms'][AtLookUp[rbObj['Ids'][0]]][cx:cx+3]
1387613904
G2frame.bottomSizer = SpnrbSizer(rbObj,rbIndx)
1387713905
else: #Vector
13906+
data['Drawing']['viewPoint'][0] = rbObj['Orig'][0]
1387813907
G2frame.bottomSizer = VecrbSizer(rbObj,rbIndx)
1387913908
mainSizer.Add(G2frame.bottomSizer)
1388013909
mainSizer.Layout()
@@ -14252,7 +14281,7 @@ def OnTorAngle(invalid,value,tc):
1425214281
recompute atom distances
1425314282
'''
1425414283
[tor,torSlide] = Indx[tc.GetId()]
14255-
torSlide.SetValue(int(value*10))
14284+
torSlide.ChangeValue(int(value*10))
1425614285
UpdateTablePlot()
1425714286

1425814287
def OnTorSlide(event):
@@ -14264,7 +14293,7 @@ def OnTorSlide(event):
1426414293
Tors = data['testRBObj']['rbObj']['Torsions'][tor]
1426514294
val = float(Obj.GetValue())/10.
1426614295
Tors[0] = val
14267-
ang.SetValue(val)
14296+
ang.ChangeValue(val)
1426814297
UpdateTablePlot()
1426914298

1427014299
def UpdateTable(event=None):
@@ -14300,7 +14329,7 @@ def OnAzSlide(event):
1430014329
rbObj['OrientVec'][0] = float(Obj.GetValue())/10.
1430114330
for i in range(4):
1430214331
val = rbObj['OrientVec'][i]
14303-
G2frame.testRBObjSizers['OrientVecSiz'][i].SetValue(val)
14332+
G2frame.testRBObjSizers['OrientVecSiz'][i].ChangeValue(val)
1430414333
Q = G2mth.AVdeg2Q(rbObj['OrientVec'][0],
1430514334
np.inner(Amat,rbObj['OrientVec'][1:]))
1430614335
rbObj['Orient'][0] = Q
@@ -14317,7 +14346,7 @@ def UpdateOrientation(*args,**kwargs):
1431714346
np.inner(Amat,rbObj['OrientVec'][1:]))
1431814347
rbObj['Orient'][0] = Q
1431914348
try:
14320-
G2frame.testRBObjSizers['OrientVecSiz'][4].SetValue(
14349+
G2frame.testRBObjSizers['OrientVecSiz'][4].ChangeValue(
1432114350
int(10*rbObj['OrientVec'][0]))
1432214351
except:
1432314352
pass

GSASII/GSASIIplot.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2733,7 +2733,7 @@ def OnMotion(event):
27332733
Plot.set_title(Title)
27342734
try:
27352735
Page.figure.colorbar(mcolors,shrink=0.75,label='Rotation',boundaries=range(91))
2736-
except TypeError:
2736+
except:
27372737
print('mpl error - no colorbar shown')
27382738
Page.canvas.draw()
27392739

@@ -7418,8 +7418,10 @@ def Draw(caller='',Fade=[],NPkey=False):
74187418
Backbone = Backbones[chain]
74197419
RenderBackbone(Backbone,BackboneColor,bondR)
74207420
if drawingData['showVoids']:
7421-
for x,y,z in drawingData['Voids']:
7422-
RenderSphere(x,y,z,.05,(0.,0.,1.),True)
7421+
RC = len(drawingData['Voids'])*[[0.05,2*Bl]]
7422+
RenderDots(drawingData['Voids'],RC)
7423+
# for x,y,z in drawingData['Voids']:
7424+
# RenderSphere(x,y,z,.05,(0.,0.,1.),True)
74237425
if drawingData['unitCellBox']:
74247426
RenderBox()
74257427
if drawingData['Plane'][1]:

GSASII/GSASIIpwdGUI.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1647,7 +1647,13 @@ def OnBackSave(event):
16471647
filename = os.path.splitext(filename)[0]+'.pwdrbck'
16481648
File = open(filename,'w')
16491649
File.write("#GSAS-II background parameter file; do not add/delete items!\n")
1650-
File.write(str(data[0])+'\n')
1650+
out_tmp = list()
1651+
for item in data[0]:
1652+
if isinstance(item, np.float64) or isinstance(item, float):
1653+
out_tmp.append(float(item))
1654+
else:
1655+
out_tmp.append(item)
1656+
File.write(str(out_tmp)+'\n')
16511657
for item in data[1]:
16521658
if item in ['nPeaks','background PWDR','nDebye'] or not len(data[1][item]):
16531659
File.write(item+':'+str(data[1][item])+'\n')

GSASII/GSASIIstrMath.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -453,11 +453,9 @@ def MakePolar(Orient,QB):
453453

454454
dFFdS = {}
455455
atFlg = []
456-
# R,Th,Ph = G2lat.H2ThPh2(np.reshape(HKL,(-1,3)),Bmat)
457456
SQR = np.repeat(SQ,HKL.shape[1])
458457
for iAt,Atype in enumerate(Tdata):
459-
if 'Q' in Atype:
460-
# R,Th,Ph = G2lat.H2ThPh2(np.reshape(HKL,(-1,3)),Bmat)
458+
if 'Q' in Atype: #spinning RB
461459
atFlg.append(1.0)
462460
SHdat = SHCdict[iAt]
463461
symAxis = np.array(SHdat['symAxis'])
@@ -527,7 +525,7 @@ def MakePolar(Orient,QB):
527525
SHMk = G2lat.KslCalc(item,ThMk,PhMk)
528526
BS = 1.0
529527
if 'Q' in Atm:
530-
BS = sp.spherical_jn(l,1.0) #Slater term here?
528+
BS = sp.spherical_jn(l,1.0)/(4.*np.pi) #Slater term here?
531529
else:
532530
BS = sp.spherical_jn(l,QR*R)/(4.*np.pi) #Bessel function
533531
BSP = sp.spherical_jn(l,QR*(R+0.01))/(4.*np.pi)
@@ -547,7 +545,7 @@ def MakePolar(Orient,QB):
547545
dFFdS[Oiname] = dSHdOi
548546
dFFdS[Ojname] = dSHdOj
549547
dFFdS[Okname] = dSHdOk
550-
elif iAt in SHCdict and 'X' in hType:
548+
elif iAt in SHCdict and 'X' in hType: #X-ray deformation
551549
radial = SHCdict[-iAt]['Radial']
552550
orKeys = [item for item in ORBtables[Atype] if item not in ['Slater','ZSlater','NSlater','SZE','popCore','popVal']]
553551
if 'B' in radial:

0 commit comments

Comments
 (0)