- Timestamp:
- Mar 21, 2016 1:29:43 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/GSASIIphsGUI.py ¶
r2177 r2181 2670 2670 table.append(transArray[Yi][Xi]) 2671 2671 rowLabels.append(Xname) 2672 if transArray[Yi][Xi][0] > 0.: 2673 allowedTrans.append([str(Yi+1),str(Xi+1)]) 2672 2674 transTable = G2G.Table(table,rowLabels=rowLabels,colLabels=transLabels,types=transTypes) 2673 2675 transGrid = G2G.GSGrid(layerData) … … 2718 2720 stackChoice = ['recursive','explicit',] 2719 2721 seqChoice = ['random','list',] 2720 numChoice = [' ','infinite',]2721 2722 2722 2723 def OnStackType(event): 2723 data['Layers']['Stacking'][0] = stackType.GetValue() 2724 newType = stackType.GetValue() 2725 if newType == data['Layers']['Stacking'][0]: 2726 return 2727 data['Layers']['Stacking'][0] = newType 2728 if newType == 'recursive': 2729 data['Layers']['Stacking'][1] = 'infinite' 2730 else: #explicit 2731 data['Layers']['Stacking'][1] = 'random' 2732 data['Layers']['Stacking'][2] = '250' 2733 wx.CallAfter(UpdateLayerData) 2734 2735 def OnSeqType(event): 2736 newType = seqType.GetValue() 2737 if newType == data['Layers']['Stacking'][1]: 2738 return 2739 data['Layers']['Stacking'][1] = newType 2740 if newType == 'random': 2741 data['Layers']['Stacking'][2] = '250' 2742 else: #List 2743 data['Layers']['Stacking'][2] = '' 2724 2744 wx.CallAfter(UpdateLayerData) 2725 2745 … … 2729 2749 data['Layers']['Stacking'][1] = val 2730 2750 else: 2731 if int(val) > 1032: 2732 data['Layers']['Stacking'][1] = 'infinite' 2751 try: 2752 if 0 < int(val) < 1023: 2753 data['Layers']['Stacking'][1] = val 2754 else: 2755 data['Layers']['Stacking'][1] = 'infinite' 2756 except ValueError: 2757 pass 2758 numLayers.SetValue(data['Layers']['Stacking'][1]) 2759 2760 def OnNumRan(event): 2761 val = numRan.GetValue() 2762 try: 2763 if 0 > int(val) > 1022: 2764 raise ValueError 2733 2765 else: 2734 data['Layers']['Stacking'][1] = val 2735 numLayers.SetValue(val) 2736 2737 def OnSeqType(event): 2738 data['Layers']['Stacking'][1] = seqType.GetValue() 2739 wx.CallAfter(UpdateLayerData) 2766 data['Layers']['Stacking'][2] = val 2767 except ValueError: 2768 val = data['Layers']['Stacking'][2] 2769 numRan.SetValue(val) 2740 2770 2741 2771 def OnStackList(event): … … 2759 2789 except ValueError: 2760 2790 stack += ' Error in string' 2761 data['Layers']['Stacking'][2] = stack 2791 Slist = stack.split() 2792 if len(Slist) < 2: 2793 stack = 'Error in sequence - too short!' 2794 OKlist = [Slist[i:i+2] in allowedTrans for i in range(len(Slist[:-1]))] 2795 if all(OKlist): 2796 data['Layers']['Stacking'][2] = stack 2797 else: 2798 stack = 'Improbable sequence or bad string' 2762 2799 stackList.SetValue(stack) 2763 2800 … … 2773 2810 topLine.Add(stackType,0,WACV) 2774 2811 if Layers['Stacking'][0] == 'recursive': 2775 topLine.Add(wx.StaticText(layerData,label=' number of layers: '),0,WACV) 2776 numLayers = wx.ComboBox(layerData,value=Layers['Stacking'][1],choices=numChoice, 2777 style=wx.CB_DROPDOWN) 2778 stackType.Bind(wx.EVT_COMBOBOX,OnNumLayers) 2779 stackType.Bind(wx.EVT_TEXT_ENTER,OnNumLayers) 2780 stackType.Bind(wx.EVT_KILL_FOCUS,OnNumLayers) 2812 topLine.Add(wx.StaticText(layerData,label=' number of layers (<1022 or "infinite"): '),0,WACV) 2813 numLayers = wx.TextCtrl(layerData,value=data['Layers']['Stacking'][1],style=wx.TE_PROCESS_ENTER) 2814 numLayers.Bind(wx.EVT_TEXT_ENTER,OnNumLayers) 2815 numLayers.Bind(wx.EVT_KILL_FOCUS,OnNumLayers) 2781 2816 topLine.Add(numLayers,0,WACV) 2782 2817 elif Layers['Stacking'][0] == 'explicit': 2783 2818 topLine.Add(wx.StaticText(layerData,label=' layer sequence: '),0,WACV) 2784 seqType = wx.ComboBox(layerData,value= Layers['Stacking'][1],choices=seqChoice,2819 seqType = wx.ComboBox(layerData,value=data['Layers']['Stacking'][1],choices=seqChoice, 2785 2820 style=wx.CB_READONLY|wx.CB_DROPDOWN) 2786 2821 seqType.Bind(wx.EVT_COMBOBOX,OnSeqType) 2787 2822 topLine.Add(seqType,0,WACV) 2788 stackSizer.Add(topLine,0,WACV) 2789 if Layers['Stacking'][1] == 'list': 2790 Names = [' %s: %d,'%(layer['Name'],iL+1) for iL,layer in enumerate(Layers['Layers'])] 2791 stackSizer.Add(wx.StaticText(layerData,label=' Explicit layer sequence; enter space delimited list of numbers:'),0,WACV) 2792 Str = ' Use sequence nos. from:' 2793 for name in Names: 2794 Str += name 2795 stackSizer.Add(wx.StaticText(layerData,label=Str[:-1]+' Repeat sequences can be used: e.g. 6*(1 2) '),0,WACV) 2796 stackSizer.Add(wx.StaticText(layerData,label=' Zero probability sequences not allowed'),0,WACV) 2797 stackList = wx.TextCtrl(layerData,value=Layers['Stacking'][2],size=(600,-1), 2798 style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER) 2799 stackList.SetValue(Layers['Stacking'][2]) 2800 stackList.Bind(wx.EVT_TEXT_ENTER,OnStackList) 2801 stackList.Bind(wx.EVT_KILL_FOCUS,OnStackList) 2802 stackSizer.Add(stackList,0,wx.ALL|wx.EXPAND|WACV,8) 2823 if Layers['Stacking'][1] == 'list': 2824 stackSizer.Add(topLine,0,WACV) 2825 Names = [' %s: %d,'%(layer['Name'],iL+1) for iL,layer in enumerate(Layers['Layers'])] 2826 stackSizer.Add(wx.StaticText(layerData,label=' Explicit layer sequence; enter space delimited list of numbers:'),0,WACV) 2827 Str = ' Use sequence nos. from:' 2828 for name in Names: 2829 Str += name 2830 stackSizer.Add(wx.StaticText(layerData,label=Str[:-1]+' Repeat sequences can be used: e.g. 6*(1 2) '),0,WACV) 2831 stackSizer.Add(wx.StaticText(layerData,label=' Zero probability sequences not allowed'),0,WACV) 2832 stackList = wx.TextCtrl(layerData,value=Layers['Stacking'][2],size=(600,-1), 2833 style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER) 2834 stackList.Bind(wx.EVT_TEXT_ENTER,OnStackList) 2835 stackList.Bind(wx.EVT_KILL_FOCUS,OnStackList) 2836 stackSizer.Add(stackList,0,wx.ALL|wx.EXPAND|WACV,8) 2837 else: #random 2838 topLine.Add(wx.StaticText(layerData,label=' Length of random sequence: '),0,WACV) 2839 numRan = wx.TextCtrl(layerData,value=Layers['Stacking'][2],style=wx.TE_PROCESS_ENTER) 2840 numRan.Bind(wx.EVT_TEXT_ENTER,OnNumRan) 2841 numRan.Bind(wx.EVT_KILL_FOCUS,OnNumRan) 2842 topLine.Add(numRan,0,WACV) 2843 stackSizer.Add(topLine,0,WACV) 2803 2844 return stackSizer 2804 2845 2805 2846 Layers = data['Layers'] 2806 2847 layerNames = [] 2848 allowedTrans = [] 2807 2849 if len(Layers['Layers']): 2808 2850 layerNames = [layer['Name'] for layer in Layers['Layers']] -
TabularUnified trunk/GSASIIplot.py ¶
r2178 r2181 5814 5814 5815 5815 cell = Layers['Cell'][1:7] 5816 print cell5817 5816 Amat,Bmat = G2lat.cell2AB(cell) #Amat - crystal to cartesian, Bmat - inverse 5818 5817 A4mat = np.concatenate((np.concatenate((Amat,[[0],[0],[0]]),axis=1),[[0,0,0,1],]),axis=0)
Note: See TracChangeset
for help on using the changeset viewer.