Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 20 01:02
    jwsiegel2510 synchronize #110
  • Jan 18 17:25
    jwsiegel2510 synchronize #110
  • Jan 17 02:01
    jwsiegel2510 synchronize #110
  • Jan 08 20:40
    jwsiegel2510 synchronize #110
  • Jan 02 13:53
    jwsiegel2510 synchronize #110
  • Dec 31 2019 12:59
    jwsiegel2510 synchronize #110
  • Dec 30 2019 22:05
    jwsiegel2510 synchronize #110
  • Dec 19 2019 03:12
    jwsiegel2510 synchronize #110
  • Dec 19 2019 03:11
    jwsiegel2510 synchronize #110
  • Dec 18 2019 16:17

    bocklund on master

    TST: Add Python 3.8 and pycalph… (compare)

  • Dec 18 2019 16:17
    bocklund closed #114
  • Dec 18 2019 16:15
    bocklund commented #114
  • Dec 18 2019 16:03
    bocklund edited #114
  • Dec 18 2019 16:02
    bocklund opened #114
  • Dec 18 2019 15:56

    bocklund on py38-ci

    Fix pycalphad repo url (compare)

  • Dec 18 2019 15:52

    bocklund on py38-ci

    Fix syntax error (compare)

  • Dec 18 2019 15:47

    bocklund on py38-ci

    Add development pycaplphad inst… (compare)

  • Dec 18 2019 15:25

    bocklund on gradients

    Implement shadow functions for … WIP: working (but correct??) ca… Passing tests, but there's a re… and 4 more (compare)

  • Dec 18 2019 14:58

    bocklund on py38-ci

    Update travis to py38 (compare)

  • Dec 17 2019 23:16
    bocklund commented #110
Brandon Bocklund
@bocklund
The datasets in the espei.org example haven't been updated since we added the weighting feature last year, so it needs to be redone. If you want to share the datasets you've weighted with me or a make a PR against https://github.com/PhasesResearchLab/ESPEI-datasets, I can rerun the example to produce consistent output
Noah Paulson
@npaulson
what do you think would be easiest? I can even share the traces directly with you so you don't have to re-run anything. These would be identical results to our UQ paper on Cu-Mg
Brandon Bocklund
@bocklund
No problem, you can edit the messages with the three dots on the right hand side or by hitting the up arrow from the blank Gitter text box to cycle through your previous messages. I do it all the time haha
Noah Paulson
@npaulson
haha, very handy - thanks
Brandon Bocklund
@bocklund
I'm fine rerunning it locally, just to make sure it's all consistent. Eventually I'd like to have some kind of CI system that runs the examples automatically as it becomes more computationally tractable
Noah Paulson
@npaulson
okay, I'll go about collecting all of the relevant input files so you can reproduce the paper results
duxiaoxian
@duxiaoxian
Hi, I added some new calculating datas from DFT to calculate phase diagram by ESPEI recently. However, the phase diagram become weird after MCMC step. I don't know how to adjust the parameters to optimize the phase diagram. And if the phase diagram requires us to manually adjust the parameters semi-empirically what is the role of the MCMC.
ag-cu_mcmc_phase_diagram.png
Richard Otis
@richardotis
Hi @duxiaoxian is it possible for you to share your ESPEI input files? Also, are you letting ESPEI generate all the model parameters, or are you providing an initial TDB file?
zhanghaihui
@zhanghaihui_gitlab
ag-cu_mcmc_phase_diagram.png
duxiaoxian is my other id
zhanghaihui
@zhanghaihui_gitlab
The parameter generation step is normal, but after the MCMC step, the phase diagram becomes strange.I’m spent. /(ㄒoㄒ)/~~
zhanghaihui
@zhanghaihui_gitlab
@npaulson Hi, when the MCMC optimization is not good enough and the parameters need to be adjusted manually, only the TDB file is adjusted, but the trace files cannot be changed. May I ask, how can PDUQ be adjusted to get the new uncertainty?
Brandon Bocklund
@bocklund

Hi @zhanghaihui_gitlab I think the results you were seeing with the liquid miscibility gap and going far from the solution are due to some dataset and lack of parameter issues.

  1. In the recent zip file you sent on this channel, you have several datasets that are HM and SM, but all data must be XM_FORM or XM_MIX. Right now the HM/SM temperature dependent data you have are dominating the loss function and the values are not correct and it’s causing the strange results you are seeing. Using verbosity=3 in MCMC can show that the thermochemical data from your temperature dependent HM and SM data are causing problems.
  2. Once that is fixed, your parameters do not give enough degrees of freedom to fit the phase diagram well. I suggest that for each temperature independent excess parameter that you fit. A good rule of thumb is that the excess entropy is 3000excess entropy. So a parameter that you generate with G=VV0000 where VV0000=-15000 should have a VV####T added to the energy, where VV####=3. If you have no entropy of mixing data, you can use the enthalpy data to estimate entropy data in the same way as for each parameter (i.e., take all you enthalpy of mixing and divide by -3000 to get entropy of mixing)
  3. The full tie-line data (from Vesnin1988) seems to have oddly high driving forces, even for a correct phase diagram. I think this is an issue because of the miscibility gap, but it's something I need to investigate further. For now, we can work around that by changing that dataset to use the the "half tie-lines", where one composition is known and one is unknown, like the rest of your data.

