IGLib  1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector Class Reference
+ Collaboration diagram for IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector:

Public Member Functions

void MeasureScatteringsDistribution (int numNeutrons)
 Perform an experiment in which a set number of neutrons are propagated through their lifetime in the reflector. The experiment aims to measure the distribution of the number of scatterings. More...
 
void MeasureTransmissivity (int numExperiments, int numNeutronsPerExp)
 Perform #numExperiments experiments in which a set number of neutrons are propagated through their lifetime in the reflector. Average the measurements and calculate the variance. More...
 
void MeasureExitAnglesDist (int numNeutrons)
 
void MeasureTransVsReflectorWidth (int numNeutrons, int nSamples, double initWidth, double finalWidth)
 Measures transmisivity as a function of reflector width. More...
 

Public Attributes

double ReflectorWidth = 1.0
 The width of the neutron reflector. More...
 
double MeanFreePath = 0.5
 The mean free path before another scattering occurs. More...
 
double Transmissivity D:\scatterings2.txt"
 The transmissivity as measured by the MeasureTransmissivity() method. More...
 
double TransmissivityVariance
 The transmissivity variance as measured by the MeasureTransmissivity() method. More...
 

Private Member Functions

void ScatterNeutron ()
 Determines the new position after scattering (the position of the new scattering). Does not check whether the neutron is already outside of the material. More...
 
void PropagateNeutronUntilExit ()
 Create a new neutron and scatter it (calling ScatterNeutron()) until it exits the material. More...
 

Private Attributes

double XPos = 0.0
 The position of the current neutron. More...
 
Random RNG = new Random()
 A random number generator. More...
 
int NScatterings = 0
 The number of scatterings of the current neutron. More...
 
double CosPhi
 The current cosine of the scattering angle. More...
 

Member Function Documentation

void IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.ScatterNeutron ( )
inlineprivate

Determines the new position after scattering (the position of the new scattering). Does not check whether the neutron is already outside of the material.

void IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.PropagateNeutronUntilExit ( )
inlineprivate

Create a new neutron and scatter it (calling ScatterNeutron()) until it exits the material.

void IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.MeasureScatteringsDistribution ( int  numNeutrons)
inline

Perform an experiment in which a set number of neutrons are propagated through their lifetime in the reflector. The experiment aims to measure the distribution of the number of scatterings.

void IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.MeasureTransmissivity ( int  numExperiments,
int  numNeutronsPerExp 
)
inline

Perform #numExperiments experiments in which a set number of neutrons are propagated through their lifetime in the reflector. Average the measurements and calculate the variance.

Parameters
numExperimentsThe number of experiments to be averaged over.
numNeutronsPerExpThe number of neutrons propagated in each experiment.
void IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.MeasureExitAnglesDist ( int  numNeutrons)
inline
void IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.MeasureTransVsReflectorWidth ( int  numNeutrons,
int  nSamples,
double  initWidth,
double  finalWidth 
)
inline

Measures transmisivity as a function of reflector width.

Parameters
numNeutronsThe number of neutrons which are propagated each time.

///

Parameters
nSamplesThe number of samples taken on the width variable.

///

Parameters
initWidthThe initial width.

///

Parameters
finalWidthThe final width.

Referenced by IG.MPetekLib.Application.Scripts.CompPhys._08MCNeutronReflectorExp.Run().

Member Data Documentation

double IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.ReflectorWidth = 1.0

The width of the neutron reflector.

double IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.MeanFreePath = 0.5

The mean free path before another scattering occurs.

double IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.XPos = 0.0
private

The position of the current neutron.

Random IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.RNG = new Random()
private

A random number generator.

int IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.NScatterings = 0
private

The number of scatterings of the current neutron.

double IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.CosPhi
private

The current cosine of the scattering angle.

double IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.Transmissivity D:\scatterings2.txt"

The transmissivity as measured by the MeasureTransmissivity() method.

double IG.MPetekLib.Algorithms.Models.CompPhys.NeutronReflector.TransmissivityVariance

The transmissivity variance as measured by the MeasureTransmissivity() method.


The documentation for this class was generated from the following file: