Note : Some parts of the source code are omitted from these listings (mainly functions for debugging the code)..

Globals: fake_rossi_ecat_global_v305.php

<?php  // php energy calculator globals  v3 110305
global $dbg;
global $observed_power,$observed_runtime;  // KWH, hrs
global $section_max, $section_volume, $section_name, $section_abrv,$section_mass;
global $material_max, $material_name, $material_abrv,
       $material_mj_per_l, $material_mj_per_kg, 
       $material_kwh_per_l, $material_kwh_per_kg, 
	   $material_sp_heat;
global $rad_max, $rad_name, $rad_abrv, $rad_kw_per_kg, $rad_kw_per_l, $rad_sp_gravity;
global $expt_max, $expt_name, $expt_abrv, $expt_power, $expt_time, $expt_comment,
       $expt_sec_from, $expt_sec_to,
       $expt_sec_max, $expt_sec, $expt_mat; 
global $g_expt; // current experiment	   
global $color_real, $color_fake;   
global $unknown_val;
global $pKW,$pKWH,$pMJ,$pH,$pL,$pKG,$pMJpKG,$pMJpL,$pKWHpKG,$pKWHpL,$pSPH;  // print spans
global $paH, $paH2, $paO, $paO2, $paO3, $paH2O; // common molecules
global $paB, $paB2;
// stuff for element/molecular calculations
global $am; // atomic/molecular mass
global $dkgL; // density[]
// AB reactions ['AB']
global $mab_ab_title,$mab_ab_formula,$mab_a_name,$mab_b_name;
global $mab_a_pa, $mab_b_pa; // pATOM formats
global $mab_a_m, $mab_b_m, $mab_tot_m, $mab_a_mfac, $mab_b_mfac;
global $mab_a_dens, $mab_b_dens;
global $mab_a_num, $mab_b_num;
global $mab_a_elt, $mab_b_elt;
global $mab_a_v, $mab_b_v, $mab_tot_v, $mab_a_vfac, $mab_b_vfac;
global $table_bgcolor;
?>

Functions: fake_rossi_ecat_calc_v305.php

<?php  // php energy calculator
include("fake_rossi_ecat_global_v305.php");

define('AF_MJ2KWH','0.27778');


$dbg = 3;
$material_max = 0;
$rad_max      = 0;
$section_max  = 0;
$expt_max     = 0;


function pUNIT($a_string)  // print the UNIT in a span, with its own class
{ include("fake_rossi_ecat_global_v305.php");
  $r = <<< PRINT_UNITS
  <span class="afUnits">{$a_string}</span>
PRINT_UNITS;
  return $r;
}


// Pre-format all the common units : the names are picture-coded
$pKW = pUNIT("kW");
$pKWH = pUNIT("kWH");
$pMJ = pUNIT("MJ");
$pH = pUNIT("Hrs");
$pL = pUNIT("L");
$pKG = pUNIT("kg");
$pMJpKG = pUNIT("MJ/kg");
$pMJpL = pUNIT("MJ/L");
$pKWHpKG = pUNIT("kWH/kg");
$pKWHpL = pUNIT("kWH/L");
$pSPH = pUNIT("MJ/kg.K");

function print_val_fmt($a_val)
{ include("fake_rossi_ecat_global_v305.php");
  if ( $a_val <= 0.00000000001 )
  { $r = "";
  }
  else if ( $a_val < 0.0001 )
  { $r = sprintf("%4.7f",$a_val);
  }
  else if ( $a_val < 0.001 )
  { $r = sprintf("%4.6f",$a_val);
  }
  else if ( $a_val < 0.01 )
  { $r = sprintf("%4.5f",$a_val);
  }
  else if ( $a_val < 0.1 )
  { $r = sprintf("%4.4f",$a_val);
  }
  else if ( $a_val < 1.0 )
  { $r = sprintf("%4.3f",$a_val);
  }
  else if ( $a_val < 10.0 )
  { $r = sprintf("%4.2f",$a_val);
  }
  else if ( $a_val < 100.0 )
  { $r = sprintf("%4.1f",$a_val);
  }
  else 
  { $r = sprintf("%4.0f",$a_val);
  }
  return $r;
}
function pV($a_val)  // shorthand
{ return print_val_fmt($a_val);
}
function print_unit_fmt($a_val,$a_unit)  // changes format to three significant digits
{ include("fake_rossi_ecat_global_v305.php");
  
  if ( $a_val <= 0.00000000001 )
  { $r = "";
  }
  else 
  { $v = print_val_fmt($a_val);
    $r = sprintf("%s %s",$v,$a_unit);
  }
  return $r;
}

function td_fmt3($v,$z,$f,$u,$s)  // val, formats for zero,float,unknown  style
{
  if ($v==0) 
  { $r = '<td align="center" valign="top"' . $s . '>' . $z . '</td>'; 
  }
  else if ( $v >= 999 )
  {  $r = '<td align="center"  valign="top"' . $s . '>' . $u . '</td>'; 
  }
  else
  { $r = '<td align="right"  valign="top"' . $s . '>' . sprintf($f,$v) . '</td>';
  }
  return $r;
}

function pATOM($a,$s)  // Print an Atom with subscript
{  include("fake_rossi_ecat_global_v305.php");
   $r = "<span class=\"afAtom\">$a</span>";
   if($s>1) { $r .= "<span class=\"afSubs\">$s</span>"; }
   return $r;
}

$paH   = pATOM('H',1);
$paH2  = pATOM('H',2);
$paO   = pATOM('O',1);
$paO2  = pATOM('O',2);
$paO3  = pATOM('O',3);
$paH2O = $paH2 . $paO;
$paB   = pATOM('B',1);
$paB2  = pATOM('B',2);
$paB3  = pATOM('B',3);

function print_direct_energy_mass($a_mass,$a_mj_per_kg) 
{ include("fake_rossi_ecat_global_v305.php");
  $l_mj = $a_mass *$a_mj_per_kg;
  $l_kwh = AF_MJ2KWH * $l_mj;
  $l_mj_str = print_unit_fmt($l_mj,"MJ");
  $l_kwh_str =  print_unit_fmt($l_kwh,"kWH");
  echo <<< ENERGY_MASS
  {$l_mj_str} ({$l_kwh_str})
ENERGY_MASS;
}

function set_section($a_section,$a_name,$a_abrv,$a_volume,$a_mass)
{ include("fake_rossi_ecat_global_v305.php");
  if($section_max < $a_section ) { $section_max = $a_section; }
  $section_name[$a_section] = $a_name;
  $section_abrv[$a_section] = $a_abrv;
  $section_volume[$a_section] = $a_volume;
  $section_mass[$a_section] = $a_mass;
}
function print_section_table_row($a_sec)
{  include("fake_rossi_ecat_global_v305.php");
   if($dbg>9) { printf("<br/>DBG sec %d name $s </br>",$a_mat,$section_name[$a_sec]); }
   $fmt1 = 'valign="top"';
   $fmt2 = 'align="right" valign="top"';
   if ( isset($section_name[$a_sec]) )
   { printf("<tr>");
     printf("<td %s>%s</td>",$fmt1,
	     $section_name[$a_sec]);
     printf("<td %s>%s</td>",$fmt1,
	     $section_abrv[$a_sec]);
     echo td_fmt3($section_mass[$a_sec],"-","%6.3f","???",'');
     echo td_fmt3($section_volume[$a_sec],"-","%6.3f","???",'');
     printf("</tr>");
   }
}

