Changeset 1207 for branches/sandbox


Ignore:
Timestamp:
Aug 8, 2012 12:44:55 PM (8 years ago)
Author:
lake
Message:

fixed the variable number reader in the rigid body code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/sandbox/rigid.tcl

    r1187 r1207  
    18941894                     if {[lsearch $varlist [set $var]] == -1} {
    18951895                        lappend varlist [set $var]
    1896 #                        puts $varlist
     1896                        puts $varlist
    18971897                        set rb_variable([set $var]) [RB_Var_Gen $varcount]
    18981898                        set $var $rb_variable([set $var])
     
    19571957                           $::rb_var($phasenum,$bodnum,$mapnum,e1) $::rb_var($phasenum,$bodnum,$mapnum,e2) \
    19581958                           $::rb_var($phasenum,$bodnum,$mapnum,e3) 0 0 0"
     1959                       puts "param saved for map $phasenum $bodnum $mapnum is vvvvvvv $rb_list"
    19591960                       RigidBodyVary $phasenum $bodnum $mapnum $rb_list
    19601961                       RecordMacroEntry "incr expgui(changed); RigidBodyVary $phasenum $bodnum $mapnum [list $rb_list]" 0
     
    19771978                               $::rb_var($phasenum,$bodnum,$mapnum,s31) $::rb_var($phasenum,$bodnum,$mapnum,s32) \
    19781979                               $::rb_var($phasenum,$bodnum,$mapnum,saa) $::rb_var($phasenum,$bodnum,$mapnum,sbb)"
    1979 #                           puts "TLS param save for $rb_tls"
     1980                           puts "TLS param save for $mapnum $bodnum $mapnum is vvvvvvvv $rb_tls"
    19801981                           RigidBodyTLSVary $phasenum $bodnum $mapnum $rb_tls
    19811982                           RecordMacroEntry "RigidBodyTLSVary $phasenum $bodnum $mapnum [list $rb_tls]" 0
     
    20262027
    20272028proc RB_Load_Vars {phasenum bodnum mapnum args} {
    2028      foreach var $::rb_map_positionvars($phasenum,$bodnum,$mapnum) {
    2029              catch {unset temp($var)}
    2030      }
    2031 
    2032      foreach var $::rb_map_positionvars($phasenum,$bodnum,$mapnum) {
    2033              if {[info exists temp($var)] == "0"} {
    2034                 set temp($var) $var
    2035                 } else {
    2036                   lappend mulvarlist $var
    2037              }
    2038      }
    2039 
    2040      foreach var $::rb_map_tls_var($phasenum,$bodnum,$mapnum) {
    2041              if {[info exists temp($var)] == "0"} {
    2042                 set temp($var) $var
    2043              } else {
    2044                 lappend mulvarlist $var
    2045              }
    2046      }
    2047 
    2048      set ::rb_var($phasenum,$bodnum,$mapnum,x) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 0] $mulvarlist]
    2049      set ::rb_var($phasenum,$bodnum,$mapnum,y) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 1] $mulvarlist]
    2050      set ::rb_var($phasenum,$bodnum,$mapnum,z) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 2] $mulvarlist]
     2029#     foreach var $::rb_map_positionvars($phasenum,$bodnum,$mapnum) {
     2030#             catch {unset temp($var)}
     2031#     }
     2032#
     2033#     foreach var $::rb_map_positionvars($phasenum,$bodnum,$mapnum) {
     2034#            if {[info exists temp($var)] == "0"} {
     2035#                set temp($var) $var
     2036#                } else {
     2037#                  lappend mulvarlist $var
     2038#             }
     2039#    }
     2040#
     2041#    foreach var $::rb_map_tls_var($phasenum,$bodnum,$mapnum) {
     2042#             if {[info exists temp($var)] == "0"} {
     2043#                set temp($var) $var
     2044#             } else {
     2045#                lappend mulvarlist $var
     2046#             }
     2047#     }
     2048#     puts "the mulvarlist is     $mulvarlist"
     2049
     2050#     8Aug12    new code to determine variable names
     2051     set rb_num [RigidBodyList]
     2052     set varlist ""
     2053     set mvarlist ""
     2054     foreach phase $::expmap(phaselist) {
     2055          foreach bod $rb_num {
     2056               set rb_map_num($phase,$bod) [RigidBodyMappingList $phase $bod]
     2057               if {$rb_map_num($phase,$bod) != ""} {
     2058                  foreach map $rb_map_num($phase,$bod) {
     2059                           foreach var $::rb_map_positionvars($phase,$bod,$map) {
     2060                                    set temp1 [lsearch $varlist $var]
     2061                                    if {$temp1 == "-1"} {lappend varlist $var
     2062                                       } else {
     2063                                           if {[lsearch $mvarlist $var] == "-1"} {lappend mvarlist $var}
     2064                                       }
     2065                           }
     2066                           foreach var $::rb_map_tls_var($phase,$bod,$map) {
     2067                                    set temp1 [lsearch $varlist $var]
     2068                                    if {$temp1 == "-1"} {lappend varlist $var
     2069                                       } else {
     2070                                           if {[lsearch $mvarlist $var] == "-1"} {lappend mvarlist $var}
     2071                                       }
     2072                          }
     2073                   }
     2074               }
     2075          }
     2076     }
     2077     puts "varlist    $varlist"
     2078     puts "mvarlist   $mvarlist"
     2079
     2080     set ::rb_var($phasenum,$bodnum,$mapnum,x) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 0] $mvarlist $varlist]
     2081     set ::rb_var($phasenum,$bodnum,$mapnum,y) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 1] $mvarlist $varlist]
     2082     set ::rb_var($phasenum,$bodnum,$mapnum,z) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 2] $mvarlist $varlist]
    20512083
    20522084     lappend ::rb_var_list ::rb_var($phasenum,$bodnum,$mapnum,x) ::rb_var($phasenum,$bodnum,$mapnum,y) ::rb_var($phasenum,$bodnum,$mapnum,z)
    20532085
    2054      set ::rb_var($phasenum,$bodnum,$mapnum,e1) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 3] $mulvarlist]
    2055      set ::rb_var($phasenum,$bodnum,$mapnum,e2) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 4] $mulvarlist]
    2056      set ::rb_var($phasenum,$bodnum,$mapnum,e3) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 5] $mulvarlist]
     2086     set ::rb_var($phasenum,$bodnum,$mapnum,e1) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 3] $mvarlist $varlist]
     2087     set ::rb_var($phasenum,$bodnum,$mapnum,e2) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 4] $mvarlist $varlist]
     2088     set ::rb_var($phasenum,$bodnum,$mapnum,e3) [RB_VarSet [lindex $::rb_map_positionvars($phasenum,$bodnum,$mapnum) 5] $mvarlist $varlist]
    20572089
    20582090     lappend ::rb_var_list ::rb_var($phasenum,$bodnum,$mapnum,e1) ::rb_var($phasenum,$bodnum,$mapnum,e2) ::rb_var($phasenum,$bodnum,$mapnum,e3)
     
    20612093
    20622094
    2063           set ::rb_var($phasenum,$bodnum,$mapnum,t11) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 0] $mulvarlist]
    2064           set ::rb_var($phasenum,$bodnum,$mapnum,t22) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 1] $mulvarlist]
    2065           set ::rb_var($phasenum,$bodnum,$mapnum,t33) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 2] $mulvarlist]
    2066           set ::rb_var($phasenum,$bodnum,$mapnum,t12) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 3] $mulvarlist]
    2067           set ::rb_var($phasenum,$bodnum,$mapnum,t13) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 4] $mulvarlist]
    2068           set ::rb_var($phasenum,$bodnum,$mapnum,t23) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 5] $mulvarlist]
     2095          set ::rb_var($phasenum,$bodnum,$mapnum,t11) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 0] $mvarlist $varlist]
     2096          set ::rb_var($phasenum,$bodnum,$mapnum,t22) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 1] $mvarlist $varlist]
     2097          set ::rb_var($phasenum,$bodnum,$mapnum,t33) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 2] $mvarlist $varlist]
     2098          set ::rb_var($phasenum,$bodnum,$mapnum,t12) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 3] $mvarlist $varlist]
     2099          set ::rb_var($phasenum,$bodnum,$mapnum,t13) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 4] $mvarlist $varlist]
     2100          set ::rb_var($phasenum,$bodnum,$mapnum,t23) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 5] $mvarlist $varlist]
    20692101
    20702102          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,t11) ::rb_var($phasenum,$bodnum,$mapnum,t22) ::rb_var($phasenum,$bodnum,$mapnum,t33)
    20712103          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,t12) ::rb_var($phasenum,$bodnum,$mapnum,t13) ::rb_var($phasenum,$bodnum,$mapnum,t23)
    20722104
    2073           set ::rb_var($phasenum,$bodnum,$mapnum,l11) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 6] $mulvarlist]
    2074           set ::rb_var($phasenum,$bodnum,$mapnum,l22) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 7] $mulvarlist]
    2075           set ::rb_var($phasenum,$bodnum,$mapnum,l33) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 8] $mulvarlist]
    2076           set ::rb_var($phasenum,$bodnum,$mapnum,l12) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 9] $mulvarlist]
    2077           set ::rb_var($phasenum,$bodnum,$mapnum,l13) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 10] $mulvarlist]
    2078           set ::rb_var($phasenum,$bodnum,$mapnum,l23) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 11] $mulvarlist]
     2105          set ::rb_var($phasenum,$bodnum,$mapnum,l11) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 6] $mvarlist $varlist]
     2106          set ::rb_var($phasenum,$bodnum,$mapnum,l22) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 7] $mvarlist $varlist]
     2107          set ::rb_var($phasenum,$bodnum,$mapnum,l33) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 8] $mvarlist $varlist]
     2108          set ::rb_var($phasenum,$bodnum,$mapnum,l12) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 9] $mvarlist $varlist]
     2109          set ::rb_var($phasenum,$bodnum,$mapnum,l13) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 10] $mvarlist $varlist]
     2110          set ::rb_var($phasenum,$bodnum,$mapnum,l23) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 11] $mvarlist $varlist]
    20792111
    20802112          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,l11) ::rb_var($phasenum,$bodnum,$mapnum,l22) ::rb_var($phasenum,$bodnum,$mapnum,l33)
    20812113          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,l12) ::rb_var($phasenum,$bodnum,$mapnum,l13) ::rb_var($phasenum,$bodnum,$mapnum,l23)
    20822114
    2083           set ::rb_var($phasenum,$bodnum,$mapnum,s12) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 12] $mulvarlist]
    2084           set ::rb_var($phasenum,$bodnum,$mapnum,s13) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 13] $mulvarlist]
    2085           set ::rb_var($phasenum,$bodnum,$mapnum,s21) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 14] $mulvarlist]
    2086           set ::rb_var($phasenum,$bodnum,$mapnum,s23) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 15] $mulvarlist]
    2087           set ::rb_var($phasenum,$bodnum,$mapnum,s31) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 16] $mulvarlist]
    2088           set ::rb_var($phasenum,$bodnum,$mapnum,s32) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 17] $mulvarlist]
    2089           set ::rb_var($phasenum,$bodnum,$mapnum,saa) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 18] $mulvarlist]
    2090           set ::rb_var($phasenum,$bodnum,$mapnum,sbb) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 19] $mulvarlist]
     2115          set ::rb_var($phasenum,$bodnum,$mapnum,s12) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 12] $mvarlist $varlist]
     2116          set ::rb_var($phasenum,$bodnum,$mapnum,s13) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 13] $mvarlist $varlist]
     2117          set ::rb_var($phasenum,$bodnum,$mapnum,s21) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 14] $mvarlist $varlist]
     2118          set ::rb_var($phasenum,$bodnum,$mapnum,s23) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 15] $mvarlist $varlist]
     2119          set ::rb_var($phasenum,$bodnum,$mapnum,s31) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 16] $mvarlist $varlist]
     2120          set ::rb_var($phasenum,$bodnum,$mapnum,s32) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 17] $mvarlist $varlist]
     2121          set ::rb_var($phasenum,$bodnum,$mapnum,saa) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 18] $mvarlist $varlist]
     2122          set ::rb_var($phasenum,$bodnum,$mapnum,sbb) [RB_VarSet [lindex $::rb_map_tls_var($phasenum,$bodnum,$mapnum) 19] $mvarlist $varlist]
    20912123
    20922124          lappend ::rb_var_list_tls ::rb_var($phasenum,$bodnum,$mapnum,s12) ::rb_var($phasenum,$bodnum,$mapnum,s13) ::rb_var($phasenum,$bodnum,$mapnum,s21)
     
    21352167}
    21362168
    2137 proc RB_VarSet {varin mulvarlist args} {
    2138      if {$varin == 0} {set varout ""
     2169proc RB_VarSet {varin mvarlist varlist args} {
     2170     set temp [lsearch $mvarlist $varin]
     2171     if {$temp == "-1"} {set varout "free"
    21392172        } else {
    2140           set temp [lsearch $mulvarlist $varin]
    2141           if {$temp == "-1"} {set varout "free"
    2142                  } else {
    2143                    set varout var$varin
    2144               }
    2145      }
     2173          set varout var$varin
     2174        }
     2175     if {$varin == 0} {set varout ""}
    21462176     return $varout
     2177
     2178
     2179 #    if {$varin == 0} {set varout ""
     2180 #       } else {
     2181 #         set temp [lsearch $mulvarlist $varin]
     2182 #         if {$temp == "-1"} {set varout "free"
     2183 #                } else {
     2184 #                  set varout var$varin
     2185 #             }
     2186 #    }
     2187 #    return $varout
    21472188}
    21482189
Note: See TracChangeset for help on using the changeset viewer.