SignedDistanceToSurfaceMesh

SignedDistanceToSurfaceMesh is a Function that returns the signed distance to an arbitrary surface mesh. It extends UnsignedDistanceToSurfaceMesh by multiplying the unsigned nearest-boundary distance by a sign obtained from an in-out test user object (via in_out_test, a PointInPolyhedronCheckUO): the value is negative inside the surface and positive outside. As with the unsigned function, the gradient evaluates to the unit vector pointing from the boundary toward the query point.

Usage

Set the builder parameter to the SBMSurfaceMeshBuilder user object that stores the surface mesh, and in_out_test to a PointInPolyhedronCheckUO built from the same surface. Both user objects must be declared in the same execution block (for example inside [UserObjects]) and executed before any kernels request the function values.

Returns signed distance to a surface mesh using k-d tree nearest neighbor search. The gradient returns the unit vector pointing from boundary to query point.

Input Parameters

  • in_out_testThe name of the in-out test user object

    C++ Type:UserObjectName

    Controllable:No

    Description:The name of the in-out test user object

Required Parameters

  • builderSBMSurfaceMeshBuilder that provides the interface surface geometry.

    C++ Type:UserObjectName

    Controllable:No

    Description:SBMSurfaceMeshBuilder that provides the interface surface geometry.

  • managerSBMInterfaceManager that provides geometry for multiple interfaces.

    C++ Type:UserObjectName

    Controllable:No

    Description:SBMInterfaceManager that provides geometry for multiple interfaces.

  • subdomain_id_1First subdomain defining the interface.

    C++ Type:unsigned short

    Controllable:No

    Description:First subdomain defining the interface.

  • subdomain_id_2Second subdomain defining the interface.

    C++ Type:unsigned short

    Controllable:No

    Description:Second subdomain defining the interface.

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.

Advanced Parameters

Input Files