Shifted Boundary Method Failure Analysis Report
Introduction
The FAR for the Shifted Boundary Method module describes the system functional and non-functional requirements that describe the expected interactions that the software shall provide.
Dependencies
The Shifted Boundary Method module is developed using MOOSE and can itself be based on various MOOSE modules, as such the FAR for the Shifted Boundary Method module is dependent upon the following documents.
Failure Analysis Requirements
The following is a complete list for all the requirements related to failure analysis for the Shifted Boundary Method module.
- shifted_boundary_method: Distance Calc
- 18.2.2The system shall throw an error
- if ElementCentroidToSurfaceDistanceAux is applied to a nodal variable.
- if ShortestDistanceToSurface receives a function whose type is not ParsedFunction, UnsignedDistanceToSurfaceMesh, or SignedDistanceToSurfaceMesh.
- if the embedding mesh dimension does not match the SBM surface mesh dimension plus one.
- if the SBM surface mesh contains element types other than EDGE2 or TRI3.
- if the SBM surface mesh is distributed, since SBMSurfaceMeshBuilder requires a replicated mesh for its In-Out test.
- if an UnsignedDistanceToSurfaceMesh function is paired with an SBMSurfaceMeshBuilder that was configured without a KDTree.
- if a signed distance is requested from a function that is neither a ParsedFunction nor a SignedDistanceToSurfaceMesh.
- if SignedDistanceToSurfaceMesh receives an in-out test user object that does not implement the point-in-surface check interface.
Specification(s): error_test/nodal_variable, error_test/unsupported_surface_function, error_test/dim_mismatch, error_test/unsupported_element_type, error_test/distributed_surface_mesh, error_test/unsigned_distance_without_kd_tree, error_test/signed_distance_invalid_strategy, error_test/signed_distance_in_out_test_wrong_type
Design: UnsignedDistanceToSurfaceMeshSignedDistanceToSurfaceMeshShortestDistanceToSurface
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- shifted_boundary_method: In Out Test
- 18.3.3The system shall reject an InterceptedElementModifier lambda outside the inclusive range from zero to one.
Specification(s): invalid_lambda
Design: InterceptedElementModifierPointInPolyhedronCheckUOSBMSurfaceMeshBuilder
Issue(s): #33397
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 18.3.4The system shall reject a non-positive tolerance for the point-in-polyhedron in-out test.
Specification(s): zero_tolerance
Design: InterceptedElementModifierPointInPolyhedronCheckUOSBMSurfaceMeshBuilder
Issue(s): #33397
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 18.3.14The system shall report an error when mark_intercepted is enabled without specifying the intercepted subdomain ID.
Specification(s): mark_intercepted_missing_id
Design: InterceptedElementModifierPointInPolyhedronCheckUOSBMSurfaceMeshBuilder
Issue(s): #33397
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 18.3.15The system shall report an error when an InterceptedElementModifier is configured with neither an in-out test user object nor a signed distance function.
Specification(s): no_in_out_test
Design: InterceptedElementModifierPointInPolyhedronCheckUOSBMSurfaceMeshBuilder
Issue(s): #33397
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 18.3.16The system shall report an error when an InterceptedElementModifier receives an in-out test user object that does not implement the point-in-surface check interface.
Specification(s): in_out_test_wrong_type
Design: InterceptedElementModifierPointInPolyhedronCheckUOSBMSurfaceMeshBuilder
Issue(s): #33397
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- 18.3.17The system shall report an error when an InterceptedElementModifier is configured with both an in-out test user object and a signed distance function.
Specification(s): both_geometry_sources
Design: InterceptedElementModifierPointInPolyhedronCheckUOSBMSurfaceMeshBuilder
Issue(s): #33397
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException
- shifted_boundary_method: Subdomain Element Modifier
- 18.4.5The system shall throw an error
- if the SurfaceMeshBySubdomainBuilder surface mesh is distributed, since it requires a replicated mesh for its In-Out test.
- if the embedding mesh dimension does not match the surface mesh dimension plus one.
- if the SurfaceMeshBySubdomainBuilder surface mesh contains element types other than EDGE2 or TRI3.
- if the fixed_x_ray method is requested for PointInSubdomainCheckUO, which performs per-subdomain ray-casting and cannot use the whole-mesh TriangleManifold engine.
- if a point is contained in more than one subdomain of a PointInSubdomainCheckUO surface mesh, since a single-subdomain query is then ambiguous.
Specification(s): error_test/distributed_surface_mesh, error_test/dim_mismatch, error_test/unsupported_element_type, error_test/fixed_x_ray_unsupported, error_test/ambiguous_subdomain
Design: SubdomainElementModifierSurfaceMeshBySubdomainBuilderPointInSubdomainCheckUO
Issue(s): #33397
Collection(s): FAILURE_ANALYSISFUNCTIONAL
Type(s): RunException