- dxApproximate size of the edge elements (before any refinement with num_edges_between_points) and approximate step to advance by to search for the next point in the polyline
C++ Type:double
Unit:(no unit assumed)
Range:dx>0
Controllable:No
Description:Approximate size of the edge elements (before any refinement with num_edges_between_points) and approximate step to advance by to search for the next point in the polyline
- inputThe mesh we get the sideset from
C++ Type:MeshGeneratorName
Controllable:No
Description:The mesh we get the sideset from
- nodesetNodeset to follow to form the polyline
C++ Type:BoundaryName
Controllable:No
Description:Nodeset to follow to form the polyline
- search_radiusRadius of the sphere used to find points in the nodeset
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Radius of the sphere used to find points in the nodeset
- starting_directionStarting value for the direction of the line
C++ Type:libMesh::Point
Controllable:No
Description:Starting value for the direction of the line
- starting_pointStarting point for the polyline
C++ Type:libMesh::Point
Controllable:No
Description:Starting point for the polyline
PolyLineMeshFollowingNodeSetGenerator
Generates a polyline (open ended or looped) of Edge elements by marching along a nodeeset and trying to be as close as possible to the nodes of the nodeset
Using the PolyLineMeshFollowingNodeSetGenerator object from within the Mesh block of the input file will construct an open or closed (looped) one-dimensional manifold of Edge elements.
The polyline is generated iteratively, starting from the "starting_point", taking the first step following the "starting_direction": The following heuristics are implemented for following the nodeset:
Sphere-based nodeset centroid search - the current point is moved by "dx" towards the current direction - the local centroid of all nodes in the target nodeset and closer than "search_radius" to the current point is found - the current direction is updated to be from the current point to the centroid - the displacement of the current point is annulled, and replaced by a displacement of magnitude "dx" towards the centroid
Ignoring nodes behind, activated with the "ignore_nodes_behind" parameter - only nodes from the nodeset that are also ahead of the current point with the current direction are considered
Because of the use of heuristics rather than a global solve, the 1D polyline solution is highly dependent on the parameters chosen. The user should tune these parameters to fit their needs. Notably, the number of edges can be reduced to prevent the polyline from backtracking after having reached the end of the nodeset.
Input Parameters
- end_boundaryendBoundary to assign to (non-looped) polyline end
Default:end
C++ Type:BoundaryName
Controllable:No
Description:Boundary to assign to (non-looped) polyline end
- ignore_nodes_behindFalseIgnore nodes in the nodeset that are behind the current point in the polyline
Default:False
C++ Type:bool
Controllable:No
Description:Ignore nodes in the nodeset that are behind the current point in the polyline
- line_subdomainlineSubdomain name for the line
Default:line
C++ Type:SubdomainName
Controllable:No
Description:Subdomain name for the line
- loopFalseWhether edges should form a closed loop
Default:False
C++ Type:bool
Controllable:No
Description:Whether edges should form a closed loop
- max_edges1000Maximum number of edges. Serves as a stopping criterion
Default:1000
C++ Type:unsigned int
Controllable:No
Description:Maximum number of edges. Serves as a stopping criterion
- num_edges_between_points1How many Edge elements to build between each point pair
Default:1
C++ Type:unsigned int
Controllable:No
Description:How many Edge elements to build between each point pair
- start_boundarystartBoundary to assign to (non-looped) polyline start
Default:start
C++ Type:BoundaryName
Controllable:No
Description:Boundary to assign to (non-looped) polyline start
- verboseFalsewhether to output additional information to console during the line generation
Default:False
C++ Type:bool
Controllable:No
Description:whether to output additional information to console during the line generation
Optional Parameters
- 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)