function print_section_table($a_sec_from,$a_sec_to)
{ include("fake_rossi_ecat_global_v305.php");
echo <<< SEC_TABLE_HEAD
  <table width="400" border="1" class="afTable"  style="background-color: $table_bgcolor[0];">
    <tr>
      <th width="189" scope="col" rowspan="2">Section</th>
      <th width="189" scope="col" rowspan="2">Abrev</th>
      <th width="80" scope="col" align="right"  style="border-bottom: 0px;">Mass</th>
      <th width="80" scope="col" align="right" style="border-bottom: 0px;">Volume</th>
    </tr>
	<tr><td align="right">$pKG</td><td align="right">$pL</td>
	</tr>
SEC_TABLE_HEAD;
  for($l_sec=$a_sec_from;$l_sec<=$a_sec_to;$l_sec++)
  { if( isset($section_name[$l_sec]) ) { print_section_table_row($l_sec); }
  }
echo <<< SEC_TABLE_TAIL
  </table>
SEC_TABLE_TAIL;
}	 

function set_material($a_mat,$a_mat_name,$a_mat_abrv,$a_mat_mj_per_kg,$a_mat_mj_per_l,$a_mat_sp_heat)
{ include("fake_rossi_ecat_global_v305.php");
  if($material_max < $a_mat ) { $material_max = $a_mat; }
  $material_name[$a_mat] = $a_mat_name; 
  $material_abrv[$a_mat] = $a_mat_abrv; 
  $material_mj_per_l[$a_mat] = $a_mat_mj_per_l;
  $material_kwh_per_l[$a_mat] = $a_mat_mj_per_l == $unknown_val? $unknown_val : $a_mat_mj_per_l * AF_MJ2KWH;
  $material_mj_per_kg[$a_mat] = $a_mat_mj_per_kg;
  $material_kwh_per_kg[$a_mat] = $a_mat_mj_per_kg == $unknown_val? $unknown_val : $a_mat_mj_per_kg * AF_MJ2KWH;
  $material_sp_heat[$a_mat] = $a_mat_sp_heat;
}
function print_material_table_row($a_mat)
{  include("fake_rossi_ecat_global_v305.php");
   if($dbg>9) { printf("<br/>DBG mat %d name $s </br>",$a_mat,$material_name[$a_mat]); }
   $fmt1 = 'valign="top"';
   $fmt2 = 'align="right" valign="top"';
   if ( isset($material_name[$a_mat]) )
   { printf("<tr>");
     printf("<td %s>%s</td>",$fmt1,
	     $material_name[$a_mat]);
     printf("<td %s>%s</td>",$fmt1,
	     $material_abrv[$a_mat]);
     echo td_fmt3($material_mj_per_kg[$a_mat],"-","%6.3f","???",'style="border-right:0px;"' );
     echo td_fmt3($material_kwh_per_kg[$a_mat],"-","%6.3f","???",'');
     echo td_fmt3($material_mj_per_l[$a_mat],"-","%6.3f","???",'style="border-right:0px;"');
     echo td_fmt3($material_kwh_per_l[$a_mat],"-","%6.3f","???",'');
     echo td_fmt3($material_mj_sp_heat[$a_mat],"-","%6.3f","???",'');
     printf("</tr>");
   }
}

function print_material_table($a_mat_from,$a_mat_to)
{ include("fake_rossi_ecat_global_v305.php");
echo <<< MAT_TABLE_HEAD
  <table width="600" border="1" class="afTable" style="background-color: $table_bgcolor[0];">
    <tr>
      <th  scope="col" valign="top" rowspan="2" style="width: 150px;">Material</th>
      <th  scope="col" valign="top" rowspan="2" style="width: 100px;">Abrev</th>
      <th  scope="col" valign="top" colspan="2" style="width: 100px;">Energy<br />by Mass</th>
      <th  scope="col" valign="top" colspan="2" style="width: 100px;">Energy<br />by Volume</th>
      <th  scope="col" valign="top" style="width: 80px;">Specific<br />Heat</th>
    </tr>
	    <td style="width: 100px; border-top: 0px;  border-right: 0px;" align="right"  >$pMJpKG</td>
	    <td style="width: 100px;  border-top: 0px;" align="right" >$pKWHpKG</td>
	    <td style="width: 100px;  border-top: 0px; border-right: 0px;" align="right" >$pMJpL</td>
	    <td style="width: 100px;  border-top: 0px;" align="right" >$pKWHpL</td>
	    <td  style="width: 80px;  border-top: 0px;"  align="right">$pSPH</td>
	</tr>
MAT_TABLE_HEAD;
  for($l_mat=$a_mat_from;$l_mat<=$a_mat_to;$l_mat++)
  { if( isset($material_name[$l_mat]) ) { print_material_table_row($l_mat); }
  }
  
echo <<< MAT_TABLE_TAIL
  </table>
MAT_TABLE_TAIL;
}	 

function set_expt($a_expt,$a_name,$a_abrv,$a_power,$a_time,$a_cmnt)
{  include("fake_rossi_ecat_global_v305.php");
  $g_expt = $a_expt;
  if($expt_max < $a_expt ) { $expt_max = $a_expt; }
  $expt_name[$a_expt] = $a_name; 
  $expt_abrv[$a_expt] = $a_abrv; 
  $expt_power[$a_expt] = $a_power; 
  $expt_time[$a_expt] = $a_time; 
  $expt_comment[$a_expt] = $a_cmnt; 
  $expt_sec_max[$a_expt] = 0; 
  $expt_sec_from[$a_expt] = 999999999; 
  $expt_sec_to[$a_expt]   = -999999999; 
}
function set_expt_sec($a_sec,$a_mat)
{  include("fake_rossi_ecat_global_v305.php");
  $l_sec = ++$expt_sec_max[$g_expt]; 
  $expt_sec[$g_expt][$l_sec] = $a_sec; 
  $expt_mat[$g_expt][$l_sec] = $a_mat; 
  if ( $expt_sec_from[$g_expt] < $l_sec ) { $expt_sec_from[$g_expt] = $l_sec; }  
  if ( $expt_sec_to[$g_expt]   > $l_sec ) { $expt_sec_to[$g_expt]   = $l_sec; }
}

