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/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'
  []
[]
(moose/test/tests/actioncomponents/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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of axial elements of the cylinder

  • positionPositional offset of the cylinder

    C++ Type:libMesh::Point

    Unit:(no unit assumed)

    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

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • blockBlock name for the cylinder

    C++ Type:SubdomainName

    Unit:(no unit assumed)

    Controllable:No

    Description:Block name for the cylinder

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

  • n_azimuthalNumber of azimuthal elements of the cylinder

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of azimuthal elements of the cylinder

  • n_radialNumber of radial elements of the cylinder

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of radial elements of the cylinder

  • physicsPhysics object(s) active on the Component

    C++ Type:std::vector<PhysicsName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Physics object(s) active on the Component

  • verboseFalseWhether the component setup should be verbose

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

Advanced Parameters