FillBetweenCurvesGenerator

This FillBetweenCurvesGenerator object is designed to generate a transition layer to connect two boundaries of two input meshes.

Overview

The FillBetweenCurvesGenerator offers similar functionality to FillBetweenPointVectorsGenerator by leveraging FillBetweenPointVectorsTools. Instead of manually inputting the two boundaries "positions_vector_1" and "positions_vector_2", The FillBetweenCurvesGenerator directly takes boundary information from the two input meshes ("input_mesh_1" and "input_mesh_2") that contain the curve meshes consisting of Edge2 elements (e.g., generated by ParsedCurveGenerator). The input meshes can be translated using "mesh_1_shift" and "mesh_2_shift".

Figure 1: A typical example of using FillBetweenCurvesGenerator to connect a logarithmic curve and a circular curve.

All the other meshing options are the same as FillBetweenPointVectorsGenerator.

Example Syntax

[Mesh]
  [fbcg]
    type = FillBetweenCurvesGenerator
    input_mesh_1 = pcg1
    input_mesh_2 = pcg2
    num_layers = 3
    bias_parameter = 0.0
  []
[]
(moose/test/tests/meshgenerators/fill_between_curves_generator/fill_between_curves.i)

Input Parameters

  • input_mesh_1The input mesh that contains curve 1

    C++ Type:MeshGeneratorName

    Controllable:No

    Description:The input mesh that contains curve 1

  • input_mesh_2The input mesh that contains curve 1

    C++ Type:MeshGeneratorName

    Controllable:No

    Description:The input mesh that contains curve 1

  • num_layersNumber of layers of elements created between the boundaries.

    C++ Type:unsigned int

    Controllable:No

    Description:Number of layers of elements created between the boundaries.

Required Parameters

  • begin_side_boundary_id10000Boundary ID to be assigned to the boundary connecting starting points of the positions_vectors.

    Default:10000

    C++ Type:short

    Controllable:No

    Description:Boundary ID to be assigned to the boundary connecting starting points of the positions_vectors.

  • bias_parameter1Parameter used to set up biasing of the layers: bias_parameter > 0.0 is used as the biasing factor; bias_parameter = 0.0 activates automatic biasing based on local node density on both input boundaries.

    Default:1

    C++ Type:double

    Controllable:No

    Description:Parameter used to set up biasing of the layers: bias_parameter > 0.0 is used as the biasing factor; bias_parameter = 0.0 activates automatic biasing based on local node density on both input boundaries.

  • block_id1ID to be assigned to the transition layer.

    Default:1

    C++ Type:unsigned short

    Controllable:No

    Description:ID to be assigned to the transition layer.

  • end_side_boundary_id10000Boundary ID to be assigned to the boundary connecting ending points of the positions_vectors.

    Default:10000

    C++ Type:short

    Controllable:No

    Description:Boundary ID to be assigned to the boundary connecting ending points of the positions_vectors.

  • gaussian_sigma3Gaussian parameter used to smoothen local node density for automatic biasing; this parameter is not used if another biasing option is selected.

    Default:3

    C++ Type:double

    Controllable:No

    Description:Gaussian parameter used to smoothen local node density for automatic biasing; this parameter is not used if another biasing option is selected.

  • input_boundary_1_id10000Boundary ID to be assigned to the boundary defined by positions_vector_1.

    Default:10000

    C++ Type:short

    Controllable:No

    Description:Boundary ID to be assigned to the boundary defined by positions_vector_1.

  • input_boundary_2_id10000Boundary ID to be assigned to the boundary defined by positions_vector_2.

    Default:10000

    C++ Type:short

    Controllable:No

    Description:Boundary ID to be assigned to the boundary defined by positions_vector_2.

  • mesh_1_shift0 0 0Translation vector to be applied to input_mesh_1

    Default:0 0 0

    C++ Type:libMesh::Point

    Controllable:No

    Description:Translation vector to be applied to input_mesh_1

  • mesh_2_shift0 0 0Translation vector to be applied to input_mesh_2

    Default:0 0 0

    C++ Type:libMesh::Point

    Controllable:No

    Description:Translation vector to be applied to input_mesh_2

  • use_quad_elementsFalseWhether QUAD4 instead of TRI3 elements are used to construct the transition layer.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether QUAD4 instead of TRI3 elements are used to construct the transition layer.

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:No

    Description:Set the enabled status of the MooseObject.

  • save_with_nameKeep the mesh from this mesh generator in memory with the name specified

    C++ Type:std::string

    Controllable:No

    Description:Keep the mesh from this mesh generator in memory with the name specified

Advanced Parameters

  • nemesisFalseWhether or not to output the mesh file in the nemesisformat (only if output = true)

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to output the mesh file in the nemesisformat (only if output = true)

  • outputFalseWhether or not to output the mesh file after generating the mesh

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to output the mesh file after generating the mesh

  • show_infoFalseWhether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)

Debugging Parameters