minimc 0.5.1
Loading...
Searching...
No Matches
Material Class Reference

Aggregates nuclear and physical properties. More...

#include <Material.hpp>

Public Types

using AtomFractions = std::map< std::shared_ptr< const Nuclide >, Real >
 Nuclide objects and their associated atom fractions.
 

Public Member Functions

 Material (const pugi::xml_node &root, const std::string &name, const std::vector< std::shared_ptr< const Nuclide > > &all_nuclides)
 Constructs a Material from a material node of an XML document. More...
 
MicroscopicCrossSection GetMicroscopicMajorant (const Particle &p) const noexcept
 Return the majorant microscopic cross section. More...
 
MicroscopicCrossSection GetMicroscopicTotal (const Particle &p) const noexcept
 Return the total microscopic cross section.
 

Static Public Member Functions

static pugi::xml_node FindNode (const pugi::xml_node &root, const std::string &material_name)
 Find material node with given name in XML document. More...
 

Public Attributes

const std::string name
 Unique, user-defined identifier (C++ Core Guidelines C.131)
 
const AtomFractions afracs
 All Nuclide objects which make up this Material and their associated atom fractions (C++ Core Guidelines C.131)
 
const Real number_density
 Atomic number density (C++ Core Guidelines C.131)
 

Detailed Description

Aggregates nuclear and physical properties.

Nuclear properties are in NuclearData objects

Constructor & Destructor Documentation

◆ Material()

Material::Material ( const pugi::xml_node &  root,
const std::string &  name,
const std::vector< std::shared_ptr< const Nuclide > > &  all_nuclides 
)

Constructs a Material from a material node of an XML document.

Parameters
rootRoot node of existing XML document
nameValue of name attribute of material node
all_nuclidesNuclide objects which may appear in this Material

Member Function Documentation

◆ FindNode()

static pugi::xml_node Material::FindNode ( const pugi::xml_node &  root,
const std::string &  material_name 
)
static

Find material node with given name in XML document.

Parameters
rootRoot node of existing XML document
material_nameValue of name attribute of material node
Exceptions
std::runtime_error`material` node with matching `name` attribute not found

◆ GetMicroscopicMajorant()

MicroscopicCrossSection Material::GetMicroscopicMajorant ( const Particle p) const
noexcept

Return the majorant microscopic cross section.

This is not to be confused with the global majorant across all Materials in the problem


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