www.mooseframework.org
Classes | Functions
FunctionSeries.h File Reference

Go to the source code of this file.

Classes

class  FunctionSeries
 This class uses implementations of CompositeSeriesBasisInterface to generate a function based on convolved function series. More...
 

Functions

template<>
InputParameters validParams< FunctionSeries > ()
 

Function Documentation

◆ validParams< FunctionSeries >()

template<>
InputParameters validParams< FunctionSeries > ( )

Definition at line 21 of file FunctionSeries.C.

22 {
23  InputParameters params = validParams<MutableCoefficientsFunctionInterface>();
24 
25  params.addClassDescription("This function uses a convolution of functional series (functional "
26  "expansion or FX) to create a 1D, 2D, or 3D function");
27 
28  // The available composite series types.
29  // Cartesian: 1D, 2D, or 3D, depending on which of x, y, and z are present
30  // CylindricalDuo: planar disc expansion and axial expansion
31  MooseEnum series_types("Cartesian CylindricalDuo");
32  MooseEnum single_series_types_1D("Legendre");
33  MooseEnum single_series_types_2D("Zernike");
34 
35  params.addRequiredParam<MooseEnum>(
36  "series_type", series_types, "The type of function series to construct.");
37 
38  /*
39  * This needs to use `unsigned int` instead of `std::size_t` because otherwise MOOSE errors at
40  * runtime
41  */
42  params.addRequiredParam<std::vector<unsigned int>>("orders",
43  "The order of each series. These must be "
44  "defined as \"x y z\" for Cartesian, and \"z "
45  "disc\" for CylindricalDuo.");
46 
47  params.addParam<std::vector<Real>>("physical_bounds",
48  "The physical bounds of the function series. These must be "
49  "defined as \"x_min x_max y_min y_max z_min z_max\" for "
50  "Cartesian, and \"axial_min axial_max disc_center1 "
51  "disc_center2 radius\" for CylindricalDuo");
52 
53  params.addParam<MooseEnum>("x", single_series_types_1D, "The series to use for the x-direction.");
54  params.addParam<MooseEnum>("y", single_series_types_1D, "The series to use for the y-direction.");
55  params.addParam<MooseEnum>("z", single_series_types_1D, "The series to use for the z-direction.");
56 
57  params.addParam<MooseEnum>("disc",
59  "The series to use for the disc. Its direction is determined by "
60  "orthogonality to the declared direction of the axis.");
61 
62  std::string normalization_types = "orthonormal sqrt_mu standard";
63  MooseEnum expansion_type(normalization_types, "standard");
64  MooseEnum generation_type(normalization_types, "orthonormal");
65  params.addParam<MooseEnum>("expansion_type",
67  "The normalization used for expansion of the basis functions");
68  params.addParam<MooseEnum>(
69  "generation_type",
71  "The normalization used for generation of the basis function coefficients");
72  return params;
73 }
single_series_types_1D
MooseEnum single_series_types_1D
expansion_type
MooseEnum expansion_type
single_series_types_2D
MooseEnum single_series_types_2D
generation_type
MooseEnum generation_type
validParams< MutableCoefficientsFunctionInterface >
InputParameters validParams< MutableCoefficientsFunctionInterface >()
Definition: MutableCoefficientsFunctionInterface.C:14