function print_expt_table_row_v3($a_expt)
{  include("fake_rossi_ecat_global_v305.php");
   $l_tot_energy = 0;
   $l_prt_sec_num = 0;
   for($l_sec_num=1;$l_sec_num<= $expt_sec_max[$a_expt];$l_sec_num++)
   { $l_mat = $expt_mat[$a_expt][$l_sec_num];
     $l_sec = $expt_sec[$a_expt][$l_sec_num];
     $l_energy_kwh = $section_volume[$l_sec]*$material_kwh_per_l[$l_mat];
	 $l_tot_energy += $l_energy_kwh;
	$l_prt_sec_num++;
	$l_sec_abrv[$l_prt_sec_num] = $section_abrv[$l_sec];
	$l_mat_abrv[$l_prt_sec_num] = $material_abrv[$l_mat];
	$l_sec_kwh[$l_prt_sec_num]  = print_unit_fmt($l_energy_kwh,$pKWH);
  }
    $l_runtime = $l_tot_energy/$expt_power[$a_expt];
   if ( $l_runtime <= $expt_time[$a_expt] )
   { $time_color = $color_real;
     $result = "REAL";
   }
   else
   { $time_color = $color_fake;
     $result= "FAKE?";
   }
   $l_hrs_expt = print_unit_fmt($expt_time[$a_expt],$pH); 
   $l_hrs_fake = print_unit_fmt($l_runtime,$pH);
   $l_kw_expt = print_unit_fmt($expt_power[$a_expt],$pKW);
   $l_kwh_fake = print_unit_fmt($l_tot_energy,$pKWH);
 
echo <<< EXPT_ROW_V3
<tr>
<th width="110" rowspan="4" align="left" valign="top">{$expt_abrv[$a_expt]}</th>
<th width="70" align="left" style="border-bottom: 0px;  border-right: 0px;">Section</th>
<td width="70" align="center" style="border-bottom: 0px; border-right: 0px;">{$l_sec_abrv[1]} </td>
<td width="70" align="center" style="border-bottom: 0px; border-right: 0px;">{$l_sec_abrv[2]}</td>
<td width="70" align="center" style="border-bottom: 0px;  border-right: 0px;">{$l_sec_abrv[3]}</td>
<th width="70" rowspan="2"  valign="top" style="border-bottom: 0px;">Fake<br />
  Energy</th>
<th width="70"  rowspan="2" valign="top" style="border-bottom: 0px; ">Expt<br />
  Power</th>
<td valign="top" colspan="2" style="background-color:$time_color;">$result</td>
</tr>
<tr>
<th height="19" align="left" style="border-bottom: 0px;  border-right: 0px;">Material</th>
<td align="center" style="border-bottom: 0px; border-right: 0px;">{$l_mat_abrv[1]}</td>
<td align="center" style="border-bottom: 0px; border-right: 0px;">{$l_mat_abrv[2]}</td>
<td align="center" style="border-bottom: 0px;  border-right: 0px;">{$l_mat_abrv[3]}</td>
<th width="65" style="border-bottom: 0px red ; border-right: 0px; background-color:$time_color;">Fake</th>
<th width="65" style="border-bottom: 0px; background-color:$time_color;">Expt</th>
</tr>
<tr>
<th align="left"  style="border-right: 0px;">Energy</th>
<td align="right" style="border-right: 0px;">{$l_sec_kwh[1]}</td>
<td align="right"  style="border-right: 0px;">{$l_sec_kwh[2]}</td>
<td align="right"  style="border-right: 0px;">{$l_sec_kwh[3]}</td>
<td>$l_kwh_fake</td>
<td>$l_kw_expt</td>
<td align="right" style="border-right: 0px; border-top: 0px red; background-color:$time_color;">{$l_hrs_fake}</td>
<td align="right" style="border-top: 0px; background-color:$time_color;">{$l_hrs_expt}</td>
</tr>
<tr>
  <td height="28" colspan="8" align="left" valign="top">$expt_comment[$a_expt]</td>
</tr>

EXPT_ROW_V3;
}
function print_expt_table_v3($a_expt_from,$a_expt_to)
{ include("fake_rossi_ecat_global_v305.php");
  echo <<< EXPT_TABLE_HEAD3
<table width="700" border="1" class="afTable">
EXPT_TABLE_HEAD3;
    for($l_expt=$a_expt_from;$l_expt<=$a_expt_to;$l_expt++)
	{  if($dbg>3) { printf("<tr><td>EXPT {$l_expt} NAME {$expt_name[$l_expt]} </td></tr>\n"); }
	   if (isset($expt_name[$l_expt]) ){ print_expt_table_row_v3($l_expt);  }
	}
echo <<< EXPT_TABLE_TAIL3
    </table>
EXPT_TABLE_TAIL3;
// <tr><td colspan="7">Units<br />Power: kW Energy: kWH  Time: Hours  Mass: kg Volume : Liters </td></tr>
}

function print_expt_table_row_v4($a_expt,$bgcolor)
{  include("fake_rossi_ecat_global_v305.php");
   $l_tot_energy = 0;
   $l_prt_sec_num = 0;
   for($l_sec_num=1;$l_sec_num<= $expt_sec_max[$a_expt];$l_sec_num++)
   { $l_mat = $expt_mat[$a_expt][$l_sec_num];
     $l_sec = $expt_sec[$a_expt][$l_sec_num];
     $l_energy_kwh = $section_volume[$l_sec]*$material_kwh_per_l[$l_mat];
	 $l_tot_energy += $l_energy_kwh;
	$l_prt_sec_num++;
	$l_sec_abrv[$l_prt_sec_num] = $section_abrv[$l_sec];
	$l_mat_abrv[$l_prt_sec_num] = $material_abrv[$l_mat];
	$l_sec_kwh[$l_prt_sec_num]  = print_unit_fmt($l_energy_kwh,$pKWH);
  }
    $l_runtime = $l_tot_energy/$expt_power[$a_expt];
   if ( $l_runtime <= $expt_time[$a_expt] )
   { $time_color = $color_real;
     $result = "REAL";
   }
   else
   { $time_color = $color_fake;
     $result= "FAKE?";
   }
   $l_hrs_expt = print_unit_fmt($expt_time[$a_expt],$pH); 
   $l_hrs_fake = print_unit_fmt($l_runtime,$pH);
   $l_kw_expt = print_unit_fmt($expt_power[$a_expt],$pKW);
   $l_kwh_fake = print_unit_fmt($l_tot_energy,$pKWH);
 
echo <<< EXPT_ROW_V4
<tr style="background-color: $bgcolor;">
<th colspan="8" align="left" valign="top" >{$expt_name[$a_expt]}</th>
</tr>
<tr style="background-color: $bgcolor;">
<th width="70" align="left" style="border-bottom: 0px;  border-right: 0px; ">Section</th>
<td width="70" align="center" style="border-bottom: 0px; border-right: 0px;">{$l_sec_abrv[1]} </td>
<td width="70" align="center" style="border-bottom: 0px; border-right: 0px;">{$l_sec_abrv[2]}</td>
<td width="70" align="center" style="border-bottom: 0px;  border-right: 0px;">{$l_sec_abrv[3]}</td>
<th width="70" rowspan="2"  valign="top" style="border-bottom: 0px;">Fake<br />
  Energy</th>
<th width="70"  rowspan="2" valign="top" style="border-bottom: 0px; ">Expt<br />
  Power</th>
<td valign="top" colspan="2" style="background-color:$time_color;">$result</td>
</tr>
<tr style="background-color: $bgcolor;">
<th height="19" align="left" style="border-bottom: 0px;  border-right: 0px;">Material</th>
<td align="center" style="border-bottom: 0px; border-right: 0px;">{$l_mat_abrv[1]}</td>
<td align="center" style="border-bottom: 0px; border-right: 0px;">{$l_mat_abrv[2]}</td>
<td align="center" style="border-bottom: 0px;  border-right: 0px;">{$l_mat_abrv[3]}</td>
<th width="65" style="border-bottom: 0px red ; border-right: 0px; background-color:$time_color;">Fake</th>
<th width="65" style="border-bottom: 0px; background-color:$time_color;">Expt</th>
</tr>
<tr style="background-color: $bgcolor;">
<th align="left"  style="border-right: 0px;">Energy</th>
<td align="right" style="border-right: 0px;">{$l_sec_kwh[1]}</td>
<td align="right"  style="border-right: 0px;">{$l_sec_kwh[2]}</td>
<td align="right"  style="border-right: 0px;">{$l_sec_kwh[3]}</td>
<td>$l_kwh_fake</td>
<td>$l_kw_expt</td>
<td align="right" style="border-right: 0px; border-top: 0px red; background-color:$time_color;">{$l_hrs_fake}</td>
<td align="right" style="border-top: 0px; background-color:$time_color;">{$l_hrs_expt}</td>
</tr>
<tr style="background-color: $bgcolor;">
  <td height="28" colspan="8" align="left" valign="top">$expt_comment[$a_expt]</td>
</tr>
EXPT_ROW_V4;
}

