Changeset 850 for trunk/readexp.tcl
- Timestamp:
- Dec 4, 2009 5:13:07 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/readexp.tcl
- Property rcs:date changed from 2005/03/24 21:59:06 to 2005/09/12 23:34:24
- Property rcs:lines changed from +50 -16 to +81 -42
- Property rcs:rev changed from 1.44 to 1.45
r843 r850 85 85 unset expmap 86 86 set expmap(Revision) $expmap_Revision 87 # apply any updates to the .EXP file 88 updateexpfile 87 89 # get the defined phases 88 90 set line [readexp " EXPR NPHAS"] … … 186 188 } 187 189 } 190 191 # this routine is called to update changes in the .EXP file 192 proc updateexpfile {} { 193 global exparray 194 # change "CRSx ODFxxx" records to "CRSx OD xxx" records 195 # needed by the June 8, 2005 GSAS release 196 set ODFlist [array names exparray "CRS? ODF*"] 197 if {[llength $ODFlist] > 0} { 198 catch {incr ::expgui(changed)} 199 foreach key $ODFlist { 200 regsub "ODF" $key "OD " newkey 201 set exparray($newkey) $exparray($key) 202 unset exparray($key) 203 } 204 } 205 } 206 188 207 189 208 # return the value for a ISAM key … … 597 616 598 617 ODForder-get { 599 set val [string trim [string range [readexp "CRS$phase OD F"] 0 4]]618 set val [string trim [string range [readexp "CRS$phase OD "] 0 4]] 600 619 if {$val == " "} {return 0} 601 620 return $val … … 603 622 ODForder-set { 604 623 if ![validint value 5] {return 0} 605 setexp "CRS$phase OD F" $value 1 5624 setexp "CRS$phase OD " $value 1 5 606 625 } 607 626 ODFsym-get { 608 set val [string trim [string range [readexp "CRS$phase OD F"] 10 14]]627 set val [string trim [string range [readexp "CRS$phase OD "] 10 14]] 609 628 if {$val == " "} {return 0} 610 629 return $val … … 612 631 ODFsym-set { 613 632 if ![validint value 5] {return 0} 614 setexp "CRS$phase OD F" $value 11 5633 setexp "CRS$phase OD " $value 11 5 615 634 } 616 635 ODFdampA-get { 617 set val [string range [readexp "CRS$phase OD F"] 24 24]636 set val [string range [readexp "CRS$phase OD "] 24 24] 618 637 if {$val == " "} {return 0} 619 638 return $val 620 639 } 621 640 ODFdampA-set { 622 setexp "CRS$phase OD F" $value 25 1641 setexp "CRS$phase OD " $value 25 1 623 642 } 624 643 ODFdampC-get { 625 set val [string range [readexp "CRS$phase OD F"] 29 29]644 set val [string range [readexp "CRS$phase OD "] 29 29] 626 645 if {$val == " "} {return 0} 627 646 return $val 628 647 } 629 648 ODFdampC-set { 630 setexp "CRS$phase OD F" $value 30 1649 setexp "CRS$phase OD " $value 30 1 631 650 } 632 651 ODFomegaRef-get { 633 if {[string toupper [string range [readexp "CRS$phase OD F"] 16 16]] == "Y"} {652 if {[string toupper [string range [readexp "CRS$phase OD "] 16 16]] == "Y"} { 634 653 return 1 635 654 } … … 638 657 ODFomegaRef-set { 639 658 if $value { 640 setexp "CRS$phase OD F" "Y" 17 1659 setexp "CRS$phase OD " "Y" 17 1 641 660 } else { 642 setexp "CRS$phase OD F" "N" 17 1661 setexp "CRS$phase OD " "N" 17 1 643 662 } 644 663 } 645 664 ODFchiRef-get { 646 if {[string toupper [string range [readexp "CRS$phase OD F"] 17 17]] == "Y"} {665 if {[string toupper [string range [readexp "CRS$phase OD "] 17 17]] == "Y"} { 647 666 return 1 648 667 } … … 651 670 ODFchiRef-set { 652 671 if $value { 653 setexp "CRS$phase OD F" "Y" 18 1672 setexp "CRS$phase OD " "Y" 18 1 654 673 } else { 655 setexp "CRS$phase OD F" "N" 18 1674 setexp "CRS$phase OD " "N" 18 1 656 675 } 657 676 } 658 677 ODFphiRef-get { 659 if {[string toupper [string range [readexp "CRS$phase OD F"] 18 18]] == "Y"} {678 if {[string toupper [string range [readexp "CRS$phase OD "] 18 18]] == "Y"} { 660 679 return 1 661 680 } … … 664 683 ODFphiRef-set { 665 684 if $value { 666 setexp "CRS$phase OD F" "Y" 19 1685 setexp "CRS$phase OD " "Y" 19 1 667 686 } else { 668 setexp "CRS$phase OD F" "N" 19 1687 setexp "CRS$phase OD " "N" 19 1 669 688 } 670 689 } … … 672 691 regsub ODFcoef $parm {} term 673 692 set k [expr {($term+5)/6}] 674 if {$k <= 9} {set k " $k"} 693 if {$k <= 9} { 694 set k " $k" 695 } elseif {$k <= 99} { 696 set k " $k" 697 } 675 698 set j [expr {(($term-1) % 6)+1}] 676 set lineB [readexp "CRS$phase OD F${k}B"]699 set lineB [readexp "CRS$phase OD${k}B"] 677 700 set j0 [expr { ($j-1) *10}] 678 701 set j1 [expr {$j0 + 9}] … … 685 708 if ![validreal value 10 3] {return 0} 686 709 set k [expr {($term+5)/6}] 687 if {$k <= 9} {set k " $k"} 710 if {$k <= 9} { 711 set k " $k" 712 } elseif {$k <= 99} { 713 set k " $k" 714 } 688 715 set j [expr {(($term-1) % 6)+1}] 689 716 set col [expr { ($j-1)*10 + 1}] 690 setexp "CRS$phase OD F${k}B" $value $col 10717 setexp "CRS$phase OD${k}B" $value $col 10 691 718 } 692 719 ODFRefcoef-get { 693 if {[string toupper [string range [readexp "CRS$phase OD F"] 19 19]] == "Y"} {720 if {[string toupper [string range [readexp "CRS$phase OD "] 19 19]] == "Y"} { 694 721 return 1 695 722 } … … 698 725 ODFRefcoef-set { 699 726 if $value { 700 setexp "CRS$phase OD F" "Y" 20 1727 setexp "CRS$phase OD " "Y" 20 1 701 728 } else { 702 setexp "CRS$phase OD F" "N" 20 1729 setexp "CRS$phase OD " "N" 20 1 703 730 } 704 731 } 705 732 ODFomega-get { 706 return [string trim [string range [readexp "CRS$phase OD F"] 30 39]]733 return [string trim [string range [readexp "CRS$phase OD "] 30 39]] 707 734 } 708 735 ODFchi-get { 709 return [string trim [string range [readexp "CRS$phase OD F"] 40 49]]736 return [string trim [string range [readexp "CRS$phase OD "] 40 49]] 710 737 } 711 738 ODFphi-get { 712 return [string trim [string range [readexp "CRS$phase OD F"] 50 59]]739 return [string trim [string range [readexp "CRS$phase OD "] 50 59]] 713 740 } 714 741 ODFomega-set { 715 742 if ![validreal value 10 4] {return 0} 716 setexp "CRS$phase OD F" $value 31 10743 setexp "CRS$phase OD " $value 31 10 717 744 } 718 745 ODFchi-set { 719 746 if ![validreal value 10 4] {return 0} 720 setexp "CRS$phase OD F" $value 41 10747 setexp "CRS$phase OD " $value 41 10 721 748 } 722 749 ODFphi-set { 723 750 if ![validreal value 10 4] {return 0} 724 setexp "CRS$phase OD F" $value 51 10751 setexp "CRS$phase OD " $value 51 10 725 752 } 726 753 727 754 ODFterms-get { 728 755 set vallist {} 729 set val [string trim [string range [readexp "CRS$phase OD F"] 5 9]]756 set val [string trim [string range [readexp "CRS$phase OD "] 5 9]] 730 757 for {set i 1} {$i <= $val} {incr i 6} { 731 758 set k [expr {1+($i-1)/6}] 732 if {$k <= 9} {set k " $k"} 733 set lineA [readexp "CRS$phase ODF${k}A"] 759 if {$k <= 9} { 760 set k " $k" 761 } elseif {$k <= 99} { 762 set k " $k" 763 } 764 set lineA [readexp "CRS$phase OD${k}A"] 734 765 set k 0 735 766 for {set j $i} {$j <= $val && $j < $i+6} {incr j} { … … 743 774 } 744 775 ODFterms-set { 745 set key "CRS$phase OD F"776 set key "CRS$phase OD " 746 777 if {![existsexp $key]} { 747 778 makeexprec $key … … 759 790 if {$j % 6 == 1} { 760 791 incr k 761 if {$k <= 9} {set k " $k"} 792 if {$k <= 9} { 793 set k " $k" 794 } elseif {$k <= 99} { 795 set k " $k" 796 } 762 797 set col 1 763 set keyA "CRS$phase OD F${k}A"764 set keyB "CRS$phase OD F${k}B"798 set keyA "CRS$phase OD${k}A" 799 set keyB "CRS$phase OD${k}B" 765 800 if {![existsexp $keyA]} { 766 801 makeexprec $keyA … … 779 814 if {$j % 6 == 1} { 780 815 incr k 781 if {$k <= 9} {set k " $k"} 816 if {$k <= 9} { 817 set k " $k" 818 } elseif {$k <= 99} { 819 set k " $k" 820 } 782 821 set col 1 783 set keyA "CRS$phase OD F${k}A"784 set keyB "CRS$phase OD F${k}B"822 set keyA "CRS$phase OD${k}A" 823 set keyB "CRS$phase OD${k}B" 785 824 delexp $keyA 786 825 delexp $keyB
Note: See TracChangeset
for help on using the changeset viewer.