Ensuring Computation of all Equilibria
When you have run the setup macro file, you should start by trying to compute all the equilibria that were created when your POP file was compiled. To do this, you must first go to the ED_EXP submodule, and load the experimental data from the current PARROT workspace file with the READ_WORKSPACES <block #>
command (normally, the block number is 1
).
When you have loaded all equilibria, you should try to compute them all using the ED_EXP command . A list of calculated equilibrium results are shown in the console, but the software is not able to reach an equilibrium for an experiment, then the program cancels the calculations and displays an error message.
The following list shows an example output where the first two experiments in the POP file have been successfully computed, but an equilibrium is not reached for the third experiment. No other equilibria are computed, since the calculations are aborted when the error occurs.
Eq Lab Iter Weight Temp Exp Fix phases or comments
1 A1 22 1. 2575.3 IONIC_ FLUORI TETR
2 A1 18 1. 2156.9 IONIC_ CORUND TETR
*** ERROR 1614 IN QTHISS
*** CONDITIONS CAN NOT BE FULLFILLED
When this happens, try to find out why the equilibrium calculation fail. Are the condition start values that you have given the equilibrium inappropriate for example? If you have a similar equilibrium that has already been successfully computed, then you can select the equilibrium that does not work, use the ED_EXP command SET_ALL_START_VALUES and accept all the suggestions for the site fractions. Alternatively, use TRANSFER_START_VALUE <equilibrium number>
to make the currently selected equilibrium inherit the start values of the indicated equilibrium. Run COMPUTE_EQUILIBRIUM again to see if the equilibrium can be computed with the inherited start value.
If you cannot find an explanation of why the equilibrium cannot be computed, then it may be that the experiment is faulty. If so, then this experiment should be excluded from the optimization by being given a weight of 0. You should then run COMPUTE_EQUILIBRIUM again to make sure that all equilibria can be computed. However, experiments that fail to reach equilibria could succeed in doing so if the optimizing variables have other values. It is therefore sometimes worth trying to include experiments later in the optimization process (when the optimizing variables are relatively close to their final values), even if they had to be excluded at its start. In some cases, it might also be appropriate to change the error tolerance for in an experiment (using the ED_EXP command EXPERIMENT).
You must save the PARROT workspace with SAVE_WORKSPACES before you exit the ED_EXP module.