https://mooseframework.inl.gov
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 {
29 public:
31 
33 
34  virtual void onSegment() override;
35 
36 protected:
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 };
OutputTools< Real >::VariableGradient VariableGradient
const Real _r1
The first index of refraction.
Point refract(const Point &direction, const Point &normal, const Real r1, const Real r2) const
Computes the refracted direction using Snell&#39;s law.
const VariableGradient & _grad_field
The gradient of the field variable that notes the phase.
Simplified RayKernel that refracts Rays when the phase changes (phase change denoted by a field varia...
const Real _r2
The second index of refraction.
unsigned int RayDataIndex
Type for the index into the data and aux data on a Ray.
Definition: Ray.h:51
static InputParameters validParams()
const RayDataIndex _has_refracted_data_index
Index of the Ray data that notes if the Ray has refracted or not.
OutputTools< Real >::VariableValue VariableValue
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const VariableValue & _field
The field variable that notes the phase.
virtual void onSegment() override
Called on each segment of a Ray.
RefractionRayKernelTest(const InputParameters &params)