LineSourceRayKernel

Demonstrates the multiple ways that scalar values can be introduced into RayKernels, e.g. (controllable) constants, functions, postprocessors, and data on rays. Implements the weak form along a line.

While this summary describes the non-AD form available in LineSourceRayKernel, an AD-form is also available as the ADLineSourceRayKernel.

The strong form, given the line

is defined as

where is the source term (negative if a sink) along and the second term on the left hand side represents the strong forms of other kernels and boundary conditions. The LineSourceRayKernel weak form, in inner-product notation, is defined as

where the are the test functions, and are the trial solutions in the finite dimensional space for the unknown ().

The Jacobian term for this kernel is zero: , since it is assumed that is not a function of the unknown .

The force is constructed through a user supplied constant , function value evaluated at the current time and quadrature point , postprocessor value , and/or Ray data . The constant , supplied through the parameter "value", may also be controlled over the course of a transient simulation with a Controls block. , , are supplied through the input parameters "value", "function", and "postprocessor" respectively. is supplied through the input parameters "ray_data_factor_names" and "ray_aux_data_factor_names" as the product of the ray data with the given names. Not supplying , , , or through its corresponding parameter is equivalent to setting its value to unity.

Input Parameters

  • variableThe name of the variable that this RayKernel operates on

    C++ Type:NonlinearVariableName

    Controllable:No

    Description:The name of the variable that this RayKernel operates on

Required Parameters

  • blockThe list of blocks (ids or names) that this object will be applied

    C++ Type:std::vector<SubdomainName>

    Controllable:No

    Description:The list of blocks (ids or names) that this object will be applied

  • depends_onOther RayKernels that this RayKernel depends on

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Other RayKernels that this RayKernel depends on

  • function1A function that describes the line source

    Default:1

    C++ Type:FunctionName

    Controllable:No

    Description:A function that describes the line source

  • postprocessor1A postprocessor whose value is multiplied by the line source

    Default:1

    C++ Type:PostprocessorName

    Controllable:No

    Description:A postprocessor whose value is multiplied by the line source

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

  • ray_aux_data_factor_namesThe names of the Ray aux data to scale the source by (if any)

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:The names of the Ray aux data to scale the source by (if any)

  • ray_data_factor_namesThe names of the Ray data to scale the source by (if any)

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:The names of the Ray data to scale the source by (if any)

  • raysThe name of the Rays associated with this object; only used if Ray registration is enabled within the study. If no Rays are supplied, this object will be applied to all Rays.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:The name of the Rays associated with this object; only used if Ray registration is enabled within the study. If no Rays are supplied, this object will be applied to all Rays.

  • studyThe RayTracingStudy associated with this object. If none provided, this will default to the one study that exists.

    C++ Type:UserObjectName

    Controllable:No

    Description:The RayTracingStudy associated with this object. If none provided, this will default to the one study that exists.

  • use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

  • value1Coefficient to multiply by the line source term

    Default:1

    C++ Type:double

    Controllable:Yes

    Description:Coefficient to multiply by the line source term

Optional Parameters

  • absolute_value_vector_tagsThe tags for the vectors this residual object should fill with the absolute value of the residual contribution

    C++ Type:std::vector<TagName>

    Controllable:No

    Description:The tags for the vectors this residual object should fill with the absolute value of the residual contribution

  • extra_matrix_tagsThe extra tags for the matrices this Kernel should fill

    C++ Type:std::vector<TagName>

    Controllable:No

    Description:The extra tags for the matrices this Kernel should fill

  • extra_vector_tagsThe extra tags for the vectors this Kernel should fill

    C++ Type:std::vector<TagName>

    Controllable:No

    Description:The extra tags for the vectors this Kernel should fill

  • matrix_tagssystemThe tag for the matrices this Kernel should fill

    Default:system

    C++ Type:MultiMooseEnum

    Options:nontime, system

    Controllable:No

    Description:The tag for the matrices this Kernel should fill

  • vector_tagsnontimeThe tag for the vectors this Kernel should fill

    Default:nontime

    C++ Type:MultiMooseEnum

    Options:nontime, time

    Controllable:No

    Description:The tag for the vectors this Kernel should fill

Tagging Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Determines whether this object is calculated using an implicit or explicit form

  • seed0The seed for the master random number generator

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:The seed for the master random number generator

Advanced Parameters