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

Globals: rossi_ecat_proof_global_v401.php

<?php  // php energy calculator globals  v3 110305
global $dbg;
global $feed_on;
global $expt_print_max_rows;
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_cmt,
       $material_mj_per_l, $material_mj_per_kg, 
       $material_kwh_per_l, $material_kwh_per_kg, 
	   $material_sp_heat,
	   $material_feasible, $material_concealable, $material_fc;
global $rad_max, $rad_name, $rad_abrv, $rad_kw_per_kg, $rad_kw_per_l, $rad_sp_gravity;
global $expt_num, $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,
	   $expt_result_time, $expt_result_text, $expt_result_fc, $expt_result_color; 
global $g_expt; // current experiment	   
global $color_real, $color_fake, $color_yy,$color_yn,$color_ny,$color_nn, $color_uu, $color_fc; // _FP code
global $unknown_val;
global $pKW,$pKWH,$pMJ,$pH,$pL,$pKG,$pMJpKG,$pMJpL,$pKWHpKG,$pKWHpL,$pSPH;  // print spans
global $pkJmol,$pgmol,$pgcm3,$pkJg;
global $paH, $paH2, $paO, $paO2, $paO3, $paH2O; // common molecules
global $paB, $paB2, $paB3;
global $paMg, $paMg2, $paMg3;
// 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;
// specific heat
global $sph_max, $sph_material, $sph_sph, $sph_tmax,  $sph_tmin, $sph_comment, $sph_mjL;
global $send_holmes;
// magnesium-steam
global   $kJmolMg,$kJkGMG,$MJkGMG,$kJmolH2,$kJkGH2,$MJkGH2,$MJpLH2,$MJpLMG; 
global   $kJmolNi,$kJkGNI,$MJkGNI, $MJpLH2,$MJpLNI; 
// heredoc functions
global $spfmt_fmt;
global $sprintf, $sp43, $spfmt,  $pV; // sprintf

// ex values -- Jan, Feb, Mar, April
global $e1,$e2,$e3,$e4,$e5,$e6,$e7;  // struct class  ex

// best and worst fakes
global $fake_bw_on,  // calculate min-max for experiments if this is true
       $fake_bw_num, $fake_bw_max, $fake_bw_worst, $fake_bw_best; // worst,best are arrays [ 1:max] of expt-num
?>

Functions: rossi_ecat_proof_calc_v401.php

<?php  // php energy calculator
include(INCLUDE_GLOBALS);

define('AF_MJ2KWH','0.27778');

$expt_print_max_rows = 6;

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

class ex { public $react_length, $react_diam, $react_rad, $react_vol, $react_vol_l;
  public $horz_length, $horz_diam, $horz_rad, $horz_vol, $horz_vol_l;
  public $time, $flow,$total_power,$excess_power,$input_power,$factor;
}

function set_e1()  // print the UNIT in a span, with its own class
{ include(INCLUDE_GLOBALS);
  $e1 = new ex;
  $e1->react_length = 6.0;  $e1->react_diam = 7.0;  $e1->react_rad =  $e1->react_diam/2; 
  $e1->react_vol = (4./3.) * 3.1415 *  $e1->react_rad * $e1->react_rad  * $e1->react_rad;
  $e1->react_vol_l = $e1->react_vol / 1000;
  
  $e1->horz_length = 30.0;  $e1->horz_diam = 25.0;  $e1->horz_rad =  $e1->horz_diam/2; 
  $e1->horz_vol = 3.1415 *  $e1->horz_rad * $e1->horz_rad  * $e1->horz_length;
  $e1->horz_vol_l = $e1->horz_vol / 1000;
  
  $e1->time = 0.5;
  $e1->flow = 17.5;
  $e1->excess_power = 12.5;
  $e1->input_power = 0.4;
  $e1->total_power = $e1->excess_power +$e1->input_power;
  $e1->factor = $e1->total_power / $e1->input_power;
}
set_e1();

function set_e2()  // print the UNIT in a span, with its own class
{ include(INCLUDE_GLOBALS);
  $e2 = new ex;
  $e2->react_length = 6.0;  $e2->react_diam = 7.0;  $e2->react_rad =  $e2->react_diam/2; 
  $e2->react_vol = (4./3.) * 3.1415 *  $e2->react_rad * $e2->react_rad  * $e2->react_rad;
  $e2->react_vol_l = $e2->react_vol / 1000;
  
  $e2->horz_length = 30.0;  $e2->horz_diam = 25.0;  $e2->horz_rad =  $e2->horz_diam/2; 
  $e2->horz_vol = 3.1415 *  $e2->horz_rad * $e2->horz_rad  * $e2->horz_length;
  $e2->horz_vol_l = $e2->horz_vol / 1000;
  
  $e2->time = 18;
  $e2->flow = 3000;
  $e2->excess_power = 15;
  $e2->input_power = 0.08;
  $e2->total_power = $e2->excess_power +$e2->input_power;
  $e2->factor = $e2->total_power / $e2->input_power;
}
set_e2();

function set_e3()  // print the UNIT in a span, with its own class
{ include(INCLUDE_GLOBALS);
  $e3 = new ex;
  $e3->react_length = 6.0;  $e3->react_diam = 7.0;  $e3->react_rad =  $e3->react_diam/2; 
  $e3->react_vol = (4./3.) * 3.1415 *  $e3->react_rad * $e3->react_rad  * $e3->react_rad;
  $e3->react_vol_l = $e3->react_vol / 1000;
  
  $e3->horz_length = 30.0;  $e3->horz_diam = 25.0;  $e3->horz_rad =  $e3->horz_diam/2; 
  $e3->horz_vol = 3.1415 *  $e3->horz_rad * $e3->horz_rad  * $e3->horz_length;
  $e3->horz_vol_l = $e3->horz_vol / 1000;
  
  $e3->time = 5 + 45/60;
  $e3->flow = 6.47;
  $e3->excess_power = 4.39;
  $e3->input_power = 0.3;
  $e3->total_power = $e3->excess_power +$e3->input_power;
  $e3->factor = $e3->total_power / $e3->input_power;
}
set_e3();

function set_e4()  // print the UNIT in a span, with its own class
{ include(INCLUDE_GLOBALS);
  $e4 = new ex;
  $e4->react_length = 6.0;  $e4->react_diam = 7.0;  $e4->react_rad =  $e4->react_diam/2; 
  $e4->react_vol = (4./3.) * 3.1415 *  $e4->react_rad * $e4->react_rad  * $e4->react_rad;
  $e4->react_vol_l = $e4->react_vol / 1000;
  
  $e4->horz_length = 30.0;  $e4->horz_diam = 25.0;  $e4->horz_rad =  $e4->horz_diam/2; 
  $e4->horz_vol = 3.1415 *  $e4->horz_rad * $e4->horz_rad  * $e4->horz_length;
  $e4->horz_vol_l = $e4->horz_vol / 1000;
  
  $e4->time = 2.97;
  $e4->flow = 3.8;
  $e4->excess_power = 2.3;
  $e4->input_power = 0.378;
  $e4->total_power = $e4->excess_power +$e4->input_power;
  $e4->factor = $e4->total_power / $e4->input_power;
}
set_e4();

function set_e5()  // print the UNIT in a span, with its own class
{ include(INCLUDE_GLOBALS);
  $e5 = new ex;
  $e5->react_length = 6.0;  $e5->react_diam = 7.0;  $e5->react_rad =  $e5->react_diam/2; // not used
  $e5->react_vol = 60 * 50 * 30;
  $e5->react_vol_l = $e5->react_vol / 1000;
  
  $e5->horz_length = 30.0;  $e5->horz_diam = 25.0;  $e5->horz_rad =  $e5->horz_diam/2;  // not used
  $e5->horz_vol =  60 * 50 * 30;
  $e5->horz_vol_l = $e5->horz_vol / 1000;
  
  $e5->time = 3.5;  // total .. varying power
  $e5->flow = 11;
  $e5->excess_power = 2.03;
  $e5->input_power = 2.492;
  $e5->total_power = $e5->excess_power +$e5->input_power;
  $e5->factor = $e5->total_power / $e5->input_power;
}
set_e5();

function set_e6()  // October total
{ include(INCLUDE_GLOBALS);
  $e6 = new ex;
  $e6->react_length = 6.0;  $e6->react_diam = 7.0;  $e6->react_rad =  $e6->react_diam/2; // not used
  $e6->react_vol = 30;
  $e6->react_vol_l = 60; // visible per lewan oct
  
  $e6->horz_length = 30.0;  $e6->horz_diam = 25.0;  $e6->horz_rad =  $e6->horz_diam/2;  // not used
  $e6->horz_vol =  60 * 50 * 35;
  $e6->horz_vol_l = $e6->horz_vol / 1000;
  
  $e6->time = 4;  // total .. varying power
  $e6->flow = 11;
  $e6->excess_power = 3.125;
  $e6->input_power = 0.001;
  $e6->total_power = $e6->excess_power +$e6->input_power;
  $e6->factor = $e6->total_power / $e6->input_power;
}
set_e6();

// e7 is test for October self-sustaining 
function set_e7()  // print the UNIT in a span, with its own class
{ include(INCLUDE_GLOBALS);
  $e7 = new ex;
  $e7->react_length = 6.0;  $e7->react_diam = 7.0;  $e7->react_rad =  $e7->react_diam/2; // not used
  $e7->react_vol =  20 * 20 * 4;
  $e7->react_vol_l = $e7->react_vol / 1000. ; // visible per ROSSI
  
  $e7->horz_length = 30.0;  $e7->horz_diam = 25.0;  $e7->horz_rad =  $e7->horz_diam/2;  // not used
  $e7->horz_vol =  60 * 50 * 35;  // cm
  $e7->horz_vol_l = $e7->horz_vol / 1000;
  
  $e7->time = 4;  // total .. varying power
  $e7->flow = 3.3; // L/hour
  $e7->excess_power = 3.125;
  $e7->input_power = 0.001;
  $e7->total_power = $e7->excess_power +$e7->input_power;
  $e7->factor = $e7->total_power / $e7->input_power;
}
set_e7();

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

// inline functions
$pV = 'pV';
$sprintf = 'sprintf';
function sp43($val)
{ return sprintf("%4.3f",$val);
}
$sp43 = 'sp43';
function spfmt($val)
{ global $spfmt_fmt; 
  return sprintf($spfmt_fmt,$val);
}
$spfmt = 'spfmt';
$spfmt_fmt = "%4.3f";

// 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");
$pkJmol = pUNIT("kJ/mol");
$pgmol = pUNIT("g/mol");
$pgcm3 = pUnit("g/cm3");
$pkJg  = pUnit("kJ/g");

function print_val_fmt($a_val)
{ include(INCLUDE_GLOBALS);
  $l_absval = abs($a_val);
  if ( $l_absval <= 0.00000000001 )
  { $r = "";
  }
  else if ( $l_absval < 0.0001 )
  { $r = sprintf("%4.7f",$a_val);
  }
  else if ( $l_absval < 0.001 )
  { $r = sprintf("%4.6f",$a_val);
  }
  else if ( $l_absval < 0.01 )
  { $r = sprintf("%4.5f",$a_val);
  }
  else if ( $l_absval < 0.1 )
  { $r = sprintf("%4.4f",$a_val);
  }
  else if ( $l_absval < 1.0 )
  { $r = sprintf("%4.3f",$a_val);
  }
  else if ( $l_absval < 10.0 )
  { $r = sprintf("%4.2f",$a_val);
  }
  else if ( $l_absval < 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(INCLUDE_GLOBALS);
  $l_absval = abs($a_val);
  if ( $l_absval <= 0.00000000001 )
  { $r = "";
  }
  else 
  { $v = print_val_fmt($a_val);
    $r = sprintf("%s %s",$v,$a_unit);
  }
  return $r;
}
function pUF($a_val,$a_unit) // shorthand
{ print_unit_fmt($a_val,$a_unit);
}

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(INCLUDE_GLOBALS);
   $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);

$paMg   = pATOM('Mg',1);
$paMg2  = pATOM('Mg',2);
$paMg3  = pATOM('Mg',3);

function print_direct_energy_mass($a_mass,$a_mj_per_kg) 
{ include(INCLUDE_GLOBALS);
  $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(INCLUDE_GLOBALS);
  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(INCLUDE_GLOBALS);
   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(INCLUDE_GLOBALS);
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_fc($a_mat,$a_feasible,$a_concealable)
{ include(INCLUDE_GLOBALS);

  $material_feasible[$a_mat]  = $a_feasible; 
  $material_concealable[$a_mat] = $a_concealable; 
  $material_fc[$a_mat] = 0;
  if( $a_feasible    == 'Y' ) { $material_fc[$a_mat] += 2; } 
  if( $a_concealable == 'Y' ) { $material_fc[$a_mat] += 1; }
  if( $a_feasible    == 'U' ) { $material_fc[$a_mat]  = 4; } 
}

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,$a_mat_cmt,$a_feasible,$a_concealable)
{ include(INCLUDE_GLOBALS);
  if($material_max < $a_mat ) { $material_max = $a_mat; }
  $material_name[$a_mat] = $a_mat_name; 
  $material_abrv[$a_mat] = $a_mat_abrv; 
  $material_cmt[$a_mat] = $a_mat_cmt; 
  $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;
  set_material_fc($a_mat,$a_feasible,$a_concealable);
}

function print_material_table_row($a_mat)
{  include(INCLUDE_GLOBALS);
   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]) )
   { if ( $material_fc[$a_mat] != 4 )
     { $fmt3 = 'valign="top" bgcolor="' . $color_fc[$material_fc[$a_mat]] . '"';
	 }
	 else
     { $fmt3 = 'valign="top"';
	 }
	 
     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","???",'');
	  printf("<td %s>%s%s</td>",$fmt3,$material_feasible[$a_mat],
	          $material_concealable[$a_mat]);
	 printf("<td %s>%s </td>",$fmt1,$material_cmt[$a_mat]);
     printf("</tr>");
   }
}

