2018-05-01 20:18:50 -04:00
|
|
|
#include "lest.hpp"
|
|
|
|
#include <math.h>
|
|
|
|
#include "catima/catima.h"
|
|
|
|
#include "catima/reactions.h"
|
|
|
|
#include "testutils.h"
|
|
|
|
using namespace std;
|
|
|
|
using catima::approx;
|
|
|
|
using catima::reaction_rate;
|
|
|
|
using catima::nonreaction_rate;
|
|
|
|
const lest::test specification[] =
|
|
|
|
{
|
|
|
|
CASE("reaction"){
|
2018-05-02 19:23:47 -04:00
|
|
|
catima::Projectile proj{12,6,6,1000};
|
2018-05-01 20:18:50 -04:00
|
|
|
auto c = catima::get_material(6);
|
|
|
|
c.thickness(4.0);
|
|
|
|
double r = reaction_rate(1000,c.number_density_cm2());
|
|
|
|
std::cout<<r<<"\n";
|
|
|
|
|
|
|
|
EXPECT(reaction_rate(0,10.0) == 0.0);
|
|
|
|
EXPECT(reaction_rate(1000,0.0) == 0.0);
|
|
|
|
|
|
|
|
EXPECT(nonreaction_rate(0,10.0) == 1.0);
|
|
|
|
EXPECT(nonreaction_rate(1000,0.0) == 1.0);
|
|
|
|
|
|
|
|
auto fcc = [](double x){return 1000.0;};
|
|
|
|
r = reaction_rate(fcc, c.number_density_cm2());
|
|
|
|
std::cout<<r<<"\n";
|
2018-05-02 19:23:47 -04:00
|
|
|
|
|
|
|
catima::reaction_rate1(proj, c);
|
2018-05-01 20:18:50 -04:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
int main( int argc, char * argv[] )
|
|
|
|
{
|
|
|
|
return lest::run( specification, argc, argv );
|
|
|
|
}
|
|
|
|
|