CASMcode
CASMcode copied to clipboard
Segmentation fault during Canonical MC run
Dear CASM developers,
When I was trying canonical MC for my system, MC steps stopped in the middle with 'Segmentation fault'. Besides, I am also confused with a few other points:
- I chose canonical, but why the output also has grand canonical swaps?
- I am not sure how to choose configname. Should it has the same composition as my target?
- I checked the 'occ' in my initial_state.json file, it seems not correct (Sequentially Ba O Va Y Zr, if Ba=0, O/Va=1/0, Y/Zr=1/0 ) So I suspect my initial configname in motif settings might be wrong... { "occ" : [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1 ]
casm monte -s metropolis_canonical.json -- Read: Monte Carlo settings -- from: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/metropolis_canonical.json" ensemble: Canonical method: Metropolis debug: 1
-- Compiling: /global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/basis_sets/bset.default/BZY_Clexulator.cc -- compile time depends on how many basis functions are included compile time: 0.000989708 (s)
-- Construct: Canonical Monte Carlo -- project: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy" formation_energy cluster expansion: formation_energy property: formation_energy calctype: default ref: default bset: default eci: __tmp supercell: 2 0 0 0 2 2 0 -4 4
Sampling: quantity requested_precision atom_frac(Ba) 0.001 atom_frac(O) 0.001 atom_frac(Va) 0.001 atom_frac(Y) 0.001 atom_frac(Zr) 0.001 comp(a) 0.001 comp_n(Ba) 0.001 comp_n(O) 0.001 comp_n(Va) 0.001 comp_n(Y) 0.001 comp_n(Zr) 0.001 corr(0) none corr(1) none corr(2) none corr(3) none corr(4) none corr(5) none corr(6) none corr(7) none corr(8) none corr(9) none corr(10) none corr(11) none corr(12) none corr(13) none corr(14) none corr(15) none corr(16) none corr(17) none corr(18) none corr(19) none corr(20) none corr(21) none corr(22) none corr(23) none corr(24) none corr(25) none corr(26) none formation_energy 0.001 potential_energy none site_frac(Ba) 0.001 site_frac(O) 0.001 site_frac(Va) 0.001 site_frac(Y) 0.001 site_frac(Zr) 0.001
automatic convergence mode?: true
Unit cell for determining equivalent swaps: 1 0 0 0 1 0 0 0 1
Asymmetric Unit: 0: Ba 0, 0 0 0 1: Zr Y 1, 0 0 0 2: Va O 2, 0 0 0 3, 0 0 0 4, 0 0 0
Candidates: (Species, AsymUnit) (Zr, 1) (Y, 1) (Va, 2) (O, 2)
Canonical swaps: (Zr, 1) <-> (Y, 1) (Va, 2) <-> (O, 2)
Grand canonical swaps: (Zr, 1) -> (Y, 1) (Y, 1) -> (Zr, 1) (Va, 2) -> (O, 2) (O, 2) -> (Va, 2)
-- Configuration enumeration -- check: eq(1,1) metric: clex_hull_dist(ALL) check_existence: true insert_canonical: true sample_mode: on_sample
-- Check: For existing calculations -- found existing calculations will begin with condition 0 will overwrite existing results for condition(s): [ 0 ]
-- Set: Conditions -- T: 1000 param_composition: [ 0.125000000000 ]
-- Set: DoF -- motif configname: default using configuration with default occupation...
-- Set: DoF -- motif configname: SCEL1_1_1_1_0_0_0/6 using configation: SCEL1_1_1_1_0_0_0/6
-- Enforce composition -- initial comp: [ 0.000000000000 ] initial comp_n: [ 1.000000000000, 1.000000000000, 0.000000000000, 0.000000000000, 3.000000000000 ] target comp_n: [ 1.000000000000, 0.875000000000, 0.125000000000, 0.062500000000, 2.937500000000 ] applied swaps: 6 final comp: [ 0.125000000000 ] final comp_n: [ 1.000000000000, 0.875000000000, 0.125000000000, 0.062500000000, 2.937500000000 ]
-- Calculate: correlations -- i ECI corr 0 -9.9414009 1 1 -3.2714316 0.125 2 -9.3961625 0.97916667 3 2.7249717 0.125 4 4.4293971 0.95833333 5 0.57320299 0 6 5.6952006 0.95833333 7 -0.19039699 0.95833333 8 2.8442375 0.11979167 9 2.3809655 0.95833333 10 0 unknown 11 1.1509094 0.95833333 12 1.2176524 0.96875 13 0.9543941 0.11979167 14 0.68678072 0.12239583 15 -0.88713432 0.95833333 16 0 unknown 17 0.59160406 0.95833333 18 0.62187079 0.125 19 2.8229636 0.95833333 20 0.14309523 0.0625 21 0.49136414 0.95833333 22 0.31718101 0.96875 23 0.27004427 0.12239583 24 0.57247344 0.12239583 25 1.0364318 0.95833333 26 0.30378992 0.95833333
-- Calculate properties -- Canonical ensemble: Thermodynamic potential (per unitcell), phi = -kTln(Z)/N Partition function, Z = sum_i exp(-Npotential_energy_i/kT) composition, comp_n = origin + M * comp_x potential_energy (per unitcell) = formation_energy
components: [ "Ba", "Zr", "Y", "Va", "O" ] M: 0 -1 1 0.5 -0.5 origin: 1 1 0 0 3 comp_n: 1 0.875 0.125 0.0625 2.9375 comp_x: 0.125 formation_energy: 0.088036382 potential_energy: 0.088036382
-- Write: DoF -- write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/conditions.0/initial_state.json"
-- Begin: Conditions 0 --
-- Calculate: delta correlations -- i ECI dCorr 0 -9.9414009 0 1 -3.2714316 0 2 -9.3961625 0 3 2.7249717 -0.16666667 4 4.4293971 0.083333333 5 0.57320299 0 6 5.6952006 0 7 -0.19039699 0 8 2.8442375 0.041666667 9 2.3809655 0 10 0 unknown 11 1.1509094 0 12 1.2176524 -0.33333333 13 0.9543941 -0.16666667 14 0.68678072 0 15 -0.88713432 0 16 0 unknown 17 0.59160406 0 18 0.62187079 0 19 2.8229636 0 20 0.14309523 0 21 0.49136414 0 22 0.31718101 0 23 0.27004427 0 24 0.57247344 0 25 1.0364318 0 26 0.30378992 0.083333333
-- Check event -- Probability to accept: 1.0
-- Accept Event --
-- Calculate: delta correlations -- i ECI dCorr 0 -9.9414009 0 1 -3.2714316 0 2 -9.3961625 0 3 2.7249717 0.16666667 4 4.4293971 0 5 0.57320299 0 6 5.6952006 0 7 -0.19039699 0 8 2.8442375 0.041666667 9 2.3809655 0 10 0 unknown 11 1.1509094 0 12 1.2176524 0 13 0.9543941 0 14 0.68678072 -0.16666667 15 -0.88713432 0 16 0 unknown 17 0.59160406 0 18 0.62187079 0 19 2.8229636 0 20 0.14309523 0 21 0.49136414 0 22 0.31718101 0 23 0.27004427 0 24 0.57247344 0.083333333 25 1.0364318 0 26 0.30378992 0
-- Check event -- Probability to accept: 0.0028203678 Random number: 0.89277516
-- Reject Event --
-- Calculate: delta correlations -- i ECI dCorr 0 -9.9414009 0 1 -3.2714316 0 2 -9.3961625 0 3 2.7249717 0 4 4.4293971 -0.083333333 5 0.57320299 0 6 5.6952006 0 7 -0.19039699 0 8 2.8442375 0.041666667 9 2.3809655 0.041666667 10 0 unknown 11 1.1509094 0 12 1.2176524 0 13 0.9543941 0 14 0.68678072 -0.041666667 15 -0.88713432 0 16 0 unknown 17 0.59160406 0 18 0.62187079 0 19 2.8229636 0.020833333 20 0.14309523 0 21 0.49136414 0 22 0.31718101 0 23 0.27004427 0.041666667 24 0.57247344 0 25 1.0364318 0 26 0.30378992 -0.083333333
-- Check event -- Probability to accept: 1.0
-- Accept Event -- ......
Tried different composition but still 'segmentation fault'. Any comments?
ERROR running Canonical Monte Carlo.
get_value< Array > called on null Value
I chose canonical, but why the output also has grand canonical swaps?
In the canonical calculations, as a setup step before the calculation begins, grand canonical swaps are used to randomly modify the initial configuration so that the composition is as close as possible to the composition specified by the conditions in the input file.
I am not sure how to choose configname. Should it has the same composition as my target?
In the end, for a well-converged calculation, this should not change your results, but choosing an initial configuration consistent with the equilbrium phase for given thermodynamic conditions should result in a faster calculation. To have CASM choose the configuration which minimizes the potential energy (in the case of canonical MC this is just the formation energy) you can use the "restricted_auto" initial configuration, and this is typically a good choice. The "default" initial configuration means the one specified by the first occupant on each basis site in your prim, and this would be fine too but perhaps slower to converge. In either case, setting "dependent_runs": true
means that every subsequent step would begin where the last run finished.
I checked the 'occ' in my initial_state.json file, it seems not correct...
The occupation indices correspond to the order listed in the prim.json file for each sublattice (not the overall composition order), and the sites are grouped by sublattice. So something like: [<sublattice 1 x number of unit cells ---->][<sublattice 2 x number of unit cells ----->], etc.
The segfault looks like a problem an input file format problem, but it's not clear from what's posted what exactly is the issue. If you are still having trouble, you could post here or email [email protected] for help.
Appreciate your help!
Here is my latest input file, I got another error message. How to avoid that?
-- Check: For existing calculations -- calculations already complete.
{ "comment" : "This is a sample input file. Unrecognized attributes (like the ones prepended with '_') are ignored.", "debug" : true, "ensemble" : "canonical", "method" : "metropolis", "model" : { "formation_energy" : "formation_energy" }, "supercell" : [ [2, 0, 0], [0, 2, 2], [0, -4, 4] ], "data" : { "sample_by" : "pass", "sample_period" : 1, "_N_sample" : 1000, "_N_pass" : 1000, "_N_step" : 1000, "max_pass" : 10000, "min_pass" : 1000, "_max_step" : 10000, "_max_sample" : 500, "_min_sample" : 100, "confidence" : 0.95, "measurements" : [ { "quantity" : "formation_energy", "precision" : 1e-2 }, { "quantity" : "potential_energy" }, { "quantity" : "atom_frac", "precision" : 1e-2 }, { "quantity" : "site_frac", "precision" : 1e-2 }, { "quantity" : "comp", "precision" : 1e-2 }, { "quantity" : "comp_n", "precision" : 1e-2 }, { "quantity" : "corr" } ], "storage" : { "write_observations" : true, "write_trajectory" : true, "output_format" : ["csv", "json"] }, "enumeration": { "check" : "eq(1,1)", "metric" : "formation_energy", "insert_canonical" : true, "check_existence" : true, "N_halloffame" : 100, "sample_mode" : "on_sample" } }, "driver" : { "mode" : "incremental", "dependent_runs" : true, "motif" : { "configname" : "restricted_auto", "_configname" : "SCEL1_1_1_1_0_0_0/6", "_configdof" : "path/to/final_state.json" }, "initial_conditions" : { "comp_n" : { "Ba" : 1.000, "Zr" : 0.000, "Y" : 1.000, "Va" : 0.500, "O" : 2.500 }, "temperature" : 2000.0, "tolerance" : 0.0001 }, "final_conditions" : { "comp_n" : { "Ba" : 1.000, "Zr" : 0.000, "Y" : 1.000, "Va" : 0.500, "O" : 2.500 }, "temperature" : 300.0, "tolerance" : 0.0001 }, "incremental_conditions" : { "comp_n" : { "Ba" : 0.000, "Zr" : 0.000, "Y" : 0.000, "Va" : 0.000, "O" : 0.000 }, "temperature" : 10.0, "tolerance" : 0.0001 } } }
I am trying to use simulated annealing MC to generate configs for me in a SCEL32 supercell.
Wondering where the newly-generated configs from MC are stored and located, where is the hall of fame?
I thought hall of fame means the best sets of ECI. Here it also means the best possible ground state config candidates?
/"check_existence": (bool, optional, default=true)
If true, only configurations that do not already exist in the
config list are inserted into the enumeration hall of fame.
-- Check: For existing calculations -- calculations already complete.
This seems to be saying that the run is complete. Is there another error?
Wondering where the newly-generated configs from MC are stored and located, where is the hall of fame?
It's just in memory during the calculation, then when it finishes they are saved in the config list. We're just using the term "hall of fame" to indicate an ordered set of fixed size that is used to save the best objects.
From the casm format --monte
help:
/"enumeration": (JSON object, optional)
If included, save configurations encountered during Monte
Carlo calculations by keeping a 'hall of fame' of best scoring
configurations. After the calculation at a particular set of
thermodynamic conditions completes, the configurations in the
hall of fame are saved to the project configuration list.
Thanks, but what if I want to rerun the canonical MC with different settings?
This "already complete" thing prevents me doing that. Do I need to clear something related with previous runs? But there is no other files/folders in the current MC running directory.
And if it is already complete, where can I find the output files?
And how to check or query those newly generated configs? Are they created in the training data folder within SCELXX subfolder? I am supposed to submit those new configs (larger supercells generated from MC) for a better ECI fitting.
I think the "already complete" issue is probably that you need "incremental_conditions"
to have "temperature" : -10.0
.
And how to check or query those newly generated configs? Are they created in the training data folder within SCELXX subfolder?
They are just included in the project configuration list after completion, so they will subsequently appear in casm select
and casm query
output, just as if you ran casm enum
repeatedly. Currently there is no option to output the generated configurations during MC explicitly, but you could save a selection of all configurations before running (casm select --set-on -o all_configurations_before
) and compare it to the configurations afterwards.
Thanks!
Below is my latest input file and output print to the screen:
cat mp-cano-3.json { "comment" : "This is a sample input file. Unrecognized attributes (like the ones prepended with '_') are ignored.", "debug" : true, "ensemble" : "canonical", "method" : "metropolis", "model" : { "formation_energy" : "formation_energy" }, "supercell" : [ [2, 0, 0], [0, 2, 2], [0, -4, 4] ], "data" : { "sample_by" : "pass", "sample_period" : 1, "_N_sample" : 1000, "_N_pass" : 1000, "_N_step" : 1000, "max_pass" : 1000, "min_pass" : 100, "_max_step" : 10000, "_max_sample" : 500, "_min_sample" : 100, "confidence" : 0.95, "measurements" : [ { "quantity" : "formation_energy", "precision" : 1e-2 }, { "quantity" : "potential_energy" }, { "quantity" : "atom_frac", "precision" : 1e-2 }, { "quantity" : "site_frac", "precision" : 1e-2 }, { "quantity" : "comp", "precision" : 1e-2 }, { "quantity" : "comp_n", "precision" : 1e-2 }, { "quantity" : "corr" } ], "storage" : { "write_observations" : true, "write_trajectory" : true, "output_format" : ["csv", "json"] }, "enumeration": { "check" : "eq(1,1)", "metric" : "formation_energy", "insert_canonical" : true, "check_existence" : true, "N_halloffame" : 100, "sample_mode" : "on_sample" } }, "driver" : { "mode" : "incremental", "dependent_runs" : true, "motif" : { "_configname" : "restricted_auto", "configname" : "SCEL1_1_1_1_0_0_0/6", "_configdof" : "path/to/final_state.json" }, "initial_conditions" : { "comp_n" : { "Ba" : 1.000, "Zr" : 0.500, "Y" : 0.500, "Va" : 0.250, "O" : 2.750 }, "temperature" : 2000.0, "tolerance" : 0.001 }, "final_conditions" : { "comp_n" : { "Ba" : 1.000, "Zr" : 0.500, "Y" : 0.500, "Va" : 0.250, "O" : 2.750 }, "temperature" : 300.0, "tolerance" : 0.001 }, "incremental_conditions" : { "comp_n" : { "Ba" : 0.000, "Zr" : 0.000, "Y" : 0.000, "Va" : 0.000, "O" : 0.000 }, "temperature" : -10.0, "tolerance" : 0.001 } } }
############################################################################################
casm monte -s mp-cano-3.json -- Read: Monte Carlo settings -- from: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/mp-cano-3.json" ensemble: Canonical method: Metropolis debug: 1
-- Compiling: /global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/basis_sets/bset.default/BZY_Clexulator.cc -- compile time depends on how many basis functions are included compile time: 0.0566237 (s)
-- Construct: Canonical Monte Carlo -- project: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy" formation_energy cluster expansion: formation_energy property: formation_energy calctype: default ref: default bset: default eci: __tmp supercell: 2 0 0 0 2 2 0 -4 4
Sampling: quantity requested_precision atom_frac(Ba) 0.01 atom_frac(O) 0.01 atom_frac(Va) 0.01 atom_frac(Y) 0.01 atom_frac(Zr) 0.01 comp(a) 0.01 comp_n(Ba) 0.01 comp_n(O) 0.01 comp_n(Va) 0.01 comp_n(Y) 0.01 comp_n(Zr) 0.01 corr(0) none corr(1) none corr(2) none corr(3) none corr(4) none corr(5) none corr(6) none corr(7) none corr(8) none corr(9) none corr(10) none corr(11) none corr(12) none corr(13) none corr(14) none corr(15) none corr(16) none corr(17) none corr(18) none corr(19) none corr(20) none corr(21) none corr(22) none corr(23) none corr(24) none corr(25) none corr(26) none formation_energy 0.01 potential_energy none site_frac(Ba) 0.01 site_frac(O) 0.01 site_frac(Va) 0.01 site_frac(Y) 0.01 site_frac(Zr) 0.01
automatic convergence mode?: true
Unit cell for determining equivalent swaps: 1 0 0 0 1 0 0 0 1
Asymmetric Unit: 0: Ba 0, 0 0 0 1: Zr Y 1, 0 0 0 2: Va O 2, 0 0 0 3, 0 0 0 4, 0 0 0
Candidates: (Species, AsymUnit) (Zr, 1) (Y, 1) (Va, 2) (O, 2)
Canonical swaps: (Zr, 1) <-> (Y, 1) (Va, 2) <-> (O, 2)
Grand canonical swaps: (Zr, 1) -> (Y, 1) (Y, 1) -> (Zr, 1) (Va, 2) -> (O, 2) (O, 2) -> (Va, 2)
-- Configuration enumeration -- check: eq(1,1) metric: formation_energy check_existence: true insert_canonical: true sample_mode: on_sample
-- Check: For existing calculations -- did not find existing calculations
-- Set: Conditions -- T: 2000 param_composition: [ 0.500000000000 ]
-- Set: DoF -- motif configname: default using configuration with default occupation...
-- Set: DoF -- motif configname: SCEL1_1_1_1_0_0_0/6 using configation: SCEL1_1_1_1_0_0_0/6
-- Enforce composition -- initial comp: [ 0.000000000000 ] initial comp_n: [ 1.000000000000, 1.000000000000, 0.000000000000, 0.000000000000, 3.000000000000 ] target comp_n: [ 1.000000000000, 0.500000000000, 0.500000000000, 0.250000000000, 2.750000000000 ] applied swaps: 24 final comp: [ 0.500000000000 ] final comp_n: [ 1.000000000000, 0.500000000000, 0.500000000000, 0.250000000000, 2.750000000000 ]
-- Calculate: correlations -- i ECI corr 0 -18.515947 1 1 -2.3962676 0.5 2 0 unknown 3 2.7361646 0.46875 4 4.4655915 0.8359375 5 0.58011474 0.23958333 6 5.67993 0.83333333 7 -0.21141961 0.83854167 8 2.9327686 0.45703125 9 2.2947046 0.84244792 10 0.10441711 0.22916667 11 1.0441994 0.84114583 12 1.1544217 0.83333333 13 0.97437897 0.46875 14 0.73264168 0.46614583 15 -0.92297606 0.83463542 16 0 unknown 17 0.56455501 0.84375 18 0.70598363 0.45963542 19 2.6889453 0.84179688 20 0.14827226 0.35416667 21 0.49275859 0.86458333 22 0.30073889 0.86979167 23 0.33589735 0.45833333 24 0.63580901 0.4609375 25 1.0002835 0.8359375 26 0 unknown
-- Calculate properties -- Canonical ensemble: Thermodynamic potential (per unitcell), phi = -kTln(Z)/N Partition function, Z = sum_i exp(-Npotential_energy_i/kT) composition, comp_n = origin + M * comp_x potential_energy (per unitcell) = formation_energy
components: [ "Ba", "Zr", "Y", "Va", "O" ] M: 0 -1 1 0.5 -0.5 origin: 1 1 0 0 3 comp_n: 1 0.5 0.5 0.25 2.75 comp_x: 0.5 formation_energy: 0.24984877 potential_energy: 0.24984877
-- Set: Conditions -- T: 2000 param_composition: [ 0.500000000000 ]
-- Enforce composition -- initial comp: [ 0.500000000000 ] initial comp_n: [ 1.000000000000, 0.500000000000, 0.500000000000, 0.250000000000, 2.750000000000 ] target comp_n: [ 1.000000000000, 0.500000000000, 0.500000000000, 0.250000000000, 2.750000000000 ] applied swaps: 0 final comp: [ 0.500000000000 ] final comp_n: [ 1.000000000000, 0.500000000000, 0.500000000000, 0.250000000000, 2.750000000000 ]
-- Calculate: correlations -- i ECI corr 0 -18.515947 1 1 -2.3962676 0.5 2 0 unknown 3 2.7361646 0.46875 4 4.4655915 0.8359375 5 0.58011474 0.23958333 6 5.67993 0.83333333 7 -0.21141961 0.83854167 8 2.9327686 0.45703125 9 2.2947046 0.84244792 10 0.10441711 0.22916667 11 1.0441994 0.84114583 12 1.1544217 0.83333333 13 0.97437897 0.46875 14 0.73264168 0.46614583 15 -0.92297606 0.83463542 16 0 unknown 17 0.56455501 0.84375 18 0.70598363 0.45963542 19 2.6889453 0.84179688 20 0.14827226 0.35416667 21 0.49275859 0.86458333 22 0.30073889 0.86979167 23 0.33589735 0.45833333 24 0.63580901 0.4609375 25 1.0002835 0.8359375 26 0 unknown
-- Calculate properties -- Canonical ensemble: Thermodynamic potential (per unitcell), phi = -kTln(Z)/N Partition function, Z = sum_i exp(-Npotential_energy_i/kT) composition, comp_n = origin + M * comp_x potential_energy (per unitcell) = formation_energy
components: [ "Ba", "Zr", "Y", "Va", "O" ] M: 0 -1 1 0.5 -0.5 origin: 1 1 0 0 3 comp_n: 1 0.5 0.5 0.25 2.75 comp_x: 0.5 formation_energy: 0.24984877 potential_energy: 0.24984877
-- Continue with existing DoF --
-- Write: DoF -- write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/conditions.0/initial_state.json"
-- Begin: Conditions 0 --
-- Calculate: delta correlations -- i ECI dCorr 0 -18.515947 0 1 -2.3962676 0 2 0 unknown 3 2.7361646 -0.16666667 4 4.4655915 0 5 0.58011474 0 6 5.67993 0 7 -0.21141961 0 8 2.9327686 0.041666667 9 2.2947046 0 10 0.10441711 0.33333333 11 1.0441994 0 12 1.1544217 0 13 0.97437897 0.16666667 14 0.73264168 -0.041666667 15 -0.92297606 0 16 0 unknown 17 0.56455501 0 18 0.70598363 0 19 2.6889453 0 20 0.14827226 -0.66666667 21 0.49275859 0 22 0.30073889 0 23 0.33589735 -0.041666667 24 0.63580901 0 25 1.0002835 0 26 0 unknown
-- Check event -- Probability to accept: 1.0
-- Accept Event --
-- Calculate: delta correlations -- i ECI dCorr 0 -18.515947 0 1 -2.3962676 0 2 0 unknown 3 2.7361646 -0.16666667 4 4.4655915 -0.083333333 5 0.58011474 0 6 5.67993 0 7 -0.21141961 0 8 2.9327686 -0.041666667 9 2.2947046 0 10 0.10441711 0 11 1.0441994 0.083333333 12 1.1544217 0 13 0.97437897 0 14 0.73264168 -0.083333333 15 -0.92297606 0 16 0 unknown 17 0.56455501 0 18 0.70598363 0 19 2.6889453 -0.020833333 20 0.14827226 0 21 0.49275859 0 22 0.30073889 0.16666667 23 0.33589735 0 24 0.63580901 -0.125 25 1.0002835 0 26 0 unknown
-- Check event -- Probability to accept: 1.0
-- Accept Event -- ...... -- Config enumeration -- enum check: true score: 0 insert config in hall of fame: true
-- Enumerated configurations hall of fame -- configuration enumeration check: eq(1,1) configuration enumeration metric: formation_energy position score - - 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 0 27 0 28 0 29 0 30 0 31 0 32 0 33 0 34 0 35 0 36 0 37 0 38 0 39 0 40 0 41 0 42 0 43 0 44 0 45 0 46 0 47 0 48 0 49 0 50 0 51 0 52 0 53 0 54 0 55 0 56 0 57 0 58 0 59 0 60 0 61 0 62 0 63 0 64 0 65 0 66 0 67 0 68 0 69 0 70 0 71 0 72 0 73 0 74 0 75 0 76 0 77 0 78 0 79 0 80 0 81 0 82 0 83 0 84 0 85 0 86 0 87 0 88 0 89 0 90 0 91 0 92 0 93 0 94 0 95 0 96 0 97 0 98 0 99 0
-- End: Conditions 0 -- run time: 763.24503 (s), 7.6324503 (s/pass), 0.059628518(s/step)
-- Write: DoF -- write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/conditions.0/final_state.json"
-- Write: Output files -- write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/results.csv" write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/results.json" write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/conditions.0/conditions.json" write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/conditions.0/observations.csv.gz" write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/conditions.0/observations.json.gz" write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/conditions.0/trajectory.csv.gz" write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/occupation_key.csv" write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/conditions.0/trajectory.json.gz" write: "/global/cscratch1/sd/voz5005/proton_conductor/bazro3/bzy/mc/annealing/occupation_key.json"
ERROR running Canonical Monte Carlo.
get_value< Array > called on null Value
It can run MC:
"formation_energy" : [ 0.096443085149, 0.093892193088, 0.095864449704, 0.098483879071, 0.087980522153, 0.105817940877, 0.1190571 28397, 0.075669856202, 0.083095324370, 0.103616047311, 0.083099500748, 0.094600793887, 0.073442526761, 0.073134709116, 0.083625499 615, 0.099019370654, 0.086975481733, 0.089766075177, 0.104036894150, 0.085640021548, 0.070361385679, 0.094736868904, 0.09851796342 9, 0.101643172129, 0.106618266544, 0.084314792629, 0.098049463920, 0.081975465662, 0.101525784860, 0.062830786729, 0.082115967603, 0.097420239771, 0.069865663109, 0.064879312389, 0.075285549297, 0.078046864225, 0.082467153412, 0.080372277387, 0.085262410976, 0 .092152695348, 0.081457341099, 0.096713254530, 0.098832838402, 0.102712243310, 0.092746675344, 0.082896773728, 0.098614712081, 0.0 94554095645, 0.112553428874, 0.105369912422, 0.093301751784, 0.083124747302, 0.093722572674, 0.093404060021, 0.076505198469, 0.066 127009867, 0.080432506476, 0.089385864728, 0.086209830456, 0.100282586601, 0.146110910494, 0.067584061489, 0.078703532266, 0.09298 6641871, 0.092928836660, 0.091448397043, 0.105566646761, 0.079841757004, 0.086335372091, 0.079429880880, 0.064120843662, 0.0800896 48075, 0.105861120617, 0.097644473821, 0.133916754468, 0.089644549079, 0.096140290814, 0.090334309335, 0.108069499324, 0.088629966 723, 0.081876385313, 0.121280353333, 0.116647802775, 0.113451477447, 0.090143025193, 0.116523672679, 0.089182519951, 0.08740637977 3, 0.094923289315, 0.097497573788, 0.078808451988, 0.073980241935, 0.112088591191, 0.136546359909, 0.086887197374, 0.083004646251, 0.077342126682, 0.091909294307, 0.073906836928, 0.072403584032 ], "potential_energy" : [ 0.096443085149, 0.093892193088, 0.095864449704, 0.098483879071, 0.087980522153, 0.105817940877, 0.1190571 28397, 0.075669856202, 0.083095324370, 0.103616047311, 0.083099500748, 0.094600793887, 0.073442526761, 0.073134709116, 0.083625499615, 0.099019370654, 0.086975481733, 0.089766075177, 0.104036894150, 0.085640021548, 0.070361385679, 0.094736868904, 0.098517963429, 0.101643172129, 0.106618266544, 0.084314792629, 0.098049463920, 0.081975465662, 0.101525784860, 0.062830786729, 0.082115967603, 0.097420239771, 0.069865663109, 0.064879312389, 0.075285549297, 0.078046864225, 0.082467153412, 0.080372277387, 0.085262410976, 0.092152695348, 0.081457341099, 0.096713254530, 0.098832838402, 0.102712243310, 0.092746675344, 0.082896773728, 0.098614712081, 0.094554095645, 0.112553428874, 0.105369912422, 0.093301751784, 0.083124747302, 0.093722572674, 0.093404060021, 0.076505198469, 0.066127009867, 0.080432506476, 0.089385864728, 0.086209830456, 0.100282586601, 0.146110910494, 0.067584061489, 0.078703532266, 0.092986641871, 0.092928836660, 0.091448397043, 0.105566646761, 0.079841757004, 0.086335372091, 0.079429880880, 0.064120843662, 0.080089648075, 0.105861120617, 0.097644473821, 0.133916754468, 0.089644549079, 0.096140290814, 0.090334309335, 0.108069499324, 0.088629966723, 0.081876385313, 0.121280353333, 0.116647802775, 0.113451477447, 0.090143025193, 0.116523672679, 0.089182519951, 0.087406379773, 0.094923289315, 0.097497573788, 0.078808451988, 0.073980241935, 0.112088591191, 0.136546359909, 0.086887197374, 0.083004646251, 0.077342126682, 0.091909294307, 0.073906836928, 0.072403584032 ],
but what does the error message mean exactly? Has any configurations been selected into hall_of_fame?
ERROR running Canonical Monte Carlo.
get_value< Array > called on null Value
How to check the configurations afterward? How to submit those configurations for DFT running?
I am still pretty vague about it.
They are just included in the project configuration list after completion, so they will subsequently appear in casm select and casm query output, just as if you ran casm enum repeatedly. Currently there is no option to output the generated configurations during MC explicitly, but you could save a selection of all configurations before running (casm select --set-on -o all_configurations_before) and compare it to the configurations afterwards.
I took a try with your example input and I see there that there is a bug preventing the configurations that have been stored in the hall of fame from being written to the configuration database. I'll work on a fix and post an update soon.
It didn't go through the temperature increment from 2000K to 300K, meaning that the first temperature (2000K) step has trouble converging?
The first step runs successfully until at the end it tries to save the sampled configurations in the project configuration list. An error was introduced in this step, so then it crashes before going to the next step.
Would it be my supercell too small, e.g. SCEL32? Or because my bspecs only include pairs?
Any chance to fix the bug?
Sorry for the delay, we're in the middle of some related updates. I'll soon push an update that includes a fix for this issue that is preventing saving the Monte Carlo enumerated configurations.
Hello developers,
How to check the configurations when I finished canonical MC for my system? In this step, it works well. After I checked the config_list.json, it didn't change.
this is my metropolis_canonical.json:
{
"comment" : "This is a sample input file. Unrecognized attributes (like the ones prepended with '_') are ignored.",
"debug" : true,
"ensemble" : "canonical",
"method" : "metropolis",
"model" : {
"formation_energy" : "formation_energy"
},
"supercell" : [
[-4, 4, -4],
[0, 0, 15],
[4, 4, -8]
],
"data" : {
"sample_by" : "pass",
"sample_period" : 1,
"min_pass" : 1000,
"confidence" : 0.95,
"measurements" : [
{
"quantity" : "formation_energy",
"precision" : 1e-2
},
{
"quantity" : "potential_energy"
},
{
"quantity" : "atom_frac"
},
{
"quantity" : "site_frac"
},
{
"quantity" : "comp",
"precision" : 1e-2
},
{
"quantity" : "comp_n"
},
{
"quantity" : "corr"
},
{
"quantity": "relaxed_magmom",
"precision" : 1e-2
}
],
"storage" : {
"write_observations" : true,
"write_trajectory" : true,
"output_format" : ["csv", "json"]
}
},
"enumeration": {
"check" : "eq(1,1)",
"metric" : "formation_energy",
"insert_canonical" : true,
"check_existence" : true,
"N_halloffame" : 100,
"sample_mode" : "on_sample"
},
"driver" : {
"mode" : "incremental",
"dependent_runs" : true,
"motif" : {
"configname" : "default"
},
"initial_conditions" : {
"comp_n" : {
"Al" : 0.05,
"Co": 0.95
},
"temperature" : 10.0,
"tolerance" : 0.001
},
"final_conditions" : {
"comp_n" : {
"Al" : 0.05,
"Co": 0.95
},
"temperature" : 1510.0,
"tolerance" : 0.001
},
"incremental_conditions" : {
"comp_n" : {
"Al" : 0,
"Co": 0
},
"temperature" : 100.0,
"tolerance" : 0.001
}
}
}