https://mooseframework.inl.gov
IntegralRayKernelBase.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "IntegralRayKernelBase.h"
11 
12 // MOOSE includes
13 #include "Assembly.h"
14 #include "NonlinearSystemBase.h"
15 
18 {
19  auto params = RayKernelBase::validParams();
20 
21  // Set so that in the case that a derived class doesn't have any coupled
22  // variables or materials that the RayTracingStudy knows that it still needs
23  // qps and weights to be reinit on its segment
24  params.set<bool>("_need_segment_reinit") = true;
25 
26  return params;
27 }
28 
30  : RayKernelBase(params),
31  _assembly(_fe_problem.assembly(_tid, _nl->number())),
32  _q_point(_assembly.qPoints()),
33  _JxW(_assembly.JxW())
34 {
35 }
36 
37 void
39 {
40  mooseAssert(needSegmentReinit(), "Must be true");
41 }
Base object for the RayKernel syntax.
Definition: RayKernelBase.h:27
IntegralRayKernelBase(const InputParameters &params)
static InputParameters validParams()
Definition: RayKernelBase.C:17
virtual void preExecuteStudy() override
Insertion point called immediately before executing the RayTracingStudy.
static InputParameters validParams()
bool needSegmentReinit() const
Whether or not this RayKernel needs a segment reinit.
Definition: RayKernelBase.h:74