Main Page   File List  

RMPflux.cpp

00001 #include <math.h>
00002 #include <iostream.h>
00003 #include "ReactorFortran.hh"
00004 
00005 double RMPflux(double enu){
00006   //
00007   // from Vogel, Gratta RMP via Jon Link
00008   //
00009   int dim = 22;
00010   float etab[22];
00011   for(int n=0;n<dim;n++)etab[n]=1.85+n*0.3;
00012   float ftab[22]= {49.80,39.66,31.43,24.79,19.45,
00013                    15.19,11.80, 9.12, 7.01, 5.35,
00014                    4.06,  3.06, 2.28, 1.67, 1.21,
00015                    0.85,  0.58, 0.38, 0.23, 0.13,
00016                    0.06,0.03};
00017                  
00018   bool static first=1;
00019   float static ptab[22];
00020   
00021   if(first){
00022     double sum;
00023     for(int n=0;n<dim;n++)sum+=ftab[n];
00024     for(int n=0;n<dim;n++)ptab[n]=ftab[n]/sum;
00025     first = 0;
00026     cout << "RMPflux initialization complete" << endl;
00027   }
00028   
00029   int kpoly = 2;
00030   float e=enu;
00031   //
00032   // a CERNLIB routine to interpolate the table
00033   //
00034   return  divdif_(ptab,etab,dim,e,kpoly);
00035 
00036 }
00037   

Generated on Sat Jul 17 14:45:42 2004 for ReactorFsim by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002