https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
19public:
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
35private:
39 const std::unique_ptr<libMesh::PointLocatorBase> _point_locator;
40
49 unsigned int _periodic_applied;
51 const Elem * _periodic_neighbor;
53};
RayBC that enforces periodic boundaries.
static InputParameters validParams()
static bool isPeriodicRayBC(const InputParameters &params)
Whether or not the RayBC params belong to a PeriodicRayBC.
virtual void onBoundary(const unsigned int num_applying) override final
Called on a Ray on the boundary to apply the Ray boundary condition.
const std::unique_ptr< libMesh::PointLocatorBase > _point_locator
Point locator used for searching periodic boundary points.
static const std::string periodic_boundaries_param
Name of the parameter that stores the PeriodicBoundaries pointer.
Point _periodic_point
unsigned int _periodic_applied
State variables for applying periodic boundary conditions.
const libMesh::PeriodicBoundaries & _periodic_boundaries
The PeriodicBoundaries object.
const Elem * _periodic_neighbor
const libMesh::PeriodicBoundaries & getPeriodicBoundaries() const
Get the PeriodicBoundaries object this BC acts on.