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

  • 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

    Options:0, 1, 2, 3

    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

Required 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

Variable Initialization Parameters