Class VolumetricSource

Class Documentation

class VolumetricSource

A class for multi-group isotropic volumetric sources.

This class differs from the standard material property sources in that it can be specified for an arbitrary logical volume that may span multiple material regions and with spatial, material id, and group-wise behaviors via a VectorSpatialFunction.

The flexibility of this object allows for its use as a standard volumetric source or as a volumetric response function for adjoint calculations.

Public Functions

explicit VolumetricSource(const InputParameters &params)
void Initialize(const LBSProblem &lbs_problem)
std::vector<double> operator()(const Cell &cell, const Vector3 &xyz, int num_groups) const

Evaluate the distributed source for a given cell node for all groups

If the cell does not belong to the logical volume tied to this source, a vector of zeros are returned.

inline size_t GetNumLocalSubscribers() const
inline size_t GetNumGlobalSubsribers() const
inline const std::vector<uint64_t> &GetSubscribers() const
inline std::shared_ptr<LogicalVolume> GetLogicalVolume() const
inline const std::vector<int> &GetBlockIDs() const

Public Static Functions

static InputParameters GetInputParameters()
static std::shared_ptr<VolumetricSource> Create(const ParameterBlock &params)