- dimensionDimension of the cylinder. 0 for a point (not implemented), 1 for an (axial) 1D line, 2 for a 2D-RZ cylinder, and 3 for a 3D cylinder (not implemented)
C++ Type:MooseEnum
Controllable:No
Description:Dimension of the cylinder. 0 for a point (not implemented), 1 for an (axial) 1D line, 2 for a 2D-RZ cylinder, and 3 for a 3D cylinder (not implemented)
- lengthLength/Height of the cylinder
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Length/Height of the cylinder
- n_axialNumber of axial elements of the cylinder
C++ Type:unsigned int
Controllable:No
Description:Number of axial elements of the cylinder
- radiusRadius of the cylinder
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Radius of the cylinder
CylinderComponent
Cylindrical component.
The CylinderComponent
is a simple ActionComponent which adds a cylinder to the mesh. The user selects the dimensionality of the cylinder using the "dimension" parameter.
0D is currently unsupported
1D makes the cylinder a simple 1D line, with attributes to keep track of its true radius and volume
2D makes the cylinder a rectangle within a local 2D RZ frame of reference
3D is not implemented, and would create a 3D cylindrical mesh.
Physics can be created on this component using the "physics" parameter. This parameter accepts a vector of names of Physics
. The name of the Physics
is generally found in the innermost block. For example, in the snippet below, the diffusion Physics
is called added_from_component
.
[Physics<<<{"href": "../../syntax/Physics/index.html"}>>>]
[Diffusion<<<{"href": "../../syntax/Physics/Diffusion/index.html"}>>>]
[FiniteVolume<<<{"href": "../../syntax/Physics/Diffusion/FiniteVolume/index.html"}>>>]
[block_specified]
diffusivity_functor<<<{"description": "Functor specifying the diffusivity. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number."}>>> = 1
block<<<{"description": "Blocks (subdomains) that this Physics is active on."}>>> = '2 cyl1'
dirichlet_boundaries<<<{"description": "Boundaries on which to apply a fixed value"}>>> = 'left cylinder_1_left'
boundary_values<<<{"description": "Functors to compute the diffusive flux on each Dirichlet boundary'. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number."}>>> = '1 3'
source_functor<<<{"description": "Source term in the diffusion problem. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number."}>>> = '1'
source_coef<<<{"description": "Coefficient multiplying the source"}>>> = '1'
[]
[added_from_component]
variable_name<<<{"description": "Variable name for the equation"}>>> = v
diffusivity_functor<<<{"description": "Functor specifying the diffusivity. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number."}>>> = 2
source_functor<<<{"description": "Source term in the diffusion problem. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number."}>>> = '2'
source_coef<<<{"description": "Coefficient multiplying the source"}>>> = '1'
dirichlet_boundaries<<<{"description": "Boundaries on which to apply a fixed value"}>>> = 'cylinder_2_right'
boundary_values<<<{"description": "Functors to compute the diffusive flux on each Dirichlet boundary'. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number."}>>> = '2'
[]
[]
[]
[]
(moose/test/tests/actioncomponents/interfaces/component_with_physics.i)The cylinder component on which the component_with_physics
DiffusionCG is active is then created as shown below:
[ActionComponents<<<{"href": "../../syntax/ActionComponents/index.html"}>>>]
[cylinder_1]
type = CylinderComponent<<<{"description": "Cylindrical component.", "href": "CylinderComponent.html"}>>>
dimension<<<{"description": "Dimension of the cylinder. 0 for a point (not implemented), 1 for an (axial) 1D line, 2 for a 2D-RZ cylinder, and 3 for a 3D cylinder (not implemented)"}>>> = 2
radius<<<{"description": "Radius of the cylinder"}>>> = 2
length<<<{"description": "Length/Height of the cylinder"}>>> = 10
n_axial<<<{"description": "Number of axial elements of the cylinder"}>>> = 1
n_radial<<<{"description": "Number of radial elements of the cylinder"}>>> = 1
position<<<{"description": "Vector to translate the mesh of this component by."}>>> = '1 0 0'
direction<<<{"description": "Direction to orient the component mesh with, assuming it is initially oriented along the X-axis (1, 0, 0). Note that this rotation is applied before the translation."}>>> = '0 1 0'
block<<<{"description": "Block name for the cylinder"}>>> = 'cyl1'
[]
[cylinder_2]
type = CylinderComponent<<<{"description": "Cylindrical component.", "href": "CylinderComponent.html"}>>>
dimension<<<{"description": "Dimension of the cylinder. 0 for a point (not implemented), 1 for an (axial) 1D line, 2 for a 2D-RZ cylinder, and 3 for a 3D cylinder (not implemented)"}>>> = 2
radius<<<{"description": "Radius of the cylinder"}>>> = 4
length<<<{"description": "Length/Height of the cylinder"}>>> = 1
n_axial<<<{"description": "Number of axial elements of the cylinder"}>>> = 1
n_radial<<<{"description": "Number of radial elements of the cylinder"}>>> = 1
position<<<{"description": "Vector to translate the mesh of this component by."}>>> = '2 0 0'
direction<<<{"description": "Direction to orient the component mesh with, assuming it is initially oriented along the X-axis (1, 0, 0). Note that this rotation is applied before the translation."}>>> = '0 0 1'
physics<<<{"description": "Physics object(s) active on the Component"}>>> = 'added_from_component'
block<<<{"description": "Block name for the cylinder"}>>> = 'cyl2'
verbose<<<{"description": "Whether the component setup should be verbose"}>>> = true
[]
[]
(moose/test/tests/actioncomponents/interfaces/component_with_physics.i)Input Parameters
- blockBlock name for the cylinder
C++ Type:SubdomainName
Controllable:No
Description:Block name for the cylinder
- n_azimuthalNumber of azimuthal elements of the cylinder
C++ Type:unsigned int
Controllable:No
Description:Number of azimuthal elements of the cylinder
- n_radialNumber of radial elements of the cylinder
C++ Type:unsigned int
Controllable:No
Description:Number of radial elements of the cylinder
- physicsPhysics object(s) active on the Component
C++ Type:std::vector<PhysicsName>
Controllable:No
Description:Physics object(s) active on the Component
- verboseFalseWhether the component setup should be verbose
Default:False
C++ Type:bool
Controllable:No
Description:Whether the component setup should be verbose
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.
Advanced Parameters
- define_functor_propertiesTrueIf true, define functor properties from the values provided
Default:True
C++ Type:bool
Controllable:No
Description:If true, define functor properties from the values provided
- define_material_propertiesTrueIf true, define material properties from the values provided
Default:True
C++ Type:bool
Controllable:No
Description:If true, define material properties from the values provided
- property_namesList of material properties that should be defined on this ActionComponent
C++ Type:std::vector<std::string>
Controllable:No
Description:List of material properties that should be defined on this ActionComponent
- property_valuesFunctors that provide the values of the material property on this ActionComponent. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
C++ Type:std::vector<MooseFunctorName>
Unit:(no unit assumed)
Controllable:No
Description:Functors that provide the values of the material property on this ActionComponent. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
- use_ad_for_propertiesTrueWhether to use automatic differentiation for the properties defined
Default:True
C++ Type:bool
Controllable:No
Description:Whether to use automatic differentiation for the properties defined
Material And Functor Property Parameters
- directionDirection to orient the component mesh with, assuming it is initially oriented along the X-axis (1, 0, 0). Note that this rotation is applied before the translation.
C++ Type:libMesh::VectorValue<double>
Unit:(no unit assumed)
Controllable:No
Description:Direction to orient the component mesh with, assuming it is initially oriented along the X-axis (1, 0, 0). Note that this rotation is applied before the translation.
- position0 0 0Vector to translate the mesh of this component by.
Default:0 0 0
C++ Type:libMesh::Point
Controllable:No
Description:Vector to translate the mesh of this component by.
- rotationRotation angles (XZX convention, in degrees NOT radians) to rotate the mesh of this component with. Note that this rotation is applied before the translation.
C++ Type:libMesh::VectorValue<double>
Unit:(no unit assumed)
Controllable:No
Description:Rotation angles (XZX convention, in degrees NOT radians) to rotate the mesh of this component with. Note that this rotation is applied before the translation.
Position And Orientation Of The Component Parameters
- fixed_value_bc_boundariesBoundaries on which to apply the fixed value boundary condition(s). Outer ordering is variables, inner order is surfaces
C++ Type:std::vector<std::vector<BoundaryName>>
Controllable:No
Description:Boundaries on which to apply the fixed value boundary condition(s). Outer ordering is variables, inner order is surfaces
- fixed_value_bc_valuesFunctors that provide the fixed value boundary condition(s) values. Outer ordering is variables, inner order is surfaces. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
C++ Type:std::vector<std::vector<MooseFunctorName>>
Unit:(no unit assumed)
Controllable:No
Description:Functors that provide the fixed value boundary condition(s) values. Outer ordering is variables, inner order is surfaces. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
- fixed_value_bc_variablesList of variables that have fixed value boundary condition(s) defined on this component
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:List of variables that have fixed value boundary condition(s) defined on this component
- flux_bc_boundariesBoundaries on which to apply the flux boundary condition(s). Outer ordering is variables, inner order is surfaces
C++ Type:std::vector<std::vector<BoundaryName>>
Controllable:No
Description:Boundaries on which to apply the flux boundary condition(s). Outer ordering is variables, inner order is surfaces
- flux_bc_valuesFunctors that provide the flux boundary condition(s) values. Outer ordering is variables, inner order is surfaces. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
C++ Type:std::vector<std::vector<MooseFunctorName>>
Unit:(no unit assumed)
Controllable:No
Description:Functors that provide the flux boundary condition(s) values. Outer ordering is variables, inner order is surfaces. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
- flux_bc_variablesList of variables that have flux boundary condition(s) defined on this component
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:List of variables that have flux boundary condition(s) defined on this component
Variable Boundary Conditions Parameters
- initial_condition_valuesFunctors that provide the initial values of the variables on this ActionComponent. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
C++ Type:std::vector<MooseFunctorName>
Unit:(no unit assumed)
Controllable:No
Description:Functors that provide the initial values of the variables on this ActionComponent. A functor is any of the following: a variable, a functor material property, a function, a postprocessor or a number.
- initial_condition_variablesList of variables that should have an initial condition defined on the blocks of this ActionComponent
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:List of variables that should have an initial condition defined on the blocks of this ActionComponent