Changeset 1145
- Timestamp:
- Jun 23, 2011 4:59:25 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/sandbox/rigid.tcl
r1140 r1145 149 149 set ::rb_varcheck($bodnum,$matrixnum) 1 150 150 } 151 puts "in RB_Load_RBdata ::rb_damp = $::rb_damp($bodnum,$matrixnum)"151 # puts "in RB_Load_RBdata ::rb_damp = $::rb_damp($bodnum,$matrixnum)" 152 152 set coords [lindex $temp 3] 153 153 set ::rb_coord_num($bodnum,$matrixnum) [llength $coords] … … 159 159 set ::rb_z($bodnum,$matrixnum,$coordnum) [lindex $::rb_coord($bodnum,$matrixnum,$coordnum) 0] 160 160 set ::rb_lbl($bodnum,$matrixnum,$coordnum) [lindex $::rb_coord($bodnum,$matrixnum,$coordnum) 0] 161 # restore values 162 set ::rb_matrix_num_temp($bodnum) $::rb_matrix_num($bodnum) 163 set ::rb_coord_num_temp($bodnum,1) $::rb_coord_num($bodnum,1) 164 set ::rb_coord_temp($bodnum,$matrixnum,$coordnum) $::rb_coord($bodnum,$matrixnum,$coordnum) 165 161 166 } 162 167 } … … 291 296 set col 0 292 297 grid [label $top.multilbl -text "Matrix Multiplier"] -row 1 -column 0 293 grid [label $top.damplbl -text "Damping Factor"] -row 2 -column 0298 # grid [label $top.damplbl -text "Damping Factor"] -row 2 -column 0 294 299 for {set matrixnum 1} {$matrixnum <= $::rb_matrix_num($bodnum)} {incr matrixnum} { 295 300 grid [label $top.matlbl$matrixnum -text "Matrix $matrixnum"] -row 0 -column [expr $col + 2] 296 301 grid [entry $top.multi$matrixnum -textvariable ::rb_mult($bodnum,$matrixnum) -width 7 -takefocus 1] -row 1 -column [expr $col +2] 297 puts "in RB_Create_Cart damp = $::rb_damp($bodnum,$matrixnum)" 298 grid [entry $top.damp$matrixnum -textvariable ::rb_damp($bodnum,$matrixnum) -width 7 -takefocus 1] -row 2 -column [expr $col +2] 302 # puts "in RB_Create_Cart damp = $::rb_damp($bodnum,$matrixnum)" 303 304 # set dampfactors "0 1 2 3 4 5 6 7 8 9" 305 # eval tk_optionMenu $top.damp$matrixnum ::rb_damp($bodnum,$matrixnum) $dampfactors 306 # grid $top.damp$matrixnum -row 2 -column [expr $col +2] 307 # $top.damp$matrixnum config -width 4 308 309 310 # grid [entry $top.damp$matrixnum -textvariable ::rb_damp($bodnum,$matrixnum) -width 7 -takefocus 1] -row 2 -column [expr $col +2] 311 312 299 313 if {$::rb_mult($bodnum,$matrixnum) == ""} {set ::rb_mult($bodnum,$matrixnum) 1.000} 300 if {$::rb_damp($bodnum,$matrixnum) == ""} {set ::rb_damp($bodnum,$matrixnum) 0}314 # if {$::rb_damp($bodnum,$matrixnum) == ""} {set ::rb_damp($bodnum,$matrixnum) 0} 301 315 302 316 grid [label $main.x$matrixnum -text "X"] -row 0 -column [expr $col + 1] … … 701 715 set ::rb_atom_rms "" 702 716 foreach atom $atoms rms $rmsbyatom { 703 puts "[atominfo $phase $atom label]\t$rms"717 # puts "[atominfo $phase $atom label]\t$rms" 704 718 lappend ::rb_atom_rms "[atominfo $phase $atom label] $rms" 705 719 } … … 907 921 } 908 922 923 proc RB_Create_from_Edit {args} { 924 set bodnum [RB_New_RBnum] 925 RB_Create_Save $bodnum 926 } 927 928 909 929 910 930 proc RB_Edit_Matrix {bodnum args} { 911 puts "Bodnum = $bodnum"931 # puts "Bodnum = $bodnum" 912 932 catch {destroy .viewmatrix} 913 933 set em .viewmatrix … … 920 940 set sm $em.sort 921 941 grid [frame $vm -bd 2 -relief groove] -row 0 -column 0 -columnspan 2 922 grid [frame $um -bd 2 -relief groove] -row 1 -column 1 923 grid [frame $sm -bd 2 -relief groove] -row 1 -column 0 924 925 grid [label $sm.sort -text "Sort Matrix"] -row 1 -column 0 -columnspan 2 926 grid [button $sm.inc -text "\u2191" -command "RB_Sort_Inc $bodnum inc"] -row 2 -column 0 927 grid [button $sm.dec -text "\u2193" -command "RB_Sort_Inc $bodnum dec"] -row 2 -column 1 928 929 grid [button $um.update -text "Update Matrix Info" -bg green -command "RB_Matrix_Update $bodnum"] -row 0 -column 0 -padx 5 942 grid [frame $sm -bd 2 -relief groove] -row 1 -column 0 -columnspan 2 -pady 10 943 grid [frame $um -bd 2 -relief groove] -row 2 -column 0 -columnspan 2 944 945 # Editor Options 946 grid [label $sm.title -text "Matrix Editor Control Panel"] -row 0 -column 0 -columnspan 4 947 grid [label $sm.sort -width 21 -text "Move Checked Elements"] -row 1 -column 0 948 grid [button $sm.inc -text "\u2191" -command "RB_Sort_Inc $bodnum inc"] -row 1 -column 1 -padx 5 949 grid [button $sm.dec -text "\u2193" -command "RB_Sort_Inc $bodnum dec"] -row 1 -column 2 -padx 5 950 grid [button $sm.swap -width 21 -text "Swap Checked Elements" -command "RB_Sort_Swap $bodnum"] -row 2 -column 0 -columnspan 3 951 grid [button $sm.delete -width 21 -text "Delete Checked Elements" -command "RB_Delete_Element $bodnum"] -row 3 -column 0 -columnspan 3 952 grid [button $sm.add -width 21 -text "Add New Matrix Elements" -command "RB_Add_Element $bodnum"] -row 4 -column 0 -columnspan 3 953 grid [button $sm.addmatrix -width 21 -text "Add New Matrix" -command "RB_Add_New_Matrix $bodnum"] -row 5 -column 0 -columnspan 3 954 955 # Save Options 956 grid [button $um.update -width 24 -text "Update Matrix Info" -bg green -command "RB_Matrix_Update $bodnum"] -row 3 -column 0 -padx 5 957 grid [button $um.new -width 24 -text "New Rigid Body Type" -command "RB_Create_from_Edit"] -row 0 -column 1 -padx 5 930 958 # grid [button $um.sort -text "Sort Matrix Info" -command "RB_Cart_Sort $bodnum"] -row 0 -column 1 931 grid [button $um.abort -text "Abort" -width 18 -command "destroy $em"] -row 0 -column 2 -padx 5 932 grid [button $um.print -text "Save Cartesian \n Coordinates to File" -command "RB_CartesianTextFile $bodnum"] -row 1 -column 0 -pady 5 959 960 grid [button $um.print -width 24 -text "Save Cartesian \n Coordinates to File" -command "RB_CartesianTextFile $bodnum"] -row 2 -column 1 -pady 5 961 grid [button $um.restore -width 24 -text "Restore Original Matrix" -command "RB_Restore_Matrix $bodnum"] -row 3 -column 1 -padx 5 962 grid [button $um.abort -text "Abort" -width 24 -command "RB_Edit_Matrix_Abort $bodnum $em"] -row 3 -column 2 -padx 5 933 963 934 964 grid [label $vm.lblmm -text "Matrix Multiplier"] -row 3 -column 2 … … 938 968 set w 1 939 969 grid [label $vm.site -text "sort"] -row 6 -column 0 -columnspan 2 970 940 971 941 972 for {set coordnum 0} {$coordnum < $::rb_coord_num($bodnum,$w)} {incr coordnum} { … … 947 978 grid [label $vm.lblm$matrixnum -text "Matrix #$matrixnum"] -row 2 -column [expr $col +1] 948 979 grid [entry $vm.mult$matrixnum -textvariable ::rb_mult($bodnum,$matrixnum) -width 8 -takefocus 1] -row 3 -column [expr $col + 1] 949 grid [entry $vm.damp$matrixnum -textvariable ::rb_damp($bodnum,$matrixnum) -width 8 -takefocus 1 -state normal] -row 4 -column [expr $col + 1] 950 grid [checkbutton $vm.var$matrixnum -variable ::rb_varcheck($bodnum,$matrixnum) -text $::rb_var($bodnum,$matrixnum) -state normal -command "RB_MMultRef $bodnum $matrixnum"] -row 5 -column [expr $col +1] 980 set dampfactors "0 1 2 3 4 5 6 7 8 9" 981 eval tk_optionMenu $vm.damp$matrixnum ::rb_damp($bodnum,$matrixnum) $dampfactors 982 grid $vm.damp$matrixnum -row 4 -column [expr $col + 1] 983 $vm.damp$matrixnum config -width 4 984 # grid [entry $vm.damp$matrixnum -textvariable ::rb_damp($bodnum,$matrixnum) -width 8 -takefocus 1 -state normal] -row 4 -column [expr $col + 1] 985 grid [checkbutton $vm.var$matrixnum -variable ::rb_varcheck($bodnum,$matrixnum) -text $::rb_var($bodnum,$matrixnum) \ 986 -state normal -command "RB_MMultRef $bodnum $matrixnum"] -row 5 -column [expr $col +1] 951 987 952 988 grid [label $vm.x$matrixnum -text "X"] -row 6 -column [expr $col] … … 960 996 set ::rb_z($bodnum,$matrixnum,$coordnum) [lindex $::rb_coord($bodnum,$matrixnum,$coordnum) 2] 961 997 set ::rb_lbl($bodnum,$matrixnum,$coordnum) [lindex $::rb_coord($bodnum,$matrixnum,$coordnum) 3] 998 962 999 963 1000 grid [entry $vm.lblcx$matrixnum$coordnum -textvariable ::rb_x($bodnum,$matrixnum,$coordnum) -width 8 -takefocus 1] -row [expr $coordnum+7] -column [expr $col] … … 970 1007 } 971 1008 1009 proc RB_Restore_Matrix {bodnum} { 1010 set ::rb_matrix_num($bodnum) $::rb_matrix_num_temp($bodnum) 1011 set ::rb_coord_num($bodnum,1) $::rb_coord_num_temp($bodnum,1) 1012 for {set coordnum 0} {$coordnum < $::rb_coord_num($bodnum,1)} {incr coordnum} { 1013 for {set matrixnum 1} {$matrixnum <= $::rb_matrix_num($bodnum)} {incr matrixnum} { 1014 set ::rb_coord($bodnum,$matrixnum,$coordnum) $::rb_coord_temp($bodnum,$matrixnum,$coordnum) 1015 1016 } 1017 } 1018 RB_Edit_Matrix $bodnum 1019 } 1020 1021 proc RB_Add_New_Matrix {bodnum} { 1022 incr ::rb_matrix_num($bodnum) 1023 set matrixnum $::rb_matrix_num($bodnum) 1024 set ::rb_var($bodnum,$matrixnum) 0 1025 set ::rb_mult($bodnum,$matrixnum) 1.000 1026 for {set coordnum 0} {$coordnum < $::rb_coord_num($bodnum,1)} {incr coordnum} { 1027 set ::rb_coord($bodnum,$matrixnum,$::rb_coord_num($bodnum,1) "" 1028 lappend ::rb_coord($bodnum,$matrixnum,$coordnum) 0 0 0 lbl 1029 } 1030 RB_Edit_Matrix $bodnum 1031 1032 1033 } 1034 1035 1036 1037 proc RB_Edit_Matrix_Abort {bodnum location} { 1038 # reset matrix 1039 # set ::rb_coord_num($bodnum,1) $::rb_coord_num_temp($bodnum,1) 1040 # for {set matrixnum 1} {$matrixnum <= $::rb_matrix_num($bodnum)} {incr matrixnum} { 1041 # for {set coordnum 0} {$coordnum < $::rb_coord_num_temp($bodnum,1)} {incr coordnum} { 1042 # set ::rb_coord($bodnum,$matrixnum,$coordnum) $::rb_coord_temp($bodnum,$matrixnum,$coordnum) 1043 # } 1044 # } 1045 destroy $location 1046 } 1047 1048 proc RB_Add_Element {bodnum} { 1049 incr ::rb_coord_num($bodnum,1) 1050 for {set matrixnum 1} {$matrixnum <= $::rb_matrix_num($bodnum)} {incr matrixnum} { 1051 set ::rb_coord($bodnum,$matrixnum,$::rb_coord_num($bodnum,1) "" 1052 lappend ::rb_coord($bodnum,$matrixnum,[expr $::rb_coord_num($bodnum,1)- 1]) 0 0 0 lbl 1053 puts $::rb_coord($bodnum,$matrixnum,[expr $::rb_coord_num($bodnum,1) - 1]) 1054 } 1055 1056 } 1057 1058 proc RB_Delete_Element {bodnum} { 1059 1060 set newcoord 0 1061 set deletedrecords 0 1062 1063 for {set coordnum 0} {$coordnum < $::rb_coord_num($bodnum,1)} {incr coordnum} { 1064 for {set matrixnum 1} {$matrixnum <= $::rb_matrix_num($bodnum)} {incr matrixnum} { 1065 1066 if {$::rb_sort($coordnum) != 1} { 1067 set xtemp $::rb_x($bodnum,$matrixnum,$coordnum) 1068 set ytemp $::rb_y($bodnum,$matrixnum,$coordnum) 1069 set ztemp $::rb_z($bodnum,$matrixnum,$coordnum) 1070 set lbltemp [lindex $::rb_coord($bodnum,$matrixnum,$coordnum) 3] 1071 1072 1073 set ::rb_x($bodnum,$matrixnum,$newcoord) $xtemp 1074 set ::rb_y($bodnum,$matrixnum,$newcoord) $ytemp 1075 set ::rb_z($bodnum,$matrixnum,$newcoord) $ztemp 1076 puts "array element = $::rb_coord($bodnum,$matrixnum,$coordnum)" 1077 set ::rb_coord($bodnum,$matrixnum,$newcoord) "" 1078 puts "xyztemp = $xtemp $ytemp $ztemp $lbltemp" 1079 lappend ::rb_coord($bodnum,$matrixnum,$newcoord) $xtemp $ytemp $ztemp $lbltemp 1080 puts "goofy output = $::rb_coord($bodnum,$matrixnum,$newcoord)" 1081 incr newcoord 1082 } else { 1083 incr deletedrecords 1084 } 1085 } 1086 } 1087 for {set coordnum 0} {$coordnum < $::rb_coord_num($bodnum,1)} {incr coordnum} { 1088 set ::rb_sort($coordnum) 0 1089 } 1090 set tempcoord [expr $::rb_coord_num($bodnum,1) - $deletedrecords] 1091 set ::rb_coord_num($bodnum,1) $tempcoord 1092 RB_Edit_Matrix $bodnum 1093 } 1094 1095 1096 972 1097 proc RB_VarNums {toggle {var ""} args} { 973 1098 # initalize rigid body variable list if not already initialized … … 989 1114 } 990 1115 lappend ::rb_varlist $count 991 puts $::rb_varlist1116 # puts $::rb_varlist 992 1117 return $count 993 1118 } … … 1000 1125 } 1001 1126 set ::rb_varlist $temp 1002 puts $::rb_varlist1127 # puts $::rb_varlist 1003 1128 return 0 1004 1129 } … … 1007 1132 proc RB_MMultRef {bodnum matrixnum args} { 1008 1133 # procedure sets or unsets the variable number for the matrix multiplier 1009 puts "boing:"1134 # puts "boing:" 1010 1135 if {$::rb_varcheck($bodnum,$matrixnum) == "0"} { 1011 1136 set ::rb_var($bodnum,$matrixnum) [RB_VarNums sub $::rb_var($bodnum,$matrixnum)] … … 1015 1140 destroy .viewmatrix 1016 1141 RB_Edit_Matrix $bodnum 1142 } 1143 1144 proc RB_Sort_Swap {bodnum args} { 1145 set count 0 1146 set rb_swap_list "" 1147 for {set coordnum 0} {$coordnum < $::rb_coord_num($bodnum,1)} {incr coordnum} { 1148 if {$::rb_sort($coordnum) == 1} { 1149 incr count 1150 lappend rb_swap_list $coordnum 1151 } 1152 } 1153 if {$count != 2} { 1154 # puts "wrong number of arguments, swap failed" 1155 bell 1156 return 1157 } 1158 # puts "swap happens" 1159 # puts $rb_swap_list 1160 for {set i 1} {$i <= $::rb_matrix_num($bodnum)} {incr i} { 1161 set coord1 [lindex $rb_swap_list 0] 1162 set coord2 [lindex $rb_swap_list 1] 1163 set x1dum $::rb_x($bodnum,$i,$coord1) 1164 set y1dum $::rb_y($bodnum,$i,$coord1) 1165 set z1dum $::rb_z($bodnum,$i,$coord1) 1166 set ::rb_x($bodnum,$i,$coord1) $::rb_x($bodnum,$i,$coord2) 1167 set ::rb_y($bodnum,$i,$coord1) $::rb_y($bodnum,$i,$coord2) 1168 set ::rb_z($bodnum,$i,$coord1) $::rb_z($bodnum,$i,$coord2) 1169 set ::rb_x($bodnum,$i,$coord2) $x1dum 1170 set ::rb_y($bodnum,$i,$coord2) $y1dum 1171 set ::rb_z($bodnum,$i,$coord2) $z1dum 1172 } 1173 1017 1174 } 1018 1175 … … 1024 1181 } 1025 1182 } 1026 puts $sortlist1183 # puts $sortlist 1027 1184 1028 1185 foreach check $sortlist { … … 1071 1228 1072 1229 proc RB_String_Reverse {string args} { 1073 puts "$string"1230 # puts "$string" 1074 1231 set rstring "" 1075 1232 set len [expr [llength $string] - 1] … … 1078 1235 incr len -1 1079 1236 } 1080 puts "contents of rstring = $rstring"1237 # puts "contents of rstring = $rstring" 1081 1238 return $rstring 1082 1239 } … … 1096 1253 lappend temp_var $::rb_var($bodnum,$matrixnum) 1097 1254 lappend temp_damp $::rb_damp($bodnum,$matrixnum) 1098 puts "temp_damp = $::rb_damp($bodnum,$matrixnum)"1255 # puts "temp_damp = $::rb_damp($bodnum,$matrixnum)" 1099 1256 for {set atomnum 0} {$atomnum < $::::rb_coord_num($bodnum,1)} {incr atomnum} { 1100 1257 set temp_cart_triplet "$::rb_x($bodnum,$matrixnum,$atomnum) $::rb_y($bodnum,$matrixnum,$atomnum) $::rb_z($bodnum,$matrixnum,$atomnum)" … … 1104 1261 } 1105 1262 1106 puts "Matrix Update Info = $bodnum $temp_mat $temp_car"1107 puts "Matrix damping = $temp_damp"1108 puts "Matrix vars = $temp_var"1263 # puts "Matrix Update Info = $bodnum $temp_mat $temp_car" 1264 # puts "Matrix damping = $temp_damp" 1265 # puts "Matrix vars = $temp_var" 1109 1266 SetRigidBodyVar $bodnum $temp_var $temp_damp 1110 1267 RecordMacroEntry "SetRigidBodyVar $bodnum $temp_var $temp_damp" 0 … … 1242 1399 set coordlist "" 1243 1400 lappend coordlist [lindex $temp1 2] 1244 puts $coordlist1401 # puts $coordlist 1245 1402 1246 1403 set bodnum [RB_New_RBnum] 1247 puts "body number = $bodnum"1404 # puts "body number = $bodnum" 1248 1405 set coordnum 0 1249 1406 # set ::rb_damp($bodnum,1) 0 … … 1449 1606 } 1450 1607 } 1451 puts "Origin list = $::gcon_origin_list"1452 puts "vector 1 list = $vector1list"1453 puts "vector 2 list = $vector2list"1454 puts "number atoms = $::gcon_atoms"1455 puts "start atom = $::gcon_start"1608 # puts "Origin list = $::gcon_origin_list" 1609 # puts "vector 1 list = $vector1list" 1610 # puts "vector 2 list = $vector2list" 1611 # puts "number atoms = $::gcon_atoms" 1612 # puts "start atom = $::gcon_start" 1456 1613 1457 1614 set temp1 [ExtractRigidBody $::rb_phase $::gcon_atoms $::gcon_start $::gcon_origin_list $vector1list $vector2list] … … 1783 1940 $::rb_var($phasenum,$bodnum,$mapnum,s31) $::rb_var($phasenum,$bodnum,$mapnum,s32) \ 1784 1941 $::rb_var($phasenum,$bodnum,$mapnum,saa) $::rb_var($phasenum,$bodnum,$mapnum,sbb)" 1785 puts "TLS param save for $rb_tls"1942 # puts "TLS param save for $rb_tls" 1786 1943 RigidBodyTLSVary $phasenum $bodnum $mapnum $rb_tls 1787 1944 RecordMacroEntry "RigidBodyTLSVary $phasenum $bodnum $mapnum [list $rb_tls]" 0 … … 1972 2129 for {set coord 0} {$coord < $coordnummax} {incr coord} { 1973 2130 set line [list $::rb_x($bodnum,1,$coord) $::rb_y($bodnum,1,$coord) $::rb_z($bodnum,1,$coord)] 1974 puts $line1975 puts $fh $line2131 # puts $line 2132 # puts $fh $line 1976 2133 } 1977 2134 close $fh
Note: See TracChangeset
for help on using the changeset viewer.