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