Changeset 155 for trunk/matml/webselector/php/dbquery.php.inc
- Timestamp:
- 02/18/2005 02:27:34 PM (7 years ago)
- Files:
-
- 1 modified
-
trunk/matml/webselector/php/dbquery.php.inc (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/matml/webselector/php/dbquery.php.inc
r152 r155 16 16 $ret=explode("/",$this->name); 17 17 if(!isset($ret[1])) 18 $ret[1]= "";18 $ret[1]='1'; 19 19 return $ret; 20 } 21 function name_mul($a,$b) 22 { 23 if($a=='1') 24 return $b; 25 else if($b=='1') 26 return $a; 27 return "$a-$b"; 20 28 } 21 29 function div($other) … … 23 31 $mine=$this->name_split(); 24 32 $eirs=$other->name_split(); 25 if($mine[0]&&$eirs[1]) 26 $mine[0].="-$eirs[1]"; 27 else 28 $mine[0].=$eirs[1]; 29 if($mine[1]&&$eirs[0]) 30 $mine[1].="-$eirs[0]"; 31 else 32 $mine[1].=$eirs[0]; 33 if(!$mine[1]) 33 $mine[0]=$this->name_mul($mine[0],$eirs[1]); 34 $mine[1]=$this->name_mul($mine[1],$eirs[0]); 35 36 if($mine[1]=='1') 34 37 $name=$mine[0]; 35 38 else … … 46 49 $mine=$this->name_split(); 47 50 $eirs=$other->name_split(); 48 if($mine[0]&&$eirs[0]) 49 $mine[0].="-$eirs[0]"; 50 else 51 $mine[0].=$eirs[0]; 52 if($mine[1]&&$eirs[1]) 53 $mine[1].="-$eirs[1]"; 54 else 55 $mine[1].=$eirs[1]; 56 if(!$mine[1]) 51 $mine[0]=$this->name_mul($mine[0],$eirs[0]); 52 $mine[1]=$this->name_mul($mine[1],$eirs[1]); 53 54 if($mine[1]=='1') 57 55 $name=$mine[0]; 58 56 else … … 73 71 74 72 75 if( $power > 1){ 76 if($mine[0]) 77 { 78 $mine[0].="^$power"; 79 } 80 if($mine[1]) 81 { 82 $mine[1].="^$power"; 83 } 84 } 85 elseif($power == 1){ 86 //Do nothing 87 } 88 elseif( $power == 0){ 89 90 if($mine[0]) 91 { 92 $mine[0]="1"; 93 } 94 if($mine[1]) 95 { 96 $mine[1]="1"; 97 } 98 } 99 elseif($power == -1){ 100 101 if($mine[0]&&$mine[1]) 102 { 73 if($power < 0){ 103 74 $temp = $mine[0]; 104 75 $mine[0]= $mine[1]; 105 76 $mine[1]= $temp; 77 $namepower=-$power; 78 } 79 else 80 $namepower=$power; 81 82 if( $namepower > 1){ 83 if($mine[0]!='1') 84 { 85 $mine[0].="^$namepower"; 106 86 } 107 elseif($mine[1]&&!$mine[0])87 if($mine[1]!='1') 108 88 { 109 $mine[0]=$mine[1]; 110 $mine[1]=""; 89 $mine[1].="^$namepower"; 111 90 } 112 elseif($mine[0]&&!$mine[1]) 113 { 114 $mine[1]=$mine[0]; 115 $mine[0]=1; 116 } 117 118 } 119 elseif($power < -1){ 120 121 122 if($mine[0]&&$mine[1]) 123 { 124 $temp = $mine[0]; 125 $mine[0]= "$mine[1]^".abs($power); 126 $mine[1]= "$temp^".abs($power); 127 } 128 elseif($mine[1]&&!$mine[0]) 129 { 130 $mine[0]="$mine[1]^".abs($power); 131 $mine[1]=""; 132 } 133 elseif($mine[0]&&!$mine[1]) 134 { 135 $mine[1]="$mine[0]^".abs($power); 136 $mine[0]=1; 137 } 138 139 } 140 141 142 if(!$mine[1]) 91 } 92 elseif($namepower == 1){ 93 //Do nothing 94 } 95 elseif( $namepower == 0){ 96 $mine[0]="1"; 97 $mine[1]="1"; 98 } 99 100 if($mine[1]=='1') 143 101 $name=$mine[0]; 144 102 else … … 384 342 $property_data->avg_value*=pow( 385 343 $BTUs_to_Joules->scale,$power); 344 345 //Convert all negative powers of degree F and degree C to Kelvin 346 $degreeF_to_Kelvin=$unit_infos['K']->div($unit_infos['°F']); 347 $degreeF_to_Kelvin->scale=5.0/9.0; 348 $degreeC_to_Kelvin=$unit_infos['K']->div($unit_infos['°C']); 349 $degreeC_to_Kelvin->scale=1; 350 351 $power=get_factor_power($property_data->unit->num_name,$unit_infos['°F']->num_name); 352 if($power>0) 353 $power=0; 354 $property_data->unit=$property_data->unit->mul($degreeF_to_Kelvin->pow($power)); 355 $property_data->avg_value*=pow( 356 $degreeF_to_Kelvin->scale,$power); 357 358 $power=get_factor_power($property_data->unit->num_name,$unit_infos['°C']->num_name); 359 if($power>0) 360 $power=0; 361 $property_data->unit=$property_data->unit->mul($degreeC_to_Kelvin->pow($power)); 362 $property_data->avg_value*=pow( 363 $degreeC_to_Kelvin->scale,$power); 364 365 //Now convert negative powers of Kelvin to degree C and degree F as needed 366 $power=get_factor_power($unit->num_name,$unit_infos['°F']->num_name); 367 if($power>0) 368 $power=0; 369 $property_data->unit=$property_data->unit->div($degreeF_to_Kelvin->pow($power)); 370 $property_data->avg_value/=pow( 371 $degreeF_to_Kelvin->scale,$power); 372 373 $power=get_factor_power($unit->num_name,$unit_infos['°C']->num_name); 374 if($power>0) 375 $power=0; 376 $property_data->unit=$property_data->unit->div($degreeC_to_Kelvin->pow($power)); 377 $property_data->avg_value/=pow( 378 $degreeC_to_Kelvin->scale,$power); 386 379 387 380 if(!$unit->equals($property_data->unit)) … … 608 601 "Youngs Modulus" => $unit_infos["MPa"], 609 602 "Yield Strength" => $unit_infos["MPa"], 610 "Heat Capacity" => $unit_infos["J"]->div($unit_infos["g"]->mul($unit_infos[" °C"])),603 "Heat Capacity" => $unit_infos["J"]->div($unit_infos["g"]->mul($unit_infos["K"])), 611 604 "Thermal Conductivity" => $unit_infos["W"]->div($unit_infos["m"]->mul($unit_infos["K"])), 612 605 );