https://mooseframework.inl.gov
PeriodicBCHelper.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 "InputParameters.h"
13 
14 #include "libmesh/periodic_boundaries.h"
15 
16 class Action;
17 class FEProblemBase;
18 class InputParameters;
19 class MooseMesh;
20 
21 namespace Moose
22 {
30 {
31 public:
33 
34  PeriodicBCHelper(const Action & action);
35 
36 protected:
40  void checkPeriodicParams() const;
41 
51  void setupPeriodicBoundaries(FEProblemBase & problem);
52 
57 
62 
63 private:
67  void addPeriodicBoundary(std::unique_ptr<libMesh::PeriodicBoundaryBase> /* p */);
68 
78 
85  const InputParameters & getParams() const;
86 
88  const Action & _action;
93 };
94 }
void setupPeriodicBoundaries(FEProblemBase &problem)
Sets up the periodic boundaries.
void setupManualPeriodicBoundaries(FEProblemBase &problem)
Internal method for setting up manual periodic boundaries via the "translation" and "transform_func" ...
void addPeriodicBoundary(std::unique_ptr< libMesh::PeriodicBoundaryBase >)
Internal helper for adding a periodic boundary.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Helper class for setting up periodic boundary conditions via an Action.
PeriodicBCHelper(const Action &action)
const libMesh::PeriodicBoundaries & getPeriodicBoundaries() const
Get the PeriodicBoundaries map produced in setupPeriodicBoundaries().
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Base class for actions.
Definition: Action.h:34
void checkPeriodicParams() const
Checks the validity of the periodic boundary condition parameters.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:93
void setupAutoPeriodicBoundaries(MooseMesh &mesh)
Internal method for setting up periodic boundaries via the "auto_direction" param.
static InputParameters validParams()
const InputParameters & _params
The parameters used to create the periodic boundary.
const InputParameters & getParams() const
Internal method for getting the parameters by the owned action.
libMesh::PeriodicBoundaries _periodic_boundaries
The PeriodicBoundaries map, filled in setupPeriodicBoundaries()
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
virtual void onSetupPeriodicBoundary(libMesh::PeriodicBoundaryBase &)
Entry-point for derived actions to extend the addition of a periodic boundary.
const Action & _action
The owning Action.