https://mooseframework.inl.gov
PeriodicRayBC.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 "GeneralRayBC.h"
13 
18 {
19 public:
20  PeriodicRayBC(const InputParameters & params);
21 
23 
24  virtual void onBoundary(const unsigned int num_applying) override final;
25 
27  static bool isPeriodicRayBC(const InputParameters & params);
28 
30  static const std::string periodic_boundaries_param;
31 
34 
35 private:
39  const std::unique_ptr<libMesh::PointLocatorBase> _point_locator;
40 
48  unsigned int _periodic_applied;
51  const Elem * _periodic_neighbor;
53 };
static const std::string periodic_boundaries_param
Name of the parameter that stores the PeriodicBoundaries pointer.
Definition: PeriodicRayBC.h:30
virtual void onBoundary(const unsigned int num_applying) override final
Called on a Ray on the boundary to apply the Ray boundary condition.
Definition: PeriodicRayBC.C:58
RayBC that enforces periodic boundaries.
Definition: PeriodicRayBC.h:17
const Elem * _periodic_neighbor
Definition: PeriodicRayBC.h:51
unsigned int _periodic_applied
State variables for applying periodic boundary conditions.
Definition: PeriodicRayBC.h:49
const libMesh::PeriodicBoundaries & getPeriodicBoundaries() const
Get the PeriodicBoundaries object this BC acts on.
Definition: PeriodicRayBC.h:33
static InputParameters validParams()
Definition: PeriodicRayBC.C:23
const std::unique_ptr< libMesh::PointLocatorBase > _point_locator
Point locator used for searching periodic boundary points.
Definition: PeriodicRayBC.h:39
static bool isPeriodicRayBC(const InputParameters &params)
Whether or not the RayBC params belong to a PeriodicRayBC.
Definition: PeriodicRayBC.C:52
Point _periodic_point
Definition: PeriodicRayBC.h:50
const libMesh::PeriodicBoundaries & _periodic_boundaries
The PeriodicBoundaries object.
Definition: PeriodicRayBC.h:37
PeriodicRayBC(const InputParameters &params)
Definition: PeriodicRayBC.C:41