- 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)
- directionDirection of the cylinder
C++ Type:libMesh::Point
Controllable:No
Description:Direction of the cylinder
- 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
- positionPositional offset of the cylinder
C++ Type:libMesh::Point
Controllable:No
Description:Positional offset 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]
[Diffusion]
[FiniteVolume]
[block_specified]
diffusivity_functor = 1
block = '2 cyl1'
dirichlet_boundaries = 'left cylinder_1_left'
boundary_values = '1 3'
source_functor = '1'
source_coef = '1'
[]
[added_from_component]
variable_name = v
diffusivity_functor = 2
source_functor = '2'
source_coef = '1'
dirichlet_boundaries = 'cylinder_2_right'
boundary_values = '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]
[cylinder_1]
type = CylinderComponent
dimension = 2
radius = 2
length = 10
n_axial = 1
n_radial = 1
position = '1 0 0'
direction = '0 1 0'
block = 'cyl1'
[]
[cylinder_2]
type = CylinderComponent
dimension = 2
radius = 4
length = 1
n_axial = 1
n_radial = 1
position = '2 0 0'
direction = '0 0 1'
physics = 'added_from_component'
block = 'cyl2'
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
C++ Type:std::vector<MooseFunctorName>
Unit:(no unit assumed)
Controllable:No
Description:Functors that provide the values of the material property on this ActionComponent
- 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
- 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
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
- 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
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
- 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
C++ Type:std::vector<MooseFunctorName>
Unit:(no unit assumed)
Controllable:No
Description:Functors that provide the initial values of the variables on this ActionComponent
- 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