25 "IntegralRayKernel-derived class.");
28 "Name of the Ray to get the final integral value from");
31 "The name of the IntegralRayKernel-derived RayKernel to obtain the integral value of");
46 std::vector<RayKernelBase *> rks;
49 if (rk->name() == getParam<std::string>(
"ray_kernel"))
52 if (!integral_ray_kernel)
53 mooseError(rk->type(),
" is not derived from an IntegralRayKernel.");
59 if (!integral_ray_kernel)
61 "The RayKernel by the name '",
62 getParam<std::string>(
"ray_kernel"),
67 mooseError(
"Cannot be used because the supplied ",
69 " does not have Ray registration enabled.\n\nThis is controlled by the " 70 "RayTracingStudy private param '_use_ray_registration'.");
73 mooseError(
"Cannot be used because the supplied ",
75 " does not bank Rays on completion.\n\nThis is controlled by the RayTracingStudy " 76 "private param '_bank_rays_on_completion'.");
79 const auto & ray_name = getParam<std::string>(
"ray");
82 paramError(
"ray",
"Could not find a Ray named '", ray_name,
"'");
virtual Real getValue() const override
static InputParameters validParams()
RayData getBankedRayData(const RayID ray_id, const RayDataIndex index) const
Gets the data value for a banked ray with a given ID.
Base object for the RayKernel syntax.
bool useRayRegistration() const
Whether or not ray registration is being used.
RayID _ray_id
The ID of the Ray that we seek the value from.
RayIntegralValue(const InputParameters ¶meters)
std::string integralRayDataName() const
Gets the name of the Ray data associated with the integral accumulated by this RayKernel.
unsigned int _ray_data_index
The Ray data index where the integral value resides.
static InputParameters validParams()
TheWarehouse & theWarehouse() const
virtual void initialize() override
const RayTracingStudy * _study
The RayTracingStudy to get the value from.
const std::string & type() const
void paramError(const std::string ¶m, Args... args) const
Base class for a RayKernel that integrates along a Ray segment and stores the result in a scalar valu...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
FEProblemBase & _fe_problem
bool bankRaysOnCompletion() const
Whether or not to bank Rays on completion.
void mooseError(Args &&... args) const
registerMooseObject("RayTracingApp", RayIntegralValue)
RayID registeredRayID(const std::string &name, const bool graceful=false) const
Gets the ID of a registered ray.
RayDataIndex getRayDataIndex(const std::string &name, const bool graceful=false) const
Gets the index associated with a registered value in the Ray data.
static const RayID INVALID_RAY_ID
Invalid Ray ID.
Obtains the integrated value accumulated into a Ray from an IntegralRayKernel-derived class...