Skip to content

Add options to save equilibrium results during scheil simulation#38

Closed
Chuangye-Wang wants to merge 1 commit into
pycalphad:masterfrom
Chuangye-Wang:Add-equilibrium-results
Closed

Add options to save equilibrium results during scheil simulation#38
Chuangye-Wang wants to merge 1 commit into
pycalphad:masterfrom
Chuangye-Wang:Add-equilibrium-results

Conversation

@Chuangye-Wang

Copy link
Copy Markdown

This PR is mainly for saving the equilibrium results (with heat capacipty output) at each solidification step, and add it to the new attribute equilibrium_results in SolidificationResult class.

@sorkins

sorkins commented May 21, 2025

Copy link
Copy Markdown

@bocklund @nury12n having this optional functionality would be a big help for us, I read back through Hui's PR from awhile back and saw your comments and they seemed reasonable for a better long term solution. However, if you were open to this temporary optional solution it would be much appreciated so we could stop using our internal fork of scheil instead of the public repo.

@bocklund

Copy link
Copy Markdown
Collaborator

I have a local branch that is more Workspace-oriented that I'm behind on testing and pushing up to merge.

Would it be enough if you could provide a list of outputs to Scheil simulations to also pull properties out of Workspace (e.g. simulate_scheil_solidification(..., output="CPM") and/orsimulate_scheil_solidification(..., output=["CPM", "SM"])?

Or is there specific utility in being able to have the full xarray Dataset to be able to simulate, and then go back and pull properties out of the Dataset objects?

@bocklund

Copy link
Copy Markdown
Collaborator

I think being able to rely on the property framework features would a better experience and give more flexibility, but I'm open to also storing the equilibrium xarray Datasets if there's a need to do so

@sorkins

sorkins commented May 21, 2025

Copy link
Copy Markdown

Could you refer us to the branch? We could take a closer look and see what that would be like for us.

What you're talking about sounds like it would be sufficient for us.

@bocklund bocklund mentioned this pull request May 21, 2025
4 tasks
@bocklund

Copy link
Copy Markdown
Collaborator

#39 - currently simulate_scheil_solidification works, but several things are broken. The idea in connection to this is that you could ask for things in simulate_scheil_solidification(..., output: list[str])

and then per temperature the code would do something like

def simulate_scheil_solidification(...):
    output_values = []
    while not_finished:
        ...
        # do calculation in the time step
        ...
        step_outputs = {}
        for output in outputs:
            step_outputs[output] = wks.get(output)
        output_values.append(step_outputs)

@sorkins

sorkins commented Jun 9, 2025

Copy link
Copy Markdown

@bocklund depending on the turnaround time for the Workspace conversion, would you be open to temporarily adding the optional tracking of the equilibrium results using this PRs method? (or it could just be left around for perhaps debugging purposes moving forward, whatever the preference is)

@sorkins

sorkins commented Jun 20, 2025

Copy link
Copy Markdown

@bocklund following up.

@bocklund bocklund marked this pull request as ready for review June 20, 2025 21:56
@bocklund bocklund marked this pull request as draft June 20, 2025 21:58
@Chuangye-Wang

Copy link
Copy Markdown
Author

Closed as it's implemented in #39

@Chuangye-Wang Chuangye-Wang deleted the Add-equilibrium-results branch October 31, 2025 21:09
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.

3 participants