MURE
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
FMeshTally Class Reference

Define a MCNPX TMeshTally. More...

#include <MeshTally.hxx>

Inheritance diagram for FMeshTally:
MeshTally

Public Member Functions

 FMeshTally (string meshtype="rectangular", string particle="N")
 
 FMeshTally (const FMeshTally &mt)
 copy contructor
 
 ~FMeshTally () override=default
 
MeshTallyClone () override
 The "Virtual Copy Constructor".
 
void SetOrigin (vector< double > Origin)
 
void SetCylinderAxis (double x=0., double y=0., double z=1.)
 
void SetCylinderVector (double x=1., double y=0., double z=0.)
 
void SetIMesh (vector< double > IMESH)
 
void SetIFineGrid (vector< int > IINTS)
 
void SetJMesh (vector< double > JMESH)
 
void SetJFineGrid (vector< int > JINTS)
 
void SetKMesh (vector< double > KMESH)
 
void SetKFineGrid (vector< int > KINTS)
 
void SetEMesh (vector< double > E)
 
void SetEFineGrid (vector< int > EINTS)
 
string Print () override
 Print a mesh tally.
 
int GetNumber ()
 
- Public Member Functions inherited from MeshTally
 MeshTally ()
 
virtual MeshTallyClone ()=0
 The "Virtual Copy Constructor".
 
virtual ~MeshTally ()=default
 
virtual string Print ()
 

Private Attributes

string fType
 TMeshTally type.
 
string fParticle
 TMeshTally type.
 
int fNumber
 FMESH number.
 
vector< double > fOrigin
 Origin of the mesh.
 
vector< double > fAxis
 Axis coordinates of a cylindrical mesh.
 
vector< double > fVector
 theta axis reference of a cylindrical mesh
 
vector< double > fIMESH
 First coarse mesh grid.
 
vector< double > fJMESH
 Second coarse mesh grid.
 
vector< double > fKMESH
 Third coarse mesh grid.
 
vector< double > fEMESH
 Energy coarse mesh grid.
 
vector< int > fIINTS
 First fine mesh grid bins.
 
vector< int > fJINTS
 Second fine mesh grid bins.
 
vector< int > fKINTS
 Third fine mesh grid bins.
 
vector< int > fEINTS
 Energy fine mesh grid bins.
 
bool fIfineGrid
 whether a fine grid is defined in i
 
bool fJfineGrid
 whether a fine grid is defined in j
 
bool fKfineGrid
 whether a fine grid is defined in k
 

Detailed Description

Define a MCNPX TMeshTally.

FMeshTally is a MCNP5 &MCNP6 implementation of Mesh Tally.

Author
PTO
Version
1.0

Constructor & Destructor Documentation

◆ FMeshTally() [1/2]

FMeshTally::FMeshTally ( string  meshtype = "rectangular",
string  particle = "N" 
)

Constructor of a FMeshTally.

User must call at least FMeshTally::SetOrigin, FMeshTally::SetIMesh, FMeshTally::SetJMesh and FMeshTally::SetKMesh

Parameters
meshtype: either "rectangular" or "cylindrical" depending on the mesh type
particle: either N, P or E for neutron, photon or electron

◆ FMeshTally() [2/2]

FMeshTally::FMeshTally ( const FMeshTally mt)

copy contructor

◆ ~FMeshTally()

FMeshTally::~FMeshTally ( )
overridedefault

Member Function Documentation

◆ Clone()

MeshTally * FMeshTally::Clone ( )
inlineoverridevirtual

The "Virtual Copy Constructor".

< the Clone method

Implements MeshTally.

◆ GetNumber()

int FMeshTally::GetNumber ( )
inline

◆ Print()

string FMeshTally::Print ( )
overridevirtual

Print a mesh tally.

Reimplemented from MeshTally.

◆ SetCylinderAxis()

void FMeshTally::SetCylinderAxis ( double  x = 0.,
double  y = 0.,
double  z = 1. 
)

Cylinder Axis.

Only for cylindrical mesh, specify the axis vector of the cyclinder.

Parameters
x: x-component of the axis vector (defaut=z-axis)
y: y-component of the axis vector (defaut=z-axis)
z: z-component of the axis vector (defaut=z-axis)

◆ SetCylinderVector()

void FMeshTally::SetCylinderVector ( double  x = 1.,
double  y = 0.,
double  z = 0. 
)

Cylinder Theta Vector.

Only for cylindrical mesh, specify the reference axis for theta angle.

Parameters
x: x-component of the theta reference axis vector (defaut=x-axis)
y: y-component of the theta reference axis vector (defaut=x-axis)
z: z-component of the theta reference axis vector (defaut=x-axis)

◆ SetEFineGrid()

void FMeshTally::SetEFineGrid ( vector< int >  EINTS)

Give Energy fine meshes.

This defines the number of point between 2 coarse grid points. By default, no subdivision of the coarse grid is done (i.e. EINTS=1 for all the coarse grid point). If it is given it must have exactly the same size than the energy vector passed to SetEMesh

Parameters
EINTS: Energy coarse grid in eV

◆ SetEMesh()

void FMeshTally::SetEMesh ( vector< double >  E)

Give Energy coarse meshes.

Parameters
E: Energy coarse grid in MeV

◆ SetIFineGrid()

void FMeshTally::SetIFineGrid ( vector< int >  IINTS)

First fine mesh grid bins.

This defines the number of point between 2 coarse grid points. By default, no subdivision of the coarse grid is done (i.e. IINTS=1 for all the coarse grid point). If it is given it must have exactly the same size than the IMESH vector. For example, in a rectangular mesh where the origin is at (-50, -50, -50), if

IMESH -20 20 30 40 50 IINTS 3 4 1 1 1

this means that one has 3 fine bins between -50 and -20, 4 fine bins between -20 and 20 and 1 bin between 20-30, 30-40 and 40-50.

Parameters
IINTS: number of point between 2 coarse grid points

◆ SetIMesh()

void FMeshTally::SetIMesh ( vector< double >  IMESH)
inline

First coarse mesh grid.

For rectangular mesh, it defines the x-mesh grid. For cylindrical mesh, it defines the radius mesh grid.

Parameters
IMESH: position of the 1st coarse mesh grid

◆ SetJFineGrid()

void FMeshTally::SetJFineGrid ( vector< int >  JINTS)

Second fine mesh grid bins.

This defines the number of point between 2 coarse grid points. By default, no subdivision of the coarse grid is done (i.e. JINTS=1 for all the coarse grid point). If it is given it must have exactly the same size than the JMESH vector

Parameters
JINTS: number of point between 2 coarse grid points

◆ SetJMesh()

void FMeshTally::SetJMesh ( vector< double >  JMESH)
inline

Second coarse mesh grid.

For rectangular mesh, it defines the y-mesh grid. For cylindrical mesh, it defines the z-mesh grid !!! MEASURED FROM THE ORIGIN !!!

Parameters
JMESH: position of the 2nd coarse mesh grid

◆ SetKFineGrid()

void FMeshTally::SetKFineGrid ( vector< int >  KINTS)

Third fine mesh grid bins.

This defines the number of point between 2 coarse grid points. By default, no subdivision of the coarse grid is done (i.e. KINTS=1 for all the coarse grid point). If it is given it must have exactly the same size than the KMESH vector

Parameters
KINTS: number of point between 2 coarse grid points

◆ SetKMesh()

void FMeshTally::SetKMesh ( vector< double >  KMESH)

Third coarse mesh grid.

For rectangular mesh, it defines the z-mesh grid. For cylindrical mesh, it defines the theta-mesh grid : it is given in number of revolution, thus the last point value must be 1.

Parameters
KMESH: position of the 2nd coarse mesh grid

◆ SetOrigin()

void FMeshTally::SetOrigin ( vector< double >  Origin)
inline

Set the FMeshTally origin.

This method is mandatory and MUST be called.

Parameters
Origin: coordinates of the bottom, left, behind for rectangular mesh or the bottom center for cylindrical mesh

Member Data Documentation

◆ fAxis

vector< double > FMeshTally::fAxis
private

Axis coordinates of a cylindrical mesh.

◆ fEINTS

vector< int > FMeshTally::fEINTS
private

Energy fine mesh grid bins.

◆ fEMESH

vector< double > FMeshTally::fEMESH
private

Energy coarse mesh grid.

◆ fIfineGrid

bool FMeshTally::fIfineGrid
private

whether a fine grid is defined in i

◆ fIINTS

vector< int > FMeshTally::fIINTS
private

First fine mesh grid bins.

◆ fIMESH

vector< double > FMeshTally::fIMESH
private

First coarse mesh grid.

◆ fJfineGrid

bool FMeshTally::fJfineGrid
private

whether a fine grid is defined in j

◆ fJINTS

vector< int > FMeshTally::fJINTS
private

Second fine mesh grid bins.

◆ fJMESH

vector< double > FMeshTally::fJMESH
private

Second coarse mesh grid.

◆ fKfineGrid

bool FMeshTally::fKfineGrid
private

whether a fine grid is defined in k

◆ fKINTS

vector< int > FMeshTally::fKINTS
private

Third fine mesh grid bins.

◆ fKMESH

vector< double > FMeshTally::fKMESH
private

Third coarse mesh grid.

◆ fNumber

int FMeshTally::fNumber
private

FMESH number.

◆ fOrigin

vector< double > FMeshTally::fOrigin
private

Origin of the mesh.

◆ fParticle

string FMeshTally::fParticle
private

TMeshTally type.

◆ fType

string FMeshTally::fType
private

TMeshTally type.

◆ fVector

vector< double > FMeshTally::fVector
private

theta axis reference of a cylindrical mesh


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

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024