function print_expt_table_v4($a_expt_from,$a_expt_to,$send_table)
{ include("fake_rossi_ecat_global_v305.php");
  $bgindx = 0;
  if($send_table) { echo <<< EXPT_TABLE_HEAD4A
         <table width="700" border="1" class="afTable">
EXPT_TABLE_HEAD4A;
    }
    for($l_expt=$a_expt_from;$l_expt<=$a_expt_to;$l_expt++)
	{    	   
	   if (isset($expt_name[$l_expt]) )
	   {  if($send_table) { $bgindx = $bgindx==0?1:0; }
          if(!$send_table) { echo <<< EXPT_TABLE_HEAD4B
          <table width="700" border="1" class="afTable"  >
EXPT_TABLE_HEAD4B;
          }
	         print_expt_table_row_v4($l_expt,$table_bgcolor[$bgindx]);  
          if(!$send_table) { echo <<< EXPT_TABLE_TAIL4B
           </table><br />
EXPT_TABLE_TAIL4B;
          }
	   }
	} 
	if($send_table) { echo <<< EXPT_TABLE_TAIL4A
           </table><br />
EXPT_TABLE_TAIL4A;
     }

// <tr><td colspan="7">Units<br />Power: kW Energy: kWH  Time: Hours  Mass: kg Volume : Liters </td></tr>
}

// used for radioactive materials
function set_rad($a_rad,$a_rad_name,$a_rad_abrv,$a_rad_kw_per_kg,$a_rad_kw_per_l,$a_rad_sp_gravity)
{ include("fake_rossi_ecat_global_v305.php");
  if($rad_max < $a_rad ) { $rad_max = $a_rad; }
  $rad_name[$a_rad] = $a_rad_name; 
  $rad_abrv[$a_rad] = $a_rad_abrv; 
  $rad_kw_per_l[$a_rad] = $a_rad_kw_per_l;
  $rad_kw_per_kg[$a_rad] = $a_rad_kw_per_kg;
  $rad_sp_gravity[$a_rad] = $a_rad_sp_gravity;
}
function print_rad_table_row($a_rad)
{  include("fake_rossi_ecat_global_v305.php");
   if($dbg>9) { printf("<br/>DBG rad %d name $s </br>",$a_rad,$rad_name[$a_rad]); }
   $fmt1 = 'valign="top"';
   $fmt2 = 'align="right" valign="top"';
   if ( isset($rad_name[$a_rad]) )
   { printf("<tr>");
     printf("<td %s>%s</td>",$fmt1,
	     $rad_name[$a_rad]);
     printf("<td %s>%s</td>",$fmt1,
	     $rad_abrv[$a_rad]);
     printf("<td %s>%6.3f</td>",$fmt2,
		 $rad_kw_per_kg[$a_rad]);
     printf("<td %s>%6.3f</td>",$fmt2,
		 $rad_kw_per_l[$a_rad]);
     printf("<td %s>%6.3f</td>",$fmt2,
		 $rad_sp_gravity[$a_rad]);
     printf("</tr>");
   }
}

function print_rad_table($a_rad_from,$a_rad_to)
{ include("fake_rossi_ecat_global_v305.php");
echo <<< RAD_TABLE_HEAD
  <table width="500" border="1"  class="afTable" style="background-color: $table_bgcolor[0];">
    <tr>
      <th width="100" scope="col" valign="top">Material</th>
      <th width="80" scope="col" valign="top">Abrev</th>
      <th width="80" scope="col" valign="top">Power<br />by<br />Mass<br>kW/kg</th>
      <th width="80" scope="col" valign="top">Power<br />by<br />Volume<br>kW/L</th>
      <th width="80" scope="col" valign="top">Specific<br />gravity</th>
    </tr>
RAD_TABLE_HEAD;
  for($l_rad=$a_rad_from;$l_rad<=$a_rad_to;$l_rad++)
  { if( isset($rad_name[$l_rad]) ) { print_rad_table_row($l_rad); }
  }
echo <<< RAD_TABLE_TAIL
  </table>
RAD_TABLE_TAIL;
}	 


?>

Set Values: fake_rossi_ecat_setvalues_v305.php

<?php  // php energy calculator

$color_real = "#66ff66";
$color_fake = "#ff6666";

// alternating colors for dense tables
$table_bgcolor[0] = "#F0F0F0"; 
$table_bgcolor[1] = "#E0E0E0";
  
$unknown_val = 999;

// sections
define('AF_C',1);
define('AF_H',2);
define('AF_V',3);
define('AF_R',4);
define('AF_RCH',5);

define('AF_DEMO',5);

$mat_num = 0;

$rad_num = 0;
define('RAD_HF178',++$rad_num);
define('RAD_PU238',++$rad_num);