function print_material_table($a_mat_from,$a_mat_to)
{ include(INCLUDE_GLOBALS);
echo <<< MAT_TABLE_HEAD
  <table width="700" 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" rowspan="2" style="width: 20px;" >FC</th>
      <th  scope="col" valign="top" rowspan="2" style="width: 200px;" >Comment</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>
	</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(INCLUDE_GLOBALS);
  $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(INCLUDE_GLOBALS);
  $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(INCLUDE_GLOBALS);
   $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(INCLUDE_GLOBALS);
  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(INCLUDE_GLOBALS);
   $l_tot_energy = 0;
   $l_prt_sec_num = 0;
   $l_fake_fc_min = 4; // minimum Feasible-concealable
   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];
     if( $material_fc[$l_mat] < $l_fake_fc_min ) $l_fake_fc_min = $material_fc[$l_mat];
     $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);
	if ( $material_fc[$l_mat] == 4 )
	{ $l_mat_fc[$l_prt_sec_num] = $bgcolor;
	}
	else
	{ $l_mat_fc[$l_prt_sec_num] = $color_fc[$material_fc[$l_mat]];
	}
  }
   $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_fc[$l_fake_fc_min];
     switch($l_fake_fc_min)
	 { case 0 :  $result= "FAKE? (Unfeasible,Unconcealable)"; break;
	   case 1 :  $result= "FAKE? (Unfeasible,Concealable)"; break;
	   case 2 :  $result= "FAKE? (Feasible,Unconcealable)"; break;
	   case 3 :  $result= "FAKE? (Feasible,Concealable)"; break;
	   default:  $result= "FAKE?"; $time_color = $color_fc[3]; 
	 }

   }
   $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);
   
   $expt_result_time[$a_expt] = $l_runtime; 
   $expt_result_fc[$a_expt]    = $l_fake_fc_min;   
   $expt_result_color[$a_expt] = $time_color;   
   $expt_result_text[$a_expt]  = $result;
   
   // add to minmax
   if ( $fake_bw_on )
   {
     if ( $fake_bw_max < $fake_bw_num ) // first
     { $fake_bw_max = $fake_bw_num;
       $fake_bw_worst[$fake_bw_num] = $a_expt; 
       $fake_bw_best[$fake_bw_num] = $a_expt;  
 	   if ( $dbg>0) echo <<< EXPT_ROW_DBG_1
	   <tr><td colspan="8" align="left">DBG[{$fake_bw_num}] FIRST worst ({$fake_bw_worst[$fake_bw_num]}) best ({$fake_bw_best[$fake_bw_num]}) FC {$l_fake_fc_min}</td></tr>
EXPT_ROW_DBG_1;
     }
     else
     { $l_best_expt  = $fake_bw_best[$fake_bw_num];
	   $l_worst_expt = $fake_bw_worst[$fake_bw_num];
	   if ( $l_fake_fc_min > $expt_result_fc[$l_best_expt] ) // better fake
	   {  
	      $fake_bw_best[$fake_bw_num] = $a_expt;	   
	     if ( $dbg>0) echo <<< EXPT_ROW_DBG_2A
	     <tr><td colspan="8" align="left">DBG best</td></tr>
EXPT_ROW_DBG_2A;

	   }
	   else if ( $l_fake_fc_min == $expt_result_fc[$l_best_expt] ) // same fake
	   { if ( $expt_result_time[$a_expt] > $expt_result_time[$l_best_expt] ) // longer fake runtime
	     { 
	      $fake_bw_best[$fake_bw_num] = $a_expt;	   
	   if ( $dbg>0) echo <<< EXPT_ROW_DBG_2A
	   <tr><td colspan="8" align="left">DBG best</td></tr>
EXPT_ROW_DBG_2A;
         }
	   }
	   else
	   {
	   if ( $dbg>0) echo <<< EXPT_ROW_DBG_2B
	   <tr><td colspan="8" align="left">DBG[$fake_bw_num] expt {$a_expt} best ($l_best_expt) FC {$l_fake_fc_min} :: {$expt_result_fc[$l_best_expt]} is same</td></tr>
EXPT_ROW_DBG_2B;
	   }
	   
	   if ( $expt_result_time[$a_expt] > $expt_result_time[$l_worst_expt] ) // longer fake runtime
	   { 
	      $fake_bw_worst[$fake_bw_num] = $a_expt;	   
	   if ( $dbg>0) echo <<< EXPT_ROW_DBG_2A
	   <tr><td colspan="8" align="left">DBG best</td></tr>
EXPT_ROW_DBG_2A;
       }
	   else if ( $expt_result_time[$a_expt] == $expt_result_time[$l_worst_expt] )
	   { if ( $l_fake_fc_min > $expt_result_fc[$l_worst_expt] ) // better fake
	     { $fake_bw_worst[$fake_bw_num] = $a_expt;	   
		 }
	   }
     }
   }
 
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; background-color: {$l_mat_fc[1]};">{$l_mat_abrv[1]}</td>
<td align="center" style="border-bottom: 0px; border-right: 0px; background-color: {$l_mat_fc[2]};">{$l_mat_abrv[2]}</td>
<td align="center" style="border-bottom: 0px;  border-right: 0px; background-color: {$l_mat_fc[3]};">{$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_hdr_v4()
{ include(INCLUDE_GLOBALS);
  echo <<< EXPT_TABLE_HEAD4A
         <table width="700" border="1" class="afTable">
EXPT_TABLE_HEAD4A;
}

function print_expt_table_v4($a_expt_from,$a_expt_to,$send_table)
{ include(INCLUDE_GLOBALS);
  $bgindx = 0;
  if($send_table) print_expt_table_hdr_v4($send_table);
	$fake_bw_num = 0;
    for($l_expt=$a_expt_from;$l_expt<=$a_expt_to;$l_expt++)
	{ 	   
	   if (isset($expt_name[$l_expt]) )
	   {  $fake_bw_num++; 
	      if($send_table) { $bgindx = $bgindx==0?1:0; }
          if(!$send_table) { print_expt_table_hdr_v4(); 
          }
		  if ( $send_table && $feed_on && $fake_bw_num == $expt_print_max_rows )
		  { echo "</table>";
		    af_feed();
			print_expt_table_hdr_v4();			
		  }
	         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) { $bgindx = $bgindx==0?1:0; $bgcolor = $table_bgcolor[$bgindx]; $l_width = "50px";
	echo <<< EXPT_TABLE_TAIL4A
		   <tr ><td colspan="10" style="background-color: $bgcolor;">
		   <span style="display: inline-block; width: $l_width; background-color: $color_fake";
		   >FAKE?</span> 
            means that the fake could run longer than the experiment, and is NOT eliminated
		   <br /><span style="display: inline-block; width: $l_width;  background-color: $color_real";
		   >REAL</span>
		    means that the fake is ELIMINATED by an experiment, so the device could be REAL
			</td></tr>
           </table>
		   <br />
EXPT_TABLE_TAIL4A;
     }

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

function print_expt_table_v4_bw($send_table,$a_best)
{ include(INCLUDE_GLOBALS);
  $bgindx = 0;
  if($send_table) { print_expt_table_hdr_v4(); 
    }

    for($fake_bw_num = 1;$fake_bw_num <= $fake_bw_max; $fake_bw_num++)
	{  if($a_best)
	   { $l_expt_bw =  $fake_bw_best[$fake_bw_num];
	   }
	   else
	   { $l_expt_bw =  $fake_bw_worst[$fake_bw_num];
	   }
	      if($send_table) { $bgindx = $bgindx==0?1:0; }
          if(!$send_table) { print_expt_table_hdr_v4();
          }
		  if ( $send_table && $feed_on && $fake_bw_num == $expt_print_max_rows )
		  { echo "</table>";
		    af_feed();
			print_expt_table_hdr_v4();			
		  }
	      print_expt_table_row_v4($l_expt_bw,$table_bgcolor[$bgindx]);  
          if(!$send_table) { echo <<< EXPT_TABLE_TAIL4B_BW
           </table><br />
EXPT_TABLE_TAIL4B_BW;
          }
	} 
	if($send_table) { $bgindx = $bgindx==0?1:0; $bgcolor = $table_bgcolor[$bgindx]; $l_width = "50px";
	echo <<< EXPT_TABLE_TAIL4A_BW
		   <tr ><td colspan="10" style="background-color: $bgcolor;">
		   <span style="display: inline-block; width: $l_width; background-color: $color_fake";
		   >FAKE?</span> 
            means that the fake could run longer than the experiment, and is NOT eliminated
		   <br /><span style="display: inline-block; width: $l_width;  background-color: $color_real";
		   >REAL</span>
		    means that the fake is ELIMINATED by an experiment, so the device could be REAL
			</td></tr>
           </table>
		   <br />
EXPT_TABLE_TAIL4A_BW;
     }

// <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(INCLUDE_GLOBALS);
  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(INCLUDE_GLOBALS);
   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(INCLUDE_GLOBALS);
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;
}	 

function set_sph($index,$mat,$sph,$tmax,$tmin,$cmt)
  { include(INCLUDE_GLOBALS);
    $sph_material[$index] = $mat;
    $sph_sph[$index] = $sph;
	$sph_tmax[$index] = $tmax;
	$sph_tmin[$index] = $tmin;
	$sph_comment[$index] = $cmt;
	$sph_mjL[$index]  = $sph * ($tmax - $tmin) * 1000 / 1000000 ; // *1000 :cc/L /100000 : j to MJ
  }

function print_sph_table($sph_from,$sph_to)
  {  include(INCLUDE_GLOBALS);
  echo <<< HEAT_SINK_END1
  <table width="474" border="1" style="background-color: $table_bgcolor[0];">
  <tr>
      <th width="65">Material </th>
      <th width="78">Specific<br />
        Heat</th>
      <th width="103">Maximum<br />
        Temperature</th>
	 <th width="103">Minimum<br />
        Temperature</th>
		
      <th width="103">MJ/<br />
        Liter</th>
      <th width="210">Comments</th>
    </tr>
HEAT_SINK_END1;
 for($sph= $sph_from;$sph<=$sph_to;$sph++)
 { echo <<< HEAT_SINK_ROW
      <tr>
      <td>$sph_material[$sph]</td>
      <td>$sph_sph[$sph]</td>
      <td>$sph_tmax[$sph]</td>  
      <td>$sph_tmin[$sph]</td>
      <td>$sph_mjL[$sph]</td>
      <td>$sph_comment[$sph]</td>
    </tr>
HEAT_SINK_ROW;
 }
 echo <<< HEAT_SINK_END2
  </table>
HEAT_SINK_END2;
  }
function print_water_storage($a_fill_time,$a_expt_time)
{  include(INCLUDE_GLOBALS);
   if ( $a_fill_time <= $a_expt_time )
   { $time_color = $color_real;
     $result = "REAL";
   }
   else
   { $time_color = $color_fake;
     $result= "FAKE?";
   }
   echo <<<  END_WATER
   <td style="background-color:{$time_color};">{$result}</td>
END_WATER;
}
function print_fake_real($a_real)
{  include(INCLUDE_GLOBALS);
   if ( $a_real )
   { $time_color = $color_real;
     $result = "REAL";
   }
   else
   { $time_color = $color_fake;
     $result= "FAKE?";
   }
   echo <<<  END_FAKE_REAL
   <td style="background-color:{$time_color};">{$result}</td>
END_FAKE_REAL;
}
function print_fake_real_row($a_month,$a_mode,$a_fr1,$a_fr2,$a_fr3)
{  include(INCLUDE_GLOBALS);
   echo "<tr>";
   echo "<th scope=\"row\">{$a_month}</th>";
   echo "<td>{$a_mode}</td>";
   print_fake_real($a_fr1);
   print_fake_real($a_fr2);
   print_fake_real($a_fr3); 
   echo "</tr>";
}
?>

Set Values: rossi_ecat_proof_setvalues_v401.php

<?php  // php energy calculator

$color_real = "#66ff66";
$color_fake = "#ff6666";
$color_yy   = "#ff6666";  // RED
$color_yn   = "#F5C4C4";  // LIGHT RED
$color_ny   = "#F5F5CB";  // LIGHT YELLOW
$color_nn   = "#DEFAE4";  // LIGHT GREEN
$color_uu   = "#FFFFFF";  // White

$color_fc[0] = $color_nn;
$color_fc[1] = $color_ny;
$color_fc[2] = $color_yn;
$color_fc[3] = $color_yy;
$color_fc[4] = $color_uu;  // unknown
$color_fc[5] = $color_real;

// 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_E3_H',6);
define('AF_E3_V',7);
define('AF_E3_R',8);
define('AF_E3_RCH',9);

define('AF_E4_H',10);
define('AF_E4_V',11);
define('AF_E4_R',12);
define('AF_E4_RCH',13);

define('AF_E5_H',14);
define('AF_E5_V',15);
define('AF_E5_R',16);
define('AF_E5_RCH',17);

define('AF_E6_H',18);
define('AF_E6_V',19);
define('AF_E6_R',20);
define('AF_E6_RCH',21);

define('AF_E7_H',22);
define('AF_E7_V',23);
define('AF_E7_R',24);
define('AF_E7_RCH',25);

define('AF_DEMO',99);

$mat_num = 0;

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

$fake_bw_max = 0; // keep track of best and worst experiments
$fake_bw_on  = false; // tally is OFF

function set_ecat_values_031()
{ include(INCLUDE_GLOBALS);

  // 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);
  
  // E3 is March
  set_section(AF_E3_H,"Horizontal Arm","Horz",$e3->horz_vol_l,0);
  set_section(AF_E3_V,"Vertical Arm","Vert",0,0);
  set_section(AF_E3_R,"Reactor","React",$e3->react_vol_l,0);
  set_section(AF_E3_RCH,"Reactor Chamber","Chamber",50/1000.,0);
  
  // E4 is April 
  set_section(AF_E4_H,"Horizontal Arm","Horz",$e4->horz_vol_l,0);
  set_section(AF_E4_V,"Vertical Arm","Vert",0,0);
  set_section(AF_E4_R,"Reactor","React",$e4->react_vol_l,0);
  set_section(AF_E4_RCH,"Reactor Chamber","Chamber",50/1000.,0);
  
  // E5 is Sept
  set_section(AF_E5_H,"Total Unit","Total",$e5->horz_vol_l,0);
  set_section(AF_E5_V,"Vertical Arm","Vert",0,0);
  set_section(AF_E5_R,"Reactor","React",$e5->react_vol_l,0);
  set_section(AF_E5_RCH,"Reactor Chamber","Chamber",50/1000.,0);
  
  // E6 is Oct Total
  set_section(AF_E6_H,"Total Unit","Total",$e6->horz_vol_l,0);
  set_section(AF_E6_V,"Vertical Arm","Vert",0,0);
  set_section(AF_E6_R,"Reactor","React",$e6->react_vol_l,0);
  set_section(AF_E6_RCH,"Reactor Chamber","Chamber",50/1000.,0);
  
   // E6 is Oct Self-sustaining
  set_section(AF_E7_H,"Total Unit","Total",$e7->horz_vol_l,0);
  set_section(AF_E7_V,"","",0,0);
  set_section(AF_E7_R,"Wafer","Wafer",$e7->react_vol_l,0);
  set_section(AF_E7_RCH,"Reactor Chamber","Chamber",50/1000.,0);
  // 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,"","U","U");
  
  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,"Feasible and Concealable","Y","Y");  
  define('MAT_LI_ION_BAT',++$mat_num);
  set_material(MAT_LI_ION_BAT,"Lithium-Ion Batteries","L-i B",0.72,3.6,0,"Feasible and Concealable","Y","Y");   
  define('MAT_BAT_FIN',$mat_num);
  
  define('MAT_FC_START',$mat_num+1);
  define('MAT_CHA_FC',++$mat_num); 
  set_material(MAT_CHA_FC,"Compressed Hydrogen/External Air Fuel Cell","CH/Air-FC",$mjkg_h,$mjL_h,0,"Air-intake might not be concealable","Y","Y");  
  define('MAT_LHA_FC',++$mat_num);
  set_material(MAT_LHA_FC,"Liquid Hydrogen/External Air Fuel Cell","LH/Air-FC",143,10.1,0,"Liquid gas is rated as NOT feasible","N","Y");     
  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,"Feasible and Concealable","Y","Y");   
  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,"Liquid gas is rated as NOT feasible","N","Y");  
  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,"Air intake might not be concealable","Y","Y");   
  define('MAT_LHA',++$mat_num);
  set_material(MAT_LHA,"Liquid Hydrogen/External Air","LH/Air",143,10.1,0,"Liquid gas is rated as NOT feasible","N","Y");  
  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,"Feasible and Concealable","Y","Y"); 
  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,"Liquid gas is rated as NOT feasible","N","Y"); 
  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,"Probably not feasible, air-intake might not be concealable","N","Y"); 
  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,"Probably not feasible","N","Y"); 
  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,"Liquid gas is rated as NOT feasible","N","Y"); 
  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,"Air intake and fumes make it not concealable","Y","N"); 
  
  define('MAT_MG_H2O',++$mat_num);
  set_material(MAT_MG_H2O,"Magnesium/Steam/Air","Mg/Steam",24.8837,43.24799,0,"Probably not feasible, Air intake detectable","N","Y");  
  define('MAT_MG_H2O_O2',++$mat_num);
  set_material(MAT_MG_H2O_O2,"Mg/Steam/O2","Mg/Steam/O2",0.6*24.8837,0.499*43.24799,0,"Probably not feasible","N","Y"); 
  // 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_DEMO0',++$mat_num); 
  set_material(MAT_DEMO0,"Material 0","MAT-0",12.3,45.6,0,"Unknown-Unknown","U","U"); 
  define('MAT_DEMO1',++$mat_num); 
  set_material(MAT_DEMO1,"Material 1","MAT-1",12.3,45.6,0,"Feasible-Concealable","Y","Y"); 
  define('MAT_DEMO2',++$mat_num); 
  set_material(MAT_DEMO2,"Material 2","MAT-2",12.3,45.6,0,"Feasible-NOT Concealable","Y","N"); 
  define('MAT_DEMO3',++$mat_num); 
  set_material(MAT_DEMO3,"Material 3","MAT-3",12.3,45.6,0,"NOT Feasible-Concealable","N","Y"); 
  define('MAT_DEMO4',++$mat_num); 
  set_material(MAT_DEMO4,"Material 4","MAT-4",12.3,45.6,0,"NOT Feasible-NOT Concealable","N","N"); 
  
  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);
  
  
  $sph_max = 0;  $tmin = 14;
  define('SPH_START',$sph_max+1);	  
  define('SPH_H2O',++$sph_max);
  set_sph(SPH_H2O,"Water",4.21,100,$tmin,"Boils");
  define('SPH_BE',++$sph_max);
  set_sph(SPH_BE,"Be",3.38,1287,$tmin,"Melts. Poisonous");
  define('SPH_IRON',++$sph_max);
  set_sph(SPH_IRON,"Iron",3.53,1538,$tmin,"Melts");
  define('SPH_LEAD',++$sph_max);
  set_sph(SPH_LEAD,"Lead",1.44,327.46,$tmin,"Melts"); 
  define('SPH_FIN',$sph_max);	
	   
  define('MAT_SPH_START',$mat_num+1);
  define('MAT_SPH_H2O',++$mat_num);
  set_material(MAT_SPH_H2O,"SPH " . $sph_material[SPH_H2O],"SPH " . $sph_material[SPH_H2O],$unknown_value,$sph_mjL[SPH_H2O],0,"From SPH Table","Y","Y"); 
  define('MAT_SPH_BE',++$mat_num);
  set_material(MAT_SPH_BE,"SPH " . $sph_material[SPH_BE],"SPH " . $sph_material[SPH_BE],$unknown_value,$sph_mjL[SPH_BE],0,"From SPH Table","N","N"); 
  define('MAT_SPH_IRON',++$mat_num);
  set_material(MAT_SPH_IRON,"SPH " . $sph_material[SPH_IRON],"SPH " . $sph_material[SPH_IRON],$unknown_value,$sph_mjL[SPH_IRON],0,"From SPH Table","N","N"); 
  define('MAT_SPH_LEAD',++$mat_num);
  set_material(MAT_SPH_LEAD,"SPH " . $sph_material[SPH_LEAD],"SPH " . $sph_material[SPH_LEAD],$unknown_value,$sph_mjL[SPH_LEAD],0,"From SPH Table","Y","Y"); 
  define('MAT_SPH_FIN',$mat_num); 
	 
  $expt_num = 0;
  
  ///   also see MULIT
  $cmt_a = " with ALL sections";
  $cmt_b = " with MAIN unit -- excluding Control Box";
  $cmt_c = " with HORIZONTAL unit";
  $cmt_d = " with ESTIMATED reactor volume";  
  $cmt_e = " with reactor CHAMBER volume";  
  $cmt_f = " with MAIN unit";
  $cmt_g = " with Reactor WAFER";
  
  $cmt_jan_a = "January"  . $cmt_a;
  $cmt_jan_b = "January"  . $cmt_b;
  $cmt_feb_a = "February" . $cmt_a;
  $cmt_feb_b = "February" . $cmt_b;
  $cmt_feb_c = "February" . $cmt_c;
  $cmt_feb_d = "February" . $cmt_d;
  $cmt_feb_e = "February" . $cmt_e;
  // experiments
  
function set_expt_multi($a_ctrl,$a_main)
{  include(INCLUDE_GLOBALS);

  if($dbg>3) echo "set_expt_multi($a_ctrl,$a_main) expt $expt_num";
  $cmt_a = " with ALL sections";
  $cmt_b = " with MAIN unit -- excluding Control Box";
  $cmt_c = " with HORIZONTAL unit";
  $cmt_d = " with ESTIMATED reactor volume";  
  $cmt_e = " with reactor CHAMBER volume";
  
  $cmt_f = " with MAIN unit";
  $cmt_g = " with Reactor WAFER";
  
  $cmt_jan_a = "January"  . $cmt_a;
  $cmt_jan_b = "January"  . $cmt_b;
  $cmt_feb_a = "February" . $cmt_a;
  $cmt_feb_b = "February" . $cmt_b;
  $cmt_feb_c = "February" . $cmt_c;
  $cmt_feb_d = "February" . $cmt_d;
  $cmt_feb_e = "February" . $cmt_e;
  
  $cmt_mar_c = "March" . $cmt_c;
  $cmt_mar_d = "March" . $cmt_d;
  $cmt_mar_e = "March" . $cmt_e;
  
  
  $cmt_apr_c = "April" . $cmt_c;
  $cmt_apr_d = "April" . $cmt_d;
  $cmt_apr_e = "April" . $cmt_e;
  
    
  $cmt_sep_c = "Sept" . $cmt_b;  // Total MAIN unit
  $cmt_sep_d = "Sept" . $cmt_d;
  $cmt_sep_e = "Sept" . $cmt_e;
  
     
  $cmt_oct_c = "Oct" . $cmt_f;  // Total MAIN unit
  $cmt_oct_d = "Oct" . $cmt_g;
  $cmt_oct_e = "Oct" . $cmt_e;
  
  $cmt_octself_f = "Oct (Self-sustaining)" . $cmt_f;  // Total MAIN unit
  $cmt_octself_g = "Oct (Self-sustaining)" . $cmt_g;
  $cmt_ocselft_e = "Oct (Self-sustaining)" . $cmt_e;
  
   set_expt(++$expt_num,"Control Box: $material_name[$a_ctrl] Main Unit: $material_name[$a_main]","All Secs Li/i",10,0.5,$cmt_jan_a);
        set_expt_sec(AF_C,$a_ctrl);	// expt number is in a global
        set_expt_sec(AF_H,$a_main);	
        set_expt_sec(AF_V,$a_main);

   set_expt(++$expt_num,"Main Unit: $material_name[$a_main]","Main Secs Li/i",10,0.5,$cmt_jan_b);
        set_expt_sec(AF_C,MAT_NONE);	// expt number is in a global
        set_expt_sec(AF_H,$a_main);	
        set_expt_sec(AF_V,$a_main);

   set_expt(++$expt_num,"Horizontal Arm: $material_name[$a_main]","Main Secs Li/i",16,18,$cmt_feb_c);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_H,$a_main);	
        set_expt_sec(AF_V,MAT_NONE);
   
  // Remove Feb Reactor (est)
  set_expt(++$expt_num,"Estimated Reactor:  $material_name[$a_main]","React Sec Li/i",16,18,$cmt_feb_d);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_R,$a_main);	
        set_expt_sec(AF_V,MAT_NONE);
		
		// Remove Feb Reactor (est)
  set_expt(++$expt_num,"Reactor Chamber:  $material_name[$a_main]","React Sec Li/i",16,18,$cmt_feb_e);
        set_expt_sec(AF_C,MAT_NONE);	
        set_expt_sec(AF_RCH,$a_main);	
        set_expt_sec(AF_V,MAT_NONE);
			
   set_expt(++$expt_num,"Horizontal Arm: $material_name[$a_main]","Main Secs Li/i",$e3->excess_power,$e3->time,$cmt_mar_c);
        set_expt_sec(AF_E3_H,$a_main);	
        set_expt_sec(AF_E3_R,MAT_NONE);	
        set_expt_sec(AF_E3_V,MAT_NONE);
   
   set_expt(++$expt_num,"Reactor:  $material_name[$a_main]","React Sec Li/i",$e3->excess_power,$e3->time,$cmt_mar_d);
        set_expt_sec(AF_E3_H,MAT_NONE);	
        set_expt_sec(AF_E3_R,$a_main);	
        set_expt_sec(AF_E3_V,MAT_NONE);
		
  set_expt(++$expt_num,"Horizontal Arm: $material_name[$a_main]","Main Secs Li/i",$e4->excess_power,$e4->time,$cmt_apr_c);
        set_expt_sec(AF_E4_H,$a_main);	
        set_expt_sec(AF_E4_R,MAT_NONE);	
        set_expt_sec(AF_E4_V,MAT_NONE);
   
   set_expt(++$expt_num,"Main Unit: $material_name[$a_main]","Main Secs Li/i",$e5->excess_power,$e5->time,$cmt_sep_c);
        set_expt_sec(AF_E5_H,$a_main);	
        set_expt_sec(AF_E5_R,MAT_NONE);	
        set_expt_sec(AF_E5_V,MAT_NONE);
		
	   
   set_expt(++$expt_num,"Main Unit: $material_name[$a_main]","Main Secs Li/i",$e6->excess_power,$e6->time,$cmt_oct_c);
        set_expt_sec(AF_E6_H,$a_main);	
        set_expt_sec(AF_E6_R,MAT_NONE);	
        set_expt_sec(AF_E6_RCH,MAT_NONE);
		
		set_expt(++$expt_num,"Reactor Unit: $material_name[$a_main]","Main Secs Li/i",$e6->excess_power,$e6->time,$cmt_oct_d);
        set_expt_sec(AF_E6_H,MAT_NONE);	
        set_expt_sec(AF_E6_R,$a_main);	
        set_expt_sec(AF_E6_RCH,MAT_NONE);
	
	if(true)
	{	
		set_expt(++$expt_num,"TESTING : $material_name[$a_main]","Main Secs Li/i",$e7->excess_power,$e7->time,$cmt_octself_f);
        set_expt_sec(AF_E7_H,$a_main);	
        set_expt_sec(AF_E7_R,MAT_NONE);	
        set_expt_sec(AF_E7_RCH,MAT_NONE);
		
		
		set_expt(++$expt_num,"TESTING : $material_name[$a_main]","Main Secs Li/i",$e7->excess_power,$e7->time,$cmt_octself_g);
        set_expt_sec(AF_E7_H,MAT_NONE);	
        set_expt_sec(AF_E7_R,$a_main);	
        set_expt_sec(AF_E7_RCH,MAT_NONE);
	}
		
	  if($dbg>3) echo "...  expt $expt_num <br />";				
}

   define('EXPT_MULTI_START',$expt_num+1);
   set_expt_multi(MAT_LI_ION_BAT,MAT_LHA);
   define('EXPT_MULTI_FIN',$expt_num);

   define('EXPT_BAT_START',$expt_num+1);
   set_expt_multi(MAT_LI_ION_BAT,MAT_LI_ION_BAT);
   define('EXPT_BAT_FIN',$expt_num);

 
   // experiments
   define('EXPT_LHA_START',$expt_num+1);   
   set_expt_multi(MAT_LHA_FC,MAT_LHA);
   define('EXPT_LHA_FIN',$expt_num);
	
  // experiments
   define('EXPT_CHA_START',$expt_num+1); 
   set_expt_multi(MAT_CHA_FC,MAT_CHA);
   define('EXPT_CHA_FIN',$expt_num);

	
	
   define('EXPT_CHCO_START',$expt_num+1);
   set_expt_multi(MAT_CHCO_FC,MAT_CHCO);
	define('EXPT_CHCO_FIN',$expt_num);
	

  define('EXPT_LHLO_START',$expt_num+1);
   set_expt_multi(MAT_LHLO_FC,MAT_LHLO);
	define('EXPT_LHLO_FIN',$expt_num);
	
	// experiments
   define('EXPT_BOA_START',$expt_num+1);
   set_expt_multi(MAT_CHA_FC,MAT_BO_AIR);
	define('EXPT_BOA_FIN',$expt_num);
	
		// experiments
   define('EXPT_BOCO_START',$expt_num+1);
   set_expt_multi(MAT_CHA_FC,MAT_BO_CO);
	define('EXPT_BOCO_FIN',$expt_num);
	
			// experiments
   define('EXPT_BOLO_START',$expt_num+1);
   set_expt_multi(MAT_CHA_FC,MAT_BO_LO);
	define('EXPT_BOLO_FIN',$expt_num);
	
	// experiments
   define('EXPT_MGS_START',$expt_num+1);
   set_expt_multi(MAT_CHA_FC,MAT_MG_H2O);
	define('EXPT_MGS_FIN',$expt_num);
		
	// experiments
   define('EXPT_MGSO2_START',$expt_num+1);
   set_expt_multi(MAT_CHA_FC,MAT_MG_H2O_O2);
	define('EXPT_MGSO2_FIN',$expt_num);
		
		// experiments
   define('EXPT_DFA_START',$expt_num+1);
   set_expt_multi(MAT_CHA_FC,MAT_DSL_AIR);	
  define('EXPT_DFA_FIN',$expt_num);
  
     define('EXPT_SPHH2O_START',$expt_num+1);
   set_expt_multi(MAT_CHA_FC,MAT_SPH_H2O);	
  define('EXPT_SPHH2O_FIN',$expt_num);
  
     define('EXPT_SPHBE_START',$expt_num+1);
   set_expt_multi(MAT_CHA_FC,MAT_SPH_BE);	
  define('EXPT_SPHBE_FIN',$expt_num);
  
     define('EXPT_SPHIRON_START',$expt_num+1);
   set_expt_multi(MAT_CHA_FC,MAT_SPH_IRON);	
  define('EXPT_SPHIRON_FIN',$expt_num);
  
     define('EXPT_SPHLEAD_START',$expt_num+1);
   set_expt_multi(MAT_CHA_FC,MAT_SPH_LEAD);	
  define('EXPT_SPHLEAD_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_DEMO1);	
        set_expt_sec(AF_DEMO2,MAT_DEMO2);	
        set_expt_sec(AF_DEMO3,MAT_DEMO3);
 
   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_DEMO1);	
        set_expt_sec(AF_DEMO3,MAT_NONE);
   
  define('EXPT_DEMO_FIN',$expt_num);
}
?>

Set 'mole' Values: rossi_ecat_proof_setmoles_v401.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php // atomic weight calc test section

