www.mooseframework.org
FunctionPeriodicBoundary.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef FUNCTIONPERIODICBOUNDARY_H
16 #define FUNCTIONPERIODICBOUNDARY_H
17 
18 #include "Moose.h"
19 
20 // libMesh
21 #include "libmesh/point.h"
22 #include "libmesh/periodic_boundary_base.h"
23 
24 #include <vector>
25 
26 class FEProblemBase;
27 class Function;
28 
33 class FunctionPeriodicBoundary : public PeriodicBoundaryBase
34 {
35 public:
39  FunctionPeriodicBoundary(FEProblemBase & subproblem, std::vector<std::string> fn_names);
40 
47 
53  virtual Point get_corresponding_pos(const Point & pt) const override;
54 
58  virtual std::unique_ptr<PeriodicBoundaryBase> clone(TransformationType t) const override;
59 
60 protected:
61  // /// The dimension of the problem (says which _tr_XYZ member variables are active)
62  unsigned int _dim;
63 
66 
69 
72 
76  void init();
77 };
78 
79 #endif // FUNCTIONPERIODICBOUNDARY_H
Base class for function objects.
Definition: Function.h:46
Periodic boundary for calculation periodic BC on domains where the translation is given by functions...
virtual Point get_corresponding_pos(const Point &pt) const override
Get the translation based on point &#39;pt&#39;.
Function * _tr_y
Pointer to Function for y-component of the boundary.
Function * _tr_z
Pointer to Function for z-component of the boundary.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Function * _tr_x
Pointer to Function for x-component of the boundary.
virtual std::unique_ptr< PeriodicBoundaryBase > clone(TransformationType t) const override
Required interface, this class must be able to clone itself.
void init()
An initialization method to make certain that intialSetup() of a function prior to value() ...
FunctionPeriodicBoundary(FEProblemBase &subproblem, std::vector< std::string > fn_names)
Initialize the periodic boundary with three functions.