function set_ecat_values_031()
{ include("fake_rossi_ecat_global_v305.php");

  // sections  VOL-MASS
  set_section(AF_C,"Control Box","Ctrl",60,7);
  set_section(AF_H,"Horizontal Arm","Horz",22,0);
  set_section(AF_V,"Vertical Arm","Vert",9,0);
  set_section(AF_R,"Reactor","React",0.5*$section_volume[AF_H],30);
  set_section(AF_RCH,"Reactor Chamber","Chamber",1,0);
  set_section(AF_DEMO1,"Section Name 1","SEC-1",12,11);
  set_section(AF_DEMO2,"Section Name 2","SEC-2",22,21);
  set_section(AF_DEMO3,"Section Name 3","SEC-3",32,31);
  
  // materials  mass,vol, sp-heat
  
  $mjkg_h = 143;
  $mjL_h = 5.6;
  $mjkg_b =  58.9;
  $mjL_b  = 137.8;
  
  define('MAT_NONE',++$mat_num);
  set_material(MAT_NONE,"None","-",0,0,0);
  
  define('MAT_BAT_START',$mat_num+1);
  define('MAT_LEAD_BAT',++$mat_num);
  set_material(MAT_LEAD_BAT,"Lead-Acid Batteries","Lead B",0.14,0.36,0);  
  define('MAT_LI_ION_BAT',++$mat_num);
  set_material(MAT_LI_ION_BAT,"Lithium-Ion Batteries","L-i B",0.72,3.6,0);   
  define('MAT_BAT_FIN',$mat_num);
  
  define('MAT_FC_START',$mat_num+1);
  define('MAT_CHCO_FC',++$mat_num); 
  set_material(MAT_CHCO_FC,"Compressed Hydrogen/External Air Fuel Cell","CH/Air-FC",$mjkg_h,$mjL_h,0);  
  define('MAT_LHA_FC',++$mat_num);
  set_material(MAT_LHA_FC,"Liquid Hydrogen/External Air Fuel Cell","LH/Air-FC",143,10.1,0);     
  define('MAT_CHCO_FC',++$mat_num);
  set_material(MAT_CHCO_FC,"Compressed Hydrogen/Compressed Oxygen Fuel Cell","CH/CO-FC",$mab_a_mfac['CH-CO']*$mjkg_h,$mab_a_vfac['CH-CO']*$mjL_h,0);   
  define('MAT_LHLO_FC',++$mat_num);
  set_material(MAT_LHLO_FC,"Liquid Hydrogen/Liquid Oxygen Fuel Cell","LH/LO-FC",$mab_a_mfac['LH-LO']*$mjkg_h,$mab_a_vfac['LH-LO']*$mjL_h,0);  
  define('MAT_FC_FIN',$mat_num);
  
  define('MAT_HO_START',$mat_num+1);
  define('MAT_CHA',++$mat_num);
  set_material(MAT_CHA,"Compressed Hydrogen/External Air","CH/Air",$mjkg_h,$mjL_h,0);   
  define('MAT_LHA',++$mat_num);
  set_material(MAT_LHA,"Liquid Hydrogen/External Air","LH/Air",143,10.1,0);  
  define('MAT_CHCO',++$mat_num);
  set_material(MAT_CHCO,"Compressed Hydrogen/Compressed Oxygen","CH/CO",$mab_a_mfac['CH-CO']*$mjkg_h,$mab_a_vfac['CH-CO']*$mjL_h,0); 
  define('MAT_LHLO',++$mat_num);
  set_material(MAT_LHLO,"Liquid Hydrogen/Liquid Oxygen","LH/LO",$mab_a_mfac['LH-LO']*$mjkg_h,$mab_a_vfac['LH-LO']*$mjL_h,0); 
  define('MAT_HO_FIN',$mat_num);

  define('MAT_BO_START',$mat_num+1);
  define('MAT_BO_AIR',++$mat_num);
  set_material(MAT_BO_AIR,"Boron/External Air","B/Air",$mjkg_b,$mjL_b,0); 
  define('MAT_BO_CO',++$mat_num);
  set_material(MAT_BO_CO,"Boron/Compressed Oxygen","B/CO",$mab_a_mfac['B-CO']*$mjkg_b,$mab_a_vfac['B-CO']*$mjL_b,0); 
  define('MAT_BO_LO',++$mat_num);
  set_material(MAT_BO_LO,"Boron/Liquid Oxygen","B/LO",$mab_a_mfac['B-LO']*$mjkg_b,$mab_a_vfac['B-LO']*$mjL_b,0); 
  define('MAT_BO_FIN',$mat_num);
  
  define('MAT_DSL_AIR',++$mat_num);
  set_material(MAT_DSL_AIR,"Diesel/Air","Dsl/Air",46.2,37.3,0); 
  
  define('MAT_MG_H2O',++$mat_num);
  set_material(MAT_MG_H2O,"Magnesium/Steam","Mg/Steam",$unknown_val,$unknown_val,0); 
  define('MAT_BO_H2O',++$mat_num);
  set_material(MAT_BO_H2O,"Boron/Steam + Hydrogen/Air","B/St + H/Air",2*58.9,2*137.8,0); 
  
  define('MAT_DEMO',++$mat_num); 
  set_material(MAT_DEMO,"Material Name 1","MAT-1",12.3,45.6,0); 
  
  set_rad(RAD_HF178,"Haffnium 178","Hf178",$unknown_val,0,0); 
  set_rad(RAD_PU238,"Plutonium 238","Pu238",0.5,0,0); 
  
  define('FLOW_JAN',17.5); // L/h
  define('FLOW_FEB',3000);
  
  $expt_num = 0;
  $cmt_feb_a = "February with ALL sections";
  $cmt_feb_b = "February with ESTIMATED reactor volume";  
  $cmt_feb_c = "February with reactor CHAMBER volume";
  // experiments
  define('EXPT_JAN_BAT',++$expt_num);
  define('EXPT_BAT_START',$expt_num);
   set_expt(EXPT_JAN_BAT,"All units contain Lithium-Ion batteries","All Secs Li/i",10,0.5,"January");
        set_expt_sec(AF_C,MAT_LI_ION_BAT);	// expt number is in a global
        set_expt_sec(AF_H,MAT_LI_ION_BAT);	
        set_expt_sec(AF_V,MAT_LI_ION_BAT);
   define('EXPT_JAN_BAT_MAIN',++$expt_num);
   set_expt(EXPT_JAN_BAT_MAIN,"Main Unit contains Lithium-Ion batteries","Main Secs Li/i",10,0.5,"January: Excluding Control Box");
        set_expt_sec(AF_C,MAT_NONE);	// expt number is in a global
        set_expt_sec(AF_H,MAT_LI_ION_BAT);	
        set_expt_sec(AF_V,MAT_LI_ION_BAT);
   define('EXPT_FEB_BAT_ALL',++$expt_num);
   set_expt(EXPT_FEB_BAT_ALL,"All units contain Lithium-Ion batteries","All Secs Li/i",16,18,$cmt_feb_a);
        set_expt_sec(AF_C,MAT_LI_ION_BAT);	
        set_expt_sec(AF_H,MAT_LI_ION_BAT);	
        set_expt_sec(AF_V,MAT_LI_ION_BAT);
   
   define('EXPT_FEB_BAT_RCT',++$expt_num);
   set_expt(EXPT_FEB_BAT_RCT,"Reactor contains Lithium-Ion batteries ","React Sec Li/i",16,18,$cmt_feb_b);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,MAT_LI_ION_BAT);	
        set_expt_sec(AF_V,MAT_NONE);
		
   define('EXPT_FEB_BAT_RCH',++$expt_num);
   set_expt(EXPT_FEB_BAT_RCH,"Reactor chamber contains Lithium-Ion batteries ","React Sec Li/i",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,MAT_LI_ION_BAT);	
        set_expt_sec(AF_V,MAT_NONE);
				
  define('EXPT_BAT_FIN',$expt_num);
		
   // experiments
   define('EXPT_LHA_START',$expt_num+1);
   define('EXPT_JAN_LHA_ALL',++$expt_num);

   set_expt(EXPT_JAN_LHA_ALL,"Control Box: Liquid H/Air Fuel Cell  Main Unit: Liquid H/Air","H/Air Fuel Cell + H/Air",10,0.5,"January");
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_LHA);	
        set_expt_sec(AF_V,MAT_LHA);
 
 
   define('EXPT_JAN_LHA_MAIN',++$expt_num);
   set_expt(EXPT_JAN_LHA_MAIN,"Main Unit: Liquid H/Air","H/Air",10,0.5,"January: Excluding the Control Box");
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_H,MAT_LHA);	
        set_expt_sec(AF_V,MAT_LHA);
		
   define('EXPT_FEB_LHA_ALL',++$expt_num);
   set_expt(EXPT_FEB_LHA_ALL,"Control Box: Liquid Hydrogen/Air Fuel Cell Main Unit: Liquid Hydrogen/Air","H/Air Fuel Cell, H/Air",16,18,$cmt_feb_a);
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_LHA);	
        set_expt_sec(AF_V,MAT_LHA);
   
   define('EXPT_FEB_LHA_RCT',++$expt_num);
   set_expt(EXPT_FEB_LHA_RCT,"Reactor contains Liquid H/Air ","React H/Air",16,18,$cmt_feb_b);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,MAT_LHA);	
        set_expt_sec(AF_V,MAT_NONE);
	   
   define('EXPT_FEB_LHA_RCH',++$expt_num);
   set_expt(EXPT_FEB_LHA_RCH,"Reactor Chamber contains Liquid H/Air ","React H/Air",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,MAT_LHA);	
        set_expt_sec(AF_V,MAT_NONE);
			
	define('EXPT_LHA_FIN',$expt_num);
  // experiments
   define('EXPT_CHA_START',$expt_num+1);
   define('EXPT_JAN_CHA_ALL',++$expt_num);

   set_expt(EXPT_JAN_CHA_ALL,"Control Box: Compressed H/Air Fuel Cell  Main Unit: Compressed H/Air","H/Air Fuel Cell + H/Air",10,0.5,"January");
        set_expt_sec(AF_C,MAT_CHA_FC);	
        set_expt_sec(AF_H,MAT_CHA);	
        set_expt_sec(AF_V,MAT_CHA);
 
 
   define('EXPT_JAN_CHA_MAIN',++$expt_num);
   set_expt(EXPT_JAN_CHA_MAIN,"Main Unit: Compressed H/Air","H/Air",10,0.5,"January: Excluding the Control Box");
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_H,MAT_CHA);	
        set_expt_sec(AF_V,MAT_CHA);
		
   define('EXPT_FEB_CHA_ALL',++$expt_num);
   set_expt(EXPT_FEB_CHA_ALL,"Control Box: Compressed Hydrogen/Air Fuel Cell Main Unit: Compressed Hydrogen/Air","H/Air Fuel Cell, H/Air",16,18,$cmt_feb_a);
        set_expt_sec(AF_C,MAT_CHA_FC);	
        set_expt_sec(AF_H,MAT_CHA);	
        set_expt_sec(AF_V,MAT_CHA);
   
   define('EXPT_FEB_CHA_RCT',++$expt_num);
   set_expt(EXPT_FEB_CHA_RCT,"Reactor contains Compressed H/Air ","React H/Air",16,18,$cmt_feb_b);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,MAT_CHA);	
        set_expt_sec(AF_V,MAT_NONE);
	   
   define('EXPT_FEB_CHA_RCH',++$expt_num);
   set_expt(EXPT_FEB_CHA_RCH,"Reactor Chamber contains Compressed H/Air ","React H/Air",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,MAT_CHA);	
        set_expt_sec(AF_V,MAT_NONE);
			
	define('EXPT_CHA_FIN',$expt_num);

	
	
   define('EXPT_CHCO_START',$expt_num+1);
   define('EXPT_JAN_CHCO_ALL',++$expt_num);

   set_expt(EXPT_JAN_CHCO_ALL,"Control Box: Compressed H/O Fuel Cell  Main Unit: Compressed H/O","H/Air Fuel Cell + H/Air",10,0.5,"January");
        set_expt_sec(AF_C,MAT_CHCO_FC);	
        set_expt_sec(AF_H,MAT_CHCO);	
        set_expt_sec(AF_V,MAT_CHCO);
 
 
   define('EXPT_JAN_CHCO_MAIN',++$expt_num);
   set_expt(EXPT_JAN_CHCO_MAIN,"Main Unit: Compressed H/O","H/Air",10,0.5,"January: Excluding the Control Box");
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_H,MAT_CHCO);	
        set_expt_sec(AF_V,MAT_CHCO);
		
   define('EXPT_FEB_CHCO_ALL',++$expt_num);
   set_expt(EXPT_FEB_CHCO_ALL,"Control Box: Compressed Hydrogen/O Fuel Cell Main Unit: Compressed Hydrogen/O","H/Air Fuel Cell, H/Air",16,18,$cmt_feb_a);
        set_expt_sec(AF_C,MAT_CHCO_FC);	
        set_expt_sec(AF_H,MAT_CHCO);	
        set_expt_sec(AF_V,MAT_CHCO);
   
   define('EXPT_FEB_CHCO_RCT',++$expt_num);
   set_expt(EXPT_FEB_CHCO_RCT,"Reactor contains Compressed H/O ","React H/O",16,18,$cmt_feb_b);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,MAT_CHCO);	
        set_expt_sec(AF_V,MAT_NONE);
	   
   define('EXPT_FEB_CHCO_RCH',++$expt_num);
   set_expt(EXPT_FEB_CHCO_RCH,"Reactor Chamber contains Compressed H/O ","React H/O",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,MAT_CHCO);	
        set_expt_sec(AF_V,MAT_NONE);
			
	define('EXPT_CHCO_FIN',$expt_num);
	

		define('EXPT_LHLO_START',$expt_num+1);

   define('EXPT_JAN_LHLO_ALL',++$expt_num);
   set_expt(EXPT_JAN_LHLO_ALL,"Control Box: Liquid H/O Fuel Cell  Main Unit: Liquid H/Oxygen","H/Air Fuel Cell + H/Air",10,0.5,"January");
        set_expt_sec(AF_C,MAT_LHLO_FC);	
        set_expt_sec(AF_H,MAT_LHLO);	
        set_expt_sec(AF_V,MAT_LHLO);
  
   define('EXPT_JAN_LHLO_MAIN',++$expt_num);
   set_expt(EXPT_JAN_LHLO_MAIN,"Main Unit: Liquid H/O","H/O",10,0.5,"January: Excluding the Control Box");
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_H,MAT_LHLO);	
        set_expt_sec(AF_V,MAT_LHLO);
		
   define('EXPT_FEB_LHLO_ALL',++$expt_num);
   set_expt(EXPT_FEB_LHLO_ALL,"Control Box: Liquid H/O Fuel Cell Main Unit: Liquid Hydrogen/O","H/Air Fuel Cell, H/Air",16,18,$cmt_feb_a);
        set_expt_sec(AF_C,MAT_LHLO_FC);	
        set_expt_sec(AF_H,MAT_LHLO);	
        set_expt_sec(AF_V,MAT_LHLO);
   
   define('EXPT_FEB_LHLO_RCT',++$expt_num);
   set_expt(EXPT_FEB_LHLO_RCT,"Reactor contains Liquid H/O","React H/O",16,18,$cmt_feb_b);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,MAT_LHLO);	
        set_expt_sec(AF_V,MAT_NONE);
	   
   define('EXPT_FEB_LHLO_RCH',++$expt_num);
   set_expt(EXPT_FEB_LHLO_RCH,"Reactor Chamber contains Liquid H/O ","React H/O",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,MAT_LHLO);	
        set_expt_sec(AF_V,MAT_NONE);
			
	define('EXPT_LHLO_FIN',$expt_num);
	// experiments
   define('EXPT_JAN_BOA_ALL',++$expt_num);  
   define('EXPT_BOA_START',$expt_num);
   set_expt(EXPT_JAN_BOA_ALL,"Control Box: Liquid H/Air Fuel Cell Main Unit: Boron/Air","H/Air Fuel Cell, Boron/Air",10,0.5,"January");
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_BO_AIR);	
        set_expt_sec(AF_V,MAT_BO_AIR);
		
   define('EXPT_JAN_BOA_MAIN',++$expt_num);  
   set_expt(EXPT_JAN_BOA_MAIN,"Main Unit: Boron/Air","H/Air Fuel Cell, Boron/Air",10,0.5,"January: Excluding the Control Box");
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_H,MAT_BO_AIR);	
        set_expt_sec(AF_V,MAT_BO_AIR);
 
   define('EXPT_FEB_BOA_ALL',++$expt_num);
   set_expt(EXPT_FEB_BOA_ALL,"Control Box: Liquid H/Air Fuel Cell Main Unit: Boron/Air","H/Air Fuel Cell, Boron/Air",16,18,$cmt_feb_a);
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_BO_AIR);	
        set_expt_sec(AF_V,MAT_BO_AIR);
   
   define('EXPT_FEB_BOA_RCT',++$expt_num);
   set_expt(EXPT_FEB_BOA_RCT,"Reactor contains  Boron/Air","React Boron/Air",16,18,$cmt_feb_b);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,MAT_BO_AIR);	
        set_expt_sec(AF_V,MAT_NONE);
	  
   define('EXPT_FEB_BOA_RCH',++$expt_num);
   set_expt(EXPT_FEB_BOA_RCH,"Reacor chamber contains  Boron/Air ","Chamber Boron/Air",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,MAT_BO_AIR);	
        set_expt_sec(AF_V,MAT_NONE);
			
	define('EXPT_BOA_FIN',$expt_num);
	
		// experiments
   define('EXPT_JAN_BOCO_ALL',++$expt_num);  
   define('EXPT_BOCO_START',$expt_num);
   set_expt(EXPT_JAN_BOCO_ALL,"Control Box: Liquid H/Air Fuel Cell Main Unit: Boron/Compressed O","H/Air Fuel Cell, Boron/Air",10,0.5,"January");
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_BO_CO);	
        set_expt_sec(AF_V,MAT_BO_CO);
		
   define('EXPT_JAN_BOCO_MAIN',++$expt_num);  
   set_expt(EXPT_JAN_BOCO_MAIN,"Main Unit: Boron/Compressed O","Boron/Air",10,0.5,"January: Excluding the Control Box");
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_H,MAT_BO_CO);	
        set_expt_sec(AF_V,MAT_BO_CO);
 
   define('EXPT_FEB_BOCO_ALL',++$expt_num);
   set_expt(EXPT_FEB_BOCO_ALL,"Control Box: Liquid H/Air Fuel Cell Main Unit: Boron/Compressed O","H/Air Fuel Cell, Boron/Air",16,18,$cmt_feb_a);
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_BO_CO);	
        set_expt_sec(AF_V,MAT_BO_CO);
   
   define('EXPT_FEB_BOCO_RCT',++$expt_num);
   set_expt(EXPT_FEB_BOCO_RCT,"Reactor contains Boron/Compressed O ","React Boron/Air",16,18,$cmt_feb_b);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,MAT_BO_CO);	
        set_expt_sec(AF_V,MAT_NONE);
	  
   define('EXPT_FEB_BOCO_RCH',++$expt_num);
   set_expt(EXPT_FEB_BOCO_RCH,"Reactor chamber contains Boron/Compressed O","Chamber Boron/Air",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,MAT_BO_CO);	
        set_expt_sec(AF_V,MAT_NONE);
			
	define('EXPT_BOCO_FIN',$expt_num);
	
			// experiments
   define('EXPT_JAN_BOLO_ALL',++$expt_num);  
   define('EXPT_BOLO_START',$expt_num);
   set_expt(EXPT_JAN_BOLO_ALL,"Control Box: Liquid H/Air Fuel Cell Main Unit: Boron/Liquid O","H/Air Fuel Cell, Boron/LOX",10,0.5,"January");
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_BO_LO);	
        set_expt_sec(AF_V,MAT_BO_LO);
 
   define('EXPT_JAN_BOLO_MAIN',++$expt_num); 
   set_expt(EXPT_JAN_BOLO_MAIN,"Main Unit: Boron/Liquid O","Boron/Liquid Oxygen",10,0.5,"January: Excluding the Control Box");
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_H,MAT_BO_LO);	
        set_expt_sec(AF_V,MAT_BO_LO);
 
   define('EXPT_FEB_BOLO_ALL',++$expt_num);
   set_expt(EXPT_FEB_BOLO_ALL,"Control Box: Liquid H/Air Fuel Cell Main Unit: Boron/Liquid O","H/Air Fuel Cell, Boron/Air",16,18,$cmt_feb_a);
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_BO_LO);	
        set_expt_sec(AF_V,MAT_BO_LO);
   
   define('EXPT_FEB_BOLO_RCT',++$expt_num);
   set_expt(EXPT_FEB_BOLO_RCT,"Reactor contains Boron/Liquid O","React Boron/Air",16,18,$cmt_feb_b);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,MAT_BO_LO);	
        set_expt_sec(AF_V,MAT_NONE);
	  
   define('EXPT_FEB_BOLO_RCH',++$expt_num);
   set_expt(EXPT_FEB_BOLO_RCH,"Reactor chamber contains Boron/Liquid O ","Chamber Boron/Air",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,MAT_BO_LO);	
        set_expt_sec(AF_V,MAT_NONE);
			
	define('EXPT_BOLO_FIN',$expt_num);
	
	// experiments
   define('EXPT_JAN_BOS_ALL',++$expt_num);  
   define('EXPT_BOS_START',$expt_num);
   set_expt(EXPT_JAN_BOS_ALL,"Control Box: Liquid H/Air Fuel Cell Main Unit: B/Steam + H/Air","H/Air Fuel Cell, Boron/Steam + H/Air",10,0.5,"January");
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_BO_H2O);	
        set_expt_sec(AF_V,MAT_BO_H2O);
 
   define('EXPT_JAN_BOS_MAIN',++$expt_num);  
   set_expt(EXPT_JAN_BOS_MAIN,"Main Unit: B/Steam + H/Air","Boron/Steam + H/Air",10,0.5,"January: Excluding Control Box");
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_H,MAT_BO_H2O);	
        set_expt_sec(AF_V,MAT_BO_H2O);
 
   define('EXPT_FEB_BOS_ALL',++$expt_num);
   set_expt(EXPT_FEB_BOS_ALL,"Control Box: Liquid H/Air Fuel Cell Main Unit: B/Steam + H/Air","H/Air Fuel Cell, Boron/Steam + H/Air",16,18,$cmt_feb_a);
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_BO_H2O);	
        set_expt_sec(AF_V,MAT_BO_H2O);
   
   define('EXPT_FEB_BOS_RCT',++$expt_num);
   set_expt(EXPT_FEB_BOS_RCT,"Reactor contains B/Steam + H/Air","React Boron/Steam + H/Air",16,18,$cmt_feb_b);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,MAT_BO_H2O);	
        set_expt_sec(AF_V,MAT_NONE);
	  
   define('EXPT_FEB_BOS_RCH',++$expt_num);
   set_expt(EXPT_FEB_BOS_RCH,"Reactor chamber contains B/Steam + H/Air","Chamber Boron/Steam + H/LO",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,MAT_BO_H2O);	
        set_expt_sec(AF_V,MAT_NONE);
			
	define('EXPT_BOS_FIN',$expt_num);
		
		// experiments
   define('EXPT_JAN_DFA_ALL',++$expt_num); 
   define('EXPT_DFA_START',$expt_num);
   set_expt(EXPT_JAN_DFA_ALL,"Control Box: Liquid Hydrogen/Air Fuel Cell Main Unit: Diesel/Air ","H/Air Fuel Cell, Diesel/Air",10,0.5,"January");
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_DSL_AIR);	
        set_expt_sec(AF_V,MAT_DSL_AIR);
		
    define('EXPT_JAN_DFA_MAIN',++$expt_num); 
   set_expt(EXPT_JAN_DFA_MAIN," Main Unit: Diesel/Air","Diesel/Air",10,0.5,"January: Excluding Control Box");
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_H,MAT_DSL_AIR);	
        set_expt_sec(AF_V,MAT_DSL_AIR);
 

   define('EXPT_FEB_DFA_ALL',++$expt_num);
   set_expt(EXPT_FEB_DFA_ALL,"Control Box: Liquid Hydrogen/Air Fuel Cell Main Unit: Diesel/Air","H/Air Fuel Cell, Diesel/Air",16,18,$cmt_feb_a);
        set_expt_sec(AF_C,MAT_LHA_FC);	
        set_expt_sec(AF_H,MAT_DSL_AIR);	
        set_expt_sec(AF_V,MAT_DSL_AIR);
   
   define('EXPT_FEB_DFA_RCT',++$expt_num);
   set_expt(EXPT_FEB_DFA_RCT,"Reactor:  Diesel/Air","React Diesel/Air",16,18,$cmt_feb_b);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,MAT_DSL_AIR);	
        set_expt_sec(AF_V,MAT_NONE);
		
   define('EXPT_FEB_DFA_RCH',++$expt_num);
   set_expt(EXPT_FEB_DFA_RCH,"Reactor Chamber: Diesel/Air ","React Diesel/Air",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,MAT_DSL_AIR);	
        set_expt_sec(AF_V,MAT_NONE);		
  define('EXPT_DFA_FIN',$expt_num);
  
  	// experiments
   define('EXPT_JAN_DEMO_ALL',++$expt_num); 
   define('EXPT_DEMO_START',$expt_num);
   set_expt(EXPT_JAN_DEMO_ALL,"Experiment 1 : All sections contain MAT-1","All sections contain MAT-1",10,0.5,"Fake can run longer than the experiment: fake is NOT eliminated");
        set_expt_sec(AF_DEMO1,MAT_DEMO);	
        set_expt_sec(AF_DEMO2,MAT_DEMO);	
        set_expt_sec(AF_DEMO3,MAT_DEMO);
 
   define('EXPT_FEB_DEMO_ALL',++$expt_num);
   set_expt(EXPT_FEB_DEMO_ALL,"Experiment 2 : Only SEC-2 contain MAT-1","Only SEC-2 contains MAT-1",16,18,"Fake cannot run as long as the experiment  -- Fake is eliminated");
        set_expt_sec(AF_DEMO1,MAT_NONE);	
        set_expt_sec(AF_DEMO2,MAT_DEMO);	
        set_expt_sec(AF_DEMO3,MAT_NONE);
   
  define('EXPT_DEMO_FIN',$expt_num);
}
?>

