- vector_magnitude_nameThe name of the vector magnitude functor that we are creating. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.
C++ Type:MooseFunctorName
Unit:(no unit assumed)
Controllable:No
Description:The name of the vector magnitude functor that we are creating. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.
VectorMagnitudeFunctorMaterial
This class takes up to three scalar-valued functors corresponding to vector components or a single vector functor and computes the Euclidean norm.
Overview
This class either takes 1-3 scalar-valued (e.g. Real
, ADReal
) functors or a single vector functor and creates a functor that returns the Euclidean norm of the input. For creating a Real
-returning functor that takes in Real
input, use the VectorMagnitudeFunctorMaterial
type in the input file. For a ADReal
-returning functor that takes in ADReal
input, use ADVectorMagnitudeFunctorMaterial
. If using component inputs and the y or z-component functor parameters are not provided, then they are defaulted to 0.
Example Input File Syntax
Scalar-component inputs
In this example, ADVectorMagnitudeFunctorMaterial
is used to define the vector magnitude of the vector component inputs u
and v
which happen to be nonlinear variables in this case. u
varies from 0 to 1 from bottom to top and v
varies from 0 to 1 from left to right, such that the magnitude field is symmetric about the line y=x with the field value increasing moving to the top-right.
[Materials]
[functor]
type = ADVectorMagnitudeFunctorMaterial
x_functor = u
y_functor = v
vector_magnitude_name = mat_mag
[]
[]
(moose/test/tests/materials/functor_properties/vector-magnitude/test.i)Vector input
In this example, the functor provided by ADVectorMagnitudeFunctorMaterial
(which we name mat_mag
to avoid collision with the auxiliary variable mag
) computes the norm of the vector functor u
, which is a nonlinear variable in this simulation.
[Materials]
[functor]
type = ADVectorMagnitudeFunctorMaterial
vector_functor = u
vector_magnitude_name = mat_mag
[]
[]
(moose/test/tests/materials/functor_properties/vector-magnitude/vector-test.i)Input Parameters
- blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of blocks (ids or names) that this object will be applied
- declare_suffixAn optional suffix parameter that can be appended to any declared properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:An optional suffix parameter that can be appended to any declared properties. The suffix will be prepended with a '_' character.
- execute_onALWAYSThe list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.
Default:ALWAYS
C++ Type:ExecFlagEnum
Controllable:No
Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.
- vector_functorThe name of a vector functor that we will take the magnitude of. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.
C++ Type:MooseFunctorName
Unit:(no unit assumed)
Controllable:No
Description:The name of a vector functor that we will take the magnitude of. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.
- x_functorThe functor corresponding to the x component. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.
C++ Type:MooseFunctorName
Unit:(no unit assumed)
Controllable:No
Description:The functor corresponding to the x component. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.
- y_functor0The functor corresponding to the y component. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.
Default:0
C++ Type:MooseFunctorName
Unit:(no unit assumed)
Controllable:No
Description:The functor corresponding to the y component. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.
- z_functor0The functor corresponding to the z component. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.
Default:0
C++ Type:MooseFunctorName
Unit:(no unit assumed)
Controllable:No
Description:The functor corresponding to the z component. A functor is any of the following: a variable, a functor material property, a function, a post-processor, or a number.
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:Yes
Description:Set the enabled status of the MooseObject.
- implicitTrueDetermines whether this object is calculated using an implicit or explicit form
Default:True
C++ Type:bool
Controllable:No
Description:Determines whether this object is calculated using an implicit or explicit form
- seed0The seed for the master random number generator
Default:0
C++ Type:unsigned int
Controllable:No
Description:The seed for the master random number generator
Advanced Parameters
- output_propertiesList of material properties, from this material, to output (outputs must also be defined to an output type)
C++ Type:std::vector<std::string>
Controllable:No
Description:List of material properties, from this material, to output (outputs must also be defined to an output type)
- outputsnone Vector of output names where you would like to restrict the output of variables(s) associated with this object
Default:none
C++ Type:std::vector<OutputName>
Controllable:No
Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object