ProjectSideSetOntoLevelSetGenerator

Projects a sideset onto a surface defined by a level set and creates a surface mesh.

The projection vector defined with "direction" is normalized automatically.

commentnote

The projected nodes are found using a bisection method, starting at a distance of "max_search_distance". If adjusting this parameter to improve performance, you have to make sure the surface is no further than this search distance.

commentnote

It is the user's responsability to make sure the projected mesh is a valid mesh. You can use the MeshDiagnosticsGenerator to verify the validity of the mesh automatically.

Input Parameters

  • directionProjection direction

    C++ Type:libMesh::Point

    Controllable:No

    Description:Projection direction

  • inputThe input mesh generator in which the sideset exists.

    C++ Type:MeshGeneratorName

    Controllable:No

    Description:The input mesh generator in which the sideset exists.

  • sidesetThe name of the sideset to project

    C++ Type:BoundaryName

    Controllable:No

    Description:The name of the sideset to project

Required Parameters

  • epsilon0Fuzzy comparison tolerance

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Fuzzy comparison tolerance

  • max_search_distance1e+06Maximum distance from the sideset to search for the projected point in the projection direction.

    Default:1e+06

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Maximum distance from the sideset to search for the projected point in the projection direction.

  • subdomain_nameprojectedName of the subdomain of the projected surface

    Default:projected

    C++ Type:SubdomainName

    Controllable:No

    Description:Name of the subdomain of the projected surface

Optional Parameters

  • constant_expressionsVector of values for the constants in constant_names (can be an FParser expression)

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

    Controllable:No

    Description:Vector of values for the constants in constant_names (can be an FParser expression)

  • constant_namesVector of constants used in the parsed function

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

    Controllable:No

    Description:Vector of constants used in the parsed function

  • level_setLevel set to define the surface to project onto as a function of x, y, and z. The surface should be 'in front of' the sideset when following the projection direction.

    C++ Type:std::string

    Controllable:No

    Description:Level set to define the surface to project onto as a function of x, y, and z. The surface should be 'in front of' the sideset when following the projection direction.

Level Set Surface Parameters

  • disable_fpoptimizerFalseDisable the function parser algebraic optimizer

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Disable the function parser algebraic optimizer

  • enable_ad_cacheTrueEnable caching of function derivatives for faster startup time

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Enable caching of function derivatives for faster startup time

  • enable_auto_optimizeTrueEnable automatic immediate optimization of derivatives

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Enable automatic immediate optimization of derivatives

  • enable_jitTrueEnable just-in-time compilation of function expressions for faster evaluation

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Enable just-in-time compilation of function expressions for faster evaluation

  • evalerror_behaviornanWhat to do if evaluation error occurs. Options are to pass a nan, pass a nan with a warning, throw a error, or throw an exception

    Default:nan

    C++ Type:MooseEnum

    Options:nan, nan_warning, error, exception

    Controllable:No

    Description:What to do if evaluation error occurs. Options are to pass a nan, pass a nan with a warning, throw a error, or throw an exception

Parsed Expression Advanced 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)

Debugging Parameters