The body of the report also contains PHP function calls and expressions.

Samples of these calls are in

Caclulator Test page

Function Calls: fake_rossi_ecat_calctest_v305.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<?php $version_num = 3.05;
      $version = "Version " . $version_num . ", March 18, 2011"; 
	  $title = "Calculator Test Page" ;?>
      
<?php include_once("fake_rossi_ecat_includes_v305.php"); ?>
<?php include_once("fake_rossi_ecat_v1_email.php"); ?>
<?php include_once("fake_rossi_ecat_calc_v305.php"); ?>
</head>

<body class="oneColLiqCtrHdr">

<div id="container">
  <div id="header">
    <h1>How to Make and Detect a FAKE Rossi/Focardi eCAT LENR<br />Energy Calculator Test Page</h1>
    
    <p>Alan Fletcher
      <!-- end #header -->
      <br />
      Version 305, March 18, 2011<br />
    </p>
    </div>
<div id="mainContent">


 <h1><?php do_level_1(); ?> Calculator Test</h1>
 
 <p>Convert <?php printf("1 MJ  = %5.4f  KWH",AF_MJ2KWH); ?> Obtained from : <a href="http://www.convertworld.com/en/energy/kWh.html" target="_blank">convertworld.com</a>
   <!-- end #mainContent -->
  </p>
 <pre><?php  
         set_section(AF_C,"Control Box","Ctrl",60,123);
		 if($dbg>9)
         { print_section(AF_C);
		 echo "<br />"; }
		 set_section(AF_H,"Horizontal Arm","Horz",21,345);
         if ($dbg> 9 ) { print_section(AF_H);
		 echo "<br />"; }
		 set_section(AF_V,"Vertical Arm","Vert",9,34.56);
         if($dbg > 9) { print_section(AF_V);  }
		 echo "<br />"; 
		 set_section(AF_R,"Reactor","React",1,0);
         if($dbg > 9) { print_section(AF_R);  }
  ?></pre>


