https://mooseframework.inl.gov
Loading...
Searching...
No Matches
RefractionRayKernelTest.h
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#pragma once
11
12#include "GeneralRayKernel.h"
13
28{
29public:
31
33
34 virtual void onSegment() override;
35
36protected:
45 Point refract(const Point & direction, const Point & normal, const Real r1, const Real r2) const;
46
51
53 const Real _r1;
55 const Real _r2;
56
59};
unsigned int RayDataIndex
Type for the index into the data and aux data on a Ray.
Definition Ray.h:52
Simplified RayKernel that refracts Rays when the phase changes (phase change denoted by a field varia...
virtual void onSegment() override
Called on each segment of a Ray.
const VariableGradient & _grad_field
The gradient of the field variable that notes the phase.
const Real _r1
The first index of refraction.
static InputParameters validParams()
Point refract(const Point &direction, const Point &normal, const Real r1, const Real r2) const
Computes the refracted direction using Snell's law.
const VariableValue & _field
The field variable that notes the phase.
const Real _r2
The second index of refraction.
const RayDataIndex _has_refracted_data_index
Index of the Ray data that notes if the Ray has refracted or not.
VariableValueTempl< false > VariableValue
VariableGradientTempl< false > VariableGradient