Skip to content

Mpboundary tracking#34

Merged
colemanjs merged 27 commits into
mainfrom
mpboundary_tracking
Jun 19, 2026
Merged

Mpboundary tracking#34
colemanjs merged 27 commits into
mainfrom
mpboundary_tracking

Conversation

@subravvr

Copy link
Copy Markdown
Collaborator

This PR focuses on leveraging geometric information from the Lamé curve describing a melt pool boundary. Previously, a simple inside/outside check was performed to assign a voxel a melting state of 1 (inside) or 0 (outside).

However, with the Lamé curve for a boundary, we can compute the distance from the center of the melt pool reference frame to the boundary using Newton's method. Comparing this distance to the distance of the voxel from the center of the melt pool reference frame allows us not only to check if a point is inside or outside, but also on the boundary.

By tracking the melt pool boundaries, we can generate computational representations of repeated melting, akin to etched and polished surfaces. Additionally, we can track the intersections between boundaries to understand connectedness of melt pools. Currently, we are using this approach to try and calibrate melt pool dimensions in an inverse problem.

Main changes

  • Newton's method for distance to boundary calculation
  • Voxel state transition logic (melted -> boundary, unmelted-> boundary, boundary -> melted).
  • New output data structure for porosity is a numpy int8 grid of 0 (unmelted), 1 (melted, interior), 2 (melted, boundary), and 3 (melted, intersection region).

Future work

  • Need to rewrite some tests in order to account for the new output datatype.
example_boundary_detection

@subravvr subravvr requested a review from colemanjs June 17, 2026 21:04
@colemanjs

Copy link
Copy Markdown
Collaborator

@subravvr, this looks great! A few notes:

  1. pre-commit run --all-files
  2. Need to update readme regarding the new field output. Also, we may want to update the figure. This gif slicing through an RVE would be very informative for the user.

Comment thread src/raptor/api.py Outdated
Comment thread src/raptor/api.py Outdated
@colemanjs

Copy link
Copy Markdown
Collaborator

@subravvr, the visualization function needs to be updated. This is the current view:

image

@colemanjs

Copy link
Copy Markdown
Collaborator

@subravvr, Can you make the GIF in the README larger and a higher dpi to make the phases readable.

@colemanjs

Copy link
Copy Markdown
Collaborator

@subravvr, the api example works, but the synthetic_api example gives "no phases present in this dataset" upon visualization. We may want to default this behavior. This should be returning a fully melted mesh, right?

@colemanjs colemanjs merged commit e3f2e7f into main Jun 19, 2026
1 check passed
@colemanjs colemanjs deleted the mpboundary_tracking branch June 19, 2026 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants