Celeritas 0.6.0-dev.115+3b60a5fd
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
celeritas::NeutronInelasticModel Class Referencefinal

Set up and launch the neutron inelastic model interaction. More...

#include <NeutronInelasticModel.hh>

Inheritance diagram for celeritas::NeutronInelasticModel:
Inheritance graph
[legend]

Public Types

using AtomicMassNumber = IsotopeView::AtomicMassNumber
 
using MevEnergy = units::MevEnergy
 
using ReadData = std::function< ImportPhysicsVector(AtomicNumber)>
 
using HostRef = NeutronInelasticHostRef
 
using DeviceRef = NeutronInelasticDeviceRef
 
- Public Types inherited from celeritas::Model
using UPConstGridBuilder = std::unique_ptr< ValueGridBuilder const >
 Type aliases.
 
using MicroXsBuilders = std::vector< UPConstGridBuilder >
 
using SetApplicability = std::set< Applicability >
 
- Public Types inherited from celeritas::ActionTypeTraits< P, S >
using CoreParams = P
 
using CoreStateHost = S< MemSpace::host >
 
using CoreStateDevice = S< MemSpace::device >
 
using SpanCoreStateHost = Span< S< MemSpace::host > *const >
 
using SpanCoreStateDevice = Span< S< MemSpace::device > *const >
 

Public Member Functions

 NeutronInelasticModel (ActionId id, ParticleParams const &particles, MaterialParams const &materials, CascadeOptions const &options, ReadData load_data)
 Construct from model ID and other necessary data.
 
SetApplicability applicability () const final
 Particle types and energy ranges that this model applies to.
 
MicroXsBuilders micro_xs (Applicability) const final
 Get the microscopic cross sections for the given particle and material.
 
HostRef consthost_ref () const
 
DeviceRef constdevice_ref () const
 
- Public Member Functions inherited from celeritas::Model
StepActionOrder order () const final
 Dependency ordering of the action.
 
- Public Member Functions inherited from celeritas::StepActionInterface< P, S >
virtual void step (P const &, S< MemSpace::host > &) const =0
 Execute the action with host data.
 
virtual void step (P const &, S< MemSpace::device > &) const =0
 Execute the action with device data.
 
- Public Member Functions inherited from celeritas::ActionInterface
virtual ~ActionInterface () noexcept=0
 Default destructor.
 
- Public Member Functions inherited from celeritas::StaticConcreteAction
 StaticConcreteAction (ActionId id, std::string_view label) noexcept(!CELERITAS_DEBUG)
 Construct a concrete action from a label and ID.
 
 StaticConcreteAction (ActionId id, std::string_view label, std::string_view description) noexcept(!CELERITAS_DEBUG)
 Construct a concrete action from an ID, a unique label, and a description.
 
 CELER_DELETE_COPY_MOVE (StaticConcreteAction)
 
ActionId action_id () const final
 ID of this action for verification.
 
std::string_view label () const final
 Short label.
 
std::string_view description () const final
 Descriptive label.
 
void step (CoreParams const &, CoreStateHost &) const final
 Apply the interaction kernel to host data.
 
void step (CoreParams const &, CoreStateDevice &) const final
 Interact with device data.
 

Additional Inherited Members

- Protected Member Functions inherited from celeritas::ActionInterface
 CELER_DEFAULT_COPY_MOVE (ActionInterface)
 

Detailed Description

Set up and launch the neutron inelastic model interaction.

Only neutron-neutron (proton-proton) and neutron-proton channels are tabulated in [10, 320] (MeV) where pion production is not likely. The cross sections below 10 MeV will be calculated on the fly using the Stepanov's function. Tabulated data of cross sections and parameters at the low energy are from G4CascadePPChannel, G4CascadeNPChannel and G4CascadeNNChannel of the Geant4 11.2 release while angular c.d.f data are from G4PP2PPAngDst and G4NP2NPAngDst. Also note that the channel cross sections of nucleon-nucleon are same as their total cross sections in the energy range and the proton-proton channel is same as the neutron-neutron channel based on the charge-independence hypothesis of the nuclear force. See [bertini-1963,hess-1958].

Member Function Documentation

◆ applicability()

auto celeritas::NeutronInelasticModel::applicability ( ) const
finalvirtual

Particle types and energy ranges that this model applies to.

Implements celeritas::Model.

◆ device_ref()

DeviceRef const & celeritas::NeutronInelasticModel::device_ref ( ) const
inline

Access model data

◆ host_ref()

HostRef const & celeritas::NeutronInelasticModel::host_ref ( ) const
inline

Access model data

◆ micro_xs()

auto celeritas::NeutronInelasticModel::micro_xs ( Applicability  ) const
finalvirtual

Get the microscopic cross sections for the given particle and material.

Implements celeritas::Model.

◆ step()

void celeritas::NeutronInelasticModel::step ( CoreParams const ,
CoreStateHost &   
) const
final

Apply the interaction kernel to host data.

Apply the interaction kernel.


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