Changeset 1131 for branches/sandbox


Ignore:
Timestamp:
Apr 14, 2011 2:54:42 PM (12 years ago)
Author:
lake
Message:

Rigid.tcl, expgui, addcmds.tcl and rbimport_cartesian.tcl updates. Simple sort routine added to Edit Matrix.

Location:
branches/sandbox
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/sandbox/addcmds.tcl

    r1121 r1131  
    20222022             }
    20232023     }
    2024     set ::fix_state_X [Fix_State 1 $numberList X]
    2025     set ::fix_state_Y [Fix_State 1 $numberList Y]
    2026     set ::fix_state_Z [Fix_State 1 $numberList Z]
     2024    set ::fix_state_X [Fix_State $i $numberList X]
     2025    set ::fix_state_Y [Fix_State $i $numberList Y]
     2026    set ::fix_state_Z [Fix_State $i $numberList Z]
    20272027}
    20282028
  • branches/sandbox/expgui

    r1120 r1131  
    1 #!/bin/sh 
     1#!/bin/sh
    22# the next line restarts this script using wish found in the path\
    33exec wish "$0" "$@"
     
    10481048
    10491049    # don't reload the last displayed phase
    1050     if {$expgui(curPhase) == $crsPhase} return
     1050    if {$expgui(curPhase) == $crsPhase} {
     1051       DisplayAllAtoms $crsPhase
     1052       return
     1053    }
    10511054
    10521055    ##########################################################
  • branches/sandbox/rbimport_cartesian.tcl

    r1121 r1131  
    3535
    3636proc RB_cart {location args} {
     37     catch {unset array ::tline}
    3738     set ::rb_file_load [tk_getOpenFile -parent .cartesian -filetypes {
    3839            {"Cratesian input" .cart} {"All files" *}}]
    3940     if {[string trim $::rb_file_load] == ""} return
    4041     set fh [open $::rb_file_load r]
    41      set ::rb_linenum 1
    42      while {[eof $fh] != 1} {
    43            set temp [gets $fh line]
    44            set ::tline($::rb_linenum) [string map {, " "} $line]
    45 #           puts "$::rb_linenum line = $::tline($::rb_linenum)"
    46            incr ::rb_linenum
     42     set ::rb_linenum 0
     43     while {[gets $fh line] >= 0} {
     44           set line [string trim $line]
     45           if {$line == ""} continue
     46#           puts "blankcheck = $blankcheck\ntemp = $temp"
     47#           set temp [string trim $line " "]
     48#           if {$blankcheck != "0" && $blankcheck != "-1"}
     49#           if {$blankcheck != ""} {
     50              incr ::rb_linenum
     51              set ::tline($::rb_linenum) [string map {, " "} $line]
     52              puts "::tline($::rb_linenum) = $::tline($::rb_linenum) "
     53#           }
     54
     55
    4756     }
    4857     RB_cart_Display $location
     58
    4959 }
    5060
  • branches/sandbox/rigid.tcl

    r1126 r1131  
    102102     set ::rb_map_origin($phase,$bodytyp,$mapnum) [lindex $rb_map 1]
    103103     set ::rb_map_euler($phase,$bodytyp,$mapnum) [lindex $rb_map 2]
    104      set ::rb_map_positions($phase,$bodytyp,$mapnum) [lindex $rb_map 3]
     104     set ::rb_map_positionvars($phase,$bodytyp,$mapnum) [lindex $rb_map 3]
    105105     set ::rb_map_damping($phase,$bodytyp,$mapnum) [lindex $rb_map 4]
    106106     set ::rb_map_tls($phase,$bodytyp,$mapnum) [lindex $rb_map 5]
     
    136136
    137137
    138      foreach bodynum [RigidBodyList] {
    139          $::rb_notebook insert $bodynum rb_body$bodynum -text "Rigid Body Type $bodynum"  \
    140          -raisecmd "RB_Populate $::rb_notebook $bodynum"
    141         lappend pagelist rb_body$bodynum
     138     foreach bodnum [RigidBodyList] {
     139         $::rb_notebook insert $bodnum rb_body$bodnum -text "Rigid Body Type $bodnum"  \
     140         -raisecmd "RB_Populate $::rb_notebook $bodnum"
     141        lappend pagelist rb_body$bodnum
    142142     }
    143143
     
    295295     putontop $really
    296296     wm title $really "Delete Rigid Body"
    297      wm geometry $really 250x250+10+10
     297     #wm geometry $really 250x250+10+10
    298298     grid [label $really.lbl -text "Confirm \n Is rigid body $bodytyp to be deleted?"] -row 0 -column 0 -columnspan 2 -pady 15
    299299
     
    311311                     UnMapRigidBody $p $bodytyp $map
    312312             }
    313         lappend pagelist rb_body$x
     313#       lappend pagelist rb_body$x
    314314     }
    315315#    delete the rigid body
     
    328328
    329329proc RB_Populate {rb_notebook bodytyp args} {
     330     set ::rb_panel $bodytyp
    330331     set phaselist $::expmap(phaselist)
    331332     # set notebook frame
     
    337338     #Rigid body mapping control panel along with matrix multipliers and damping factor labels
    338339     grid [label  $con.rb_num -text "Rigid Body Type $bodytyp"] -row 0 -column 0 -padx 5 -pady 5
    339      grid [button $con.rb_newmap -text "Map Body $bodytyp" -command "RB_Map_New $bodytyp"] -row 0 -column 1 -padx 5 -pady 5
    340      grid [button $con.rb_unmap -text "Unmap Body $bodytyp" -command "RB_Unmap $bodytyp"] -row 0 -column 2 -padx 5 -pady 5
    341      button $con.rb_delete -text "Delete Body $bodytyp" -command "RB_Delete_Body $bodytyp $con.rb_delete"
     340     grid [button $con.rb_newmap -text "Map Body $bodytyp" -command "RB_Map_New $bodytyp" -width 18] -row 0 -column 1 -padx 5 -pady 5
     341     grid [button $con.rb_unmap -text "Unmap Body $bodytyp" -command "RB_Unmap $bodytyp" -width 18] -row 0 -column 2 -padx 5 -pady 5
     342     button $con.rb_delete -text "Delete Body $bodytyp" -command "RB_Delete_Body $bodytyp $con.rb_delete" -width 18
    342343     grid   $con.rb_delete -row 4 -column 2 -padx 5 -pady 5
    343344
     
    346347     grid [label $con.rb_mlbl2 -text "Multiplier"] -row 2 -column 0
    347348     grid [label $con.rb_mlbl3 -text "Damping Factor"] -row 3 -column 0
    348      grid [button $con.plot -text "Plot Rigid Body" -command "PlotRBtype $bodytyp"] -row 4 -column 0
     349     grid [button $con.plot -text "Plot Rigid Body" -command "PlotRBtype $bodytyp" -width 18] -row 4 -column 0
    349350
    350351     set matrixnum 0
     
    356357     }
    357358
    358      button $con.rb_vmatrix -text "Edit Matrix Info" -command "RB_Edit_Matrix $matrixnum"
     359     button $con.rb_vmatrix -text "Edit Matrix" -command "RB_Edit_Matrix $matrixnum" -width 18
    359360     grid   $con.rb_vmatrix -row 4 -column 1 -padx 5 -pady 5
    360 
     361     grid [button $con.refine -text "Refinement \n Flags" -command "RB_Refine_Con" -width 18 ] -row 5 -column 1
    361362
    362363     # create header for mapping data
     
    389390                      RB_Load_Mapdata $phase $bodytyp $mapnum
    390391                      grid [label $main.rb_map$phase$mapnum -text "$mapnum"] -row $row -column 1
    391                       grid [label $main.rb_cb$phase$mapnum -text $mapnum] -row $row -column 2
     392                      grid [label $main.rb_cb$phase$mapnum -text $phase] -row $row -column 2
    392393                      set origin $::rb_map_origin($phase,$bodytyp,$mapnum)
    393394
     
    402403                                  label $main.rb_euler_$phase$mapnum$axis -text "[format %1.2f $angle]"
    403404                      }
    404                       grid [button $main.rb_tls$phase$mapnum -text "Refine" -command "RB_Refine_Con" -width 7] -row $row -column 9
     405#                      grid [button $main.rb_tls$phase$mapnum -text "Refine" -command "RB_Refine_Con" -width 7] -row $row -column 9
     406                       grid [label $main.rb_tls$phase$mapnum -text "     "] -row $row -column 9
    405407                      set q 1
    406408                      grid $main.rb_euler_$phase$mapnum$q -row $row -column 6  -padx 5
     
    435437    set nm .newmap
    436438    toplevel $nm
     439    putontop $nm
    437440    wm title $nm "Map Rigid Body #$bodytyp"
    438441
     
    484487    }
    485488    trace variable ::rb_phase w "RB_ProcessPhase $bodytyp"
    486     RB_Control_Panel $bodytyp
     489
     490
    487491}
    488492
     
    525529      tkwait window $ca
    526530      afterputontop
     531      raise .newmap
    527532}
    528533
     
    667672#   RB_Control_Panel $::body_type
    668673   destroy .newmap
     674   RunRecalcRBCoords
     675   incr ::expgui(changed)
     676   RB_Control_Panel $::body_type
     677
    669678}
    670679
     
    722731    set um .unmap
    723732    toplevel $um
     733    putontop $um
    724734    wm title $um "Map Rigid Body #$x"
    725735    set ::phase 1
     
    768778     grid $um.update.con -row 0 -column 0 -padx 5 -pady 5
    769779     grid $um.update.quit -row 0 -column 1
     780     incr ::expgui(changed)
    770781
    771782#     UnMapRigidBody $phase $bodytyp $mapnum
     
    787798        $::rb_notebook raise [$::rb_notebook page end]
    788799        $::rb_notebook raise $curpage
    789 #        RB_Control_Panel $x
    790      }
    791 }
    792 
    793 
    794 proc RB_Edit_Matrix {bodynum args} {
     800        RB_Control_Panel $x
     801     }
     802}
     803
     804
     805proc RB_Edit_Matrix {bodnum args} {
    795806     catch {destroy .viewmatrix}
    796807     set em .viewmatrix
    797808     toplevel $em
    798      wm title $em "View Matrices for Rigid Body $bodynum"
     809     putontop $em
     810     wm title $em "Edit Matrices for Rigid Body $bodnum"
    799811
    800812     set vm $em.entry
     
    802814     grid [frame $vm -bd 2 -relief groove] -row 0 -column 0
    803815     grid [frame $um -bd 2 -relief groove] -row 1 -column 0
    804      grid [button $um.update -text "Update Matrix Info" -bg green -command "RB_Matrix_Update $bodynum"] -row 0 -column 0
    805      grid [button $um.abort -text "Abort" -command "destroy $em"] -row 0 -column 1
    806 
    807      grid [label $vm.lbldamp -text "Matrix Multiplier"] -row 3 -column 0
    808      grid [label $vm.lblvar -text "Damping Factor"] -row 4 -column 0
     816     grid [button $um.update -text "Update Matrix Info" -bg green -command "RB_Matrix_Update $bodnum"] -row 0 -column 0
     817 #    grid [button $um.sort -text "Sort Matrix Info" -command "RB_Cart_Sort $bodnum"] -row 0 -column 1
     818     grid [button $um.abort -text "Abort" -command "destroy $em"] -row 0 -column 2
     819
     820     grid [label $vm.lbldamp -text "Matrix Multiplier"] -row 3 -column 2
     821     grid [label $vm.lblvar -text "Damping Factor"] -row 4 -column 2
    809822
    810823     set w 1
    811      for {set z 0} {$z < $::rb_coord_num($bodynum,$w)} {incr z} {
    812          grid [label $vm.lbls$z -text "Site [expr $z+ 1]"] -row [expr $z+6] -column 0
    813      }
    814      set col 1
    815      for {set i 1} {$i <= $::rb_matrix_num($bodynum)} {incr i} {
     824     grid [label $vm.site -text "sort"] -row 5 -column 0 -columnspan 2
     825
     826     for {set z 0} {$z < $::rb_coord_num($bodnum,$w)} {incr z} {
     827         grid [button $vm.inc$z -text "\u2191" -command "RB_Sort_Inc $bodnum inc $z"] -row [expr $z + 6] -column 0
     828         grid [button $vm.dec$z -text "\u2193" -command "RB_Sort_Inc $bodnum dec $z"] -row [expr $z + 6] -column 1
     829         grid [label $vm.lbls$z -text "Site [expr $z+ 1]"] -row [expr $z+6] -column 2
     830     }
     831     set col 3
     832     for {set i 1} {$i <= $::rb_matrix_num($bodnum)} {incr i} {
    816833         grid [label $vm.lblm$i -text "Matrix #$i"] -row 2 -column [expr $col +1]
    817          grid [entry $vm.mult$i -textvariable ::rb_mult($bodynum,$i) -width 8 -takefocus 1] -row 3 -column [expr $col + 1]
    818          grid [entry $vm.damp$i -textvariable ::rb_damp($bodynum,$i) -width 8 -takefocus 1] -row 4 -column [expr $col + 1]
     834         grid [entry $vm.mult$i -textvariable ::rb_mult($bodnum,$i) -width 8 -takefocus 1] -row 3 -column [expr $col + 1]
     835         grid [entry $vm.damp$i -textvariable ::rb_damp($bodnum,$i) -width 8 -takefocus 1 -state disable] -row 4 -column [expr $col + 1]
     836
    819837         grid [label $vm.x$i -text "X"] -row 5 -column [expr $col]
    820838         grid [label $vm.y$i -text "Y"] -row 5 -column [expr $col + 1]
    821839         grid [label $vm.z$i -text "Z"] -row 5 -column [expr $col + 2]
    822          for {set j 0} {$j < $::rb_coord_num($bodynum,$w)} {incr j} {
    823 #             puts $::rb_coord($bodynum,$i,$j)
    824              set ::x($i,$j) [lindex $::rb_coord($bodynum,$i,$j) 0]
    825              set ::y($i,$j) [lindex $::rb_coord($bodynum,$i,$j) 1]
    826              set ::z($i,$j) [lindex $::rb_coord($bodynum,$i,$j) 2]
    827              set ::lbl($i,$j) [lindex $::rb_coord($bodynum,$i,$j) 3]
     840         for {set j 0} {$j < $::rb_coord_num($bodnum,$w)} {incr j} {
     841#             puts $::rb_coord($bodnum,$i,$j)
     842             set ::x($i,$j) [lindex $::rb_coord($bodnum,$i,$j) 0]
     843             set ::y($i,$j) [lindex $::rb_coord($bodnum,$i,$j) 1]
     844             set ::z($i,$j) [lindex $::rb_coord($bodnum,$i,$j) 2]
     845             set ::lbl($i,$j) [lindex $::rb_coord($bodnum,$i,$j) 3]
    828846
    829847             grid [entry $vm.lblcx$i$j -textvariable ::x($i,$j) -width 8 -takefocus 1] -row [expr $j+6] -column [expr $col]
     
    834852     incr col 4
    835853     }
    836 
    837      putontop $em
    838 }
    839 
    840 
    841 proc RB_Matrix_Update {bodytyp args} {
     854}
     855
     856
     857
     858proc RB_Sort_Inc {bodnum dir site2 args} {
     859     for {set i 1} {$i <= $::rb_matrix_num($bodnum)} {incr i} {
     860         if {$dir == "inc"} {set site1 [expr $site2 - 1]}
     861         if {$dir == "dec"} {set site1 [expr $site2 + 1]}
     862         if {$site1 >= 0 && $site1 < $::rb_coord_num($bodnum,1)} {
     863            set x1dum $::x($i,$site1)
     864            set y1dum $::y($i,$site1)
     865            set z1dum $::z($i,$site1)
     866            set ::x($i,$site1) $::x($i,$site2)
     867            set ::y($i,$site1) $::y($i,$site2)
     868            set ::z($i,$site1) $::z($i,$site2)
     869            set ::x($i,$site2) $x1dum
     870            set ::y($i,$site2) $y1dum
     871            set ::z($i,$site2) $z1dum
     872         } else {bell}
     873
     874
     875     }
     876}
     877
     878proc RB_Matrix_Update {bodnum args} {
    842879     set temp_mat ""
    843880     set temp_car ""
     
    846883     set total ""
    847884
    848      for {set matrixnum 1} {$matrixnum <= $::rb_matrix_num($bodytyp)} {incr matrixnum} {
    849          lappend temp_mat "$::rb_mult($bodytyp,$matrixnum)"
    850      }
    851 
    852      for {set matrixnum 1} {$matrixnum <= $::rb_matrix_num($bodytyp)} {incr matrixnum} {
     885     for {set matrixnum 1} {$matrixnum <= $::rb_matrix_num($bodnum)} {incr matrixnum} {
     886         lappend temp_mat "$::rb_mult($bodnum,$matrixnum)"
     887     }
     888
     889     for {set matrixnum 1} {$matrixnum <= $::rb_matrix_num($bodnum)} {incr matrixnum} {
    853890         set temp ""
    854          for {set atomnum 1} {$atomnum <= $::::rb_coord_num($bodytyp,1)} {incr atomnum} {
     891         for {set atomnum 0} {$atomnum < $::::rb_coord_num($bodnum,1)} {incr atomnum} {
    855892                  set temp_cart_triplet "$::x($matrixnum,$atomnum) $::y($matrixnum,$atomnum) $::z($matrixnum,$atomnum)"
    856893                  lappend temp $temp_cart_triplet
     
    858895         lappend temp_car $temp
    859896     }
    860 #     puts "Matrix Update Info = $bodynum $temp_mat $temp_car"
    861 #     ReplaceRigidBody $bodynum $temp_mat $temp_car
    862 #     incr ::expgui(changed)
    863 #     RB_Load_RBdata
    864 #     RB_Control_Panel 1
     897     puts "Matrix Update Info = $bodnum $temp_mat $temp_car"
     898     ReplaceRigidBody $bodnum $temp_mat $temp_car
     899     incr ::expgui(changed)
     900     RB_Load_RBdata
     901     RB_Control_Panel $bodnum
     902     destroy .viewmatrix
    865903
    866904}
     
    12531291     wm geometry $con 1150x600+10+10
    12541292     set ::rb_var_list ""
     1293     set ::rb_var_list_tls ""
     1294     set ::varnum 1
     1295     set ::rb_var_name "var$::varnum"
    12551296#     putontop $con
    12561297      grid [frame $con.info -bd 2 -relief groove] -row 1 -column 0 -sticky news
    12571298      grid columnconfig $con 0 -weight 1
    1258       grid [frame $con.con -bd 2 -relief groove] -row 0 -column 0
     1299      grid [frame $con.con -bd 2 -relief groove] -row 0 -column 0
     1300      grid [frame $con.terminate -bd 2 -relief groove] -row 2 -column 0
    12591301
    12601302
     
    12731315             grid [label $top.e2 -text "E2"] -row 1 -column 9 -padx 3
    12741316             grid [label $top.e3 -text "E3"] -row 1 -column 10 -padx 3
    1275              grid [label $top.b2 -text "   "] -row 1 -column 11 -padx 3
     1317             grid [label $top.tlscon1 -text "on/off"] -row 1 -column 11 -padx 3
     1318#             grid [label $top.b2 -text "   "] -row 1 -column 11 -padx 3
    12761319             grid [label $top.t11 -text "T11"] -row 1 -column 12 -padx 3
    12771320             grid [label $top.t22 -text "T22"] -row 1 -column 13 -padx 3
     
    12991342             grid [label $top.refcoord -text "Origin"] -row 0 -column 4 -padx 5 -columnspan 3
    13001343             grid [label $top.refeuler -text "Euler Angles"] -row 0 -column 8 -padx 5 -columnspan 3
     1344             grid [label $top.tlscon2 -text "TLS"] -row 0 -column 11
    13011345             grid [label $top.tls -text "TLS"] -row 0 -column 12 -padx 5 -columnspan 6
    13021346#             grid [label $top.atoms -text "Atoms in Mapping"] -row 0 -column 6 -padx 5 -columnspan 10
     
    13041348             #Determine number of rigid bodies and rigid body mappings
    13051349             set rb_num [RigidBodyList]
    1306 #             set rb_phase $::expmap(phaselist)
    13071350             set row 1
    13081351             foreach phasenum $::expmap(phaselist) {
    1309  #                puts "phase = $phasenum"
    13101352                 foreach bodnum $rb_num {
    1311 #                 puts "bodnum = $bodnum  rb_num = $rb_num"
    13121353                     set rb_map_num($phasenum,$bodnum) [RigidBodyMappingList $phasenum $bodnum]
    1313 #                 puts "number of maps = rb_map_num($phasenum,$bodnum)"
    1314                      for {set mapnum 1} {$mapnum <= $rb_map_num($phasenum,$bodnum)} {incr mapnum} {
     1354
     1355                  foreach mapnum $rb_map_num($phasenum,$bodnum) {
    13151356#                         puts "mapnum = $mapnum"
    1316                          grid [checkbutton $main.check($bodnum,$mapnum)] -row $row -column 0
    1317                          grid [label $main.body($bodnum,$mapnum) -text $bodnum] -row $row -column 1
    1318                          grid [label $main.phase($bodnum,$mapnum) -text $phasenum] -row $row -column 2
    1319                          grid [label $main.map($bodnum,$mapnum) -text $mapnum] -row $row -column 3
    1320 
    1321                          set ::rb_var($bodnum,$mapnum,x) ""
    1322                          set ::rb_var($bodnum,$mapnum,y) ""
    1323                          set ::rb_var($bodnum,$mapnum,z) ""
    1324 
    1325                          lappend ::rb_var_list ::rb_var($bodnum,$mapnum,x) ::rb_var($bodnum,$mapnum,y) ::rb_var($bodnum,$mapnum,z)
    1326 
    1327                          set ::rb_var($bodnum,$mapnum,e1) ""
    1328                          set ::rb_var($bodnum,$mapnum,e2) ""
    1329                          set ::rb_var($bodnum,$mapnum,e3) ""
    1330 
    1331                          lappend ::rb_var_list ::rb_var($bodnum,$mapnum,e1) ::rb_var($bodnum,$mapnum,e2) ::rb_var($bodnum,$mapnum,e3)
    1332 
    1333 
    1334                          set ::rb_var($bodnum,$mapnum,t11) ""
    1335                          set ::rb_var($bodnum,$mapnum,t22) ""
    1336                          set ::rb_var($bodnum,$mapnum,t33) ""
    1337                          set ::rb_var($bodnum,$mapnum,t12) ""
    1338                          set ::rb_var($bodnum,$mapnum,t13) ""
    1339                          set ::rb_var($bodnum,$mapnum,t23) ""
    1340 
    1341                          lappend ::rb_var_list ::rb_var($bodnum,$mapnum,t11) ::rb_var($bodnum,$mapnum,t22) ::rb_var($bodnum,$mapnum,t33)
    1342                          lappend ::rb_var_list ::rb_var($bodnum,$mapnum,t12) ::rb_var($bodnum,$mapnum,t13) ::rb_var($bodnum,$mapnum,t23)
    1343 
    1344                          set ::rb_var($bodnum,$mapnum,l11) ""
    1345                          set ::rb_var($bodnum,$mapnum,l22) ""
    1346                          set ::rb_var($bodnum,$mapnum,l33) ""
    1347                          set ::rb_var($bodnum,$mapnum,l12) ""
    1348                          set ::rb_var($bodnum,$mapnum,l13) ""
    1349                          set ::rb_var($bodnum,$mapnum,l23) ""
    1350 
    1351                          lappend ::rb_var_list ::rb_var($bodnum,$mapnum,l11) ::rb_var($bodnum,$mapnum,l22) ::rb_var($bodnum,$mapnum,l33)
    1352                          lappend ::rb_var_list ::rb_var($bodnum,$mapnum,l12) ::rb_var($bodnum,$mapnum,l13) ::rb_var($bodnum,$mapnum,l23)
    1353 
    1354                          set ::rb_var($bodnum,$mapnum,s12) ""
    1355                          set ::rb_var($bodnum,$mapnum,s13) ""
    1356                          set ::rb_var($bodnum,$mapnum,s21) ""
    1357                          set ::rb_var($bodnum,$mapnum,s23) ""
    1358                          set ::rb_var($bodnum,$mapnum,s31) ""
    1359                          set ::rb_var($bodnum,$mapnum,s32) ""
    1360                          set ::rb_var($bodnum,$mapnum,saa) ""
    1361                          set ::rb_var($bodnum,$mapnum,sbb) ""
    1362 
    1363                          lappend ::rb_var_list ::rb_var($bodnum,$mapnum,s12) ::rb_var($bodnum,$mapnum,s13) ::rb_var($bodnum,$mapnum,s21)
    1364                          lappend ::rb_var_list ::rb_var($bodnum,$mapnum,s23) ::rb_var($bodnum,$mapnum,s31) ::rb_var($bodnum,$mapnum,s32)
    1365                          lappend ::rb_var_list ::rb_var($bodnum,$mapnum,saa) ::rb_var($bodnum,$mapnum,sbb)
     1357                         grid [checkbutton $main.check($phasenum,$bodnum,$mapnum)] -row $row -column 0
     1358                         grid [label $main.body($phasenum,$bodnum,$mapnum) -text $bodnum] -row $row -column 1
     1359                         grid [label $main.phase($phasenum,$bodnum,$mapnum) -text $phasenum] -row $row -column 2
     1360                         grid [label $main.map($phasenum,$bodnum,$mapnum) -text $mapnum] -row $row -column 3
     1361                         RB_Load_Vars $phasenum $bodnum $mapnum
     1362#                         puts "the checkbutton variable is $::rb_var($phasenum,$bodnum,$mapnum,tls)"
    13661363
    13671364#                         puts $main
    1368                          grid [button $main.cfefx($bodnum,$mapnum) -command "RB_Con_Button $main.cfefx($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,x) -width 5] -row $row -column 4
    1369                          grid [button $main.cfefy($bodnum,$mapnum) -command "RB_Con_Button $main.cfefy($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,y) -width 5]  -row $row -column 5
    1370                          grid [button $main.cfefz($bodnum,$mapnum) -command "RB_Con_Button $main.cfefz($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,z) -width 5] -row $row -column 6
    1371                          grid [label $main.b1($bodnum,$mapnum) -text "   "] -row $row -column 7
    1372 
    1373                          grid [button $main.eref1($bodnum,$mapnum) -command "RB_Con_Button $main.eref1($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,e1) -width 5] -row $row -column 8
    1374                          grid [button $main.eref2($bodnum,$mapnum) -command "RB_Con_Button $main.eref2($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,e2) -width 5] -row $row -column 9
    1375                          grid [button $main.eref3($bodnum,$mapnum) -command "RB_Con_Button $main.eref3($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,e3) -width 5] -row $row -column 10
    1376                          grid [label $main.b2($bodnum,$mapnum) -text "   "] -row $row -column 11
    1377 
    1378                          grid [button $main.t11ref($bodnum,$mapnum) -command "RB_Con_Button $main.t11ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,t11) -width 5] -row $row -column 12
    1379                          grid [button $main.t22ref($bodnum,$mapnum) -command "RB_Con_Button $main.t22ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,t22) -width 5] -row $row -column 13
    1380                          grid [button $main.t33ref($bodnum,$mapnum) -command "RB_Con_Button $main.t33ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,t33) -width 5] -row $row -column 14
    1381                          grid [button $main.t12ref($bodnum,$mapnum) -command "RB_Con_Button $main.t12ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,t12) -width 5] -row $row -column 15
    1382                          grid [button $main.t13ref($bodnum,$mapnum) -command "RB_Con_Button $main.t13ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,t13) -width 5] -row $row -column 16
    1383                          grid [button $main.t23ref($bodnum,$mapnum) -command "RB_Con_Button $main.t23ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,t23) -width 5] -row $row -column 17
    1384                          grid [label $main.b3($bodnum,$mapnum) -text "   "] -row $row -column 18
    1385 
    1386                          grid [button $main.l11ref($bodnum,$mapnum) -command "RB_Con_Button $main.l11ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,l11) -width 5] -row $row -column 19
    1387                          grid [button $main.l22ref($bodnum,$mapnum) -command "RB_Con_Button $main.l22ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,l22) -width 5] -row $row -column 20
    1388                          grid [button $main.l33ref($bodnum,$mapnum) -command "RB_Con_Button $main.l33ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,l33) -width 5] -row $row -column 21
    1389                          grid [button $main.l12ref($bodnum,$mapnum) -command "RB_Con_Button $main.l12ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,l12) -width 5] -row $row -column 22
    1390                          grid [button $main.l13ref($bodnum,$mapnum) -command "RB_Con_Button $main.l13ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,l13) -width 5] -row $row -column 23
    1391                          grid [button $main.l23ref($bodnum,$mapnum) -command "RB_Con_Button $main.l23ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,l23) -width 5] -row $row -column 24
    1392                          grid [label $main.b4($bodnum,$mapnum) -text "   "] -row $row -column 25
    1393 
    1394                          grid [button $main.s12ref($bodnum,$mapnum) -command "RB_Con_Button $main.s12ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,s12) -width 5] -row $row -column 26
    1395                          grid [button $main.s13ref($bodnum,$mapnum) -command "RB_Con_Button $main.s13ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,s13) -width 5] -row $row -column 27
    1396                          grid [button $main.s21ref($bodnum,$mapnum) -command "RB_Con_Button $main.s21ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,s21) -width 5] -row $row -column 28
    1397                          grid [button $main.s23ref($bodnum,$mapnum) -command "RB_Con_Button $main.s23ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,s23) -width 5] -row $row -column 29
    1398                          grid [button $main.s31ref($bodnum,$mapnum) -command "RB_Con_Button $main.s31ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,s31) -width 5] -row $row -column 30
    1399                          grid [button $main.s32ref($bodnum,$mapnum) -command "RB_Con_Button $main.s32ref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,s32) -width 5] -row $row -column 31
    1400                          grid [button $main.saaref($bodnum,$mapnum) -command "RB_Con_Button $main.saaref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,saa) -width 5] -row $row -column 32
    1401                          grid [button $main.sbbref($bodnum,$mapnum) -command "RB_Con_Button $main.sbbref($bodnum,$mapnum)" -textvariable ::rb_var($bodnum,$mapnum,sbb) -width 5] -row $row -column 33
    1402 
    1403 
    1404                          set col 4
     1365                         grid [button $main.cfefx($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.cfefx($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,x) -width 5] -row $row -column 4
     1366                         grid [button $main.cfefy($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.cfefy($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,y) -width 5]  -row $row -column 5
     1367                         grid [button $main.cfefz($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.cfefz($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,z) -width 5] -row $row -column 6
     1368                         grid [label $main.b1($phasenum,$bodnum,$mapnum) -text "   "] -row $row -column 7
     1369
     1370                         grid [button $main.eref1($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.eref1($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,e1) -width 5] -row $row -column 8
     1371                         grid [button $main.eref2($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.eref2($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,e2) -width 5] -row $row -column 9
     1372                         grid [button $main.eref3($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.eref3($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,e3) -width 5] -row $row -column 10
     1373#                         grid [label $main.b2($phasenum,$bodnum,$mapnum) -text "   "] -row $row -column 11
     1374
     1375                         grid [checkbutton $main.tlscon($phasenum,$bodnum,$mapnum) -variable ::rb_var($phasenum,$bodnum,$mapnum,tls) -command "RB_TLS_Onoff $phasenum $main $bodnum $mapnum" -width 5] -row $row -column 11
     1376
     1377
     1378                         grid [button $main.t11ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.t11ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,t11) -width 5] -row $row -column 12
     1379                         grid [button $main.t22ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.t22ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,t22) -width 5] -row $row -column 13
     1380                         grid [button $main.t33ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.t33ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,t33) -width 5] -row $row -column 14
     1381                         grid [button $main.t12ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.t12ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,t12) -width 5] -row $row -column 15
     1382                         grid [button $main.t13ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.t13ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,t13) -width 5] -row $row -column 16
     1383                         grid [button $main.t23ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.t23ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,t23) -width 5] -row $row -column 17
     1384                         grid [label $main.b3($phasenum,$bodnum,$mapnum) -text "   "] -row $row -column 18
     1385
     1386                         grid [button $main.l11ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.l11ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,l11) -width 5] -row $row -column 19
     1387                         grid [button $main.l22ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.l22ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,l22) -width 5] -row $row -column 20
     1388                         grid [button $main.l33ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.l33ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,l33) -width 5] -row $row -column 21
     1389                         grid [button $main.l12ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.l12ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,l12) -width 5] -row $row -column 22
     1390                         grid [button $main.l13ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.l13ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,l13) -width 5] -row $row -column 23
     1391                         grid [button $main.l23ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.l23ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,l23) -width 5] -row $row -column 24
     1392                         grid [label $main.b4($phasenum,$bodnum,$mapnum) -text "   "] -row $row -column 25
     1393
     1394                         grid [button $main.s12ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.s12ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,s12) -width 5] -row $row -column 26
     1395                         grid [button $main.s13ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.s13ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,s13) -width 5] -row $row -column 27
     1396                         grid [button $main.s21ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.s21ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,s21) -width 5] -row $row -column 28
     1397                         grid [button $main.s23ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.s23ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,s23) -width 5] -row $row -column 29
     1398                         grid [button $main.s31ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.s31ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,s31) -width 5] -row $row -column 30
     1399                         grid [button $main.s32ref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.s32ref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,s32) -width 5] -row $row -column 31
     1400                         grid [button $main.saaref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.saaref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,saa) -width 5] -row $row -column 32
     1401                         grid [button $main.sbbref($phasenum,$bodnum,$mapnum) -command "RB_Con_Button $main.sbbref($phasenum,$bodnum,$mapnum)" -textvariable ::rb_var($phasenum,$bodnum,$mapnum,sbb) -width 5] -row $row -column 33
     1402
     1403                         RB_TLS_Onoff $phasenum $main $bodnum $mapnum
     1404
     1405
     1406#                         set col 4
    14051407                         set atomnum $::rb_map_beginning($phasenum,$bodnum,$mapnum)
    14061408#                         puts "first atom = $atomnum"
     1409#                         set atomlist "atoms in rigid body #$bodnum:    "
     1410                         set atomlist "atoms in rigid body:    "
    14071411                         for {set j 1} {$j <=$::rb_coord_num($bodnum,1)} {incr j} {
    14081412                             set atom [atominfo $phasenum $atomnum label]
    1409                              grid [label $main.rb_site$phasenum$mapnum$j -text "$atom"] -row [expr $row +1] -column $col -padx 5
     1413                             lappend atomlist $atom
     1414#                            grid [label $main.rb_site$phasenum$mapnum$j -text "$atom"] -row [expr $row +1] -column $col -padx 5
    14101415                             incr atomnum
    1411                              incr col
     1416#                             incr col
    14121417                        }
    1413 
    1414                          incr row 2
     1418                        grid [label $main.rb_site$phasenum$mapnum$j -text "$atomlist"] -row [expr $row + 1] -column 4 -padx 5 -columnspan 999 -sticky w
     1419                        incr row 2
    14151420                     }
    14161421                 }
     
    14191424             set ::rbaddresses [winfo children .refcon.info.can.f]
    14201425
    1421              set ::rb_var_name "var1"
     1426             set ::rb_var_name "var$::varnum"
    14221427             set free "free"
    14231428             set const ""
    14241429
    14251430             grid [label $con.con.lbl -text "Set Variables Selected Below"] -row 1 -column 1
    1426              grid [button $con.con.free -width 20 -text "Set Free Variable" -command {RB_Con_But_Proc $::rbaddresses free}] -row 2 -column 1
    1427              grid [button $con.con.const -width 20 -text "Do Not Refine Variables" -command {RB_Con_But_Proc $::rbaddresses ""}] -row 3 -column 1
    1428              grid [button $con.con.var -width 20 -text "Set Constrained Variables" -command {RB_Con_But_Proc $::rbaddresses $::rb_var_name}] -row 4 -column 1
     1431             grid [button $con.con.free -width 22 -text "Set Free Variable" -command {RB_Con_But_Proc $::rbaddresses free}] -row 2 -column 1
     1432             grid [button $con.con.const -width 22 -text "Do Not Refine Variables" -command {RB_Con_But_Proc $::rbaddresses ""}] -row 3 -column 1
     1433             grid [button $con.con.var -width 22 -text "Set Constrained Variables" -command {RB_Con_But_Proc $::rbaddresses $::rb_var_name; incr ::varnum; set ::rb_var_name "var$::varnum"}] -row 4 -column 1
    14291434             grid [entry $con.con.vare -textvariable ::rb_var_name -width 5] -row 4 -column 2
    1430              grid [button $con.con.save -width 20 -text "Assign Variables and Save" -command RB_Var_Assign] -row 5 -column 1
    1431 
     1435             grid [button $con.con.clear -width 22 -text "Clear All Variables" -command {RB_Variable_Clear}] -row 5 -column 1
     1436             grid [button $con.terminate.save -width 22 -text "Assign Variables and Save" -command RB_Var_Assign] -row 5 -column 1
     1437             grid [button $con.terminate.quit -width 22 -text "Quit" -command  {destroy .refcon}] -row 6 -column 1
     1438
     1439}
     1440
     1441proc RB_Variable_Clear {} {
     1442     foreach var $::rb_var_list {
     1443             set $var ""
     1444     }
     1445     foreach var $::rb_var_list_tls {
     1446             set $var ""
     1447     }
    14321448
    14331449}
     
    14361452#     puts "$addresses $change"
    14371453     foreach address $addresses {
    1438              set a [eval $address cget -relief]
    1439              if {$a == "sunken"} {
     1454             set a [eval $address cget -bg]
     1455             if {$a == "yellow"} {
    14401456                set var [eval $address cget -textvariable]
    14411457                set $var $change
     
    14911507             }
    14921508     }
    1493      RB_Var_Set
    1494 }
     1509
     1510          foreach var $::rb_var_list_tls {
     1511            if {[set $var] == ""} {
     1512               set $var 0
     1513            } elseif {[set $var] == "free"} {
     1514                     set $var [RB_Var_Gen $varcount]
     1515                     set varcount [set $var]
     1516            } else {
     1517#                     puts [lsearch $varlist [set $var]]
     1518                     if {[lsearch $varlist [set $var]] == -1} {
     1519                        lappend varlist [set $var]
     1520#                        puts $varlist
     1521                        set rb_variable([set $var]) [RB_Var_Gen $varcount]
     1522                        set $var $rb_variable([set $var])
     1523
     1524                     } else {
     1525                        set $var $rb_variable([set $var])
     1526                     }
     1527             }
     1528     }
     1529
     1530     RB_Var_Save
     1531     incr ::expgui(changed)
     1532     destroy .refcon
     1533}
     1534
     1535#procedure for enabling refinement flags
     1536proc RB_Ref_FlagEnable {phasenum bodnum mapnum var val args} {
     1537          set atomlist ""
     1538          set atomnum $::rb_map_beginning($phasenum,$bodnum,$mapnum)
     1539          for {set j 1} {$j <=$::rb_coord_num($bodnum,1)} {incr j} {
     1540               lappend atomlist $atomnum
     1541               incr atomnum
     1542          }
     1543          atominfo $phasenum $atomlist $var set $val
     1544
     1545 }
     1546
    14951547
    14961548
    14971549
    14981550#procedure to send variable numbers to EXP file.
    1499 proc RB_Var_Set {args} {
     1551proc RB_Var_Save {args} {
     1552
    15001553     #Determine number of rigid bodies and rigid body mappings
    15011554     set rb_num [RigidBodyList]
     
    15031556          foreach bodnum $rb_num {
    15041557               set rb_map_num($phasenum,$bodnum) [RigidBodyMappingList $phasenum $bodnum]
    1505                    for {set mapnum 1} {$mapnum <= $rb_map_num($phasenum,$bodnum)} {incr mapnum} {
    1506                        set rb_list "$::rb_var($bodnum,$mapnum,x) \
    1507                            $::rb_var($bodnum,$mapnum,y) $::rb_var($bodnum,$mapnum,z) \
    1508                            $::rb_var($bodnum,$mapnum,e1) $::rb_var($bodnum,$mapnum,e2) \
    1509                            $::rb_var($bodnum,$mapnum,e3) 0 0 0"
     1558               foreach mapnum $rb_map_num($phasenum,$bodnum) {
     1559                       set refcoordflag 0
     1560                       set reftlsflag 0
     1561                       set rb_list "$::rb_var($phasenum,$bodnum,$mapnum,x) \
     1562                           $::rb_var($phasenum,$bodnum,$mapnum,y) $::rb_var($phasenum,$bodnum,$mapnum,z) \
     1563                           $::rb_var($phasenum,$bodnum,$mapnum,e1) $::rb_var($phasenum,$bodnum,$mapnum,e2) \
     1564                           $::rb_var($phasenum,$bodnum,$mapnum,e3) 0 0 0"
    15101565                       RigidBodyVary $phasenum $bodnum $mapnum $rb_list
    1511                      
    1512                        set rb_tls "$::rb_var($bodnum,$mapnum,t11) $::rb_var($bodnum,$mapnum,t22) \
    1513                            $::rb_var($bodnum,$mapnum,t33) $::rb_var($bodnum,$mapnum,t12) \
    1514                            $::rb_var($bodnum,$mapnum,t13) $::rb_var($bodnum,$mapnum,t23) \
    1515                            $::rb_var($bodnum,$mapnum,l11) $::rb_var($bodnum,$mapnum,l22) \
    1516                            $::rb_var($bodnum,$mapnum,l33) $::rb_var($bodnum,$mapnum,l12) \
    1517                            $::rb_var($bodnum,$mapnum,l13) $::rb_var($bodnum,$mapnum,l23) \
    1518                            $::rb_var($bodnum,$mapnum,s12) $::rb_var($bodnum,$mapnum,s13) \
    1519                            $::rb_var($bodnum,$mapnum,s21) $::rb_var($bodnum,$mapnum,s23) \
    1520                            $::rb_var($bodnum,$mapnum,s31) $::rb_var($bodnum,$mapnum,s32) \
    1521                            $::rb_var($bodnum,$mapnum,saa) $::rb_var($bodnum,$mapnum,sbb)"
    1522                        RigidBodyTLSVary $phasenum $bodnum $mapnum $rb_tls
    1523 
    1524                        puts $rb_list
    1525                        puts $rb_tls
     1566
     1567                       foreach test $rb_list {
     1568                            if {$test != 0} {
     1569                               set refcoordflag 1
     1570                            }
     1571                       }
     1572                          RB_Ref_FlagEnable $phasenum $bodnum $mapnum xref $refcoordflag
     1573
     1574                       if {$::rb_var($phasenum,$bodnum,$mapnum,tls) == 1} {
     1575                           set rb_tls "$::rb_var($phasenum,$bodnum,$mapnum,t11) $::rb_var($phasenum,$bodnum,$mapnum,t22) \
     1576                               $::rb_var($phasenum,$bodnum,$mapnum,t33) $::rb_var($phasenum,$bodnum,$mapnum,t12) \
     1577                               $::rb_var($phasenum,$bodnum,$mapnum,t13) $::rb_var($phasenum,$bodnum,$mapnum,t23) \
     1578                               $::rb_var($phasenum,$bodnum,$mapnum,l11) $::rb_var($phasenum,$bodnum,$mapnum,l22) \
     1579                               $::rb_var($phasenum,$bodnum,$mapnum,l33) $::rb_var($phasenum,$bodnum,$mapnum,l12) \
     1580                               $::rb_var($phasenum,$bodnum,$mapnum,l13) $::rb_var($phasenum,$bodnum,$mapnum,l23) \
     1581                               $::rb_var($phasenum,$bodnum,$mapnum,s12) $::rb_var($phasenum,$bodnum,$mapnum,s13) \
     1582                               $::rb_var($phasenum,$bodnum,$mapnum,s21) $::rb_var($phasenum,$bodnum,$mapnum,s23) \
     1583                               $::rb_var($phasenum,$bodnum,$mapnum,s31) $::rb_var($phasenum,$bodnum,$mapnum,s32) \
     1584                               $::rb_var($phasenum,$bodnum,$mapnum,saa) $::rb_var($phasenum,$bodnum,$mapnum,sbb)"
     1585                           puts "TLS param save for $rb_tls"
     1586                           RigidBodyTLSVary $phasenum $bodnum $mapnum $rb_tls
     1587
     1588                           foreach test $rb_tls {
     1589                            if {$test != 0} {
     1590                               set reftlsflag 1
     1591                            }
     1592                       }
     1593                          RB_Ref_FlagEnable $phasenum $bodnum $mapnum uref $reftlsflag
     1594                       }
     1595                       incr ::expgui(changed)
    15261596
    15271597               }
    15281598          }
    1529      }
    1530 }
    1531 
    1532 
     1599#     puts "phasenumber is $phasenum"
     1600     DisplayAllAtoms $phasenum
     1601#need to track body number from button on notebook page.  Below is a temporary fix
     1602      RB_Control_Panel $::rb_panel
     1603#     RB_Populate $::rb_notebook 1
     1604     }
     1605}
     1606
     1607# procedure to turn tls buttons on or off
     1608proc RB_TLS_Onoff {phasenum main bodnum mapnum} {
     1609
     1610      lappend tlsparam $main.t11ref($phasenum,$bodnum,$mapnum) $main.t22ref($phasenum,$bodnum,$mapnum) $main.t33ref($phasenum,$bodnum,$mapnum) \
     1611              $main.t12ref($phasenum,$bodnum,$mapnum) $main.t13ref($phasenum,$bodnum,$mapnum) $main.t23ref($phasenum,$bodnum,$mapnum) \
     1612              $main.l11ref($phasenum,$bodnum,$mapnum) $main.l22ref($phasenum,$bodnum,$mapnum) $main.l33ref($phasenum,$bodnum,$mapnum) \
     1613              $main.l12ref($phasenum,$bodnum,$mapnum) $main.l13ref($phasenum,$bodnum,$mapnum) $main.l23ref($phasenum,$bodnum,$mapnum) \
     1614              $main.s12ref($phasenum,$bodnum,$mapnum) $main.s13ref($phasenum,$bodnum,$mapnum) $main.s21ref($phasenum,$bodnum,$mapnum) \
     1615              $main.s23ref($phasenum,$bodnum,$mapnum) $main.s31ref($phasenum,$bodnum,$mapnum) $main.s32ref($phasenum,$bodnum,$mapnum) \
     1616              $main.saaref($phasenum,$bodnum,$mapnum) $main.sbbref($phasenum,$bodnum,$mapnum)
     1617#      puts $tlsparam
     1618              if {$::rb_var($phasenum,$bodnum,$mapnum,tls) == 0} {
     1619                        RigidBodyEnableTLS $phasenum $bodnum $mapnum 0
     1620                        foreach x $tlsparam {
     1621                                $x config -state disable -relief sunken
     1622                        }
     1623              } else {
     1624                        RigidBodyEnableTLS $phasenum $bodnum $mapnum 1
     1625                        foreach x $tlsparam {
     1626                                $x config -state normal -relief raised
     1627                        }
     1628              }
     1629}
     1630
     1631
     1632
     1633
     1634
     1635proc RB_Load_Vars {phasenum bodnum mapnum args} {
     1636     foreach var $::rb_map_positionvars($phasenum,$bodnum,$mapnum) {
     1637             catch {unset temp($var)}
     1638     }
     1639
     1640     foreach var $::rb_map_positionvars($phasenum,$bodnum,$mapnum) {
     1641             if {[info exists temp($var)] == "0"} {
     1642                set temp($var) $var
     1643                } else {
     1644                  lappend mulvarlist $var
     1645             }
     1646     }
     1647
     1648          foreach var $::rb_map_tls_var($phasenum,$bodnum,$mapnum) {
     1649             if {[info exists temp($var)] == "0"} {
     1650                set temp($var) $var
     1651                } else {
     1652                  lappend mulvarlist $var
     1653             }
     1654          }
     1655
     1656
     1657
     1658     set ::rb_var($phasenum,$bodnum,$mapnum,x) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 0] $mulvarlist]
     1659     set ::rb_var($phasenum,$bodnum,$mapnum,y) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 1] $mulvarlist]
     1660     set ::rb_var($phasenum,$bodnum,$mapnum,z) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 2] $mulvarlist]
     1661
     1662     lappend ::rb_var_list ::rb_var($phasenum,$bodnum,$mapnum,x) ::rb_var($phasenum,$bodnum,$mapnum,y) ::rb_var($phasenum,$bodnum,$mapnum,z)
     1663
     1664     set ::rb_var($phasenum,$bodnum,$mapnum,e1) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 3] $mulvarlist]
     1665     set ::rb_var($phasenum,$bodnum,$mapnum,e2) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 4] $mulvarlist]
     1666     set ::rb_var($phasenum,$bodnum,$mapnum,e3) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 5] $mulvarlist]
     1667
     1668     lappend ::rb_var_list ::rb_var($phasenum,$bodnum,$mapnum,e1) ::rb_var($phasenum,$bodnum,$mapnum,e2) ::rb_var($phasenum,$bodnum,$mapnum,e3)
     1669
     1670     if {$::rb_map_tls_var($phasenum,$bodnum,$mapnum) != ""} {
     1671
     1672
     1673          set ::rb_var($phasenum,$bodnum,$mapnum,t11) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 0] $mulvarlist]
     1674          set ::rb_var($phasenum,$bodnum,$mapnum,t22) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 1] $mulvarlist]
     1675          set ::rb_var($phasenum,$bodnum,$mapnum,t33) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 2] $mulvarlist]
     1676          set ::rb_var($phasenum,$bodnum,$mapnum,t12) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 3] $mulvarlist]
     1677          set ::rb_var($phasenum,$bodnum,$mapnum,t13) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 4] $mulvarlist]
     1678          set ::rb_var($phasenum,$bodnum,$mapnum,t23) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 5] $mulvarlist]
     1679
     1680          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,t11) ::rb_var($phasenum,$bodnum,$mapnum,t22) ::rb_var($phasenum,$bodnum,$mapnum,t33)
     1681          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,t12) ::rb_var($phasenum,$bodnum,$mapnum,t13) ::rb_var($phasenum,$bodnum,$mapnum,t23)
     1682
     1683          set ::rb_var($phasenum,$bodnum,$mapnum,l11) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 6] $mulvarlist]
     1684          set ::rb_var($phasenum,$bodnum,$mapnum,l22) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 7] $mulvarlist]
     1685          set ::rb_var($phasenum,$bodnum,$mapnum,l33) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 8] $mulvarlist]
     1686          set ::rb_var($phasenum,$bodnum,$mapnum,l12) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 9] $mulvarlist]
     1687          set ::rb_var($phasenum,$bodnum,$mapnum,l13) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 10] $mulvarlist]
     1688          set ::rb_var($phasenum,$bodnum,$mapnum,l23) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 11] $mulvarlist]
     1689
     1690          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,l11) ::rb_var($phasenum,$bodnum,$mapnum,l22) ::rb_var($phasenum,$bodnum,$mapnum,l33)
     1691          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,l12) ::rb_var($phasenum,$bodnum,$mapnum,l13) ::rb_var($phasenum,$bodnum,$mapnum,l23)
     1692
     1693          set ::rb_var($phasenum,$bodnum,$mapnum,s12) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 12] $mulvarlist]
     1694          set ::rb_var($phasenum,$bodnum,$mapnum,s13) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 13] $mulvarlist]
     1695          set ::rb_var($phasenum,$bodnum,$mapnum,s21) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 14] $mulvarlist]
     1696          set ::rb_var($phasenum,$bodnum,$mapnum,s23) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 15] $mulvarlist]
     1697          set ::rb_var($phasenum,$bodnum,$mapnum,s31) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 16] $mulvarlist]
     1698          set ::rb_var($phasenum,$bodnum,$mapnum,s32) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 17] $mulvarlist]
     1699          set ::rb_var($phasenum,$bodnum,$mapnum,saa) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 18] $mulvarlist]
     1700          set ::rb_var($phasenum,$bodnum,$mapnum,sbb) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 19] $mulvarlist]
     1701
     1702          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,s12) ::rb_var($phasenum,$bodnum,$mapnum,s13) ::rb_var($phasenum,$bodnum,$mapnum,s21)
     1703          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,s23) ::rb_var($phasenum,$bodnum,$mapnum,s31) ::rb_var($phasenum,$bodnum,$mapnum,s32)
     1704          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,saa) ::rb_var($phasenum,$bodnum,$mapnum,sbb)
     1705
     1706          set ::rb_var($phasenum,$bodnum,$mapnum,tls) 1
     1707
     1708     } else {
     1709          set ::rb_var($phasenum,$bodnum,$mapnum,t11) ""
     1710          set ::rb_var($phasenum,$bodnum,$mapnum,t22) ""
     1711          set ::rb_var($phasenum,$bodnum,$mapnum,t33) ""
     1712          set ::rb_var($phasenum,$bodnum,$mapnum,t12) ""
     1713          set ::rb_var($phasenum,$bodnum,$mapnum,t13) ""
     1714          set ::rb_var($phasenum,$bodnum,$mapnum,t23) ""
     1715
     1716          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,t11) ::rb_var($phasenum,$bodnum,$mapnum,t22) ::rb_var($phasenum,$bodnum,$mapnum,t33)
     1717          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,t12) ::rb_var($phasenum,$bodnum,$mapnum,t13) ::rb_var($phasenum,$bodnum,$mapnum,t23)
     1718
     1719          set ::rb_var($phasenum,$bodnum,$mapnum,l11) ""
     1720          set ::rb_var($phasenum,$bodnum,$mapnum,l22) ""
     1721          set ::rb_var($phasenum,$bodnum,$mapnum,l33) ""
     1722          set ::rb_var($phasenum,$bodnum,$mapnum,l12) ""
     1723          set ::rb_var($phasenum,$bodnum,$mapnum,l13) ""
     1724          set ::rb_var($phasenum,$bodnum,$mapnum,l23) ""
     1725
     1726          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,l11) ::rb_var($phasenum,$bodnum,$mapnum,l22) ::rb_var($phasenum,$bodnum,$mapnum,l33)
     1727          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,l12) ::rb_var($phasenum,$bodnum,$mapnum,l13) ::rb_var($phasenum,$bodnum,$mapnum,l23)
     1728
     1729          set ::rb_var($phasenum,$bodnum,$mapnum,s12) ""
     1730          set ::rb_var($phasenum,$bodnum,$mapnum,s13) ""
     1731          set ::rb_var($phasenum,$bodnum,$mapnum,s21) ""
     1732          set ::rb_var($phasenum,$bodnum,$mapnum,s23) ""
     1733          set ::rb_var($phasenum,$bodnum,$mapnum,s31) ""
     1734          set ::rb_var($phasenum,$bodnum,$mapnum,s32) ""
     1735          set ::rb_var($phasenum,$bodnum,$mapnum,saa) ""
     1736          set ::rb_var($phasenum,$bodnum,$mapnum,sbb) ""
     1737
     1738          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,s12) ::rb_var($phasenum,$bodnum,$mapnum,s13) ::rb_var($phasenum,$bodnum,$mapnum,s21)
     1739          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,s23) ::rb_var($phasenum,$bodnum,$mapnum,s31) ::rb_var($phasenum,$bodnum,$mapnum,s32)
     1740          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,saa) ::rb_var($phasenum,$bodnum,$mapnum,sbb)
     1741
     1742          set ::rb_var($phasenum,$bodnum,$mapnum,tls) 0
     1743     }
     1744
     1745}
     1746
     1747proc RB_VarSet {varin mulvarlist args} {
     1748     if {$varin == 0} {set varout ""
     1749        } else {
     1750          set temp [lsearch $mulvarlist $varin]
     1751          if {$temp == "-1"} {set varout "free"
     1752                 } else {
     1753                   set varout var$varin
     1754              }
     1755     }
     1756     return $varout
     1757}
    15331758#RB_Refine_Con - sets matrix to set refinement constrols
    15341759#RB_Var_Assign - assigns variable numbers to refinement parameters
Note: See TracChangeset for help on using the changeset viewer.