include <iostream>
include <vector>
include <string>
include <fstream>
include <numeric>
define _USE_MATH_DEFINES
include <math.h>
include <iterator>
using namespace std; using std::vector;
int main() { int MeshNum = 20; int S = 1; int Sig = 2; double mu = 0.5; double a = 20;
double IniCon = S / (M_PI * 4 * Sig);
int DivNum = MeshNum * 2;
int Count = 0;
int Count2 = 0;
double MinLength = a * (-1) * (0.5);
double MaxLength = a * (0.5);
vector<double> AngularFlux;
vector<double> Length;
double FluxNum = 0;
int MaxCount = MeshNum - 1;
for (int Count = 0; Count < MeshNum; Count++)
{
int MultNum = 1 + 2 * Count;
double Lengthnum = MinLength + a * MultNum / DivNum;
if ((mu > 0) && (mu <= 1)) {
FluxNum = IniCon * (1 - exp((-1 * Sig / mu)*(Lengthnum + MaxLength)));
AngularFlux.push_back(FluxNum);
Length.push_back(Lengthnum);
}
else if ((mu < 0) && (mu >= -1)) {
FluxNum = IniCon * (1 - exp((-1 * Sig / mu)*(Lengthnum - MaxLength)));
AngularFlux.push_back(FluxNum);
Length.push_back(Lengthnum);
}
else if (mu = 0) {
FluxNum = IniCon;
AngularFlux.push_back(FluxNum);
Length.push_back(Lengthnum);
}
else {
cout << "Incorrect Mu-Value" << endl;
}
}
cout << "Slab Thickness is equal to " << a << " cm" << endl;
cout << "Macro Cross Section is equal to " << Sig << endl;
cout << "Mu is equal to " << mu << endl;
cout << "S is equal to " << S << endl;
cout << "AYYYYYY LAMO" << endl;
for (int Count2 = 0; Count2 < MeshNum; Count2++)
{
cout << "At x = " << Length[Count2] << " the Angular Flux is equal to " << AngularFlux[Count2] << '\n';
}
system("pause");
return 0;
}