Changeset 1546 for trunk/GSASIIspc.py
- Timestamp:
- Oct 27, 2014 8:03:47 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIspc.py
r1539 r1546 224 224 else: 225 225 return '3',[1,] 226 elif SGData['SGLaue'] == '3mR' and'R' in Flds[0]:226 elif SGData['SGLaue'] == '3mR' or 'R' in Flds[0]: 227 227 if '2' in Flds[2]: 228 228 return '32',[1,-1] … … 496 496 return True 497 497 elif LaueId in [7,8,9,] and LaueModId in [19,25,]: 498 try: 499 if SGData['SGLatt'] == 'R' and modsym.index('1/3'): 500 return False 501 except ValueError: 502 pass 498 if (SGData['SGLatt'] == 'R' or SGData['SGPtGrp'] in ['3m1','-3m1']) and modsym.count('1/3'): 499 return False 503 500 return True 504 501 elif LaueId in [10,11,] and LaueModId in [19,]: … … 578 575 return False,OpCtxt+' conflict with '+OpDtxt 579 576 return True,SSGOps 580 581 577 582 578 def genSSGOps(): … … 593 589 if SGData['SGInv']: 594 590 SSGOps += [[-1*M,V] for M,V in SSGOps[:]] 595 # monoclinic 591 # monoclinic - all done 596 592 if SGData['SGPtGrp'] in ['2','m']: #OK 597 593 SSGOps[1][0][3,3] = SSGKl[0] … … 599 595 for i in iFrac: 600 596 SSGOps[1][0][3,i] = -SSGKl[0] 601 elif SGData['SGPtGrp'] == '2/m': 597 elif SGData['SGPtGrp'] == '2/m': #OK 602 598 for i,j in enumerate([1,3]): 603 599 SSGOps[j][0][3,3] = -SSGKl[i] … … 607 603 SSGOps[j][0][3,k] = SSGKl[i] 608 604 E,SSGOps = extendSSGOps(SSGOps) 609 print E,SSMT2text(SSGOps[1]).replace(' ',''),SSMT2text(SSGOps[3]).replace(' ','')610 605 611 606 # orthorhombic … … 618 613 print SSMT2text(SSGOps[1]).replace(' ',''),SSMT2text(SSGOps[2]).replace(' ',''), \ 619 614 SSMT2text(SSGOps[3]).replace(' ','') 615 620 616 # tetragonal 621 617 elif SGData['SGPtGrp'] == '4': #OK … … 629 625 SSGOps[1][0][3,1] = 1 630 626 elif SGData['SGPtGrp'] in ['4/m',]: 631 SSGOps[1][0][3,3] = SSGKl[0]632 SSGOps[5][0][3,3] = SSGKl[1]633 SSGOps[1][1][3] = genQ[0]634 627 if '1/2' in SSGData['modSymb']: 635 628 SSGOps[1][0][3,1] = -1 629 for i,j in enumerate([1,6]): 630 SSGOps[j][0][3,3] = SSGKl[i] 631 if genQ[i]: 632 SSGOps[j][1][3] = genQ[i] 633 E,SSGOps = extendSSGOps(SSGOps) 636 634 elif SGData['SGPtGrp'] in ['422','4mm','-42m','-4m2',]: 635 if '1/2' in SSGData['modSymb']: 636 SSGOps[1][0][3,1] = -1 637 637 for i,j in enumerate([1,4,5]): 638 638 SSGOps[j][0][3,3] = SSGKl[i] … … 641 641 E,SSGOps = extendSSGOps(SSGOps) 642 642 elif SGData['SGPtGrp'] in ['4/mmm',]: 643 if '1/2' in SSGData['modSymb']: 644 SSGOps[1][0][3,1] = -1 643 645 for i,j in enumerate([1,10,6,7]): 644 646 SSGOps[j][0][3,3] = SSGKl[i] … … 649 651 SSGOps[j][0][3,k] = SSGKl[i] 650 652 E,SSGOps = extendSSGOps(SSGOps) 651 # trigonal 652 elif SGData['SGPtGrp'] == '3': 653 654 # trigonal - all done 655 elif SGData['SGPtGrp'] == '3': #OK 653 656 SSGOps[1][0][3,3] = SSGKl[0] 657 if '1/3' in SSGData['modSymb']: 658 SSGOps[1][0][3,1] = -1 654 659 SSGOps[1][1][3] = genQ[0] 655 elif SGData['SGPtGrp'] == '-3': 660 elif SGData['SGPtGrp'] == '-3': #OK 656 661 SSGOps[1][0][3,3] = -SSGKl[0] 657 elif SGData['SGPtGrp'] in ['32','3m','-3m',]: 658 SSGOps[1][0][3,3] = SSGKl[1] 659 elif SGData['SGPtGrp'] in ['312','321','3m1','31m','-3m1','-31m',]: 660 SSGOps[1][0][3,3] = SSGKl[0] 661 # hexagonal 662 if '1/3' in SSGData['modSymb']: 663 SSGOps[1][0][3,1] = -1 664 SSGOps[1][1][3] = genQ[0] 665 elif SGData['SGPtGrp'] in ['312','3m','-3m','-3m1','3m1']: #OK 666 if '1/3' in SSGData['modSymb']: 667 SSGOps[1][0][3,1] = -1 668 for i,j in enumerate([1,5]): 669 if SGData['SGPtGrp'] in ['3m','-3m']: 670 SSGOps[j][0][3,3] = SSGKl[i] 671 else: 672 SSGOps[j][0][3,3] = SSGKl[i+1] 673 if genQ[i]: 674 SSGOps[j][1][3] = genQ[i] 675 elif SGData['SGPtGrp'] in ['321','32']: #OK 676 for i,j in enumerate([1,4]): 677 SSGOps[j][0][3,3] = SSGKl[i] 678 if genQ[i]: 679 SSGOps[j][1][3] = genQ[i] 680 elif SGData['SGPtGrp'] in ['31m','-31m']: #OK 681 ids = [1,3] 682 if SGData['SGPtGrp'] == '-31m': 683 ids = [7,3] 684 if '1/3' in SSGData['modSymb']: 685 SSGOps[ids[0]][0][3,1] = -1 686 for i,j in enumerate(ids): 687 SSGOps[j][0][3,3] = SSGKl[i] 688 if genQ[i+1]: 689 SSGOps[j][1][3] = genQ[i+1] 690 691 # hexagonal - all done 662 692 elif SGData['SGPtGrp'] == '6': #OK 663 693 SSGOps[1][0][3,3] = SSGKl[0] … … 681 711 SSGOps[j][1][3] = genQ[i] 682 712 E,SSGOps = extendSSGOps(SSGOps) 683 if SGData['SGPtGrp'] in ['1','-1']: #triclinic - done713 elif SGData['SGPtGrp'] in ['1','-1']: #triclinic - done 684 714 return True,SSGOps 685 715 E,SSGOps = extendSSGOps(SSGOps) … … 740 770 elif SGData['SGPtGrp'] in ['32',] and sym not in ['','t0']: 741 771 return False 742 elif SGData['SGPtGrp'] in ['321',] and sym not in ['','t00']: 743 return False 744 elif SGData['SGPtGrp'] in ['312',] and sym not in ['',]: 772 elif SGData['SGPtGrp'] in ['321','312'] and sym not in ['','t00']: 745 773 return False 746 774 elif SGData['SGPtGrp'] in ['3m','-3m'] and sym not in ['','0s']: … … 807 835 genQ = [0,0,0,0] 808 836 SSGData = {'SSpGrp':SGData['SpGrp']+SSymbol,'modQ':modQ,'modSymb':modsym} 809 SSCen = np. ones((len(SGData['SGCen']),4))*0.5837 SSCen = np.zeros((len(SGData['SGCen']),4)) 810 838 for icen,cen in enumerate(SGData['SGCen']): 811 839 SSCen[icen,0:3] = cen
Note: See TracChangeset
for help on using the changeset viewer.