I attached a zip archive in this chat with all the changes I have made, so you can see what kind of changes I have made and use this as a starting point for further work and UQ.

I should mention that ESPEI is a living research code, not a finished production code. It still takes some care to use well, though we are continuing to improve both the user-friendliness and the flexibility and diagnostic capabilities. I would encourage you to use the tools, like increasing the logging verbosity to 3, to understand why the MCMC is not going towards the solution you expect, as in issue 1 and issue 3, This will ultimately improve your understanding and help us to continue to improve the codes.

phase_diagram-dft-modified.png
Here is the database I start with after parameter generation and adding parameters in item 2
lnprob-142-iters.png
lnprob after 142 iterations (note, it's not converged completely)
phase_diagram-mcmc_142_iters.png
The MCMC tdb after 142 iterations. Still not all the way there on the Ag-rich side, but note that we are going the right direciton and it's not converged.
The eutectic is located at the correct composition now. From my tests, it looked like the full tieline data (item 3) was what was causing the low solubility and eutectic composition to be incorrect. Again, I've made a note to look into this more closely soon
Brandon Bocklund
@bocklund
duxiaoxian
@duxiaoxian
Thank you for helping me analyze problems and put forward Suggestions when I was most confused. I will take your Suggestions seriously👍
Jan Janssen
@jan-janssen
cu-mg_dft_phase_diagram.png
Hello I tried to reproduce the CU-MG example, but the monte carlo fitting took over a week on 6 Cores so I stopped the process. In addition I noticed that my initial phase diagram does not include any experimental results, so that might be an issue.
Brandon Bocklund
@bocklund
How many iterations did you get through in a week? What operating system? Were you using the same input file as in the example? For the initial phase diagram, did you run the script from a location with the right path to input-data?
Jan Janssen
@jan-janssen
I guess if the input-data was wrong I would not get any phase diagram right?
Brandon Bocklund
@bocklund
If the script did not find any input data, the phase diagram would still plot, it just wouldn't overlay any data
Jan Janssen
@jan-janssen
update.png
Now I see - I had an issue in my recursive_glob command. The new diagram looks much better (before Monte Carlo).
Jan Janssen
@jan-janssen
After a week later, the monte carlo fitting is still running. Can check the progress somehow during the run time? Or maybe identify if some data is missing?
Brandon Bocklund
@bocklund
How many cores are you using and what settings are you using for the number of iterations and chains_per_parameter?
Have you looked at how your lnprob has converged (see http://espei.org/en/latest/cu-mg-example.html#probability-convergence )? How many iterations have completed?
(note that you can check the convergence while ESPEI is running)
Jan Janssen
@jan-janssen
I did not change chains_per_parameter so it should be 2. Thanks for the tip of checking the progress during the run time. At the moment I have 500 iterations out of 1000 total with convergence around 5.2e3 .
Richard Otis
@richardotis
What does the convergence plot look like? (First figure in Brandon's link)
Jan Janssen
@jan-janssen
convergence.png
Richard Otis
@richardotis
Looks like it more or less converged a while ago. I'm not sure if that's the typical curve for Cu-Mg. Are you using all the data?
Jan Janssen
@jan-janssen
Yes, I basically used the commands from the example and it is a bit confusing for me that the results are so different from the results in the tutorial.
Brandon Bocklund
@bocklund
That's my fault - the tutorial hasn't been updated since weighting datasets and data types were added to ESPEI. Converged lnprob of 5e3 is the correct order of magnitude with the current weighting defaults
Richard Otis
@richardotis
So you have the right solution, it looks like. Unfortunately I don't think ESPEI has automatic convergence detection today, so you either have to run to a fixed number of iterations or manually stop early.
Jan Janssen
@jan-janssen
cu-mg_mcmc_phase_diagram.png
Finally the 1000 iterations finished, but still the phase diagram looks kind of strange.
I am now trying 100 iterations to compare the convergence behaviour, but maybe one of you can execute the example once more and update the tutorial.
Brandon Bocklund
@bocklund
@jan-janssen that is about what I would expect without adding weights to the datasets. I have a set of updated weights, I just need to rerun the example and update the results and the datasets repo
Jan Janssen
@jan-janssen
cu-mg_mcmc_phase_diagram_quick.png
With 100 steps I already get a similar result, so maybe it is sufficient to restrict the number of monte carlo steps to 100 for the examples.
Jan Janssen
@jan-janssen
@bocklund Any update on updating the weights? I checked the website, but I did not see any updated information, so maybe you can give me a link to the updated weights.
Brandon Bocklund
@bocklund

Hi @jan-janssen, I haven't had time to go back to this yet. Looking through some files and your data, it might be sufficient to just increase the weights for the fcc solubility and the Laves solubility. If you have the vanilla datasets from the ESPEI-datasets repo, try adding weights in the following files:

zpf/CU-MG-ZPF-CUMG2-FCC_A1-LAVES_C15-LIQUID-Bagnoud1978.json set weight to 5.0
zpf/CU-MG-ZPF-FCC_A1-LAVES_C15-LIQUID-Jones1931.json weight to 10.0

If those weights work well, it would be great if you were able to submit a PR to the datasets repo to update those weights and to the ESPEI repo to update the documentation with the new images for the example. I agree with your previous comment that we can limit to the run in the example to maybe 100 or 200 iterations, verified with the lnprob vs. iterations plot