- resultThe result to use
C++ Type:MooseEnum
Description:The result to use
- studyThe RayTracingStudy to get results from
C++ Type:UserObjectName
Description:The RayTracingStudy to get results from
RayTracingStudyResult
Gets a result from a RayTracingStudy.
Input Parameters
- execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.
Default:TIMESTEP_END
C++ Type:ExecFlagEnum
Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, TRANSFER
Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.
Optional Parameters
- allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
Default:False
C++ Type:bool
Options:
Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Options:
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Options:
Description:Set the enabled status of the MooseObject.
- force_preauxFalseForces the GeneralUserObject to be executed in PREAUX
Default:False
C++ Type:bool
Options:
Description:Forces the GeneralUserObject to be executed in PREAUX
- force_preicFalseForces the GeneralUserObject to be executed in PREIC during initial setup
Default:False
C++ Type:bool
Options:
Description:Forces the GeneralUserObject to be executed in PREIC during initial setup
- outputsVector of output names were you would like to restrict the output of variables(s) associated with this object
C++ Type:std::vector<OutputName>
Options:
Description:Vector of output names were you would like to restrict the output of variables(s) associated with this object
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Options:
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Advanced Parameters
Input Files
- (modules/ray_tracing/test/tests/traceray/nonplanar/nonplanar.i)
- (modules/ray_tracing/test/tests/raybcs/reflect_ray_bc/reflect_ray_bc.i)
- (modules/ray_tracing/test/tests/traceray/adaptivity/adaptivity_2d.i)
- (modules/ray_tracing/test/tests/userobjects/ray_tracing_study/reuse_rays/reuse_rays.i)
- (modules/ray_tracing/test/tests/traceray/internal_sidesets/internal_sidesets_3d.i)
- (modules/ray_tracing/test/tests/traceray/internal_sidesets/internal_sidesets_2d.i)
- (modules/ray_tracing/test/tests/userobjects/repeatable_ray_study_base/recover.i)
- (modules/ray_tracing/test/tests/traceray/backface_culling/backface_culling.i)
- (modules/ray_tracing/test/tests/traceray/internal_sidesets/internal_sidesets_1d.i)
- (modules/ray_tracing/test/tests/userobjects/ray_tracing_study/ray_data/ray_data.i)
- (modules/ray_tracing/test/tests/userobjects/ray_tracing_study/lots.i)
- (modules/ray_tracing/test/tests/traceray/lots.i)
- (modules/ray_tracing/test/tests/userobjects/ray_tracing_study/kernel_create_ray/kernel_create_ray.i)
- (modules/ray_tracing/test/tests/traceray/adaptivity/adaptivity_3d.i)
- (modules/ray_tracing/test/tests/userobjects/ray_tracing_study/bc_create_ray/bc_create_ray.i)
- (modules/ray_tracing/test/tests/traceray/adaptivity/adaptivity_1d.i)
- (modules/ray_tracing/test/tests/userobjects/ray_tracing_study/kernel_change_ray/kernel_change_ray.i)
- (modules/ray_tracing/test/tests/postprocessors/ray_tracing_study_result/ray_tracing_study_result.i)
- (modules/ray_tracing/test/tests/userobjects/repeatable_ray_study/max_distance.i)
(modules/ray_tracing/test/tests/traceray/nonplanar/nonplanar.i)
[Mesh]
[file]
type = FileMeshGenerator
file = nonplanar.e
[]
[]
[RayBCs/kill]
type = KillRayBC
boundary = 'top right bottom left front back'
[]
[RayKernels/null]
type = NullRayKernel
[]
[UserObjects/lots]
type = LotsOfRaysRayStudy
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
side_aq = true
centroid_aq = true
compute_expected_distance = true
warn_non_planar = false
execute_on = initial
[]
[Postprocessors]
[total_distance]
type = RayTracingStudyResult
study = lots
result = total_distance
[]
[expected_distance]
type = LotsOfRaysExpectedDistance
lots_of_rays_study = lots
[]
[distance_difference]
type = DifferencePostprocessor
value1 = total_distance
value2 = expected_distance
[]
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/raybcs/reflect_ray_bc/reflect_ray_bc.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmax = 5
ymax = 5
[]
[]
[RayBCs]
[kill]
type = KillRayBC
boundary = 'top'
[]
[reflect]
type = ReflectRayBC
boundary = 'top right left bottom'
[]
[]
[UserObjects/lots]
type = LotsOfRaysRayStudy
ray_kernel_coverage_check = false
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = false
execute_on = initial
ray_distance = 10
[]
[Postprocessors/total_distance]
type = RayTracingStudyResult
study = lots
result = total_distance
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/traceray/adaptivity/adaptivity_2d.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[]
[Variables/u]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[time]
type = TimeDerivative
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[Executioner]
type = Transient
num_steps = 3
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
steps = 1
marker = marker
initial_marker = marker
max_h_level = 2
[Indicators/indicator]
type = GradientJumpIndicator
variable = u
[]
[Markers/marker]
type = ErrorFractionMarker
indicator = indicator
coarsen = 0.1
refine = 0.1
[]
[]
[UserObjects/study]
type = LotsOfRaysRayStudy
ray_kernel_coverage_check = false
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
execute_on = timestep_end
[]
[RayBCs/kill]
type = KillRayBC
boundary = 'top right bottom left'
[]
[Postprocessors]
[total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
execute_on = timestep_end
[]
[total_rays]
type = RayTracingStudyResult
study = study
result = total_rays_started
execute_on = timestep_end
[]
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/userobjects/ray_tracing_study/reuse_rays/reuse_rays.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 1
nx = 10
xmin = 0
xmax = 1
[]
[]
[RayBCs/kill]
type = KillRayBC
boundary = 'left right'
[]
[UserObjects/study]
type = TestReuseRaysStudy
ray_kernel_coverage_check = false
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
num_steps = 3
[]
[Postprocessors]
[total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
[]
[total_rays_started]
type = RayTracingStudyResult
study = study
result = total_rays_started
[]
[]
[Outputs]
csv = true
[]
(modules/ray_tracing/test/tests/traceray/internal_sidesets/internal_sidesets_3d.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 3
dx = '2 2 2'
dy = '2 2 2'
dz = '2 2 2'
ix = '2 2 2'
iy = '2 2 2'
iz = '2 2 2'
subdomain_id = '0 0 0
0 1 0
0 0 0
0 2 0
3 7 4
0 5 0
0 0 0
0 6 0
0 0 0'
[]
[interior_back]
type = SideSetsBetweenSubdomainsGenerator
input = cmg
primary_block = 7
paired_block = 1
new_boundary = 'interior_back'
[]
[interior_bottom]
type = SideSetsBetweenSubdomainsGenerator
input = interior_back
primary_block = 7
paired_block = 2
new_boundary = 'interior_bottom'
[]
[interior_left]
type = SideSetsBetweenSubdomainsGenerator
input = interior_bottom
primary_block = 7
paired_block = 3
new_boundary = 'interior_left'
[]
[interior_right]
type = SideSetsBetweenSubdomainsGenerator
input = interior_left
primary_block = 7
paired_block = 4
new_boundary = 'interior_right'
[]
[interior_top]
type = SideSetsBetweenSubdomainsGenerator
input = interior_right
primary_block = 7
paired_block = 5
new_boundary = 'interior_top'
[]
[interior_front]
type = SideSetsBetweenSubdomainsGenerator
input = interior_top
primary_block = 7
paired_block = 6
new_boundary = 'interior_front'
[]
[]
[RayBCs]
active = 'kill_internal'
# active = 'kill_external reflect_internal'
# for testing internal kill
[kill_internal]
type = KillRayBC
boundary = 'interior_top interior_right interior_bottom interior_left interior_front interior_back'
[]
# for testing internal reflect
[kill_external]
type = KillRayBC
boundary = 'top right bottom left front back'
[]
[reflect_internal]
type = ReflectRayBC
boundary = 'interior_top interior_right interior_bottom interior_left interior_front interior_back'
[]
[]
[UserObjects/study]
type = RepeatableRayStudy
start_points = '0 0 0
2 2 2
6 6 6
4 4 4
0 2.5 2.5
3 3 6
2.5 0 0
3 3 3
2.5 2.5 2.5'
directions = '1 1 1
1 1 1
-1 -1 -1
-1 -1 -1
1 0.1 0
0 0 -1
0 1 1
1 1 1
0.5 1.5 1.5'
names = 'to_bottom_left_corner
at_bottom_left_corner
to_top_right_corner
at_top_right_corner
centroid_offset
top_down
left_to_edge
inside_to_corner
inside_offset'
execute_on = initial
ray_distance = 10
ray_kernel_coverage_check = false
use_internal_sidesets = true
[]
[Postprocessors/total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/traceray/internal_sidesets/internal_sidesets_2d.i)
[Mesh]
[cmg]
type = CartesianMeshGenerator
dim = 2
dx = '2 2 2'
dy = '2 2 2'
ix = '2 2 2'
iy = '2 2 2'
subdomain_id = '0 1 0
2 5 3
0 4 0'
[]
[interior_bottom]
type = SideSetsBetweenSubdomainsGenerator
input = cmg
primary_block = 5
paired_block = 1
new_boundary = 'interior_bottom'
[]
[interior_left]
type = SideSetsBetweenSubdomainsGenerator
input = interior_bottom
primary_block = 5
paired_block = 2
new_boundary = 'interior_left'
[]
[interior_right]
type = SideSetsBetweenSubdomainsGenerator
input = interior_left
primary_block = 5
paired_block = 3
new_boundary = 'interior_right'
[]
[interior_top]
type = SideSetsBetweenSubdomainsGenerator
input = interior_right
primary_block = 5
paired_block = 4
new_boundary = 'interior_top'
[]
[]
[RayBCs]
active = 'kill_internal'
# active = 'kill_external reflect_internal'
# for testing internal kill
[kill_internal]
type = KillRayBC
boundary = 'interior_top interior_right interior_bottom interior_left'
[]
# for testing internal reflect
[kill_external]
type = KillRayBC
boundary = 'top right bottom left'
[]
[reflect_internal]
type = ReflectRayBC
boundary = 'interior_top interior_right interior_bottom interior_left'
[]
[]
[UserObjects/study]
type = RepeatableRayStudy
start_points = '0 0 0
2 4 0
6 6 0
0 2.5 0
3 6 0
2.5 2.5 0'
directions = '1 1 0
1 -1 0
-1 -1 0
1 0.1 0
0 -1 0
0.5 1.5 0'
names = 'to_bottom_left_corner
at_top_left_corner
to_top_right_corner
to_left_offset
to_top_center_node
inside_to_top'
ray_distance = 10
execute_on = initial
ray_kernel_coverage_check = false
use_internal_sidesets = true
[]
[Postprocessors/total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/userobjects/repeatable_ray_study_base/recover.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmax = 5
ymax = 5
[]
[]
[RayBCs/kill]
type = KillRayBC
boundary = 'top right bottom left'
[]
[UserObjects/lots]
type = TestRayDataStudy
centroid_to_centroid = true
vertex_to_vertex = true
centroid_to_vertex = true
execute_on = timestep_end
compute_expected_distance = true
data_size = 3
aux_data_size = 2
[]
[RayKernels/data]
type = TestRayDataRayKernel
[]
[Executioner]
type = Transient
num_steps = 2
[]
[Problem]
solve = false
[]
[Postprocessors]
[total_distance]
type = RayTracingStudyResult
study = lots
result = total_distance
[]
[expected_distance]
type = LotsOfRaysExpectedDistance
lots_of_rays_study = lots
[]
[distance_difference]
type = DifferencePostprocessor
value1 = total_distance
value2 = expected_distance
[]
[]
[Outputs]
csv = true
[]
(modules/ray_tracing/test/tests/traceray/backface_culling/backface_culling.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
nx = 5
ny = 5
nz = 5
xmax = 5
ymax = 5
zmax = 5
[]
[]
[RayBCs]
active = ''
[kill_1d]
type = KillRayBC
boundary = 'left right'
[]
[kill_2d]
type = KillRayBC
boundary = 'top right bottom left'
[]
[kill_3d]
type = KillRayBC
boundary = 'top right bottom left front back'
[]
[]
[UserObjects/study]
type = BackfaceCullingStudyTest
ray_kernel_coverage_check = false
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
side_aq = true
centroid_aq = true
edge_to_edge = false
compute_expected_distance = true
execute_on = initial
[]
[Postprocessors]
[total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
[]
[expected_distance]
type = LotsOfRaysExpectedDistance
lots_of_rays_study = study
[]
[distance_difference]
type = DifferencePostprocessor
value1 = total_distance
value2 = expected_distance
[]
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/traceray/internal_sidesets/internal_sidesets_1d.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 1
xmax = 6
nx = 6
[]
[central_block]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '2 0 0'
top_right = '4 0 0'
[]
[central_boundary]
type = SideSetsBetweenSubdomainsGenerator
input = central_block
primary_block = 1
paired_block = 0
new_boundary = 7
[]
[]
[RayBCs]
active = 'kill_internal'
# active = 'kill_external reflect_internal'
# for testing internal kill
[kill_internal]
type = KillRayBC
boundary = 7
[]
# for testing internal reflect
[kill_external]
type = KillRayBC
boundary = 'left right'
[]
[reflect_internal]
type = ReflectRayBC
boundary = 7
[]
[]
[UserObjects/study]
type = RepeatableRayStudy
start_points = '0 0 0
2 0 0
6 0 0
4 0 0
3 0 0'
directions = '1 0 0
1 0 0
-1 0 0
-1 0 0
-1 0 0'
names = 'left_in at_left right_in at_right inside_left'
ray_distance = 10
execute_on = initial
ray_kernel_coverage_check = false
use_internal_sidesets = true
[]
[Postprocessors/total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/userobjects/ray_tracing_study/ray_data/ray_data.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmax = 5
ymax = 5
[]
[]
[RayBCs]
[kill1]
type = KillRayBC
boundary = 'top right bottom left'
study = test1
[]
[kill2]
type = KillRayBC
boundary = 'top right bottom left'
study = test2
[]
[kill3]
type = KillRayBC
boundary = 'top right bottom left'
study = test3
[]
[kill4]
type = KillRayBC
boundary = 'top right bottom left'
study = test4
[]
[]
[RayKernels]
[data1]
type = TestRayDataRayKernel
study = test1
[]
[data2]
type = TestRayDataRayKernel
study = test2
[]
[data3]
type = TestRayDataRayKernel
study = test3
[]
[data4]
type = TestRayDataRayKernel
study = test4
[]
[]
[UserObjects]
[test1]
type = TestRayDataStudy
execute_on = timestep_end
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
data_size = 1
aux_data_size = 2
[]
[test2]
type = TestRayDataStudy
execute_on = timestep_end
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
data_size = 2
aux_data_size = 3
[]
[test3]
type = TestRayDataStudy
execute_on = timestep_end
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
data_size = 3
aux_data_size = 4
[]
[test4]
type = TestRayDataStudy
execute_on = timestep_end
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
data_size = 4
aux_data_size = 6
[]
[]
[Executioner]
type = Transient
num_steps = 2
[]
[Problem]
solve = false
[]
[Adaptivity]
steps = 1
marker = marker
[Markers/marker]
type = BoxMarker
bottom_left = '3 0 0'
top_right = '5 5 0'
inside = REFINE
outside = DO_NOTHING
[]
[]
[Postprocessors]
[ray_distance1]
type = RayTracingStudyResult
result = total_distance
study = test1
[]
[ray_distance2]
type = RayTracingStudyResult
result = total_distance
study = test2
[]
[ray_distance3]
type = RayTracingStudyResult
result = total_distance
study = test3
[]
[ray_distance4]
type = RayTracingStudyResult
result = total_distance
study = test4
[]
[]
[Outputs]
csv = true
[]
(modules/ray_tracing/test/tests/userobjects/ray_tracing_study/lots.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[]
[UserObjects/lots]
type = LotsOfRaysRayStudy
ray_kernel_coverage_check = false # no need for RayKernels
execute_on = initial
[]
[RayBCs/kill]
type = KillRayBC
boundary = 'top left right bottom'
[]
[Postprocessors/total_distance]
type = RayTracingStudyResult
study = lots
result = total_distance
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
csv = true
exodus = false
[]
(modules/ray_tracing/test/tests/traceray/lots.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
nz = 5
xmax = 5
ymax = 5
zmax = 5
[]
[]
[RayBCs]
active = 'kill_2d'
[kill_1d]
type = KillRayBC
boundary = 'left right'
[]
[kill_2d]
type = KillRayBC
boundary = 'top right bottom left'
[]
[kill_3d]
type = KillRayBC
boundary = 'top right bottom left front back'
[]
[]
# Add a dummy RayKernel to enable additional error
# checking before onSegment() is called
[RayKernels/null]
type = NullRayKernel
[]
[UserObjects/lots]
type = LotsOfRaysRayStudy
vertex_to_vertex = false
centroid_to_vertex = false
centroid_to_centroid = false
side_aq = false
centroid_aq = false
compute_expected_distance = true
execute_on = initial
[]
[Postprocessors]
[total_distance]
type = RayTracingStudyResult
study = lots
result = total_distance
[]
[expected_distance]
type = LotsOfRaysExpectedDistance
lots_of_rays_study = lots
[]
[distance_difference]
type = DifferencePostprocessor
value1 = total_distance
value2 = expected_distance
[]
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/userobjects/ray_tracing_study/kernel_create_ray/kernel_create_ray.i)
[Mesh]
active = gmg_2d
[gmg_2d]
type = GeneratedMeshGenerator
dim = 2
nx = 3
ny = 3
xmax = 3
ymax = 3
[]
[gmg_3d]
type = GeneratedMeshGenerator
dim = 3
nx = 3
ny = 3
nz = 3
xmax = 3
ymax = 3
zmax = 3
[]
[]
[RayBCs]
active = kill_2d
[kill_2d]
type = KillRayBC
boundary = 'top right bottom left'
[]
[kill_3d]
type = KillRayBC
boundary = 'top right bottom left front back'
[]
[]
[RayKernels/create_ray]
type = CreateRayRayKernelTest
[]
[UserObjects/lots]
type = LotsOfRaysRayStudy
execute_on = initial
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
[]
[Postprocessors]
[total_distance]
type = RayTracingStudyResult
study = lots
result = total_distance
[]
[total_rays_started]
type = RayTracingStudyResult
study = lots
result = total_rays_started
[]
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/traceray/adaptivity/adaptivity_3d.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 2
nz = 2
[]
[]
[Variables/u]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[time]
type = TimeDerivative
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[Executioner]
type = Transient
num_steps = 3
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
steps = 1
marker = marker
initial_marker = marker
max_h_level = 2
[Indicators/indicator]
type = GradientJumpIndicator
variable = u
[]
[Markers/marker]
type = ErrorFractionMarker
indicator = indicator
coarsen = 0.1
refine = 0.1
[]
[]
[UserObjects/study]
type = LotsOfRaysRayStudy
ray_kernel_coverage_check = false
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
execute_on = timestep_end
[]
[RayBCs/kill]
type = KillRayBC
boundary = 'top right bottom left front back'
[]
[Postprocessors]
[total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
execute_on = timestep_end
[]
[total_rays]
type = RayTracingStudyResult
study = study
result = total_rays_started
execute_on = timestep_end
[]
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/userobjects/ray_tracing_study/bc_create_ray/bc_create_ray.i)
[Mesh]
active = gmg_2d
[gmg_2d]
type = GeneratedMeshGenerator
dim = 2
nx = 3
ny = 3
xmax = 3
ymax = 3
[]
[gmg_3d]
type = GeneratedMeshGenerator
dim = 3
nx = 3
ny = 3
nz = 3
xmax = 3
ymax = 3
zmax = 3
[]
[]
[RayBCs]
active = 'kill_2d create_2d'
[kill_2d]
type = KillRayBC
boundary = 'top right bottom left'
[]
[create_2d]
type = CreateRayRayBCTest
boundary = 'top right bottom left'
[]
[kill_3d]
type = KillRayBC
boundary = 'top right bottom left front back'
[]
[create_3d]
type = CreateRayRayBCTest
boundary = 'top right bottom left front back'
[]
[]
[UserObjects/lots]
type = LotsOfRaysRayStudy
execute_on = initial
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
ray_kernel_coverage_check = false
[]
[Postprocessors]
[total_distance]
type = RayTracingStudyResult
study = lots
result = total_distance
[]
[total_rays_started]
type = RayTracingStudyResult
study = lots
result = total_rays_started
[]
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/traceray/adaptivity/adaptivity_1d.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 1
nx = 2
[]
[]
[Variables/u]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[time]
type = TimeDerivative
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[Executioner]
type = Transient
num_steps = 3
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
steps = 1
marker = marker
initial_marker = marker
max_h_level = 2
[Indicators/indicator]
type = GradientJumpIndicator
variable = u
[]
[Markers/marker]
type = ErrorFractionMarker
indicator = indicator
coarsen = 0.1
refine = 0.1
[]
[]
[UserObjects/study]
type = LotsOfRaysRayStudy
ray_kernel_coverage_check = false
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = true
execute_on = timestep_end
[]
[RayBCs/kill]
type = KillRayBC
boundary = 'left right'
[]
[Postprocessors]
[total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
execute_on = timestep_end
[]
[total_rays]
type = RayTracingStudyResult
study = study
result = total_rays_started
execute_on = timestep_end
[]
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/userobjects/ray_tracing_study/kernel_change_ray/kernel_change_ray.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmax = 5
ymax = 5
[]
[]
[Variables/phase]
[InitialCondition]
type = FunctionIC
variable = field
function = '(x > 2.99) * 1.0'
[]
[]
[RayBCs/kill]
type = KillRayBC
boundary = 'top right bottom left'
[]
[RayKernels/test]
type = RefractionRayKernelTest
field = phase
[]
[UserObjects/lots]
type = LotsOfRaysRayStudy
vertex_to_vertex = true
centroid_to_vertex = true
centroid_to_centroid = false
execute_on = initial
[]
[Postprocessors/total_distance]
type = RayTracingStudyResult
study = lots
result = total_distance
[]
[Executioner]
type = Steady
[]
[Problem]
solve = false
[]
[Outputs]
exodus = false
csv = true
[]
(modules/ray_tracing/test/tests/postprocessors/ray_tracing_study_result/ray_tracing_study_result.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 1
nx = 10
[]
[]
[RayBCs/kill]
type = KillRayBC
boundary = 'left right'
[]
[UserObjects/study]
type = LotsOfRaysRayStudy
ray_kernel_coverage_check = false
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Postprocessors]
[total_rays_started]
type = RayTracingStudyResult
study = study
result = total_rays_started
[]
[total_processor_crossings]
type = RayTracingStudyResult
study = study
result = total_processor_crossings
[]
[max_processor_crossings]
type = RayTracingStudyResult
study = study
result = max_processor_crossings
[]
[total_distance]
type = RayTracingStudyResult
study = study
result = total_distance
[]
[]
[Outputs]
csv = true
[]
(modules/ray_tracing/test/tests/userobjects/repeatable_ray_study/max_distance.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmax = 5
ymax = 5
[]
[]
# to_right_distance_kill - makes it to the right boundary at (5, 0)
# and dies due to max distance (doesn't call RayBCs)
# to_right_bc_kill - makes it to right boundary at (5, 0); is still
# 0.1 from its max distance so calls 'kill_right' RayBC which
# kills it
# to_top_corner - makes it to the top right corner at (5, 5);
# reflects with direction (-1, -1) and stops once its distance
# hits 7.0
# reflect_a_lot - reflects a bunch with the RayBC 'reflect_all'
# until it gets to a distance of 50 and dies
[UserObjects/study]
type = RepeatableRayStudy
start_points = '0 0 0
0 0 0
0 0 0
0.1 0.2 0'
directions = '1 0 0
1 0 0
1 1 0
1 0.5 0'
max_distances = '5
5.1
7.0
50'
names = 'to_right_distance_kill
to_right_bc_kill
to_top_corner
reflect_a_lot'
[]
[RayKernels/null]
type = NullRayKernel
[]
[RayBCs]
[kill_right]
type = KillRayBC
boundary = right
rays = 'to_right_bc_kill'
[]
[reflect_top_right]
type = ReflectRayBC
boundary = 'top right'
rays = 'to_top_corner'
[]
[reflect_all]
type = ReflectRayBC
boundary = 'top right bottom left'
rays = 'reflect_a_lot'
[]
[]
[Postprocessors/total_distance]
type = RayTracingStudyResult
result = 'total_distance'
study = study
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = false
csv = true
[]