function calc_moles()
{ include(INCLUDE_GLOBALS);
$am['B'] = 10.811;  $dkgL['B'] = 2.52; // 2.34? g/cc == kg/L
$am['H'] = 1.0071;  $am['H2'] = 2*$am['H']; 
  $dkgL['H2'] = 0.08988 * 0.001 ; // wiki 0.08988 g/L  ==> kg/L 
  $dkgL['H2-700B'] =  $dkgL['H2'] * (5.6/0.01079); // wiki-ED
  $dkgL['H2-L']    =  0.07099; // wiki 0.07099 g/cm3 = kg/L
// $dkgL['H2-L']= 67.8*0.001; // kg/m3 ==> kg/L
$am['O'] = 15.999;  
$am['O2'] = 2*15.999;
  $dkgL['O2'] = 1.429 * 0.001 ; // wiki 1.429 g/L  == kg/L  
  $dkgL['O2-700B'] =  $dkgL['O2']  * $dkgL['H2-700B'] / $dkgL['H2']; // ratio H2
  $dkgL['O2-L'] =   1.141; // 1.141 g·cm-3   == kg/L
$am['Al'] = 26.98153868; $dkgL['Al'] = 2.698; // g/cc == kg/L

$am['Mg'] = 24.3050; $dkgL['Mg'] = 1.738; // g/cc == kg/L
$dkgL['MgO'] = 3.58; // g/cc == kg/L


$am['Ni'] = 58.6934; $dkgL['Ni'] = 8.908; // g/cc == kg/L
$dkgL['NiH'] = 3.58; // g/cc == kg/L

  $l_formula = "2 {$paH2}  + {$paO2}  ===> 2  {$paH2O}";
  calc_moles_ab('CH-CO','Compressed Hydrogen/Compressed Oxygen',$l_formula,'Compressed H2','H2',$paH2,2,$dkgL['H2-700B'],'Compressed O2','O2',$paO2,1,$dkgL['O2-700B']);
  
  $l_formula = "2 {$paH2}  + {$paO2}  ===> 2  {$paH2O}";
  calc_moles_ab('LH-LO','Liquid Hydrogen/Liquid Oxygen',$l_formula,'Liquid H2','H2',$paH2,2,$dkgL['H2-L'],'Liquid O2','O2',$paO2,1,$dkgL['O2-L']);
 
 
  $l_formula = "4 {$paB}  +  3 {$paO2}  ===> 2  {$paB2}{$paO3}"; 
  calc_moles_ab('B-CO','Boron/Compressed Oxygen',$l_formula,'Solid B','B',$paB,4,$dkgL['B'],'Compressed O2','O2',$paO2,3,$dkgL['O2-700B']);
  
  $l_formula = "4 {$paB}  +  3 {$paO2}  ===> 2  {$paB2}{$paO3}"; 
  calc_moles_ab('B-LO','Boron/Liquid Oxygen',$l_formula,'Solid B','B',$paB,4,$dkgL['B'],'Liquid O2','O2',$paO2,3,$dkgL['O2-L']);

  $l_formula = "{$paMg}  +  {$paH2O}  ===> {$paH2}"; 
  calc_moles_ab('MG-H2O','Magnesium/Steam',$l_formula,'Solid Mg','Mg',$paMg,1,$dkgL['Mg'],'H2O Steam','H2O',$paH2,1,$dkgL['H2']);
  
  $l_formula = "{$paMg}  +  {$paH2O}  ===> {$paH2} THEN {$paH2} + 1/2 {$paO2} ===> {$paH2O}"; 
  calc_moles_ab('MG-H2O-O2','Mg/Steam/O2',$l_formula,'Solid Mg','Mg',$paMg,1,$dkgL['Mg'],'1/2 O2','O2',$paO2,0.5,$dkgL['O2-L']);
}
function calc_moles_ab($ab,$ab_title,$ab_formula,$a_name,$a_elt,$a_pa,$a_num,$a_dens,$b_name,$b_elt,$b_pa,$b_num,$b_dens)  
{ include(INCLUDE_GLOBALS);
    $mab_ab_title[$ab] = $ab_title;    
	$mab_ab_formula[$ab] = $ab_formula;
	$mab_a_name[$ab] = $a_name;
	$mab_b_name[$ab] = $b_name;
	$mab_a_pa[$ab]   = $a_pa;
	$mab_b_pa[$ab]   = $b_pa;
	$mab_a_num[$ab]  = $a_num;
	$mab_b_num[$ab]  = $b_num;
	$mab_a_elt[$ab]  = $a_elt;
	$mab_b_elt[$ab]  = $b_elt;
    $mab_a_m[$ab] = $a_num * $am[$a_elt]; 
	$mab_b_m[$ab] = $b_num * $am[$b_elt]; 
	$mab_tot_m[$ab] = $mab_a_m[$ab] + $mab_b_m[$ab];
	$mab_a_mfac[$ab] = $mab_a_m[$ab]/$mab_tot_m[$ab];  
	$mab_b_mfac[$ab] = $mab_b_m[$ab]/$mab_tot_m[$ab];
	$mab_a_dens[$ab] = $a_dens;
	$mab_b_dens[$ab] = $b_dens;
    $mab_a_v[$ab] = $mab_a_m[$ab] / $a_dens;
	$mab_b_v[$ab] = $mab_b_m[$ab] / $b_dens;
	$mab_tot_v[$ab] = $mab_a_v[$ab] + $mab_b_v[$ab];
	$mab_a_vfac[$ab] = $mab_a_v[$ab]/$mab_tot_v[$ab];  
	$mab_b_vfac[$ab] = $mab_b_v[$ab]/$mab_tot_v[$ab];
}
function print_moles_ab($ab)  
{ include(INCLUDE_GLOBALS);
  if($dbg>=0) echo "Title:   AB[$ab] $mab_ab_title[$ab]";
  $spfmt_fmt = "%6.3f";
  echo <<< PRINT_MOLES_AB
  <pre>
Formula:  $mab_ab_formula[$ab]
$mab_a_pa[$ab] ({$mab_a_name[$ab]})
$mab_b_pa[$ab] ($mab_b_name[$ab])
$mab_a_pa[$ab] mass :   $mab_a_num[$ab] * {$spfmt($am[$mab_a_elt[$ab]])} = {$spfmt($mab_a_m[$ab])}
$mab_b_pa[$ab] mass :   $mab_b_num[$ab] * {$spfmt($am[$mab_b_elt[$ab]])} = {$spfmt($mab_b_m[$ab])}
Total mass :   {$spfmt($mab_tot_m[$ab])}
$mab_a_pa[$ab] mass fac : {$spfmt($mab_a_m[$ab])} /  {$spfmt($mab_tot_m[$ab])} = {$spfmt($mab_a_mfac[$ab])}	
$mab_b_pa[$ab] mass fac : {$spfmt($mab_b_m[$ab])} /  {$spfmt($mab_tot_m[$ab])} = {$spfmt($mab_b_mfac[$ab])}
Volume : mass / density
$mab_a_pa[$ab] volume :  {$spfmt($mab_a_m[$ab])} / {$spfmt($mab_a_dens[$ab])} =  {$spfmt($mab_a_v[$ab])}
$mab_b_pa[$ab] volume :  {$spfmt($mab_b_m[$ab])} / {$spfmt($mab_b_dens[$ab])} =  {$spfmt($mab_b_v[$ab])}
Total vol :  {$spfmt($mab_tot_v[$ab])}
$mab_a_pa[$ab] vol fac : {$spfmt($mab_a_v[$ab])}/{$spfmt($mab_tot_v[$ab])} = {$spfmt($mab_a_vfac[$ab])}	
$mab_b_pa[$ab] vol fac : {$spfmt($mab_b_v[$ab])}/{$spfmt($mab_tot_v[$ab])} = {$spfmt($mab_b_vfac[$ab])} 
	</pre>
PRINT_MOLES_AB;
}

function calc_moles_mg_steam()  
{ include(INCLUDE_GLOBALS);
   $kJmolMg = 360 + 285.8 - 41;
   $kJkGMG = $kJmolMg / $am['Mg'] ;
   $MJkGMG = $kJkGMG ;
   $MJpLMG = $MJkGMG * $dkgL['Mg'];
      
   $kJmolH2 = 285.8;  // to water
   $kJkGH2 = $kJmolH2 / $am['H2'] ;  // OK
   $MJkGH2 = $kJkGH2 ;               // OK
   $MJpLH2 = $MJkGH2 * $dkgL['H2-L'];
   
   
   $kJmolNi = 4.850;
   $kJkGNI = $kJmolNi / $am['Ni'] ;
   $MJkGNI = $kJkGNI ;
   $MJpLNI = $MJkGNI * $dkgL['Ni'];
}
function print_moles_mg_steam()  
{ include(INCLUDE_GLOBALS);
  echo <<< MG_STEAM_1
 <p><a href="http://www.chemguide.co.uk/inorganic/group2/reacth2o.html" target="_blank">Reactions of Metals and Water</a></p>
  <p>Magnesium  combines with STEAM to produce Magnesium Oxide  and Hydrogen. </p>
  <p>
  <pre>
MG_STEAM_1;
  echo pATOM("Mg",1) . " + " .  pATOM("H",2) . pATOM("O",1);  
  echo " ==>" ; 
  echo pATOM("Mg",1) . pATOM("O",1) . " + " . pATOM("H",2) . " dH  -360 <em>kJ/mol</em></p>";
  echo <<< MG_STEAM_2
  <p>The hydrogen can then be burned with Air or Oxygen to produce water.
  <br /><a href="http://chemistry.about.com/od/physicalchemistrythermo/a/thermochemlaws.htm" target="_blank">H2O</a>: H2 (g) + 1/2 O2 (g) ==> H2O (l); dH = -285.8 <em>kJ/mol</em> <br />
    (Remove <a href="http://www.sciencegeek.net/Chemistry/taters/Unit7Thermochemical.htm" target="_blank">Latent Heat</a> 41 kJ/<em>mol</em> = -285.8 + 41 <em>kJ/mol</em> )</p>
MG_STEAM_2;

   echo "Check math by comparing liquid H /External O2";
   echo "<br />Total (from H2) is " . pV(-$kJmolH2) . " <em>kJ/mol</em>.";
   echo "<br />Atomic weight: " . pV($am['H2']) . " <em>g/mol</em>.";
   echo "<br />Density (L): " . pV($dkgL['H2-L']) . "<em> g/cm3</em>";
   echo "<br />Energy by mass : (" . pV($kJmolH2) . " <em>kJ/mol</em>)/(" . pV($am['H2']) . "<em>g/mol</em> )";
   echo "<br />     = " . pV($kJkGH2) . " <em>kJ/g</em>  = " . pV($MJkGH2) . " <em>MJ/kg</em>";
   echo "<br />Energy by volume: " . pV($MJpLH2) . "<em> MJ/L</em>";
   echo "<br />";
   echo "<br />Comparison to Wiki values<br /><br />";
   $lp_MJkGH2_calc = sprintf("%4.3f",$MJkGH2);
   $lp_MJkGH2_wiki = sprintf("%4.3f",$material_mj_per_kg[MAT_LHA]);
   $lp_MJkLH2_calc = sprintf("%4.3f",$MJkLH2);
   $lp_MJkLH2_wiki = sprintf("%4.3f",$material_mj_per_l[MAT_LHA]);
echo <<< WATER_TABLE
<table width="500" border="1" class="afTable"  style="background-color: $table_bgcolor[0];">
  <tr>
    <th scope="col" > </th>
    <th scope="col" width="200" align="right">Energy by Mass</th>
    <th scope="col" width="200" align="right">Energy by Volume</th>
  </tr>
  <tr>
    <th scope="row">Wiki</th>
    <td align="right">$lp_MJkGH2_wiki</td>
    <td align="right">$lp_MJkLH2_wiki</td>
  </tr>
  <tr>
    <th scope="row">Calculation</th>
    <td align="right">$lp_MJkGH2_calc</td>
    <td align="right">$lp_MJkLH2_wiki</td>
  </tr>
</table>
WATER_TABLE;

 
   $lp_kJmolMg = pV($kJmolMg);
   $lp_kJkGMG = pV($kJkGMG);
   $lp_MJkGMG = pV($MJkGMG);
   $lp_MJpLMG = pV($MJpLMG);
   
   echo <<< MG_DENS_1
  <br />
  Total (from Mg/Steam + H/O) is -{$kJmolMg} <em>kJ/mol</em>.
  Atomic weight    : {$am['Mg']} <em>g/mol</em>
  Density          : {$dkgL['Mg']} <em>g/cm3</em>
  Energy by mass   :  ({$lp_kJmolMg} <em>kJ/mol</em>) / ({$am['Mg']} <em>g/mol</em>)  = $lp_kJkGMG <em>kJ/g</em> 
                     = $lp_MJkGMG <em>MJ/kg </em>
  Energy by volume : {$lp_MJpLMG } <em>MJ/L</em>
  </pre>
MG_DENS_1;

 
   $lp_kJmolNi = pV($kJmolNi);
   $lp_kJkGNI = pV($kJkGNI);
   $lp_MJkGNI = pV($MJkGNI);
   $lp_MJpLNI = pV($MJpLNI);
   
   echo <<< NI_DENS_1
   <pre>
  <br />
  Total (from Ni/H) is -{$kJmolNi} <em>kJ/mol</em>.
  Atomic weight    : {$am['Ni']} <em>g/mol</em>
  Density          : {$dkgL['Ni']} <em>g/cm3</em>
  Energy by mass   :  ({$lp_kJmolNi} <em>kJ/mol</em>) / ({$am['Ni']} <em>g/mol</em>)  = $lp_kJkGNI <em>kJ/g</em> 
                     = $lp_MJkGNI <em>MJ/kg </em>
  Energy by volume : {$lp_MJpLNI } <em>MJ/L</em>
  </pre>
NI_DENS_1;
}

calc_moles();
calc_moles_mg_steam();
?>

Print 'mole' Values: rossi_ecat_proof_moles_v401.php

<h1><?php do_level_1(); ?> Calculations</h1>
 <h2><?php do_level_2(); ?> Wiki Energy Densities</h2>
<div class="oneColLiqCtrHdrDiv2">
<p>The Wiki of Energy Densities doesn't have entries for all cases where (for instance) Hydrogen is used with Compressed or Liquid Oxygen.</p>
<p>This section calculates how much the "wiki" Energy Densities by Mass and by Volume are reduced if the available space has to be shared between the Hydrogen and Oxygen.</p>
<p> </p>
<h2><?php do_level_2(); ?> Reference Documents</h2>
    <div class="oneColLiqCtrHdrDiv2">
<p><a href="http://en.wikipedia.org/wiki/Hydrogen" target="_blank">Wiki : Hydrogen </a>***<br />
  <a href="http://en.wikipedia.org/wiki/Oxygen" target="_blank">Wiki: Oxygen</a> ***<br />
  
</p>
<p><a href="http://en.wikipedia.org/wiki/Amount_of_substance" target="_blank">Amount of Substance</a><br />
    <a href="http://en.wikipedia.org/wiki/Molar_volume" target="_blank">Molar Volume</a><br />
<a href="http://en.wikipedia.org/wiki/Molar_mass" target="_blank">Molar Mass</a> g/mol</p>
	<p><a href="http://www.webqc.org/periodictable-Boron-B.html" target="_blank">Periodic Table with Properties</a><br />
      <a href="http://en.wikipedia.org/wiki/Liquid_hydrogen" target="_blank">Liquid Hydrogen</a><br />
        <a href="http://ie.jrc.ec.europa.eu/publications/scientific_publications/2003/P2003-181=EUR20995EN.pdf" target="_blank">Hydrogen</a><br />
      <a href="http://www.sse.gr/NATO/EreunaKaiTexnologiaNATO/2.Fuel_cells_for_land_sea_and_air_vehicles/RTO-TR-AVT-103/TR-AVT-103-06.pdf" target="_blank">Oxygen Storage</a>    <br />
      <a href="http://www.seasdtc.com/events/2008_conference/downloads/pdf/propulsion_power_generation_and_energy_management/PPEM003_paper.pdf" target="_blank">Hydrogen/LOX storage</a>    </p>
</div>
<h2><?php do_level_2(); ?> Atoms and Molecules</h2>
    <pre><?php
	echo <<< HYDR_1
	H    mass {$am['H']}	
	H2   mass {$am['H2']} 
	     Gas          Density : {$dkgL['H2']} kg/L
	     Compressed   Density : {$dkgL['H2-700B']} kg/L  (700 Bar)
	     Liquid       Density : {$dkgL['H2-L']} kg/L
		 
	O    mass {$am['O']}	
	O2   mass {$am['O2']} 
	     Gas          Density : {$dkgL['O2']} kg/L
	     Compressed   Density : {$dkgL['O2-700B']} kg/L  (700 Bar)
	     Liquid       Density : {$dkgL['O2-L']} kg/L
		 
	B    mass {$am['B']}	
	     Solid  Density : {$dkgL['B']} kg/L
HYDR_1;
    ?></pre>
 <?php af_feed(); ?>
<h2><?php do_level_2(); ?> Compressed hydrogen + Compressed Oxygen</h2>
<div class="oneColLiqCtrHdrDiv2">
     <?php print_moles_ab('CH-CO'); ?>
</div>
<h2><?php do_level_2(); ?> Liquid hydrogen + Liquid Oxygen</h2>
<div class="oneColLiqCtrHdrDiv2">
    <?php print_moles_ab('LH-LO'); ?>
</div>
 <?php af_feed(); ?>
<h2><?php do_level_2(); ?> Boron + Compressed Oxygen</h2>
<div class="oneColLiqCtrHdrDiv2">
     <?php print_moles_ab('B-CO'); ?>
</div>
<h2><?php do_level_2(); ?> Boron + Liquid Oxygen</h2>
<div class="oneColLiqCtrHdrDiv2">
    <?php print_moles_ab('B-LO'); ?>
</div> <?php af_feed(); ?>
<h2><?php do_level_2(); ?> Magnesium and Steam</h2>
<div class="oneColLiqCtrHdrDiv2">
    <?php print_moles_mg_steam(); ?>
</div>
<?php af_feed(); ?>
<h2><?php do_level_2(); ?> Magnesium (+ Steam) + Compressed Oxygen</h2>
<div class="oneColLiqCtrHdrDiv2">
     <?php print_moles_ab('MG-H2O-O2'); ?>
</div>

 <h2><?php do_level_2(); ?> Embedded Calculations</h2>
 <div class="oneColLiqCtrHdrDiv2">
 <p>All calculations in this document are performed with the PHP programming language which generates the document.</p>
 <p><a href="http://lenr.qumbu.com/rossi_ecat_proof_source_v401.php">Partial PHP Source Code</a></p>
 </div>
</div>

Main Document: rossi_ecat_proof_v401.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 include_once("rossi_ecat_proof_global_v401.php"); // included once for dreamweaver
      include_once("rossi_ecat_proof_versions_v401.php");
	  
	  $title = "How to Prove that the Rossi/Focardi eCAT LENR is Real" ;
	  define("INCLUDE_GLOBALS","rossi_ecat_proof_global_v401.php");
	  
	  $feed_on = false;
	  $updated = false;
	  $send_holmes = 1;  // 1: send quote   2: send context  3:debug
	  
	  if( isset($_GET['dbg']) )
	  { $dbg = $_GET['dbg'];
	    echo "<br />GET dbg $dbg";
	  }
	  else
	  { $dbg = 3;
	  }
	  
	  if( isset($_GET['print']) )
	  { $feed_on= true;
	  }
	  else
	  { $feed_on= false;
	  }
	  if( isset($_GET['todo']) )
	  { $todo = $_GET['todo'];
	    if($dbg>3) { echo "<br />GET todo $todo"; }
	  }
	  else
	  { $todo = 0;
	  }
	  
	  if( isset($_GET['holmes']) )
	  { $send_holmes = $_GET['holmes'];
	    if($dbg>3) { echo "<br />GET holmes $holmes"; }
	  }
	  else
	  { $send_holmes = 1;
	  }
	  
?>

<?php include_once("rossi_ecat_proof_includes_v401.php"); ?>
<?php include_once("rossi_ecat_proof_email_v401.php"); ?>
<?php include_once("rossi_ecat_proof_calc_v401.php"); ?>
<?php include_once("rossi_ecat_proof_setmoles_v401.php"); ?>
<?php include_once("rossi_ecat_proof_setvalues_v401.php"); ?>
<?php include_once("rossi_ecat_proof_holmes_v401.php"); ?>
<?php include_once("rossi_ecat_steam_versions_v410H.php"); ?>

</head>

<body class="oneColLiqCtrHdr">
<?php  set_ecat_values_031();
?>
<div id="container">
  <div id="header"><a name="doctop" id="doctop"></a>
    <h1>How to Prove that the Rossi/Focardi eCAT LENR is Real</h1>
    <p>Alan Fletcher
      <!-- end #header -->
      <br />
      <?php echo $version_txt; ?><br />
    </p>
</div>
  <div id="mainContent"><a name="doctop" id="doctop"></a>
   <?php if ( $updated ) {
	     // <div style="background-color: #ddd;"><h1>This document has been updated : please check for the latest version at <a href="http://lenr.qumbu.com">lenr.qumbu.com</a></h1></div>
	   echo <<< UPDATED
    <div style="background-color: #ddd;"><h1>This document is being frequently updated to describe the April experiments : please check for the latest version at <a href="http://lenr.qumbu.com">lenr.qumbu.com</a></h1></div>
UPDATED;
    }
	?>
<?php
		$referrer = $_SERVER['HTTP_REFERER']; 
		$dbg_refer = 0;
		if ( preg_match("/.*qumbu.*frames/",$referrer) )
		{  if($dbg_refer>0) echo "Referrer = FRAME $referrer <br /><br />";
		}
		else if ( preg_match("/.*qumbu.*index/",$referrer) )
		{  if($dbg_refer>0) echo "Referrer = INDEX $referrer <br /><br />";
		}
		else if ( $feed_on )
		{ if($dbg_refer>0) echo "Referrer = PRINT $referrer <br /><br />";
		}
		else
		{ if($dbg_refer>0) echo "Referrer = OTHER $referrer <br /><br />";
		  echo <<< ASK_FRAMES
		 <a href="$version_frames_url" target="_self">Version with Frames and Index</a><p><p>
ASK_FRAMES;
		}
?>

<?php if ($dbg > 3 ) { echo <<< SAMPLES
    <h1><?php do_level_1(); ?>  H1  Main Content </h1>   
    <div class="oneColLiqCtrHdrDiv1">
    This is div1
    <div class="oneColLiqCtrQuote">
    This is a div1 quote    </div>
    <h2><?php do_level_2(); ?> H2</h2>
    <div class="oneColLiqCtrHdrDiv2">
    This is div2
    <div class="oneColLiqCtrQuote">
    This is a div2 quote    </div>
    <h2><?php do_level_3(); ?> H3</h2>
    <div class="oneColLiqCtrHdrDiv3">
    This is div3    
    <div class="oneColLiqCtrQuote">
    This is a div3 quote    </div>
    </div>
    </div>
    </div>
    <p>
SAMPLES;
      }