NOTE: These  are just <strong>TEST</strong> values  


<p/>Sections: 
  <p>
  <?php print_section_table(1,9);
  ?>
  
 
  </p>
  <pre><?php  
         
         set_material(1,"None","-",0,0,0);
         set_material(2,"Lithium Ion Battery","Li/i Bat",12,34,56);	 
         set_material(3,"Compressed Hydrogen + Air Fuel Cell","H/Air FC",98,76,54);
		 if($dbg>9)
		 { 
         print_material(1);
		 echo "<br />";	 
         print_material(2);
		 echo "<br />";	 
         print_material(3);
		 echo "<br />";	 
         print_material(4);
		 echo "<br />";
		 }
  ?></pre>
  Materials
  <p>
  
  <?php  print_material_table(1,$material_max);
  ?>
  <p>Experiments :</p>
  <?php 
        IF($dbg>0) ECHO "<p>(Some debug switches are turned on )</p>\n";
        set_expt(1,"Experiment 1","Expt-1",10,8,"January");
        set_expt_sec(AF_C,1);	
        set_expt_sec(AF_H,2);	
        set_expt_sec(AF_V,3);
		if($dbg>3)
		{ print_expt(1);
		}
		set_expt(3,"Experiment 2","Expt-2",16,18,"February");
        set_expt_sec(AF_C,1);	
        set_expt_sec(AF_R,2);	
        set_expt_sec(AF_V,1);
		if($dbg>3)
		{ print_expt(3);
		}
  ?>
  
  ?> <br />Version 4
  <?php  print_expt_table_v4(1,$expt_max,false); 
  ?>
  <p>GREEN if ROSSI is confirmed, RED if it COULD be a fake.</p>
  <p> </p>
  
</div>
  <div id="footer">
    <p>Version 1, March 5, 2011  <?php send_email(); ?>   <a href="http://lenr.qumbu.com/" target="_blank">Home</a></p>
    <!-- end #footer --></div>
<!-- end #container --></div>
</body>
</html>