www.mooseframework.org
Axisymmetric2D3DSolutionFunction.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 AXISYMMETRIC2D3DSOLUTIONFUNCTION_H
16 #define AXISYMMETRIC2D3DSOLUTIONFUNCTION_H
17 
18 #include "Function.h"
19 
20 // Forward decleration
22 class SolutionUserObject;
23 
24 template <>
26 
35 {
36 public:
42 
43  virtual Real value(Real t, const Point & p) override;
44 
51  virtual void initialSetup() override;
52 
53 protected:
56 
58  const Real _scale_factor;
59 
61  const Real _add_factor;
62 
66  const Real _axial_dim_ratio;
67 
71 
75 
78  const bool _has_component;
79 
81  const unsigned int _component;
82 
85 
87  std::vector<std::string> _var_names;
88 
90  std::vector<unsigned int> _solution_object_var_indices;
91 };
92 
93 #endif // AXISYMMETRIC2D3DSOLUTIONFUNCTION_H
const Real _add_factor
Factor to add to the solution (default = 0)
Base class for function objects.
Definition: Function.h:46
VectorValue< Real > RealVectorValue
Definition: Assembly.h:40
std::vector< unsigned int > _solution_object_var_indices
The local SolutionUserObject indices for the variables extracted from the file.
Axisymmetric2D3DSolutionFunction(const InputParameters &parameters)
Constructor.
const unsigned int _component
The index of the component.
const RealVectorValue _2d_axis_point1
Two points that define the axis of rotation for the 2d model.
virtual Real value(Real t, const Point &p) override
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const RealVectorValue _3d_axis_point1
Two points that define the axis of rotation for the 3d model.
InputParameters validParams< Axisymmetric2D3DSolutionFunction >()
bool _default_axes
Are the default axes of rotation being used?
std::vector< std::string > _var_names
The variable names to extract from the file.
Function for reading a 2D axisymmetric solution from file and mapping it to a 3D Cartesian system...
const SolutionUserObject * _solution_object_ptr
Pointer to SolutionUserObject containing the solution of interest.
const Real _axial_dim_ratio
Ratio of axial dimension of 3d model to its counterpart in the 2d model.
virtual void initialSetup() override
Setup the function for use Gathers a pointer to the SolutionUserObject containing the solution that w...
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
const bool _has_component
If the solution field is a vector, the desired component must be specified Has the component been spe...
User object that reads an existing solution from an input file and uses it in the current simulation...
const Real _scale_factor
Factor to scale the solution by (default = 1)