https://mooseframework.inl.gov
TestPICRayStudy.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 "RayTracingStudy.h"
13 
19 {
20 public:
22 
24 
25  virtual void generateRays() override;
26 
27 protected:
28  virtual void postExecuteStudy() override;
29 
30 private:
36  Real maxDistance(const Ray & ray) const;
37 
39  const std::vector<Point> & _start_points;
40 
42  const std::vector<Point> & _start_directions;
43 
46 
49 
51  std::vector<std::shared_ptr<Ray>> & _banked_rays;
52 };
Real maxDistance(const Ray &ray) const
static InputParameters validParams()
virtual void generateRays() override
Subclasses should override this to determine how to generate Rays.
std::vector< std::shared_ptr< Ray > > & _banked_rays
The banked rays to be used on the next timestep (restartable)
virtual void postExecuteStudy() override
Entry point after study execution.
bool & _has_generated
Whether or not we&#39;ve generated rays yet (restartable)
Basic datastructure for a ray that will traverse the mesh.
Definition: Ray.h:56
Test study for generating rays for a basic particle-in-cell capability, where Rays propagate a bit ea...
TestPICRayStudy(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
const std::vector< Point > & _start_points
The starting points.
const Function & _velocity_function
The function that represents the velocity field.
const std::vector< Point > & _start_directions
The starting directions.
Base class for Ray tracing studies that will generate Rays and then propagate all of them to terminat...