?> 
    <?php if ($send_holmes > 1) send_holmes_four_a("As Sherlock Holmes said"); ?>
    <?php if ($send_holmes > 1) send_holmes_four_b("As Sherlock Holmes said"); ?>
    <?php if ($send_holmes > 1) send_holmes_bruce_a("As Sherlock Holmes said"); ?>
    <?php if ($send_holmes > 1) send_holmes_beryl_a("As Sherlock Holmes said"); ?>
    <?php if ($send_holmes > 1) send_holmes_blaze_a("As Sherlock Holmes said"); ?>
 <?php if ( $todo>0 ) include("rossi_ecat_proof_todo_v401.php"); 
 ?>
    
    <div class="oneColLiqCtrHdrDiv1">
     <p><br />
     </p>
    </div>
 <h1><a name="updateFeb2012" id="updateFeb2012">Update : Feb 22, 2012</h1>
    <div class="oneColLiqCtrHdrDiv1">
    Ian Bryce of the Australian Skeptics Society has proposed a new "Wiring" fake, which could account for some of the experiments. This is described in the "Hidden Wires" section.
 </div>
 <h1><a name="updateSep2011" id="updateSep2011">Update : Sep 21, 2011</h1>
   <div class="oneColLiqCtrHdrDiv1">
     <p>Significant questions have been raised about the steam calorimetry used in these experiments, particularly by Steven B. Krivit, addressing the question of "Steam Quality", which can vary from "0% Dry" (the output is composed entirely of liquid water) to "100% Dry" (the output is composed entirely of water vapour). </p>
     <p>My analysis, however, indicates that very low steam quality is unlikely. (See <a href="http://lenr.qumbu.com" target="_blank">http://lenr.qumbu.com</a> for links to my latest versions).</p>
     <p>In any event, not all fakes could be excluded even assuming high steam quality (95% Dry), so the conclusions of this paper are not significantly changed, and I have not updated it to reflect different estimates of the excess power produced.</p>
     <p> </p>
   </div>
  <h1><?php do_level_1(); ?> 
    <a name="abstract" id="abstract"></a>Abstract</h1>
  <div class="oneColLiqCtrHdrDiv1">
 <p>A new "Cold Fusion" device was demonstrated at the University of Bologna, Italy on Jan 15, 2011. Unlike the Pons and Fleischmann setup, which uses  
Palladium and  Deuterium and can take months to perform an experiment, the Rossi/Focardi <em><strong>eCAT</strong></em> uses Hydrogen and Nickel, produces large amounts of power (more than 10kW), and can be turned on and off on command. </p>
 <p>Several experiments  have been performed : One in December 2010 by a panel of independent scientists (led by prof Levi), one in January 2011, attended by the same scientists and invited press, and one in February 2011 attended only by Levi, and for which a formal report has not been issued. An experiment was conducted in March 2011, by Kullander and Essén. Two experiments were conducted by Mats Lewan in April.</p>
 <p>This paper attempts to prove that the Rossi/Focardi device is real, by ruling out all known fakes. For any particular fake the total energy and run-time is computed, assuming that the ENTIRE unknown volume is occupied by the fake material, and that its conversion to heat energy is 100% efficient. If the fake could run LONGER than the experiment, then it is NOT eliminated. If the fake would run out of fuel before the end of the experiment, then the fake is eliminated.</p>
 <p>If ALL known fakes are eliminated, then the device must be real.</p>
 <p>The December/January experiments were too short to rule out ANY of these theoretical fakes. But if Levi's informal reports on the February trial are accepted, then ALL chemical fakes are eliminated. However, neither the January or February reports rule out a <em><strong>Tarallo Water Diversion Fake</strong></em>. </p>
 <p>The March report probably rules out a <em><strong>Tarallo</strong></em> fake -- but since the Horizontal arm was NOT unwrapped, it does NOT rule out all chemical fakes. </p>
 <p>Two new tests were run in April.  These definitely rule out a <em><strong>Tarallo</strong></em> fake. The experimental setup was adequate, but since the eCat was NOT unwrapped the time of the run was NOT long enough to  rule out ANY of the chemical fakes. (Only some of the stored-heat fakes are eliminated).</p>
 <p>At present EVERY known fake has been eliminated by at least ONE of the experiments, but the Rossi <em><strong>eCat</strong></em> has NOT been proven to be real by any ONE experiment. Some will argue that this means it's real, while others will argue that it could still be fake.</p>
 <p>It must, however be noted that Rossi made the "Calorimetric Black Box" eCAT available without any  restrictions (other than the use of radioactive spectral detectors), so the lack of proof is due to defects in the observers instruments or techniques, not due to his attempt to conceal anything.</p>
 <p>An Italian patent has been issued : <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3173090.ece" target="_blank">Patent granted for the energy catalyzer</a>. World-wide and US patents are reportedly still being pursued.</p>
 <?php if ( ! $feed_on ) {
 echo <<< FEED_ON
 <p><a href="{$version_url}?print" target="_blank">Printable HTML Version</a>
 <br /><a href="{$version_pdf_url}" target="_blank">Printable PDF Version</a></p>
FEED_ON;
 }
 else
 { echo <<< FEED_OFF
    <p><a href="{$version_frames_url}" target="_blank">Web Version with Table of Contents : <br />{$version_frames_url}</a>
FEED_OFF;
 }
 ?>
  </div>

     <?php af_feed(); ?>
    <h1><?php do_level_1(); ?>
      <a name="introduction" id="introduction"></a> Introduction</h1>   
    <div class="oneColLiqCtrHdrDiv1">
<p>A new <a href="http://en.wikipedia.org/wiki/Cold_fusion" target="_blank">"Cold Fusion"</a> or "<strong>LENR</strong>"  (<strong>L</strong>ow <strong>E</strong>nergy <strong>N</strong>uclear <strong>R</strong>eactions) device -- the Rossi/Focardi Energy Catalyzer or <em><strong>eCAT</strong></em> was recently demonstrated at the University of Bologna, Italy on Jan 15, 2011:
<a href="http://www.journal-of-nuclear-physics.com/?p=360" target="_blank">Rossi-Focardi Energy Catalyzer</a>
<p>An second experiment was performed in February : <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3108242.ece" target="_blank">Cold Fusion: 18 hour test excludes combustion </a>A good summary of these  is given by Scott Chubb <a href="http://www.lenr-canr.org/acrobat/ChubbSRtherossikw.pdf" target="_blank">Infinite Energy • Issue 96 • March/April 2011</a>
<p>A third test was performed by Kullander and Essén <a href="http://www.nyteknik.se/incoming/article3144960.ece/BINARY/Download+the+report+by+Kullander+and+Ess%C3%A9n+(pdf)" target="_top">Experimental test of a mini-Rossi device at the Leonardocorp, Bologna 29 March 2011</a> and <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3144827.ece" target="_top">Swedish physicists on the E-cat: “It’s a nuclear reactionâ€</a>. 
<p><a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3166552.ece" target="_blank">Ny Teknik tested the energy catalyzer</a> in April 2011.
<p>It currently appears unlikely that any further demonstrations will be performed before October 2011.
<p>Also see the Wiki <a href="http://en.wikipedia.org/wiki/Energy_Catalyzer" target="_top">Energy Catalyzer</a>

and, for a very skeptical view : <a href="http://www.angewandtebiologischeneuemedizin.com/en/index.php?title=Focardi-Rossi_Energy-Catalyzer" target="_blank">Focardi-Rossi Energy-Catalyzer</a></p>
 <p>An Italian TV program, RaiNews24, witnessed some of the tests: <a href="http://www.youtube.com/watch?v=NzL3RIlcwbY">The Magic of Mr. Rossi</a> (dubbed in English).</p>
 <p>Cold fusion was first announced by Pons and Fleischmann in 1989, and was rapidly "debunked". But contrary to popular (and mainstream scientific) opinion, Cold Fusion was never actually disproved (see the history section.) Work has continued in a variety of private, university and government studies, with an annual <em>ICCF</em> conference, now in its 17th year. Most of the work has concentrated on the  Pons and Fleischmann setup, which uses 
Palladium and  Deuterium. It has been replicated hundreds of times, though experiments can take months to run, and require sophisticated calorimetry. 
<p>In contrast, the Rossi/Focardi <em><strong>eCAT</strong></em> uses Hydrogen and Nickel, produces large amounts of power (more than 10kW), and can be turned on and off on command. Rossi plans to install a 1MW water-heating plant, made by connecting 300 4 kW devices in series and parallel, in Athens, Greece, in October 2011. A greek company, <a href="#" target="_blank">Defkalion Green Technologies S.A. </a>has world-wide rights (excluding the Americas), and is building a factory for the production of 10 kW domestic units, possibly as early as November 2011.</p>
<p>An Italian patent has been issued : <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3173090.ece" target="_blank">Patent granted for the energy catalyzer</a> -- although it is not clear whether this is honored in the rest of the EU. World-wide and US patents are reportedly still being pursued.</p>
<p>All  of these<em><strong> eCAT</strong></em> demonstrations were primarily a "black box" calorimetry experiment. Because his patent application has not yet been approved, Rossi declines to make detailed comments on the process, or to let anyone see inside his "reactor chamber".</p>
<?php af_feed(); ?>
<p>This paper analyses three main classes of "Fake" :</p>
<?php if ( 1==0 ) echo <<< NICE_LIST_2
	  <ul class="niceList2">
	    <li>List 2</li>
        </ul>
NICE_LIST_2;
?>
<ul class="niceList">
      <li>Finite-Energy Fakes</li>   
      <p>These Fakes have a finite energy content, for instance, batteries or chemicals     
<p>Villa notes in his report on the January experiment:</p>
<div class="oneColLiqCtrQuote">
        <p>In the present test, as a precautionary
          attitude, whatever was not known, not disclosed or not understood has
          been considered as the energy source. This forces to consider relevant
          only very large energy productions, as those described in [1] where the
          reactor has been working for weeks and month
          <br />....
        <br />The duration of the tests would be directly proportional to the
          mass and volume of unknown origin. For the present set-up a convincing
          evidence would include a power production of (order of) 10 kW sustained
        for weeks in a controlled and monitorized environment. </p>
    </div>
<p>For these we attempt to put numbers to that philosophy, by calculating UPPER BOUNDS on what any known chemical process could produce. </p>
      <li>Unlimited-Energy Fakes</li>
      <p>This kind of fake can run for an unlimited time, and could therefore run longer than a chemical fake.</p>
      <p>They can only be eliminated by more stringent inspections and experimental setups. </p>
      <p>The Tarallo Water Diversion fake is the most plausible of these.</p>
      <li>Alternative Implementations</li>
      <p>This kind of fake would pass all of the black-box tests and all possible external inspections.</p>
      <p>They therefore represent alternative implementations and, if true, would be as great a breakthrough in science as the Rossi eCat.</p>
</ul>
<p>If it's not real, how can the experiment be faked? And if it's faked, how can we detect it, or eliminate it? </p>
<p>
<?php send_holmes_beryl_a("As Sherlock Holmes said"); ?>
</p>
<p>If all possible fakes are eliminated then the <em><strong>eCat</strong></em> must be real -- even though we do not know how it works. If current science can't explain it, then the science is wrong.</p>
    </div> <?php af_feed(); ?>
<h1><?php do_level_1(); ?>
  <a name="history" id="history"></a> History</h1>  
<div class="oneColLiqCtrHdrDiv1">
  <p>Cold fusion was first announced by Pons and Fleischmann in 1989, and was rapidly "debunked".  </p>
  <p>But contrary to popular (and mainstream scientific) opinion, Cold Fusion was never actually disproved.</p>
  <p>Cravens And Letts (<a href="http://lenr-canr.org/acrobat/CravensDtheenablin.pdf" target="_blank">The Enabling Criteria of Electrochemical Heat: Beyond Reasonable Doubt</a>) performed a statistical analysis of 167 papers, and identified 4 criteria which were satisfied in all successful experiments (including Pons and Fleischmann's original paper), and in which one or more were omitted in failed experiments -- including  all the original "Debunking" papers. The most important are Lewis (Caltech) -- where NONE of these criteria were met, and Williams (Harwell), in which only ONE was met. These two papers effectively removed Cold Fusion from main stream science (and funding). Cravens And Letts point out that although ignoring these criteria almost guarantees failure, following them improves, but does not ensure success. Alchemists were well advised to include the "eye of newt" in their potions, since they did not understand which of the many steps were critical to success, and which were irrelevant. Perhaps those alchemists used better science than Lewis and Williams. </p>
  <p>Also see Krivit: <a href="http://www.newenergytimes.com/v2/library/2005/2005KrivitS-HowCanItBeReal-Paper.pdf" target="_blank">How Can Cold Fusion Be Real, Considering It Was Disproved By Several Well-Respected Labs In 1989?</a></p>
  <p>Work has continued in a variety of private, university and government studies <a href="http://www.lenr-canr.org/Experiments.htm" target="_blank">(Experiments)</a>, with an annual <em>ICCF</em> conference, now in its 17th year. Hundreds of papers have been written, some in peer-reviewed mainstream journals. <a href="http://www.lenr-canr.org/LibFrame1.html" target="_blank">(Library)</a>. </p>
  <p>Most of the work has concentrated on the  Pons and Fleischmann setup, which uses 
    Palladium and  Deuterium.  It has been replicated hundreds of times. However, it has not reached 100% reproducibility. Experiments take months to "load" the deuterium into the palladium (though recent experiments with co-depositing deuterium and palladium eliminate this step), and are not guaranteed to work. (Though a set of cathodes which work in one experiment will almost always work in a different set-up). They require very subtle calorimetry over a long period, which introduces doubt into the results.</p>
  <p>In addition to the calorimetric results, a 'CR-39' polycarbonate detector (long used by  the Russians) placed next to the electrode shows clear evidence of  high-energy particles (Mossier-Boss et al : <a href="http://www.lenr-canr.org/acrobat/MosierBossuseofcrinp.pdf" target="_blank">Use of CR-39 in Pd/D co-deposition experiments</a> and <a href="http://www.lenr-canr.org/acrobat/MosierBossreplytocom.pdf" target="_blank">Reply to a comment .. by Kowalski</a>).</p>
  <p>The first reported work using Nickel and Hydrogen was by Francesco Piantelli (See articles by Krivit: <a href="http://www.newenergytimes.com/v2/news/2008/NET29-8dd54geg.shtml#dpnr" target="_blank">Deuterium and Palladium Not Required</a> and <a href="http://www.newenergytimes.com/v2/news/2008/NET29-8dd54geg.shtml#pf" target="_blank">Piantelli-Focardi Publication and Replication Path</a> ).</p>
  <p>The Rossi/Focardi <em><strong>eCat </strong></em>uses Hydrogen and Nickel, produces large amounts of energy (more than 10kW), and can be turned on and off on command. </p>
  </div> 
<?php af_feed(); ?>
 <h1><?php do_level_1(); ?> 
   <a name="apparatus" id="apparatus"></a>eCAT Demonstrator Apparatus</h1>
    <div class="oneColLiqCtrHdrDiv1">
    
 <h2><?php do_level_2(); ?> </a>January eCAT Apparatus</h2>
    <div class="oneColLiqCtrHdrDiv2">
<img src="af_all_140111rossifocardi1814_w800.jpg" alt="" width="600" height="642" longdesc="Experimental setup" /><br />
  <a href="http://22passi.blogspot.com/2011/01/bolognia-14111-cronaca-test-fusione_14.html" target="_blank">Image from Passerini Report</a> (January 2011)
<img src="af_levi_fig1.jpg" alt="" width="600" height="488" longdesc="Levi Report Fig 1" /><br />
Image from Levi report (December 2010?).
    </div> <?php af_feed(); ?>
    <h2><?php do_level_2(); ?> </a>March eCAT Apparatus</h2>
    <div class="oneColLiqCtrHdrDiv2">
      <p><img src="110406-a-Rossi_Essen_Kullander_Carlo.jpg" alt="" />
          Fig 5<img src="110406-b-Img+2+ECAT_explained.jpg" alt="" />
      Fig 2   <img src="110406-c-Img+4+OUTPUT.jpg" alt="" />
      Fig 4   <img src="110406-d-Img+3_ECAT_BODY.jpg" alt="" /> Fig 3    </p>
    </div>  
    
    </div> <?php af_feed(); ?>
    <h2><?php do_level_2(); ?> </a>April eCAT Apparatus</h2>
    <div class="oneColLiqCtrHdrDiv2">
    It seems that the two experiments used slightly different eCATs -- April 19 used the March setup, and April 28 used a version with a truncated chimney.
      <p><img src="110502-Test_1_april+058_600px.jpg" alt="April-19" />April 19?
         <img src="110502-DSC_0009_600px.jpg" alt="April-28" />April 28? </p>
    </div>  
     <h2><?php do_level_2(); ?> <a name="equipment" id="equipment"></a>Sept/Oct 6 Apparatus</h1>
  <div class="oneColLiqCtrHdrDiv2">
    <p>The new "fatcat" no longer has a Tube boiler. Instead, a "wafer" containing up to three "cores" sits in a simple kettle, discharging water or steam through an outlet in its lid.</p>
    <p><img src="111010_pics/lewan_DSC_0065_600px_a.jpg" width="650" height="399" />
    <p>The "fat eCat is in the background. The heat exchanger is in the right-foreground.</p>
    <p><br />  
        <img src="111010_pics/lewan_DSC_0089_600_a.jpg" width="449" height="600" /></p>
    <p>The Ecat with its lid removed, showing the top heat exchanger.</p>
  </div>
     <?php af_feed(); ?>
    <h2><?php do_level_2(); ?> </a>General Structure and Operation</h2>
    <div class="oneColLiqCtrHdrDiv2">
<p>The setup is</p>
<p></p>
<pre class="prettyPrint"><?php include 'diagram_summary.txt'; ?>
</pre>
The components are:
<ul>
  <li>Main Unit (Made up of a Horizontal and Vertical Arm)</li>
  <li>Horizontal Arm : Contains the Reactor Unit, reportedly made up of:<br /></li>
  <ul>
  <li>Chamber -- contains Nickel, fed with Hydrogen</li>
  <li>Resistors -- used to "ignite" the reactor, then lowered to maintain the reaction</li>
  <li>Heat exchanger -- heats and/or boils the water.</li>
  <li>Radiation Shielding -- Lead  <br /></li>
  </ul> 
  <li>Vertical Arm </li>
  <li>Water and Pump</li>
  <li>Control Unit powered from an AC wall-plug.</li>
  <li>Compressed Hydrogen bottle, weighed before and after.</li>
</ul>
<p>The entire Horizontal and Vertical arms were enveloped in tinfoil for the December/January trials.</p>
<p>The presence or absence of any evidence of nuclear activity is NOT considered in this paper.</p>
 <?php af_feed(); ?>
<p>Operation: </p>
<ul>
  <li>Load the reactor with hydrogen</li>
  <li>Apply 1 kW through the control panel until the reactor "ignites"</li>
  <li>Reduce the input power to 400 W (Jan) or 80 W (Feb)</li>
  <li>Pump water in at a measured rate and temperature</li>
  <li>Jan: Observe steam output, measure temperature and  dryness<br />
    OR<br />
    Feb: Measure the water temperature at the outlet</li>
  <li>Accurately measure the weight of the hydrogen bottle, before and after</li>
</ul>
</div>
</div> <?php af_feed(); ?>
  <h1><?php do_level_1(); ?> 
    <a name="experiments" id="experiments"></a>Experiments</h1>
<div class="oneColLiqCtrHdrDiv1">
  <a name="jan2011" id="jan2011"><h2><?php do_level_2(); ?> January 2011 Experiment</h2>
<div class="oneColLiqCtrHdrDiv2">
<p>In December 2010 a team of scientists was allowed to examine the device, and performed a number of experiments.</p>
<p>In January 2011 a "press" demonstration was held -- though the reactor developed an internal problem (reportedly on the leads to an internal heating resistor),  took a long time to "ignite", and ran at lower efficiency (higher input power).</p>
<p>These two will be referred to as the "January" apparatus and experiment.</p>
<p>The things we know about the January apparatus as a whole are:  </p>
<ul>
  <li>The input power to the controller </li>
  <li>The input water volume and temperature </li>
  <li>The output steam temperature and dryness </li>
  <li>The amount of hydrogen used</li>
  <li>ESTIMATED volumes of the various elements (Villa)<br />
  (These could be confirmed from the photographs).</li>

  <li>A very rough estimate of the weight of the Control Box (Levi)</li>
</ul>
<p>Villa reported:</p>

<div class="oneColLiqCtrQuote">
The basic observable elements are
  an horizontal metallic tube (approximate length 70 cm, diameter 20 cm, 22 l
  volume, 30 kg weight as a guess-estimate) as the reaction chamber, a vertical
  tube for steam output (50 cm length, 15 cm diameter, 9 l volume), a control
  system box (approx 40x40x40 cm3 dimensions, 64 l volume, unknown
  weight), a water pump and an hydrogen bottle.
  </div>
  <p>Levi reported:</p>
  <div class="oneColLiqCtrQuote">
  <p>Prudentially I have lifted the control box in search for any other eventually hidden cable and found none. The weight of the control box was of few Kg.</p>
</div>
<p>The things we do NOT know about the January apparatus include:  </p>
<ul>
  <li>The contents of the controller</li>
  <li>The power from the controller to the main unit</li>
  <li>The output steam volume</li>
  <li>The weights before and after, other than the hydrogen bottle</li>
  <li>Whether any air was taken in by the device, or combustion products released.</li>
</ul>
 <?php af_feed(); ?>
<p>ASSUMING that ALL the water was converted to steam the total OUTPUT energy was computed:</p>
<ul>
  <li>Heat water to boiling point</li>
  <li>Convert to steam</li>
  <li>Heat the steam </li>
</ul>

<p>Given the rate of flow, the output power (kW) was calculated, and the INPUT power (kW) to the controller was subtracted.<br />
</p>
<p>The volume of the various elements were estimated by <a href="http://www.lenr-canr.org/acrobat/VillaMonthegamma.pdf" target="_blank">Mauro Villa</a> to be:</p>
<ul>
  <li>Control Box 60 liters</li>
  <li>Horizontal Arm 22 liters</li>
  <li>Vertical Arm 9 liters</li>
</ul>
<p>The measured values as summarized in <a href="http://lenr-canr.org/News.htm" target="_blank">LENR-CANR News</a> are:</p>
<ul>
  <li>Duration: 1 hour, of which 30 minutes was  steam-producing<br />
  <li>Flow Rate: 17.5 L/Hr (292 ml/min)    </li>
  <li>Input Power : 400W    </li>
  <li>Excess Power 12.5 kW</li>
  <?php $jan_input_power = 0.400; $jan_excess_power = 12.5; $jan_total_power = $jan_input_power + $jan_excess_power;  
    $jan_power_factor = $jan_total_power/$jan_input_power;
   ?>
  <li>Factor <?php echo "{$jan_total_power}/{$jan_input_power} = {$jan_power_factor}"; ?></li>
  <li>Excess Energy (Excess Power x Run Time): <?php echo print_unit_fmt(12.5*0.5,"kWH"); ?> </li>
  </li>
  <li>Hydrogen:  less than 0.1 g of hydrogen was consumed. <br />
  If the hydrogen had been burned it   would have produced  
  <?php print_direct_energy_mass(0.1/1000,143.000); ?></li>
  </ul>
  <p>At the press conference Rossi announced that they have a working system providing heating in their own plant (presumably with multiple eCATS), and that he plans to install a 1MW Plant in Athens, Greece in October, 2011.</p>
  <p>Reports:    </p>
  <ul>
    <li><a href="http://lenr-canr.org/acrobat/LeviGreportonhe.pdf" target="_blank">Giuseppi Levi
      </a></li>
    <li><a href="http://www.lenr-canr.org/acrobat/VillaMonthegamma.pdf" target="_blank">Mauro Villa</a>      </li>
    <li><a href="http://newenergytimes.com/v2/news/2011/36/3625rf-melichmacy.shtml" target="_blank">Melich and Macy (New Energy Times)</a>    <a href="http://newenergytimes.com/v2/news/2011/36/Melich-Rothwell-Report-Rossi-Expt.pdf" target="_blank">Melich (ed by Rothwell)</a>   <a href="http://newenergytimes.com/v2/news/2011/36/Melich-Report-Rossi-Expt.pdf" target="_blank">Macy (N.E.T.)</a></li>
    <li><a href="http://newenergytimes.com/v2/sr/RossiECat/docs/2010Bianchini-Report-RossiDemo.pdf" target="_blank">David Bianchini</a></li>
      <li><a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg41536.html" target="_blank">Francesco  Celani</a> and <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg42665.html" target="_blank">Celani (Revised, Gamma burst)</a></li>
  </ul>
    </li>
  </ul>
  </div> <?php af_feed(); ?>
  <a name="feb2011" id="feb2011"><h2><?php do_level_2(); ?> February 2011 Experiment</h2>
<div class="oneColLiqCtrHdrDiv2">
<p>The February trial reportedly had the same general structure, except that is was only used to HEAT water, not to convert it to steam.</p>
<p>The primary observer of the February run, Prof Levi, was allowed to examine everything EXCLUDING the reactor chamber, which he estimated to be about 1 liter in volume. He reported that a lot of the volume of the horizontal and vertical arms was insulation, and that lead shielding was visible around the reactor chamber. </p>
<p>Nyteknik.se: <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3108242.ece" target="_blank">Cold Fusion: 18 hour test excludes combustion</a>
<div class="oneColLiqCtrQuote">
  <p>“This time I opened the control unit (and examined the interior), as  someone said that it could contain a hidden battery. And I can swear in  court that the box was empty, except for the control electronics – five  very simple PLCs – and it weighed about seven kilograms,†said Levi.  </p>
  <p>“I have also seen inside the reactor device itself – most of the  volume is isolation, and most of the weight of about 30 kg is due to  lead.â€</p>
  <p>He confirmed that the reactor chamber, supposedly containing nickel  powder, the secret catalysts and hydrogen gas, had a volume of around  one liter. The reactor chamber was the only part he could not inspect.</p>
</div>
  <p><br />
    LENR-CANR: <a href="http://lenr-canr.org/News.htm" target="_blank">Rossi 18-hour demonstration</a></p>
<div class="oneColLiqCtrQuote">
On February 10 and 11, 2011, Levi et al. (U. Bologna) performed another test of the Rossi device. Compared to the January 14 test, they used a much higher flow rate, to keep the cooling water from vaporizing. This is partly to recover more heat, and partly because Celani and others criticized phase-change calorimetry as too complicated. There were concerns about the enthalpy of wet steam versus dry steam, and the use of a relative humidity meter to determine how dry the steam was. A source close to the test gave Jed Rothwell the following figures. These are approximations: ....
</div>
<p>The things we know about the February apparatus as a whole are: </p>
<ul>
  <li>The Control Unit and all parts of the Main Unit excluding the reactor were inspected.</li>
  <li>The input power to the controller </li>
  <li>The input water volume and temperature </li>
  <li>The output water temperature </li>
  <li>The amount of hydrogen used </li>
  <li>ESTIMATED volume of the reactor CHAMBER is 1 liter</li>
  <li>ESTIMATED mass of the REACTOR (Levi reports that the mass was 30 kg)</li>
  </ul>
   <?php af_feed(); ?>
<p>The things we do NOT know about the February apparatus include:  </p>
<ul>
  <li>The power from the controller to the main unit</li>
  <li>The VOLUME of the whole REACTOR.</li>
  <li>The weights before and after, other than the hydrogen bottle<br />
  </li>
  <li>Whether any air was taken in by the device, or combustion products released.</li>
</ul>

<p>The values reported by Rothwell are:</p>
<ul>
  <li>Run Time: 18 hours</li>
  <li>Flow Rate: 3,000 L/h = ~833 ml/s.</li>
  <li>Cooling water input temperature: 15°C</li>
  <li>Cooling water output temperature: ~20°C</li>
  <li>Input power from control electronics: variable, average 80 W, closer to 20 W for 6 hours</li>
  <li>Excess Power  16 kW</li>
  <?php $feb_input_power = 0.08; $feb_excess_power = 16.0; $feb_total_power = $feb_input_power + $feb_excess_power;  
    $feb_power_factor = $feb_total_power/$feb_input_power;
   ?>
  <li>Factor <?php echo "{$feb_total_power}/{$feb_input_power} = {$feb_power_factor}"; ?></li>
  <li>Excess Energy (Excess Power x Run Time): <?php echo print_unit_fmt(16*18,"kWH"); ?> </li>
  <li>Hydrogen:  less than 0.4 g of hydrogen was consumed. <br />
    If the hydrogen had been burned it   would have produced 
    <?php print_direct_energy_mass(0.4/1000,143.000); ?></li>
</ul>
<p>However, the some of the values reported in Nyteknik are significantly different (and in favor of Rossi's <em><strong>eCAT</strong></em>):</p>
<div class="oneColLiqCtrQuote">
<p>“Minimum power was 15 kilowatts, and that’s a conservative value. I   calculated it several times. At night we did a measurement and the   device then worked very stable and produced 20 kilowatts.â€</p>
<p>Initially, the temperature of the inflowing water was <strong>seven</strong> degrees   Celsius and for a while the outlet temperature was <strong>40 </strong>degrees Celsius. A   flow rate of about one liter per second, equates to a peak power of 130   kilowatts. The power output was later stabilized at 15 to 20 kilowatts.</p>
</div>
<p>Note : Levi has not released a report of this experiment, and Rossi has declined to comment on it.</p>
<p>This paper uses Rothwell's numbers.</p>
</div> 
<?php af_feed(); ?>
  <h2><?php do_level_2(); ?> Interlude : Other Information, Feb-March, 2011</h2>
  
<div class="oneColLiqCtrHdrDiv2">
  <p>Rossi continues to provide a trickle of information (some of it conflicting with previous statements) on his blog <a href="http://www.journal-of-nuclear-physics.com/?p=360" target="_blank">JANUARY 15th FOCARDI AND ROSSI PRESS CONFERENCE</a></p>
  <p>For instance, he now  <a href="http://www.journal-of-nuclear-physics.com/?p=360&cpage=12#comment-28831" target="_blank">now indicates that</a> it is not the ELECTRICAL power which modulates the output, but the HYDROGEN:</p>
   <div class="oneColLiqCtrQuote">Our plants of 1 MW are made with series and parallels of 10 kW modules. Our 10 kW modules have been tested from 2 years and we have a deep knowledge of them. If the temperature or the pressure inside the apparatus goes critic we cut the hydrogen supply and cool down the E-Cat increasing the flow of water as much as necessary. Consider that we do not use radioactive materials and we do not produce rad waste, that a single module has a volume of about 1 liter and is very easy to cool down with water. Every module is controlled indipendently from the others and if one module has to be stopped the others can work.
   </div>
   <p>Through a live interview with NyTeknik Rossi answered a number of questions : <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3124295.ece" target="_blank">E-cat inventor in live chat with the readers (+ Video Interview)</a> and <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3126617.ece" target="_blank">And here are 36 more questions – with Rossi's answers</a> -- though many of these were not technical in nature.</p>
   <p>He recently appeared on a US Radio Program : <a href="http://pesn.com/2011/03/24/9501795_Andrea_Rossi_with_Sterling_Allan_on_Coast_to_Coast_AM/" target="_blank">Andrea Rossi with Sterling Allan on Coast to Coast AM</a></p>
   <p>There is some evidence that the Hydrogen/Nickel reaction can become self-sustaining, so the ratio of output to input electrical power would become infinite.   </p>
   <p>Since the February experiment was reported,  Rossi has reportedly PAID the University of Bologna €500,000 to investigate and develop the eCat device, and presumably under a non-disclosure agreement: <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3123849.ece" target="_blank">This is how Rossi is financing his E-cat</a> (this Nyteknik article also gives some background on Rossi). Another Nyteknik interview explores the manufacturing : <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3091266.ece" target="_blank">Cold Fusion: Here's the Greek company building 1 MW</a></p>
  <p>Rossi has stated that NO experimental results will be published for at least a year.</p>
   <p>Since many of the original independent observers are now presumed to be under contract to Rossi, some might question their future impartiality. However, as <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3108242.ece" target="_blank">Levi noted</a>:</p>
   <div class="oneColLiqCtrQuote">
  <p>“If I were an old professor with his career already done, then I would   not have anything to risk. But any attempt at fraud on my part would be a   terrible personal goal. What could I hope for? To have a title for ten   days, and then be thrown from my own department. Because (the matter of)   fraud comes up sooner or later. There is no hope for it. So if I ...   well, I would be really stupid. Honestly, I would be really stupid!â€</p>
 </div>
  </div>   <?php af_feed(); ?>
    <h2><?php do_level_2(); ?> 
      <a name="march2011" id="march2011"></a>March 2011 Experiment</h2>
    <div class="oneColLiqCtrHdrDiv2">
    <p>A new test has been released, with pictures of a smaller 5kW device with and without shielding and insulation.      </p>
    <p><a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3144827.ece" target="_blank">Swedish physicists on the E-cat: “It’s a nuclear reactionâ€</a></p>
    <div class="oneColLiqCtrQuote">
    <p>“In some way a new kind of physics is taking place. It’s enigmatic, but   probably no new laws of nature are involved. We believe it is possible to   explain the process with known laws of nature,†said Hanno Essén, associate   professor of theoretical physics and a lecturer at the Swedish Royal Institute   of Technology and chairman of the <a href="http://www.vof.se/visa-english">Swedish Skeptics Society</a>.</p>
    <p><strong>The new trial was conducted</strong> in much the same way as the   trial in January, and lasted for nearly six hours. According to observations by   Kullander and Essén, a total energy of about 25 kWh was generated.</p>
    </div>
    <p><a href="http://www.nyteknik.se/incoming/article3144960.ece/BINARY/Download+the+report+by+Kullander+and+Ess%C3%A9n+(pdf)" target="_blank">Experimental test of a mini-Rossi device at the Leonardocorp, Bologna 29 March 2011.</a></p>
     <p>Participants: Giuseppe Levi, David Bianchini, Carlo Leonardi, Hanno Essén, Sven Kullander, Andrea Rossi, Sergio Focardi.
       Travel report by Hanno Essén and Sven Kullander, 3 April 2011. </p>
     <div class="oneColLiqCtrQuote">
   Any chemical process for producing 25 kWh from any fuel in a 50 cm3 container can be ruled out. The only alternative explanation is that there is some kind of a nuclear process that gives rise to the measured energy production.
    </div>
    
      <p>Some additional comments on this experiment are available at <a href="http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=sv&tl=en&u=http%3A%2F%2Faleklett.wordpress.com%2F2011%2F04%2F08%2Frossis-energikatalysator-%E2%80%93-en-stor-bluff-eller-helt-ny-fysik%2F" target="_top">Aleklett’s Energy Mix</a>      </p>
      <h2><?php do_level_2(); ?> Photos</h2>
    <div class="oneColLiqCtrHdrDiv2">
      <p><img src="110406-a-Rossi_Essen_Kullander_Carlo.jpg" alt="" />
          Fig 5<img src="110406-b-Img+2+ECAT_explained.jpg" alt="" />
      Fig 2   <img src="110406-c-Img+4+OUTPUT.jpg" alt="" />
      Fig 4   <img src="110406-d-Img+3_ECAT_BODY.jpg" alt="" /> Fig 3    </p>
      Kullander and Essén report:
      <div class="oneColLiqCtrQuote">
      <p>During the running we used the rightmost one of the devices, figure 4, <strong>which is surrounded by a 2 cm thick lead shield, as stated by Rossi, and wrapped with insulation</strong>, figure 5. We had free access to the heater electric supply, to the inlet water hose, to the outlet steam valve and water hose and to the hydrogen gas feed pipe. The total weight of the device was estimated to be around 4 kg. </p>
      </div>
      
      <p>I read "<strong>As stated by Rossi</strong>" as "<strong>He said so and we believed him</strong>" -- not that "<strong>he previously stated it and we found it true when we inspected it</strong>".</p>
      <p>Later in the report they say:</p>
      <div class="oneColLiqCtrQuote">
      <p><strong>Discussion</strong>. Since we do not have access to the internal design of the central fuel container and no information on the external lead shielding and the cooling water system we can only make very general comments.</p></div>
      <p>Nor do they provide a photograph showing the insulation and the lead shield of the horizontal arm.</p>
      <p>There is therefore NO proof in the report that the wrapped, horizontal arm contains only equipment identical to the three unwrapped devices.</p>
      <p>They DID inspect the vertical arm by unwrapping the insulation (Fig 4), but did NOT inspect the inside of the "chimney".</p>
      <p>The complete horizontal arm and the vertical chimney therefore have to be included as "Fake". </p>
      <?php af_feed(); ?>
      <p>They did make one check which <strong>WOULD</strong> eliminate the Torelli fake (see below).</p>
<div class="oneColLiqCtrQuote">The 100 °C temperature is reached at 10:42 and at about 10:45 all the water is completely vaporized found by <strong>visual checks</strong> of the <strong>outlet tube</strong> ...</div>
      <p>However, they do not report that the visual check on the output tube was continuous. </p>
      <p>The total volume of the REACTOR was estimated as a sphere::</p>
      <p>
        <?php 
	  
      echo "<p>Reactor Sphere diameter: {$sprintf('%3.2f',$e3->react_diam)} cm <br />volume: {$sprintf('%3.2f',$e3->react_vol)} cm<span class=afSuper>3</span>   = {$sprintf('%3.4f',$e3->react_vol_l)} L</p>";
	  ?></p>
      <p>Since the horizontal arm was NOT inspected, I have estimated its volume:</p>
        <?php
      echo "<p>Horizontal Arm :  cylinder, length: {$sprintf('%3.2f',$e3->horz_length)} cm diameter: {$sprintf('%3.2f',$e3->horz_diam)} cm <br />volume: {$sprintf('%3.2f',$e3->horz_vol)} cm<span class=afSuper>3</span>   = {$sprintf('%3.4f',$e3->horz_vol_l)} L</p>";
	  ?>
      </p>
      <p><strong>TODO:</strong> estimate the volume of the "steam outlet" section.</p>
      </div>
    <p>The things we know about the March apparatus as a whole are: </p>
<ul>
  <li>The Control Unit was inspected.</li>
  <li>The input power to the controller</li>
  <li>The power from the controller to the eCat was estimated<br />(The results would not be significantly changed if ALL the input power were sent to the eCat)</li>
  <li>The pressure in the hydrogen bottle.</li>
  <li>The estimated pressure with which the reactor was charged.</li>
  <li>The input water volume and temperature </li>
  <li>The output steam temperature and dryness THROUGH THE INSTRUMENT PORT</li>
  <li>ESTIMATED volume of the Reactor is  0.18 liters (from photos)</li>
  <li>The volume of the wrapped horizontal arm (from photos)</li>
  <li>The volume of the vertical chimney (from photos)</li>
  <li> The mass of the eCat was reported as 4kg -- but it is not clear which parts are included.</li>
  </ul>
   <?php af_feed(); ?>
<p>The things we do NOT know about the March apparatus include:  </p>
<ul>
  <li>The amount of Hydrogen used </li>
  <li>The VOLUME of the REACTOR CHAMBER -- reported by Rossi to be 50cc </li>
  <li>The weights before and after</li>
  <li>Whether all the water that went in came out as steam (see Tarallo Water Diversion Fake)</li>
  <li>The temperature of the output steam flow OUTSIDE of the eCAT
  </li>
  <li>Whether any air was taken in by the device, or combustion products released.</li>
</ul>

    <p>The measured values as given in <a href="http://www.nyteknik.se/incoming/article3144960.ece/BINARY/Download+the+report+by+Kullander+and+Essén+(pdf)">Experimental test of a mini-Rossi device at the Leonardocorp, Bologna 29 March 2011</a> are:</p>
    <?php 
	?>
    <ul>
  <li>Duration: 5 hours 45 minutes was  steam-producing<br />
  <li>Flow Rate: 6.47 L/Hr </li>
  <li>Input Power : 300W    </li>
  <li>Excess Power 4.39 kW</li> 
  <li><?php echo "Factor {$e3->total_power}/{$e3->input_power} = {$sprintf('%4.1f',$e3->factor)}"; ?></li>
  <li>Excess Energy (Excess Power x Run Time): <?php echo print_unit_fmt($e3->excess_power*$e3->time,"kWH"); ?></li>
  </li>
  <li>Hydrogen:  less than 0.1 g of hydrogen was consumed. <br />
  If the hydrogen had been burned it   would have produced  
  <?php print_direct_energy_mass(0.11/1000,143.000); ?></li>
  </ul>
    <p>Note: the amount of hydrogen used was NOT measured.  They ACCEPTED Rossi's statement that the central chamber was 50cc. 
      The pressure and mass of hydrogen used could have been used to confirm the volume of the central chamber.</p>
    <p>Essen and Kullander consider Nickel and Hydrogen forming Nickel Hydride as a possible fake candidate :</p>
     <div class="oneColLiqCtrQuote">
     <p>The enthalpy from the chemical formation of
      nickel and hydrogen to nickel hydride is 4850 joule/mol [6].</p>
      </div>
      <p>But taking the fake as 100% nickel, with EXTERNAL hydrogen, gives an energy density of 
      <blockquote>
        <p>
          Energy by volume : 0.736 <em>MJ/L</em>     </p>
      </blockquote>
      <p>which is much lower than other candidates, so I have not used it in an "experiment".</p>
      <p>I have included the following in the results below:</p>
      <ul>
        <li>Wrapped Horizontal arm</li>
        <li>External Reactor Volume</li>
        <li>Reactor chamber volume reported by Rossi</li>
      </ul>
      <p>Because the horizontal arm was <strong>NOT</strong> inspected "unwrapped", we have to assume it contained <strong>FAKE</strong> material. The 6 hour test was <strong>NOT</strong> long enough to eliminate all of the fakes.</p>
    </div>
     <?php af_feed(); ?>
    <h2><?php do_level_2(); ?> 
      <a name="april2011" id="april2011"></a>April 2011 Experiment</h2>
    <div class="oneColLiqCtrHdrDiv2">
      <p>Two experiments were performed by <a href="http://www.nyteknik.se/ovrigt/redaktionen/mats_lewan/" target="_blank">Mats Lewan</a> : <a href="http://www.nyteknik.se/nyheter/energi_miljo/energi/article3166552.ece" target="_blank">Ny Teknik tested the energy catalyzer</a>.</p>
       <div class="oneColLiqCtrQuote">In the first test on April 19, the national Italian television channel RAI was present and its reportage will be broadcast on the channel RAI News (<a href="http://www.rainews24.it/it/canale-tv.php" target="_blank">live streaming here</a>) Thursday, May 5th at 20:35.
         <p>In the second test on April 28 only Ny Teknik, the inventor Andrea Rossi, and a colleague of his were present.
      </div>
       <p>The reports are : <a href="http://www.nyteknik.se/incoming/article3166567.ece/BINARY/Report+test+of+E-cat+19+April+2011.pdf" target="_blank">April 19</a> (with an eCat similar to the March experiment) and <a href="http://www.nyteknik.se/incoming/article3166569.ece/BINARY/Report+test+of+E-cat+28+April+2011.pdf" target="_blank">April 28</a> (with a truncated Chimney.)</p>
       <p>Summary: They measured the weight of the input water and hydrogen, the voltage and amperage into the controller, and the input and output temperatures. The output temperature was measured inside the eCat.</p>
       <p>The April 19 test produced an excess power of 2.6 kW for 2.167 hours. The April 28 test produced 2.3kW for 2.97 hours. In the April 28 test they observed the output flow at all times, and condensed the output into a bucket. </p>
       <p>The control box WAS checked : <a href="http://www.nyteknik.se//template/ver03/fragments/articleCommentsFetch.jsp?articleId=3166451&endPosition=" target="_blank">Mats Lewan, Ny Teknik 2 May 2011 12:55 </a>  (via google translate)</p>
       <div class="oneColLiqCtrQuote">
         <p>One must, of course, measuring the box as it is the total power input we are looking for.         </p>
         <p> I and all the others before me have inspected the box inside. It contains no batteries or other energy source, just a bit of electronics and the most air. </p>
       </div>
      <p>A Tarallo water-diversion fake is ruled out:</p>
      <div class="oneColLiqCtrQuote">During the April 28 test, we also checked the steam flow through the outlet hose regularly. Some steam was reasonably being condensed back into water in the three-meter-long tube that was exposed to air and was thus at a slightly lower temperature, and a small amount of water was observed coming out of the hose.
      </div>
       <p>There is no evidence that they "unwrapped" the eCATs after the experiment, so for the purpose of this paper the entire body could have contained fake material. </p>
<?php af_feed(); ?>
      <p>The things we know about the April 28 apparatus as a whole are: </p>
    <ul>
  <li>The Control Unit was inspected.</li>
  <li>The input power to the controller</li>
  <li>The power from the controller to the eCat was estimated by noting the power before and after the resistors were turned on<br />(The results would not be significantly changed if ALL the input power were sent to the eCat)</li>
  <li>The weight of Hydrogen used </li>
  <li>The input water volume (by weighing) and temperature </li>
  <li>The output steam temperature THROUGH THE INSTRUMENT PORT</li>
  <li>ESTIMATED volume of the Reactor is  0.18 liters (from photos)</li>
  <li>The volume of the wrapped horizontal arm (from photos)</li>
  <li>The volume of the vertical chimney (from photos)</li> 
  <li>That most the water that went in came out as steam (see Tarallo Water Diversion Fake)</li>
  </ul>
<p>The things we do NOT know about the April apparatus include:  </p>
<ul>
  <li>The output water volume (although an attempt was made to measure this)</li>
  <li>The dryness of the steam (only that the thermocouple was not under water).</li>
  <li>The VOLUME of the REACTOR CHAMBER -- reported by Rossi to be 50cc </li>
  <li>The weights before and after</li>
  <li>The temperature of the output steam flow OUTSIDE of the eCAT  </li>
  <li>Whether any air was taken in by the device, or combustion products released.</li>
</ul>

    <p>The measured values are given in <a href="http://www.nyteknik.se/incoming/article3166569.ece/BINARY/Report+test+of+E-cat+28+April+2011.pdf" target="_blank">April 28</a>
    <ul>
  <li>Duration: 2 hours 58 minutes was  steam-producing<br />
  <li>Flow Rate: 3.8 L/Hr  </li>
  <li>Input Power : 378 W  (including controller)  </li>
  <li>Excess Power 2.3 kW</li>
  <li><?php echo "Factor {$e4->total_power}/{$e4->input_power} = {$sprintf('%4.1f',$e4->factor)}"; ?></li>
  <li>Excess Energy (Excess Power x Run Time): <?php echo print_unit_fmt($e4->excess_power*$e4->time,"kWH"); ?></li>
  </li>
  <li>Hydrogen: 0.3 g of hydrogen was loaded. <br />
  If the hydrogen had been burned it   would have produced  
  <?php print_direct_energy_mass(0.3/1000,143.000); ?></li>
  </ul>

      <p> The experimental setup was adequate, but since the eCat was NOT unwrapped the time of the run was NOT long enough to  rule out ANY of the chemical fakes. (Only some of the stored-heat fakes are eliminated).</p> </div>
     <?php af_feed(); ?>
    <h2><?php do_level_2(); ?> 
      <a name="sep2011" id="sep2011"></a>September 2011 Experiment</h2>
    <div class="oneColLiqCtrHdrDiv2">
   
    <?php  echo <<< SEP_TEST
	 Mats Lewan of NyTeknik ran another test on a new <a href="{$version_selfsep_url}" target="_blank">Sep 2011 Experiment</a> (according to Rossi, containing multiple reactors), which ran partly in self-sustaining mode. 
SEP_TEST;
?>  
    </div>    <h2><?php do_level_2(); ?> 
      <a name="oct2011" id="oct2011"></a>Oct 6,2011 Experiment</h2>
    <div class="oneColLiqCtrHdrDiv2">
      <p>Again, this used the new "fatcat" first seen in the September test. This eCat DID run in self-sustained mode for an extended period.</p>
      <p>It was supposed to eliminate all questions about steam quality by passing the output of the eCat through a heat exchanger to a secondary circuit. From the flow rate and the temperature difference between the input and output (delta-T) the excess heat cacluation should have been unambiguous.</p>
      <p>Unfortunately, the thermocouple placement means that the output temperature could have been directly affected by the hot primary circuit.</p>
<?php  echo <<< OCT6_TEST
      <p>This is analyzed in a separate document <a href="{$version_selfoct_url}" target="_blank">Oct 6 2011 Experiment</a> .</p>
OCT6_TEST;
?>
    </div>
</div> <?php af_feed(); ?>
<h1><?php do_level_1(); ?> 
    <a name="fixedenergyfakes" id="fixedenergyfakes"></a>Fixed-Energy FAKE eCATS</h1>
  <div class="oneColLiqCtrHdrDiv1">
  <h2><?php do_level_2(); ?> 
    <a name="methodology" id="methodology"></a>Methodology for Fixed-Energy FAKE eCATS and their Detection</h2>
  <div class="oneColLiqCtrHdrDiv2">
      <p>As Villa reported:</p>
      <div class="oneColLiqCtrQuote">
        In the present test, as a precautionary
          attitude, whatever was not known, not disclosed or not understood has
          been considered as the energy source. 
        <br  />....
        <br />The duration of the tests would be directly proportional to the
          mass and volume of unknown origin.
    </div>
      <p>The general methodology for Batteries and Chemicals is:</p>
  <ul>
    <li>Choose some kind of FAKE (eg batteries)</li>
    <li>Presume that the ENTIRE unknown structure is made up of the Fake material. </li>
    <li>Make NO allowances for implementation efficiency. </li>
    <li>Make NO allowance for practicality (the material or combustion products might be fatally toxic: the required equipment would be impossibly small). </li>
    <li>Use the energy density (by weight or by volume) to determine the MAXIMUM energy content of the fake.</li>
    <li>Using the observed excess POWER (kW) of the system, determine how long you would have to run it to exhaust the energy.</li>
    <li>If that time is LESS than the observed run time, then the FAKE is eliminated.</li>
  </ul>
  
  <p>We also estimate the Fake's <strong>F</strong>easibility (could it be made) and <strong>C</strong>oncealability (could it escape immediate detection). For example, a fake powered by  Batteries is both <strong>F</strong>easible and <strong>C</strong>oncealable. One powered by Diesel fuel is <strong>F</strong>easible, but since its output fumes would instantly be noticed, it is not <strong>C</strong>oncealable.</p>
  <p>Clearly this ranking is subjective, and would be different for different volumes. </p>
  <p>For "Unlimited Energy" methods the evaluation as a "black box" becomes more difficult, but generally requires more attention to closing loopholes.</p>
  <p>Some kinds of fake could also be detected by analyzing the output:</p>
  <ul>
    <li>Analyze the chemical composition of the output, to make sure no 'combustion' products are hidden</li>
    <li>Make sure that all the water which goes IN goes OUT</li>
    <li>Make all measurements OUTSIDE of the eCAT, so that methods which involve water Diversion are eliminated.</li>
    <li>Make sure that all the water which goes IN goes OUT</li>
    <li>Weigh the device before and after, to see whether chemicals have been consumed, or combustion products  stored</li>
    </ul>
  <p>... but see <em>Rothwell's Razor</em>, below.</p>
  <?php af_feed(); ?>
  <p>Rothwell  <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg43302.html" target="_blank">argues</a> that some kinds of fakes would have been NOTICED by the observers (For example, if Diesel fuel were burned, there would be copious, fatally asphyxiating fumes --- though in the January experiment they could theoretically have been piped out of the room in the steam pipe.). However, this paper takes an extremely conservative position, distinguishing between "not NOTICED" and "tested and NOT FOUND":</p>
  <ul>
    <li>Anything which is not TESTED must be ruled in favor of the FAKE.    </li>
  </ul>
  <p>If both the Volume AND the weight are known, then calculate the maximum run time for both, and use the LOWER number.</p> 
  <p>These calculations assume that the experiment is run at constant power for the duration of the experiment, although during the February test there were reports that it produced 130 kW for short periods. In this case one would compare the total energy output of the fake and the measured values : it is not as easy to predict the time required to eliminate the fake.</p>
  <p>If all fakes are eliminated, then, <?php send_holmes_four_b("As Sherlock Holmes said -- again and again -- this time "); ?></p>
</div>
 <?php af_feed(); ?>
<h2><?php do_level_2(); ?> 
  <a name="organization" id="organization"></a>Organization for Fixed-Energy Fakes</h2>
    <div class="oneColLiqCtrHdrDiv2">
<p>First, we define the Equipment Sections, giving the weight and volume. </p>
  <p><?php print_section_table(AF_DEMO1,AF_DEMO3); ?></p>
  <p>Then we define various "Fake Materials" which could be used.</p>
  <p>
    <?php  print_material_table(MAT_DEMO0,MAT_DEMO4);
  ?>
    </p>
  <p>The column headed <strong>"FC</strong>" represents an estimate of the Fake's <strong>F</strong>easibility (could it be made) and <strong>C</strong>oncealability (could it escape immediate detection). </p>
  <p>Finally, we construct "Experiments", in which we put various materials in the sections of the unit (presently fixed at three sections), note the <em>POWER</em> that the experiment produced, and the <em>TIME</em> it ran for.</p>
 <?php af_feed(); ?>
  We calculate and add up the total <em>ENERGY</em> 
  that the sections could contain, and calculate how long the <em>FAKE</em> could run at the observed <em>POWER</em> level.
  <p>If the <em>FAKE</em> could run <em>LONGER</em> than the actual experiment, then it is <em>NOT</em> eliminated.</p>
  <p>If the <em>FAKE</em> only runs <em>SHORTER</em> than the actual experiment, then it is <em>ELIMINATED.</em></p>
  <?php  print_expt_table_v4(EXPT_DEMO_START,EXPT_DEMO_FIN,false); // separate tables
  ?>
  </div> <?php af_feed(); ?>
  <h2><?php do_level_2(); ?> 
    <a name="sections" id="sections"></a>Equipment Sections</h2>  
    <div class="oneColLiqCtrHdrDiv2">
    <h3><?php do_level_3(); ?> January-February</h3>
<div class="oneColLiqCtrHdrDiv3">
<h3><?php do_level_4(); ?> Control Box</h3>
<div class="oneColLiqCtrHdrDiv4">

<p>Villa reported the volume as 60 liters.<br />
  In January Levi reported its weight as "a few kg".<br />
  In February Levi looked inside the control box, and reports its weight as 7 kg</p>

    <p>      <?php print_section_table(AF_C,AF_C); ?>      </p>
    <p></p>
 </div>
<h3><?php do_level_4(); ?> Horizontal Arm</h3>
<div class="oneColLiqCtrHdrDiv4">

<p>The weight is unknown -- estimated by Villa as 30 kg<br />
  Villa reported the volume as 22 liters.<br />
  Levi reported in February that much of the volume is insulation. </p>
  <?php print_section_table(AF_H,AF_H); ?>   
  </div>
  <h3><?php do_level_4(); ?> Vertical Arm</h3>
<div class="oneColLiqCtrHdrDiv4">

<p>The weight is unknown.<br />
  Villa reported the volume as 9 liters.<br />
  Levi reported in February that there are no hidden components. </p>
  <?php print_section_table(AF_V,AF_V); ?>    
  </div>
  <h3><?php do_level_4(); ?> Reactor</h3>
<div class="oneColLiqCtrHdrDiv4">
<p>In February Levi reported:</p>
<ul>
  <li> The mass of the reactor is 30 kg, and that most of that is lead.</li>
  <li>The volume of the Reactor <em>CHAMBER is 1 liter</em>, but did not give not the volume of the <em>REACTOR</em> as a whole.</li>
</ul>
<p>Pending further information, this paper <em>ASSUMES</em> that the volume of the reactor as a whole is <em>HALF</em> the volume of the Horizontal Arm  </p> <?php print_section_table(AF_R,AF_RCH); ?>  

  </div>
  </div>
  <?php af_feed(); ?>
  <h3><?php do_level_3(); ?> March Components</h3> 
  <div class="oneColLiqCtrHdrDiv3">
   <?php print_section_table(AF_E3_H,AF_E3_RCH); ?> 
</div>
  
  <h3><?php do_level_3(); ?> April Components</h3> 
  <div class="oneColLiqCtrHdrDiv3">
   <?php print_section_table(AF_E4_H,AF_E4_RCH); ?> 
</div>
  <h3><?php do_level_3(); ?> September Components</h3> 
  <div class="oneColLiqCtrHdrDiv3">
   <?php print_section_table(AF_E5_H,AF_E5_RCH); ?> 
</div>
  <h3><?php do_level_3(); ?> October Components</h3> 
  <div class="oneColLiqCtrHdrDiv3">
   <?php print_section_table(AF_E6_H,AF_E6_RCH); ?> 
</div>
  </div> 
  <?php af_feed(); ?>
<h2><?php do_level_2(); ?> 
  <a name="chemicals" id="chemicals"></a>Materials: Batteries and Chemicals</h2>
    <div class="oneColLiqCtrHdrDiv2">
<p>This section describes various techniques and materials which could be possibly used to construct a fake.</p>
<p>
The materials are selected from Wikipedia <a href="http://en.wikipedia.org/wiki/Energy_density" target="_blank">Energy Density</a><br />
  (Unfortunately not all entries give the Energy  by volume AND  by weight.)</p>
<p>The Wiki table gives the Energy Density for some materials, assuming that oxygen is obtained from an external source. If the oxidant also has to be stored, then the Energy Density is reduced in proportion to the mass or volume of the two components. These calculations are shown in a separate section.</p>
<p>The materials selected represent the highest efficiency for any class.</p>
  <p>These all have the characteristic that they contain a fixed amount of energy, and can therefore only run for a limited time. A fake made from batteries or chemicals simply has to be run for long enough to exhaust the material.</p>
  <p>Batteries could be contained in the Control Box, and in the Main Unit.</p>

  <h3><?php do_level_3(); ?> Lithium Ion Batteries</h3>
  <div class="oneColLiqCtrHdrDiv3">
 <p>
   Lithium-Ion batteries are listed as the most efficient by volume. </p>
   <p>(Lead-Acid batteries are listed for comparison.)</p>
   
   <?php  print_material_table(MAT_BAT_START,MAT_BAT_FIN);
  ?>
 <p> Lithium-Sodium batteries are listed as a higher Energy Density by Mass -- but the volume is not given. </p>
 </div>  <?php af_feed(); ?>
 <h3><?php do_level_3(); ?> Hydrogen Fuel Cell</h3>
<div class="oneColLiqCtrHdrDiv3">
 <p>
   This method uses a Hydrogen Fuel Cell, which could deliver electric power from the Control Box to the Main Unit.</p>
   <p>It could use compressed or liquid Hydrogen, in conjunction with external air, compressed Oxygen or liquid oxygen.</p>
     <?php  print_material_table(MAT_FC_START,MAT_FC_FIN);
  ?>   
   <p>Comments : the by-product is water, which could be vented, or, if burned with oxygen, condensed and stored.</p>
   </div>
     <?php af_feed(); ?>
   <h3><?php do_level_3(); ?> Hydrogen burned with Air or Oxygen</h3>  
<div class="oneColLiqCtrHdrDiv3">
   <p>This could be used in the main unit only.</p>
   <p>
   This method burns compressed or liquid Hydrogen with external air, compressed Oxygen or Liquid Oxygen</p>
   <?php  print_material_table(MAT_HO_START,MAT_HO_FIN);
  ?>
 <p>Comments : the by-product is water, which could be vented into the outlet, or, if burned with oxygen, condensed and stored.</p>
 </div> <?php af_feed(); ?>
  <h3><?php do_level_3(); ?> Diesel burned with Air</h3>
<div class="oneColLiqCtrHdrDiv3">

   <?php  print_material_table(MAT_DSL_AIR,MAT_DSL_AIR);
  ?>
  <p>The Wiki Energy density table indicates that diesel has a slightly higher energy content than gasoline.<br />
  </p>
  <p>Diesel or Gasoline would produce large quantities of fumes, which would be very hard to hide from observers. It might be possible to vent it into the steam outlet.</p>
  </div>
 <h3><?php do_level_3(); ?> Boron burned with Air or Oxygen</h3> 
<div class="oneColLiqCtrHdrDiv3">
 <p>
   This method uses Boron, burned with external air, compressed Oxygen or Liquid Oxygen, forming solid Boron Trioxide, which can remain in the unit.</p>
   <?php  print_material_table(MAT_BO_START,MAT_BO_FIN);
  ?>
  <p>Boron is hard to ignite in air. Even in Oxygen it has to be raised to a high temperature. It is not clear whether non-toxic, glassy Boron Trioxide is formed by burning, or whether toxic BO and BO2 compounds are formed.</p>
  <p>It might only be feasible to burn powdered Boron : we assume that solid Boron is used.</p>
  </div> 
  <h3><?php do_level_3(); ?> Aluminum burned with Air or Oxygen</h3>
<div class="oneColLiqCtrHdrDiv3">
 <p>
   This method uses Aluminum, burned with external air, compressed Oxygen or Liquid Oxygen, forming oxides, which can remain in the unit.</p>
   <?php  //   print_material_table(MAT_BO_AIR,MAT_BO_LO);
  ?>
  <p>Aluminum is easier to ignite than Boron.  </p>
  <p>Its energy density is less than Boron, so it would be easier to detect.
 As with Boron, it might only burn in powdered form.</p>
 </div> <?php af_feed(); ?>
  <h3><?php do_level_3(); ?> Beryllium burned with Air or Oxygen</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>
   This method uses Beryllium, burned with external air, compressed Oxygen or Liquid Oxygen, forming oxides, which can remain in the unit.</p>
   <?php  //   print_material_table(MAT_BO_AIR,MAT_BO_LO);
  ?>
  <p>Beryllium is easier to ignite than Boron, but both Beryllium  and its combustion products are extremely toxic. 
  </p>
  </div> 
  <h3><?php do_level_3(); ?> Magnesium and Steam</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p><a href="http://www.chemguide.co.uk/inorganic/group2/reacth3o.html" target="_blank">Reactions of Metals and Water</a></p>
  <p>Magnesium  combines with STEAM to produce Magnesium Oxide  and Hydrogen. </p>
  <p><?php echo pATOM("Mg",1) . " + " .  pATOM("H",2) . pATOM("O",1); ?> 
    ==> 
    <?php echo pATOM("Mg",1) . pATOM("O",1) . " + " . pATOM("H",2); ?></p>
  <p>The hydrogen can then be burned with Air or Oxygen to produce water.</p>
  <p>An initial amount of water can be boiled using the internal resistors, and then the resultant steam can be recycled.</p>
   
   <?php  print_material_table(MAT_MG_H2O,MAT_MG_H2O_O2);
  ?>
</div> <?php af_feed(); ?>
<h3><?php do_level_3(); ?> Explosives or Thermite</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>One might expect that Explosives would contain a lot of energy. In fact, most of them do not. For instance, Nitroglycerine only contains 10 MJ/L, compared to  Boron/External Air, which has 138 MJ/L. They just release their energy very quickly. </p>
  <p>Thermite has also been suggested, but its energy density of 10MJ/L is lower than other materials considered here, and it is hard to stop the reaction.</p>
  </div>
<h3><?php do_level_3(); ?> Compressed or Liquid Hydrogen and Oxygen</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>These ABSORB energy when decompressed or evaporated. It is presumed that this is obtained from the ambient air.</p>
  </div>
  <h3><?php do_level_3(); ?> Previously Unknown Chemical Reactions</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>Rossi has indicated that the reactor chamber has to be re-charged every six months.</p>
  <p>A chemical reaction which can produce 10kW for 18 hours (let alone 6 months) would be as big a break-through in Chemistry as a LENR device would be in Physics.</p>
</div>
  <h3><?php do_level_3(); ?> Other suggested fakes (Pending analysis)</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>This section lists fakes which have been suggested by readers, but which have not yet been evaluated.</p>
  <ul>
    <li>Krzysztof Dydak : The reactor could contain Raney Nickel/air fuel cell fed with hydrazine dissolved in water with caustic.</li>
  </ul>
  </div>
  </div> <?php af_feed(); ?>
   <h2><?php do_level_2(); ?> 
     <a name="otherfixedenergy" id="otherfixedenergy"></a>Materials: Other Fixed-Energy Methods</h2>   
    <div class="oneColLiqCtrHdrDiv2">
  <h3><?php do_level_3(); ?> Pre-loaded Heat Sink</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>Proposed By : Rothwell (<a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg43377.html" target="_blank">Rossi credibility</a>)</p>
  <p>The entire volume  is composed of a material with high specific heat.</p>
  <p>See <a href="http://en.wikipedia.org/wiki/Heat_capacity" target="_blank">Heat capacity</a>, which has an entry for Volumetric Heat Capacity J·cm−3·K−1
 
  <?php  print_sph_table(SPH_START,SPH_FIN); ?>
  <br  />  
  <p>Beryllium and Iron are selected for their high specific heat values. Water and lead are included because they are known to be constituents of the main unit.  
  <p>Note : Dec 15, 2011 -- I need to add phase-change salts to this list. 
  The upper temperature would be determined by the containing structure and/or heating apparatus.
  <p>These values are loaded into a material table:     <?php print_material_table(MAT_SPH_START,MAT_SPH_FIN);?>
  <p>Note that the heat capacity might also explain "heat after death", when the output power continues after the inputs are turned off.</p>
  <p>This fake must be entirely contained in the main body of the apparatus.</p>
  <p>The upper temperatures are set to the boiling point of water, or for other materials, their melting point.</p>
  </div> <?php af_feed(); ?>
<h3><?php do_level_3(); ?> Input Water Diverted into Storage</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>Proposed by : Rothwell <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg41469.html" target="_top">Vortex</a> and <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg42323.html" target="_top">Vortex</a></p>
  <p>The water which is pumped INTO the system is NOT all sent into the heat exchanger, but some is diverted into storage.</p>
  <div class="oneColLiqCtrQuote">
    <p>The volume of the machine is much smaller than the 18 liters of water injected into it over the course of an hour. There is no place inside it to hide the water. The fact that it is a black box does not reduce the certainty of this particular factor in any way.  </p>
    </div>
<p></p>
    <div class="oneColLiqCtrQuote">He said he did not look at the end of the hose in the sink in the bathroom,
but he did note that it was making a lot of noise from steam. I think any
noise rules out the "diverted water stream" hypothesis. It is a distinct
noise, after all, and a flow of 0.3 L per minute of warm water makes no
noise at all at the end of the hose.    
    </div>
  <p>For example, if the observed output power is 10 times the input power,  and only 1/10 the water is converted to steam then the apparent output will be FAKE. It can run until the diverted 9/10 of the water fills the reservoir.</p>
  <p>As an UPPER limit, presume that the ENTIRE flow is diverted. (The actual required diversion is related to the power factor).</p>
  <p>Maximum run time  = volume / flow_rate</p>
  <?php $jan_volume = $section_volume[AF_H] + $section_volume[AF_V];
        $jan_time = $jan_volume / FLOW_JAN;
  ?> <?php $feb_volume = $section_volume[AF_H];
        $feb_time = $feb_volume / FLOW_FEB;
		$mar_volume = $section_volume[AF_E3_H];
		$mar_flow = $e3->flow;
		$mar_time = $mar_volume / $mar_flow;		
		$apr_volume = $section_volume[AF_E4_H];
		$apr_flow = $e4->flow;
		$apr_time = $apr_volume / $apr_flow;
  ?>
  <p>
  <?php echo <<<  FLOW_END
  <table width="600" border="1" style="background-color: $table_bgcolor[0];">
FLOW_END;
?>
  <tr>
    <th width="120" scope="col"> </th>
    <th width="200" scope="col" align="center">Sections</th>
    <th width="100" scope="col" align="center">Volume<br />
      (liters)</th>
    <th width="100" scope="col" align="center">Flow<br />
      (liters/hr)</th>
    <th width="100" scope="col" align="center">Time<br />
      to<br />
      Fill (Hrs)</th>
      
    <th width="100" scope="col" align="center">Time<br />
      of<br />
      Expt (Hrs)</th>
      <th width="100" scope="col" align="center">Real<br />
      or<br />
      Fake?</th>
  </tr>
  <tr>
    <th scope="row">Jan</th> 
    <th scope="row"><?php echo "{$section_abrv[AF_H]} and {$section_abrv[AF_V]}"; ?></th>
    <td align="right"><?php printf("%4.2f",$jan_volume); ?></td>
    <td align="right"><?php printf("%4.2f",FLOW_JAN); ?></td>
    <td align="right"><?php printf("%4.2f",$jan_time); ?></td> 
    <td align="right"><?php printf("%4.2f",$e1->time); ?></td>
    <?php print_water_storage($jan_time,$e1->time)  ?>
  </tr>
  <tr>
    <th scope="row">Feb</th> 
    <th scope="row"><?php echo "{$section_abrv[AF_H]}"; ?></th>
    <td align="right"><?php printf("%4.2f",$feb_volume); ?></td>
    <td align="right"><?php printf("%4.2f",FLOW_FEB); ?></td>
    <td align="right"><?php printf("%4.2f",$feb_time); ?></td>   
    <td align="right"><?php printf("%4.2f",$e2->time); ?></td>
    <?php print_water_storage($feb_time,$e2->time)  ?>
  </tr>
  <tr>
    <th scope="row">Mar</th> 
    <th scope="row"><?php echo "{$section_abrv[AF_E3_H]}"; ?></th>
    <td align="right"><?php printf("%4.2f",$mar_volume); ?></td>
    <td align="right"><?php printf("%4.2f",$mar_flow); ?></td>
    <td align="right"><?php printf("%4.2f",$mar_time); ?></td>
    <td align="right"><?php printf("%4.2f",$e3->time); ?></td>
    <?php print_water_storage($mar_time,$e3->time)  ?>
  </tr>
  <tr>
    <th scope="row">Apr</th> 
    <th scope="row"><?php echo "{$section_abrv[AF_E4_H]}"; ?></th>
    <td align="right"><?php printf("%4.2f",$apr_volume); ?></td>
    <td align="right"><?php printf("%4.2f",$apr_flow); ?></td>
    <td align="right"><?php printf("%4.2f",$apr_time); ?></td>
    <td align="right"><?php printf("%4.2f",$e4->time); ?></td>
    <?php print_water_storage($apr_time,$e4->time)  ?>
  </tr>
</table>

  </p>
</div>
</div> 
<?php af_feed(); ?>
<h2><?php do_level_2(); ?> 
  <a name="fakesbyvolume" id="fakesbyvolume"></a>Limited-Energy Theoretical Experiments -- FAKES by VOLUME</h2>
<div class="oneColLiqCtrHdrDiv2">
<?php $fake_bw_on  = true; // tally is ON 
?>
<p>For each type of fake, various "experiments" are defined, with individual sections loaded with  fake materials. </p>
<p>For each combination of materials, a number of experiments are evaluated:</p>
<ul>
  <li>The January Power and Duration, with ALL sections, including the Control Box, filled with fake material</li>
  <li>The January Power and Duration, with the Main Unit filled with fake material. Levi's statement that the control box "weighed a few kg" and therefore cannot contain fake material, is accepted.</li>
  <li>The February Power and Duration, with the Horizontal Arm filled with fake material. Levi's statements about the control box and the vertical arm are accepted.</li>
  <li>The February Power and Duration, with an ESTIMATE of the volume of the whole reactor.</li>
  <li>The March Power and Duration, with the Horizontal Arm filled with fake material. </li>
  <li>The March Power and Duration, with an ESTIMATE of the volume of the whole reactor.</li>
  <li>TODO : update list</li>
</ul> 
<?php af_feed(); ?>
<h3><?php do_level_3(); ?> Lithium Ion Batteries</h3>
<div class="oneColLiqCtrHdrDiv3">

 <?php print_expt_table_v4(EXPT_BAT_START,EXPT_BAT_FIN,true); 
  ?>
</div> <?php af_feed(); ?>
<h3><?php do_level_3(); ?> Hydrogen</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>Controller contains a Hydrogen Fuel Cell, Main unit burns Hydrogen.    </p>
  <p>Liquid Hydrogen and external Air are the most favorable for a fake.</p>
  <p>
    <?php  print_expt_table_v4(EXPT_LHA_START,EXPT_LHA_FIN,true); ?>
    </p><?php af_feed(); ?>
  <p>Compressed Hydrogen, External Air </p>
  <p><?php print_expt_table_v4(EXPT_CHA_START,EXPT_CHA_FIN,true); ?></p>
  <?php af_feed(); ?>
  <p>Compressed Hydrogen, Compressed Oxygen</p>
  <p> <?php print_expt_table_v4(EXPT_CHCO_START,EXPT_CHCO_FIN,true); ?> </p>
  <?php af_feed(); ?>
  <p>Liquid Hydrogen, Liquid Oxygen <?php print_expt_table_v4(EXPT_LHLO_START,EXPT_LHLO_FIN,true); ?>
  </p> <?php af_feed(); ?>
</div><h3><?php do_level_3(); ?> Diesel Fuel</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>Controller contains a Hydrogen Fuel Cell, Main unit burns Diesel.    </p>
  <p>For both, external Air is the most favorable for a fake.
    <?php  print_expt_table_v4(EXPT_DFA_START,EXPT_DFA_FIN,true); 
  ?>
    </p>
</div> <?php af_feed(); ?>
<h3><?php do_level_3(); ?> Boron and Air or Oxygen</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>Controller contains a Hydrogen Fuel Cell (Liquid Hydrogen/Air), Main unit burns Boron with Air.</p>
  <p>
    <?php  print_expt_table_v4(EXPT_BOA_START,EXPT_BOA_FIN,true); 
  ?>
    </p> <?php af_feed(); ?>
    <p>Controller contains a Hydrogen Fuel Cell (Liquid Hydrogen/Air), Main unit burns Boron with Compressed Oxygen.</p>
  <p>
    <?php  print_expt_table_v4(EXPT_BOCO_START,EXPT_BOCO_FIN,true); 
  ?>
    </p>
        </p> <?php af_feed(); ?>
    <p>Controller contains a Hydrogen Fuel Cell (Liquid Hydrogen/Air), Main unit burns Boron with Liquid Oxygen.</p>
  <p>
    <?php  print_expt_table_v4(EXPT_BOLO_START,EXPT_BOLO_FIN,true); 
  ?>
    </p>

</div> <?php af_feed(); ?>
<h3><?php do_level_3(); ?> Magnesium and Steam</h3>
<div class="oneColLiqCtrHdrDiv3">
  <p>Controller contains a Hydrogen Fuel Cell (Liquid Hydrogen/Air), Main unit burns Magnesium in Steam, producing Hydrogen, which is burned with external Air.</p>
  <p>
    <?php  print_expt_table_v4(EXPT_MGS_START,EXPT_MGS_FIN,true); 
  ?>
    </p>
    <?php af_feed(); ?>
    <p>Magnesium and Steam, with the resulting hydrogen burned with compressed oxygen</p>	
    <?php  print_expt_table_v4(EXPT_MGSO2_START,EXPT_MGSO2_FIN,true); 
  ?>
		
</div>
 <?php af_feed(); ?>
<h3><?php do_level_3(); ?> Water Heat Sink</h3>
<div class="oneColLiqCtrHdrDiv3">The entire volume of the main unit is a water heat sink.
  Note that this cannot BOIL the water for the January experiment.
    <p>
    <?php  print_expt_table_v4(EXPT_SPHH2O_START,EXPT_SPHH2O_FIN,true); 
  ?>
    </p>
</div>  <?php af_feed(); ?>
<h3><?php do_level_3(); ?> Beryllium Heat Sink</h3>
<div class="oneColLiqCtrHdrDiv3">The entire volume of the main unit is a Beryllium Heat Sink ... pre-heated to its melting point.
    <p>
    <?php  print_expt_table_v4(EXPT_SPHBE_START,EXPT_SPHBE_FIN,true); 
  ?>
    </p>
</div> <?php af_feed(); ?>
<h3><?php do_level_3(); ?> Iron Heat Sink</h3>
<div class="oneColLiqCtrHdrDiv3">The entire volume of the main unit is an Iron Heat Sink ... pre-heated to its melting point.
    <p>
    <?php  print_expt_table_v4(EXPT_SPHIRON_START,EXPT_SPHIRON_FIN,true); 
  ?>
    </p>
</div> <?php af_feed(); ?>
<h3><?php do_level_3(); ?> Lead Heat Sink</h3>
<div class="oneColLiqCtrHdrDiv3">The entire volume of the main unit is an Lead Heat Sink ... pre-heated to its melting point.
    <p>
    <?php  print_expt_table_v4(EXPT_SPHLEAD_START,EXPT_SPHLEAD_FIN,true); 
  ?>
    </p>
</div>
<?php $fake_bw_on  = false; // tally is OFF
?>
<?php af_feed(); ?>
<h3><?php do_level_3(); ?> Most Plausible Fake for Experiments</h3>
<div class="oneColLiqCtrHdrDiv3">
This section lists the most plausible (Feasability,Concealability) fake for each experiment.
<p>
<?php print_expt_table_v4_bw(true,true); ?>
</div> 
<?php af_feed(); ?>
<h3><?php do_level_3(); ?> Longest-running Fake for Experiments</h3>
<div class="oneColLiqCtrHdrDiv3"> 
This section lists the longest-running fake (ignoring Feasability,Concealability) for each experiment.
<p>
<?php print_expt_table_v4_bw(true,false); ?>
</div> 
</div>
<?php af_feed(); ?>
<h2><?php do_level_2(); ?> 
  <a name="fakesbyweight" id="fakesbyweight"></a>Experiments -- FAKES by WEIGHT</h2>
<div class="oneColLiqCtrHdrDiv2">At present we have no independent measurements of the weight of the various parts of the <em><strong>eCat</strong></em>.</div>
</div>
<?php af_feed(); ?>
<h1><?php do_level_1(); ?> 
  <a name="unlimitedenergy" id="unlimitedenergy"></a>Unlimited-Energy Methods</h1>
<div class="oneColLiqCtrHdrDiv1">
These have the characteristic that they can run for an unlimited time.

<p>Instead of calculating how long they could run, one has to calculate what is is needed to produce the observed power. </p>


    <h2><?php do_level_2(); ?>   
    <a name="tarallofake"" id="tarallofake"></a>Tarallo Water Diversion Fake</h2>
     <div class="oneColLiqCtrHdrDiv1">
    
      <p>Proposed by : Flavio Tarallo (as reported by Rothwell) : <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg42228.html" target="_top">Vortex</a></p>
      <div class="oneColLiqCtrQuote">
        <p>However   Flavio Tarallo has proposed an idea that is at least plausible, although   highly unlikely in my opinion. He believes the flow of water might be   diverted inside the machine, such that one tube leads to the   thermocouple and RH meter, and another bypasses them. The flow of water   is then joined and it empties out of the end. Let me quote his message   describing this:</p>
        <p> "The temperature and 'air quality' measurements were taken INSIDE the   reactor, (in holes prepared by Rossi) instead at its final output.   Nobody could see inside the reactor so there are a lot of possibility.   One possibility I thought is that an amount of the water flow have been   diverted. One part of the water flow actually goes inside the "hot   core", heats and became vapour and another part simply bypass everything   in another internal pipe and go directly to the output where it is   re-mixed with the first part. Nobody measured the output steam flow or   its speed (should be around 74 m/s for 5 g/s flow!!!) The electric power   input was sufficient to vaporize the fraction of  the water flow that goes into the core and that is measured. With a   divertor commanded by a simply thermo-sensor, all can you see from   outside is a behaviour like a start of internal energy generation insted   it's only the start of a flow fractioning. All this consideration is   independent from the honesty of Rossi, there is this possibility so it   has to be denied by a new measure (possibly without steam production)."  </p>
        I do not know if the holes were prepared by Rossi. Anyway, this method   would call for a complex set of hidden remote controls, to accommodate   observations such as the one that the temperature was higher when input   power was reduced from 1000 W to 400 W.</div>
        <?php $pic_2a_w = 1600;  $pic_2a_h = 1791; $pic_2a_ws = 600; $pic_2a_hs = ($pic_2a_ws/$pic_2a_w)*$pic_2a_h;
		echo <<< PIC_2A
      <p><img src="fake_bypass_3a.jpg" alt="" width="{$pic_2a_ws}" height="{$pic_2a_hs}" /></p>
PIC_2A;
?>
<p>A variation by <a href="http://www.theeestory.com/users/74" target="_blank">ee-tom</a>  on <a href="http://www.theeestory.com/topics/8245?page=7#" target="_blank">theeestory.com</a> provides another way of making the output tube feel hot : </p>
     <div class="oneColLiqCtrQuote">You might also have an electrically heated water outlet hose, heated on outside, and ask people to touch this as added confirmation that water is really hot.
     </div>
     
 <?php af_feed(); ?> 
<p>This is a very serious "unlimited energy" fake. It would possibly not have been  detected by the January experiment or the February experiment.</p>
<p>ALL of the measurements in ALL of the experiments were done via the instrument port in the chimney, and would only have measured the temperature and steam dryness in the outer compartment.</p>
<p>The water sent through the "reactor chamber" is simply heated by a resistor, powered from the control box.</p>
<p>The observed "temperature profiles" could easily be accomplished by changing the  power sent to the resistor: the connection between the control box and the main unit was NOT measured.</p>
<p>The power loss from the outer HOT section to the inner COLD section is estimated to be about 80W (for a rubber tube 2 cm outer diameter, 1cm inner diameter). This loss would be hidden by diverting more water from the outer to the inner tube, and could be further reduced by the use of insulation.</p>
<?php af_feed(); ?>
<p>NEITHER of the following January reports eliminate this fake: </p>
<div class="oneColLiqCtrQuote">
  <p>Jacques Dufour also attended the demonstration. He does not speak much
    Italian, so he could not follow the discussion. He made some observations,
    including one that I consider important, namely that the outlet pipe was far
    too hot to touch. That means the temperature of it was over 70°C.      </p>
  </div><br />
<div class="oneColLiqCtrQuote">Celani did not see the steam emerge from the end of the pipe, but he
reported the whistling sound of steam passing through the pipe. (Dufour did
not notice that but he says he is hard of hearing, especially high frequency
sounds.) I think there is no question the water boiled, and much of it was
vaporized, so there was massive excess heat. 
      </div>
<p>(from <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg42665.html" target="_top">Revised version Celani reports on gamma emission from Rossi device</a>) </p>
<p>From the March report :</p>

<div class="oneColLiqCtrQuote">To the right at the chimney, a black hose of heavy rubber, for high temperatures, carries the hot water/steam to the sink on the wall of the adjacent room. ..... We had free access to the heater electric supply, to the inlet water hose, to the<strong> outlet steam valve</strong> and <strong>water hose</strong> and to the hydrogen gas feed pipe. </div>
<p>The following was presumably done through either the instrument port or the steam valve -- both of which connect to the OUTER (hot) section of the Torelli fake.</p>
<div class="oneColLiqCtrQuote">Between 11:00 and 12:00 o’clock, control measurements were done on how much water that had not evaporated. The system to measure the non-evaporated water was a certified Testo System, Testo 650, with a probe guaranteed to resist up to 550°C.</div>
<p>If this visual check was made at the sink in the "adjacent room" then it <strong>WOULD</strong> eliminate the Tarallo fake.</p>
<div class="oneColLiqCtrQuote">The 100 °C temperature is reached at 10:42 and at about 10:45 all the water is completely vaporized found by <strong>visual checks</strong> of the <strong>outlet tube</strong> ...</div>
<p>This test at the steam valve would NOT eliminate the Tarallo fake:</p>
<div class="oneColLiqCtrQuote">... and the valve letting out steam from the chimney.</div>
<p>For the April test the output hose was specifically examined, ruling out aTarallo fake:</p>
<div class="oneColLiqCtrQuote">
<p>During the April 28 test, we also checked the steam flow through the   outlet hose regularly. Some steam was reasonably being condensed back   into water in the three-meter-long tube that was exposed to air and was   thus at a slightly lower temperature, and a small amount of water was   observed coming out of the hose.</p>
</div>
<p>Future experiments : all measurements must be conducted OUTSIDE of the Rossi Device, not through the "instrument port".</p>
</div> 
     <a name="hiddenwires"" id="hiddenwires">
  <h2><?php do_level_2(); ?> Hidden Wires or Tubes</h2>
<div class="oneColLiqCtrHdrDiv2">
It has been suggested that hidden wires could have provided the observed power (Rothwell: <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg43035.html" target="_blank">Hidden wire hypothesis redux</a>). This can only be eliminated by inspecting the apparatus.  
<p>Similarly, 
  a small tube could supply gas to the unit (Rothwell: <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg43879.html" target="_blank">Vortex List</a>) --- although other methods might detect this (change of weight, imbalance between input and output volumes).</p>
  <p>All  experiments were fully open to inspection. There were clearly no hidden wires capable of carrying 10kW or any tubes. However, for the April tests the total power was down to 2.6 kW -- well within the specification for a wall outlet. In Europe <a href="http://en.wikipedia.org/wiki/AC_power_plugs_and_sockets" target="_blank">AC power plugs and sockets</a> single-phase sockets of 16A/250V (4 kW) are available. (Note that ALL the tests have been conducted in facilities uner Rossi's control.)</p>
  <p>For the April test Lewan reports:</p>   
  <div class="oneColLiqCtrQuote">
  <p><strong>We also controlled all other</strong> equipment and checked that there were no hidden connections from the floor or walls.</p>
  <p>To safely exclude the transfer of external wireless energy, we   measured electromagnetic fields from 5 Hz to 3 GHz. No increase could be   noted except for a slight increase at the power-grid frequency of 50   Hz, close to the electrical resistor positioned around the reactor.</p>
  </div>
  <p>Ian Bryce of the Australian Skeptics Society has published a <a href="http://www.skeptics.com.au/wordpress/wp-content/uploads/Rossi-ECAT-press-release-Feb-3-FINAL.pdf" target="_blank">report</a> in which he proposes that SOME of the tests could have been faked by sending current through the neutral wire. 
  <div class="oneColLiqCtrQuote">Bryce found that in all six published tests up to July, a misconnected earth lead could funnel in up to 3 kilowatts, thus bypassing the power meters used, and accounting for all the measured output power in the form of steam. In all later tests, there was no valid power measurement due to poorly placed thermometers.</div>
  <br /> 
  <img src="111010_pics/bryce_2012_Cold-Fusion-ECAT-wiring-as-assumed.jpg" width="724" height="383" longdesc="as assumed" /><img src="111010_pics/bryce_2012_Cold-Fusion-ECAT-hot-wired.jpg" width="720" height="346" longdesc="hot wired" />
 <p>This representative photo is from Krivit's (New Energy Times) visit: <br />
  <img src="111010_pics/bryce_2012_Cold-Fusion-Clamp-ammeter-411px-RF14062011Strom.jpg" width="337" height="491" longdesc="photo" />
<p>This analysis is based in part on Krivit's photograph, and comments by Lewan that that he did not check all the wires in his early test. (In Lewan's September 2011 test he measured the power on the pair of wires going into the eCat). Levi does not specifically record whether power was measured on all the wires, and the Watts-Up meter might be confused by this type of miswiring. <br />
  <p>For the remaining tests, Bryce relies on the well-reported calorimetric deficiencies.
  <p>There is another "power meter" fake (See Gibbs articles?) which involves a more complicated wiring fake.</div>
    <h2><?php do_level_2(); ?> Reduced Water Intake</h2>
    <p>Proposed by : XXX on Randi forum and Dr D R Jones on <a href="http://aleklett.wordpress.com/2011/04/11/rossi-energy-catalyst-a-big-hoax-or-new-physics/#comment-5678" target="_top">Alek Lett Blog</a>    </p>
    <div class="oneColLiqCtrHdrDiv2">
      <p>Since the flow wasn't monitored continually, the water intake could have been cut off or reduced.</p>    
      <div class="oneColLiqCtrQuote"><strong>Dr D R Jones </strong>: Now if this is simply a hoax then it would have been relatively simple to carry out given the observations above. Instead of an internal heater, substitute a water flow valve (the wires are in the correct place). Let the external 300W heater heat the initial water flow up to 60 Celsius – then get peoples attention by stating that they should watch the computer as the reaction is initializing – then simply close the flow valve so that the water flow is greatly reduced – the insulated device and the 300W external resistor will do the rest. Thus the question to be asked – did either Essen or Kullander monitor the water flow during this transition from flowing water to steam generation?


      </div>
    </div>
    <?php af_feed(); ?>
      <h2><?php do_level_2(); ?>
       Accidental Water Diversion  Through the eCat (or Measurement Artifacts)</h2>
    <div class="oneColLiqCtrHdrDiv2">
    Proposed by : Peter van Noorden (<a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg44364.html" target="_top">vortex</a>)   
      <div class="oneColLiqCtrQuote">
        <p>Further it would be interesting to know if water can flow through the "chimney" of the reactor directly into the black tube. To figure out what is going on one have to add a substance (dye) to the water and see if the dye can be seen in the " condensed" water.          </p>
        <p>If non vaporised water is carried to the end of the black tube this will have consequences for the calculation of excess heat. </p>
      </div>
      
    
      <p>Rothwell and Stephen A. Lawrence discuss this problem at <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg44715.html" target="_top">vortex</a></p>
      <p>The question of measurement artifacts due to the location of the thermocouple was also revisted recently by Rothwell at <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg46578.html" target="_blank">vortex</a> :</p>
         <div class="oneColLiqCtrQuote">
        <p>To be sure, McKubre and others have pointed out that the outlet thermocouple
position is not ideal, and it might be picking up some heat from another
path. This may be happening to some extent. It might even be measurable. But
it can be shown that other paths are minor compared to the flow of water.
</p>
      </div>
      <p> </p>
    </div>
    <h2><?php do_level_2(); ?> Input Electrical Power</h2>
    <div class="oneColLiqCtrHdrDiv2">
      <p>Proposed by : YYYY on Randi forums</p>
        <p>A high-frequency or phase component on the power input could give a false power reading.</p>
        <p>Solution: monitor the input voltage and current with an oscilloscope.<br />
</p>
        <p>However, since the control wires cannot handle the required 12kW a false reading wouldn't affect the result.</p>
    </div>
    <?php af_feed(); ?>
    <h2><?php do_level_2(); ?> Combustible "Water" </h2>
    <div class="oneColLiqCtrHdrDiv2">
      <p>Proposed by : Jones Beene <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg45011.html" target="_top">Vortex</a></p>
      <p>The water supply is not, in fact, water, but a combustible liquid which looks like water. </p>  
      <div class="oneColLiqCtrQuote">
        <p>In the category of clear water-based liquids which burn cleanly enough to be  used indoors, and which could be confused with water in a testing  arrangement (since it would be so unexpected as the 'trick' used to pull-off  the deception) - there are several choices.          </p>
        <p>These are miscible and with 40-50% water and the resultant blend would be  combustible at that dilution level - would go undetected by a group of  observers who assumed that it was water. All of these ingredients would be  expected to be legitimately found in any company which produces or evaluates  alternative fuels - and if the ruse was discovered prematurely . "oops,  Igor, you brought in the wrong container," or else "yes, our municipal water  is very polluted here". </p>
        <p>...</p>
        <p>Hydrogen peroxide produces only steam. HOOH is more viscous than water, but  appears colorless in solution. It is both an oxidant an a propellant. When  used in a blend, it would provide free oxygen and steam, so that air is not  needed to combust the other ingredients (or less is needed).</p>
        <p>...</p>
      </div>
    </div>
       <?php af_feed(); ?>
    <h2><?php do_level_2(); ?> Pump Power and Friction </h2>
    <div class="oneColLiqCtrHdrDiv2">
      <p>Suggested by : Jones Beene <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg45242.html" target="_top">Vortex</a></p>
      <p>The initial suggestion was that the pump power should be included in the energy budget, as it inputs power into the system:      </p>
      <div class="oneColLiqCtrQuote"> 
        <p>Jones Beene: The pump's power  must be included in P-in.    </p>
        <p>A liter/sec pump seems to require one horsepower or about .75 kW. </p>
      </div>
      <p><a href="http://canteach.candu.org/library/20040303.pdf " target="_top">223.00-3 Fluid Mechanics - Course 223 FRICTION IN FLUID FLOW</a></p>      
      <div class="oneColLiqCtrQuote">
      Robin van Spaandonk: If we assume 100 psi for the mains pressure, then a flow rate of 1 L /s equates
to a total power of 724 W, assuming all the power in the water gets used. This
would raise the temperature of that water by 0.173 ºC, so it would at most make
a 4% difference, even if it were all included.
        </p>
    </div>
          <p>In the extreme:</p>  
    <div class="oneColLiqCtrQuote">Jones Beene:
      Allow me to apply reductio ad absurdum to this situation.        
      <p> Let's say Rossi shows up with a reactor that puts out one megawatt of heat.  It requires a large flow of water, which is coming from a local dam and goes  into a sewer. This new reactor requires no electrical input at all !! The  heat is measured by a thermal circuit that removes heat from the stainless  steel reactor, and the new owners of this magical device use it to heat the  factory. It remains warm all year without any electricity !         <p>Let's say the device is opened up and found to contain nothing but flow  constrictors - which convert water pressure into heat via friction - nothing  else.         <p>Is Rossi entitled to claim that the megawatt of heat is "overunity" and  therefore free energy ? 
    </div>
    <p>(To do : caculate the resistive heating for the given flows, both for the nominal pipe thickness, and where the available area is divided into many smaller tubes)</p>
    <p>However, this discussion did lead to another proposal for a "real" energy catalyzer: see "Magnetostriction and Cavitation".</p>

    </div>   
</div> 
<?php af_feed(); ?>
<h1><?php do_level_1(); ?> 
  <a name="alternative" id="alternative"></a>Alternative Explanations</h1>
<div class="oneColLiqCtrHdrDiv1">
  <p>These would pass all calorimetric tests and inspections. They should therefore be regarded not as fakes, but alternative explanations of the source of energy.  </p>
<h2><?php do_level_2(); ?> Nuclear  : Plutonium 238</h2>
<div class="oneColLiqCtrHdrDiv2">

  <p>One gram of <a href="http://en.wikipedia.org/wiki/Plutonium-238">Plutonium 238</a> generates approximately 0.5 watts of power.
  <p>
    <?php  print_rad_table(RAD_PU238,RAD_PU238);
  ?>
  <p>To produce 10 kW of power one would need 
  <?php printf("%4.2f",10*$rad_kw_per_kg[RAD_PU238]);
  ?>
  kg of Pu 238.
  <p>Since 1993, all of the plutonium-238 the U.S. has used in space probes has been purchased from Russia. 16.5 kilograms in total have been purchased.  
  <p>For the proposed 1 MW unit, one needs 
  <?php printf("%4.2f",1000*$rad_kw_per_kg[RAD_PU238]);
  ?> kg -- more than was acquired by NASA.
  <p>Note : the Wiki Energy Density value is very high : it is probably the total energy emitted until the Plutonium is effectively depleted.</div>
<?php if ( $dbg > 99 ) echo <<< SEND_HAFFNIUM
<h3><?php do_level_3(); ?> Haffnium 178 Isomer</h3>
<div class="oneColLiqCtrHdrDiv3">
This is listed in the wiki Energy Density table ... but it is not clear if it could be used in this context.
   <p><?php  print_rad_table(RAD_HF178,RAD_HF178);?>
</div>
SEND_HAFFNIUM;
?>
<?php af_feed(); ?>
  <h2><?php do_level_2(); ?> Heat Pump</h2>
<div class="oneColLiqCtrHdrDiv2">
<em><strong>KitemanSA</strong></em>  <a href="http://www.talk-polywell.org/bb/viewtopic.php?p=57710&highlight=heat+pump#57710" target="_blank">on the polywell forum.</a> suggested that a <a href="http://en.wikipedia.org/wiki/Heat_pump" target="_blank">heat pump</a>  could have provided the observed power. 
   <div class="oneColLiqCtrQuote">
     <p>If these numbers are true, then even with a perfect <strong>heat pump</strong>, the output power (given max Coefficient of Performance and 80W input) could only be ~4.6kW. <br />
    <br />
CoP ~ T/ΔT ~300/5 = 60 <br />
60*80 = 4800 = 4.6kW<br />
<br />
So unless there is significant measurement error or fraud, this isn't a <strong>heat pump</strong> device either.</p>
     <hr />Actually... <br />
       <br />
       if the room was at typical room temperature, which is ~21 ºC, the   theoretical CoP would be infinite, so it COULD be a fancy heat pump. </p>
     </div>
  <p>The Wiki article indicates that the maximum CoP in a Carnot Cycle might be as low as 12.5</p>
  <p>The January experiment would have needed a CoP of 31, and the February experiment would need 200.</p>
  <p>With the new "mini" eCats (March, April experiments) the CoP is significantly lower:</p>
  <div class="oneColLiqCtrQuote">
  <p>March 29th <br />
    P(out)= 4.69Kw (Thermal) <br />
    P(in) = 0.33Kw (Electrical) <br />
    COP = 15 <br />
    <br />
    April 19 <br />
    P(out)= 2.95Kw (Thermal) <br />
    P(in) = 0.35Kw (Electrical) <br />
    COP = 8.5 <br />
    <br />
    April 28 <br />
    P(out)= 2.70Kw (Thermal) <br />
    P(in) = 0.37Kw (Electrical) <br />
    COP = 7.3 <br />
  </p>
  </div>
  <p>The last two are below the theoretical limits of a Carnot cycle, so they cannot be excluded on theoretical grounds.</p>
  <p>A theoretical, infinite-CoP heat pump could probably only be ruled out by enclosing the entire Main Unit in a calorimeter. If this were filled with Nitrogen, it would also rule out any method using Air as a fuel.</p>
  <p>Again, we come to the distinction between "not noticed" and "not checked" (none of the reports mention the surface temperature of the eCat).A 12kW heat pump would surely result in a "cold" feel to the surface of the the eCat, if not the room. A 2.4kW heat pump : not so obvious.</p>
</div> 
  <?php af_feed(); ?>     
    <h2><?php do_level_2(); ?> Magnetostriction and Cavitation </h2>
    <div class="oneColLiqCtrHdrDiv2">
      <p>Suggested by : Jones Beene <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg45336.html" target="_top">Vortex</a></p>
      <div class="oneColLiqCtrQuote"> 
        <p>...</p>
        <p>The Hydro-Dynamics pump employed cavitation and shock waves from a dimpled rotor spinning inside a housing to increase the temperature of water flowing through the device. It was tested on a number of occasions to be OU, but not reliably. Jed Rothwell has reported on it, as did <em>Infinite Energy</em>. Now - imagine the rotor being non-rotating ! <br />
   <br />
        Cavitation in the Rossi device could be described as Griggs pump - with the reactor substituted for the dimpled rotor. The reactor cavitates violently, but at low excursion, and would not be noticed in a demo, since the effects are dampened by the water flow. Primarily, it produces cavitation INSIDE the cell, and ironically this would never have been noticed outside the cell except for contrasting the two tests in Bologna, one with low water flow, and one with high. This  could be a most fortuitous discovery for anyone working on a replication.</p>
        <p>...</p>
        <p>The reactor containing the nanopowder would function like a humming transformer core and it could also operate internally with shock waves pushing hydrogen into Casimir cavities. As in the Griggs pump, cavitation generates shock waves which convert mechanical energy into acceleration and eventually into heat energy - in a way that is gainful at times. The Rossi reactor is apparently gainful all of the time, and that could be due to the employment of nano geometry. Many of the common transducers used for sonochemistry are magnetostrictive instead of piezoelectric, as these are more robust at high input. The efficiency is very high. <br />
 <br />
It is too much of a coincidence that the reactor loses it heating effect at a temperature which coincides with the Curie point of nickel, and is more robust when more heat is removed by higher  water flow; not to mention that the "resistors" have a magnetic field. An interesting point is that the inventor may have discovered this inadvertently and never thought to optimize the input power, which should be easier to do via an inductive coil instead of resistance heaters. </p>
        <p>...<br />
        </p>
      </div>
</div><?php af_feed(); ?>
<h1><?php do_level_1(); ?> 
  <a name="rothwellsrazor" id="rothwellsrazor"></a>Rothwell's Razor</h1>
<div class="oneColLiqCtrHdrDiv1">
This is a variation of (the usually misquoted)  
<a href="http://en.wikipedia.org/wiki/Occam%27s_razor" target="_blank">Occam's razor - Wikipedia, the free encyclopedia</a>
 <div class="oneColLiqCtrQuote">
   <p>... the razor is a principle that suggests we should tend towards simpler theories ... until we can trade some simplicity for increased explanatory power. Contrary to the popular summary, the simplest available theory is sometimes a less accurate explanation.   </p>
 </div>
 <p>It is very tempting to propose elaborate schemes by which a fake <em><strong>eCat</strong></em> could be detected. For instance, in the author's physorg.com posts he suggested feeding it a brew of various isotopes of water to make sure that the SAME water goes in and comes out.   </p>
 <p>However, in the  <a href="http://www.mail-archive.com/vortex-l@eskimo.com/" target="_blank">Vortex </a>mailing list <a href="http://www.mail-archive.com/vortex-l@eskimo.com/msg43055.html" target="_blank">Re: [Vo]:Hidden wire hypothesis redux</a> </p>
 <p>Jed Rothwell suggests in response to another comment: </p>
 <div class="oneColLiqCtrQuote">
   <p> This is my point, there may be a million things you haven't thought of.     </p>
   <p>Nope. That does not work. A good experiment cannot have a million possible
     problems. If we had to think up a million ways that an experiment might be
     wrong (or fake -- pretty much the same thing) then no experiment would ever
     prove anything, and there would be no progress.     </p>
   <p>A bad experiment can have a large number of possible errors (or ways to make
     it fake). </p>
   <p>....</p>
   <p>Flow calorimetry experiments similar to this, with boiling water or flowing  water, have been done many times. The potential errors are well understood  and their number is strictly limited -- unless you are aiming for the kind  of precision SRI achieved.    </p>
   <p>In an experiment with only 4 main parameters -- input power, inlet  temperature, outlet temperature and flow rate -- the number of potential  significant errors will [<em>be</em>] small, and so will the number of ways deliberately  fake data can be surreptitiously introduced. When the method is complicated,  and the results close to the margin, with many parameters with, for example,  the possibility of recombination producing a significant error, then there  are many ways an error can creep in, and many ways to deliberately introduce  fake data. </p>
   <p>Complexity and a low s/n ratio invite error, misinterpretation or fraud. </p>
   </div> <?php af_feed(); ?>
<h1><?php do_level_1(); ?>
   <a name="conclusion" id="conclusion"></a>Conclusion</h1>  
    <div class="oneColLiqCtrHdrDiv1">
  
  <p>Since the December/January experiments only recorded the inputs and outputs for a short time (30 minutes), almost ANY of the fakes could have produced the result.</p>
  <p>For the February experiment Levi was allowed to inspect everything, EXCLUDING only the 1-liter reactor chamber.  If you accept all of Levi's February report, then all chemical fakes are conclusively ruled out. Neither the January or February reports rule out a <em><strong>Tarallo Water Diversion Fake</strong></em>. </p>
  <p>The March report DOES rule out a <em><strong>Tarallo</strong></em> fake -- but since the Horizontal arm was NOT unwrapped, it does NOT rule out all chemical fakes.</p>
       <p> The April experimental setup was adequate (although the dryness of the steam was not measured) and DOES rule out a  <em><strong>Tarallo</strong></em> fake. Since the eCat was NOT unwrapped the 2.9 hour run was NOT long enough to  rule out ANY of the chemical fakes. (Only some of the stored-heat fakes are eliminated). The April test does not even rule out a simple Water Storage fake.</p>
       <p>Since the January-February and March-April tests use different versions of the eCAT it is not obvious that their results can be directly combined. Experiments producing steam are more susceptable to measurement errors, and the output water volume has not been reliably recorded.</p>
       <p>At present EVERY known fake has been eliminated by at least ONE of the experiments, but the Rossi <em><strong>eCat</strong></em> has NOT been proven to be real by any ONE experiment. Some will argue that this means it's real, while others will argue that it could still be fake.</p>
       <table width="501" border="1">
         <tr>
           <th width="64" scope="col"> </th>
           <th width="100" scope="col">Mode</th>
           <th width="100" scope="col">Batteries and Chemicals</th>
           <th width="100" scope="col">Tarallo Water Diversion</th>
           <th width="100" scope="col">Water Storage</th>
         </tr>
         <?php  print_fake_real_row("Jan","Steam",false,false,false);
		        print_fake_real_row("Feb","Water",true,false,true);
		        print_fake_real_row("Mar","Steam",false,true,true);			
		        print_fake_real_row("Apr","Steam",false,true,false);
		 ?>
       </table>
       <p>("Fake?" means that all Fakes are NOT excluded. "Real" means that ALL fakes are excluded.)</p>
       <p>An <em><strong>eCat</strong> </em>using one of the "Alternative Explanations" would be as important an engineering breakthrough as an <em><strong>LENR</strong></em> device  
        <?php send_holmes_blaze_a("As Sherlock Holmes said"); ?></p>
  <p>Therefore, at present, we cannot conclusively rule out ALL possible fakes from any one experiment, and the variations in experiments do not allow them to be directly combined, so it is not yet PROVED that the Rossi device is real. </p>
  <p>It must, however be noted that Rossi made the "Calorimetric Black Box" eCAT available without any  restrictions (other than the use of radioactive spectral detectors), so the lack of proof is due to defects in the observers instruments or techniques. </p>
  <p>
    <?php if(false) send_holmes_bruce_a("Or as Sherlock Holmes repeatedly said"); ?>
  </p>
    </div> 
   </div><?php af_feed(); ?>
<h1><?php do_level_1(); ?> 
  <a name="discussion" id="discussion"></a>Discussion</h1>
<div class="oneColLiqCtrHdrDiv1">
 <p>This paper considers <em><strong>UPPER BOUNDS</strong></em> for what a Fake could achieve.  </p>
 <p>Any actual fake would run into engineering difficulties long before those limits were reached. </p>
 <p>When designing a machine for propulsion or for electricity, thermodynamics is your enemy. The heat of friction, for instance, robs your output. But if your machine is simply heating water, then thermodynamics is your friend, or at least neutral.</p>
 <p>But the limits of thermal efficiency are not THAT far off 100% : for instance, modern gas furnaces have an efficiency of over 95% (<a href="http://www.energysavers.gov/your_home/space_heating_cooling/index.cfm/mytopic=12530" target="_blank">Furnaces and Boilers</a>). Nor is the assumption that 100% of the weight or volume is fuel : advanced rockets such as the <a href="http://en.wikipedia.org/wiki/Proton_(rocket)" target="_blank">Proton UR-500</a> have a 95.6% fuel-to-dry-weight factor.</p>
 <p>So any discussion of "implementation" is quibbling over less than 5%!</p>
 <p> 
   <?php
if ( $dbg > 3 ) echo <<< DISC_END
 <p>For the December/January STEAM version I will clarify that the parameters for the ORIGINAL demonstration were: </p>
 <div class="oneColLiqCtrHdrDiv1">
   <ul>
     <li>Input electrical power (INTO the control panel) </li>
     <li>Input hydrogen (by weight) </li>
     <li>Inlet temperature </li>
     <li>Outlet temperature </li>
     <li>Steam composition (wet or dry?) </li>
   </ul>
   <p>The following were NOT checked or controlled:     </p>
   <ul>
     <li>Steam volume (NOT checked) </li>
     <li>AIR intake (NOT controlled)</li>
   </ul>
   </div>
 
 For the February WATER version we need:
 <div class="oneColLiqCtrHdrDiv1">
   <ul>
     <li>Input electrical power (INTO the control panel)</li>
     <li> Input hydrogen (by weight)</li>
     <li> Inlet temperature </li>
     <li>Outlet temperature </li>
     <li>Water volume </li>
   </ul>
   <p>The following were NOT  controlled:     </p>
   <ul>
     <li>AIR intake. </li>
   </ul>
   </div>
DISC_END;
 ?>
   Because of the difficulty of measuring the results with steam (volume and content), future experiments should be used to heat the water (as in the February experiment).
   
   For this we need: </p>
 <div class="oneColLiqCtrHdrDiv1">
   <ul>
     <li>Input electrical power (BETWEEN the control panel and the reactor)<br />
         This must also be observed with an oscilloscope to ensure there is no high frequency/phase component which could confuse a simple power meter. </li>
     <li>Monitor ALL the power wires at all times to eliminate the Bryce and similar fakes.</li>
     <li>Input hydrogen (by weight) </li>
     <li>Inlet temperature </li>
     <li>Outlet temperature <strong>OUTSIDE</strong> of the <em><strong>eCAT</strong></em></li>
     <li>Water volume IN</li>
     <li>Water or Steam volume OUT</li>
     <li>Volume of ALL  components. </li>
     <li>Total weight before </li>
     <li>Total weight after </li>
     <li>Detection of a Heat pump requires an air calorimeter round the main unit
     <br />
     (Particularly since the April tests with the mini eCat were within the Carnot limit.)
     </li>
     <li>Sealed unit, to prevent drawing air as a fuel (High-temperature 'cling-wrap', or a calorimeter filled with Nitrogen)<br />
     OR<br />
     Thorough inspection to check for leaks</li>
   </ul>
   <p>As much as possible of the unit should be open to inspection to reduce the volumes (or weights) in which fake material could be hidden, and thus shorten the time needed to eliminate fakes.</p>
   <?php af_feed(); ?>
   <p>The methodology I have been recommending is substantially the same as that described by Grabowski et al : <a href="http://newenergytimes.com/v2/conferences/2011/ICCF16/pres/ET01Grabowski-RobustPerformanceValidation.pdf" target="_blank">Robust Performance Validation of LENR Energy Generators</a></p>
   <p>In particular, they draw attention to the problems associated with using steam, rather than water:</p>
   <p><img src="110509_grabowski_steam.jpg" alt="grabowski steam" width="600" height="500" /></p>
   <p>The issue of steam quality is analyzed in a separate document: 
 <?php  echo <<< STEAM_URL
   <p><a href="{$version_steam_frames_url}" target="_blank"><strong>eCat Steam Quality v 410H</strong> (with index)</a>
   <br><a href="{$version_steam_url}" target="_blank"><strong>eCat Steam Quality v 410H</strong> (without index)</a>
STEAM_URL;
?>
 </div>
 </div>
 <?php af_feed(); ?>
 <h1><?php do_level_1(); ?> Details</h1>
 <div class="oneColLiqCtrHdrDiv1">
   <p>Some of the details have been moved to a separate document: <a href="<?php echo $details_url; ?>" target="_top">Details</a></p>
   </div>
 <h1><?php do_level_1(); ?> Physorg Posts</h1>
 <div class="oneColLiqCtrHdrDiv1">
 <p>These ideas were first noted in <a href="http://www.physorg.com/news/2011-01-italian-scientists-cold-fusion-video.html">PhysOrg</a> (posting as <strong>alanf777)</strong></p>
 <p>The 1,000-character posting limit made my comments rather hard to read), so I have extracted and clarified them in <a href="rossi_ecat_proof_physorg_v1.php" target="_blank">Physorg v1</a> </p>
 </div>
 
 <h1><?php do_level_1(); ?> 
   <a name="acknowledgements" id="acknowledgements"></a>Acknowledgements</h1>
 <div class="oneColLiqCtrHdrDiv1">
   <p>Thanks to Jed Rothwell and others too numerous to name on the <a href="http://www.mail-archive.com/vortex-l@eskimo.com/info.html" target="_blank">"Vortex" mailing list</a> for information, corrections and comments. </p>
   <p>Oh, and thanks to Sir Arthur Conan Doyle, who really, really liked <?php send_holmes_four_a("the phrase which Sherlock Holmes used more times than this paper has space for "); ?></p>
 </div>
 <!-- end #mainContent --></div>
  <div id="footer">
    <p><?php echo "$version_txt"; ?> © 2011 Alan Fletcher <br /><a href="http://lenr.qumbu.com/" target="_blank">Check lenr.qumbu.com for updates</a>  <?php send_email(); ?> </p>
    <!-- end #footer --></div>
<!-- end #container --></div>
</body>
</html>

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

Samples of these calls are in

Caclulator Test page

Function Calls: rossi_ecat_proof_calctest_v401.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 include_once("rossi_ecat_proof_versions_v401.php");
      include_once("rossi_ecat_proof_global_v401.php"); // included once for dreamweaver
	  define("INCLUDE_GLOBALS","rossi_ecat_proof_global_v401.php");
	  $title = "Calculator Test Page" ;?>
      
<?php include_once("rossi_ecat_proof_includes_v401.php"); ?>
<?php include_once("rossi_ecat_proof_email_v401.php"); ?>
<?php include_once("rossi_ecat_proof_calc_v401.php"); ?>

<?php $color_real = "#66ff66";
      $color_fake = "#ff6666";
?>

</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 />
      <?php echo <<< VERSION_HDR
      Version {$version_dec}, {$version_date}<br />
VERSION_HDR;
      ?>
    </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(AF_C,AF_R);
  ?>
  
 
  </p>
  <pre><?php  
         
         set_material(1,"None","-",0,0,0,"Cmt 1");
         set_material(2,"Lithium Ion Battery","Li/i Bat",12,34,56,"Cmt 2");	 
         set_material(3,"Compressed Hydrogen + Air Fuel Cell","H/Air FC",98,76,54,"Cmt 3");
		 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,true); 
  ?>
  <p>GREEN if ROSSI is confirmed, RED if it COULD be a fake.</p>
  <p> </p>
  
</div>
  <div id="footer">  
      <?php echo <<< VERSION_FTR
      Version {$version_dec}, {$version_date}
	   <?php send_email(); ?>   <a href="http://lenr.qumbu.com/" target="_blank">Home</a>
VERSION_FTR;
      ?>
    <!-- end #footer --></div>
<!-- end #container --></div>
</body>
</html>

Disclaimer: Like Topsy, the programming aspects of this paper just "growed".