Hello USPEX users,
Do you meet the problem that USPEX could not obtain the second generation structure when the unit cell is constrained?
I tried to set the "fracGene+fracPerm+fracRotMut=1", so the lattice mutation=0, but it still did not work. However, if I just simply set a estimated cell volume to the "Latticevalues" paramter and keep other parameter same, USPEX can run smoothly and finally give a quite reasonable structure.
When the first genertation finished, the log file will increase to unreasonable large, even to be several gigabyte size after a long time runing. It seem matlab are searching structures but do not satisfy whatever it generated.
The fix cell INPUT_EA.txt file is as following:
PARAMETERS EVOLUTIONARY ALGORITHM
% In this file the parameters of the evolutionary algorithm can be set. Please keep the
% format as it is - only change the values!!!
******************************************
******************************************
* TYPE OF RUN AND SYSTEM *
******************************************
******************************************
1 : calculationType (1 = bulk, 2 = clusters, 4 = varcomp bulk, 11 = molecular crystals)
0 : chargeNeutrality
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% vacuumSize (only used in cluster )
20 20 20 10 10
% endVacuumSize
0 : numberparents (only used in cluster)
% optimisation criteria
enthalpy : optType (optimise by: enthalpy, volume, hardness, struc_order, aver_dist)
% numIons
3 10 4 1
% EndNumIons
% Above are numbers of ions of each type
%%%%%%%%%%%%%%%%%%%%
% Here come the atomic numbers of the atoms involved
% atomType
5 8 48 83
% EndAtomType
%%%%%%%%%%%%%%%%%%%%
% if we want hardness to be calculated, define the next few parameters (valence, number of valence electrons, etc) , otherwise just put 1
% valencies
1
% endValencies
% valenceElectr
1
% endValenceElectr
% bonds with nu higher than this value are always included into hardness formula, even if connectivity isn't increased. Need either matrix (like minDist) or a single value
%%%%%%%%%%%%%%%%
% goodBonds
0.3
% EndGoodBonds
%%%%%%%%%%%%%%%%
0 : checkConnectivity % 1 = default; 0 - used only for big system, switches off hardness calculation and connectivity related criteria in softmutation
******************************************
******************************************
* POPULATION *
******************************************
******************************************
10 : populationSize (how many individuals per generation)
10 : initialPopSize (how many individuals in the first generation - if =0 then equal to the size specified above)
100 : numGenerations (how many generations shall be calculated)
15 : stopCrit (stop when maximum AVERAGE difference between a fitness and the best fitness of is below this value in eV)
******************************************
******************************************
% FIRST VAR. COMP. GENERATION *
******************************************
******************************************
0 : firstGeneMax (how many different compositions for first generation - if =0 then equal to initial population size)
3 : minAt (minimum amount of atoms/cell for first generation)
20 : maxAt (maximum amount of atoms/cell for first generation)
******************************************
******************************************
* SURVIVAL OF THE FITTEST AND SELECTION *
******************************************
******************************************
3 : keepBestHM (how many structures should survive and compete in the next generation)
2 : dynamicalBestHM (1: number of surviving structures varies during calculations with previous parameter as upper bound; 2: clusterisation, so that number of surviving structures is always equal to KeepBestHM)
0 : reoptOld (should the old structures be reoptimized? 1:yes, 0:no)
0.6 : bestFrac (What fraction of current generation shall be used to produce the next generation)
******************************************
******************************************
* VARIATION OPERATORS *
******************************************
******************************************
0.60 : fracGene (what fraction of generated individuals shall be produced by heredity)
4 : howManySliceIterations (how many slices to produce from each parent to choose the most ordered, only matters if fingerprints are used)
0.3 : percSliceShift (what fraction of the structures produced by heredity shall be shifted in all dimensions)
0.2 : fracPerm (what fraction of the generated individuals shall be produced by permutations)
5 : howManySwaps (max of the uniform, between 1 and max, distribution of the number of swaps per MUTANT).
%%%%%%%%%%%%%%%%%%%
% The following are the swaps you want to allow. One line corresponds to a set
% of interchangeable atoms. Refers to the ordering of the atoms. Put 0 or
% leave empty if you want to allow all kinds of interchange
% specificSwaps (write here the swaps you want to allow)
% EndSpecific
%%%%%%%%%%%%%%%%%%%
0.0 : fracTrans (what fraction of the generated individuals shall be produced by transmutations)
0.2 : howManyTrans (max fraction of the uniform, between 0 and max, distribution of the transmutation fraction per MUTANT; i.e. 0.3 means that 0-30% of atoms are transumutated).
%%%%%%%%%%%%%%%%%%%
% The following are the transmutations you want to allow. One line corresponds to a set
% of interchangeable atom identities. Refers to the ordering of the atoms. Put 0 or
% leave empty if you want to allow all kinds of interchange
% specificTrans (write here the transmutations you want to allow)
% EndTransSpecific
%%%%%%%%%%%%%%%%%%%
0.0 : fracRotMut (only for molecules)
0.5 : sigmaRot (sigma of the gaussian distibution of rotation angles)
3 : howManyRots (how many molecules are rotationally mutated)
0.4 : fracAtomsMut (what fraction of the generated individuals shall be produced by atom position mutations)
% the following parameter describes the maximal fraction of the uniform, between 0 and max, distribution of the mutation fraction per MUTANT;
% if the number is bigger than one, then ALL atom positions are mutated according to atom order and the parameter describes the standard deviation
% for the maximally mutated atom positions
3.5 : mutationDegree
% softMutOnly (what generations are produced by softmutation only, format : 1-3 5 7-9 15 etc)
0
% EndSoftOnly
200 : softMutTill (starting from this generation we use coormutation as atom mutation and softmutate only one (the best) structure not
% percentage of structures produced by lattice mutation = 1.0-(fracGene+fracPerm+fracRotMut)
% so don't need to specify explicitly
0.50 : mutationRate (standard deviation of the epsilons in the strain matrix)
1.00 : DisplaceInLatmutation
****************************************
****************************************
* CONSTRAINTS *
****************************************
****************************************
2.0 : minVectorLength ( minimal length of any lattice vector)
0 : optimDistances
%%%%%%%%%%%%%%%%
% IonDistances
1.2 1.2 1.2 1.2
0.0 1.2 1.2 1.2
0.0 0.0 1.2 1.2
0.0 0.0 0.0 1.2
% EndDistances
%%%%%%%%%%%%%%%%
% MolCenters
0
% EndMol
%%%%%%%%%%%%%%%%
% Above is the inter-atomic distance matrix of the different ion types. IMPORTANT: If only 1 value present, this is taken as DISTANCE, NOT radius!!!
%%%%%%%%%%%%%%%%%
*****************************************
*****************************************
* CELL *
*****************************************
*****************************************
% The following is what you know about the lattice. If you know the lattice vectors,
% type them in as 3x3 matrix. If not, type the estimated volume.
% Latticevalues (this word MUST stay here, type values below)
3.959917569479870 -7.956500053405762 -0.703942841039963
3.959917569479869 7.956500053405764 -0.703942841039963
0.000000000000000 0.000000000000000 3.489099979400635
% Endvalues (this word MUST stay here)
% splitInto (possible number of subcells, if > 1 or more that one value - split cell on smaller subcells; use for big number of atoms to improve initial population)
1
% EndSplitInto
%%%%%%%%%%%%%%%%
*****************************************
*****************************************
* RESTART *
*****************************************
*****************************************
0 : pickUpYN (if pickUpYN~=0 , then a previous calculation will be continued )
0 : pickUpGen (at which generation shall the previous calculation be picked up? If = 0 , then a new calculation is started)
0 : pickUpFolder (number of the results folder to be used. If = 0 , then the highest existing number is taken)
*****************************************
*****************************************
* DETAILS OF AB INITIO CALCULATIONS *
*****************************************
*****************************************
abinitioCode (which code shall be used for calculation? Up to now: vasp, siesta, gulp)
1 1 1 1
ENDabinit
% numProcessors (how many processors per calculation)
4 4 4 4
% EndProcessors
%Resolution for KPOINTS - one number per step or just one number in total)
% KresolStart
0.20 0.14 0.10 0.08
% Kresolend
2:00 : wallTime (max time for each calculation)
1 : numParallelCalcs (how many parallel calculations shall be performed)
%%%%%%%%%%%%%%%%%
% What follows is the unix command to call vasp - exactly as you would type it in the terminal, supported: vasp, siesta, gulp, mol_gulp, mol_siesta, MD, NeuralNetworks, mol_dmacrys, cp2k, QuantumEspresso, mol_dlpoly
% commandExecutable
mpirun -np 8 /usr/local/bin/vasp > vasp.log
siesta
./job3_gulpNP
job2
/nfs/xt3-homes/users/alyakhov/bin/siesta<input.fdf
./meam-lammps_han test.tcl
timelimit -t 400 ./OptimizeNN.x > log
timelimit -t 400 ./dmacrys <mol.res.dmain >output
mpirun -np 4 cp2k.popt cg.inp > cp2k_output
mpirun -np 4 pw.x <
qe.in > output
reserved for DL POLY executable
molecular VASP
% EndExecutable
%%%%%%%%%%%%%%%%%%
0 : doSpaceGroup (0 - no space group, 1 - calculate space groups)
*****************************************
*****************************************
* HARDWARE-RELATED *
*****************************************
*****************************************
0 : remoteRegime (0 - no remote, 1 - from Talc, 2 - remote using specially prepared file, see manual)
nonParallel : whichCluster (on which cluster are calculations performed? Up to now: pegasus, hreidar, gonzales, cscs, SIESTAlocal, xcom, MVS15k, MVS50k, BJremote, Cyberia, Skif, nonParallel)
3 : maxErrors (how many errors is one individual allowed to produce before he is killed)
******************************************
******************************************
% REMOTE SETTINGS (only if REMOTE>1) *
******************************************
******************************************
% username (user name to login to remote supercomputer)
alyakhov
% EndUsername
% localfolder (TALC folder)
andriy
% EndLocalfolder
% remoteFolder (remote folder)
T0_Physics_VASP
% EndRemoteFolder
******************************************
******************************************
% FINGERPRINTS SETTINGS *
******************************************
******************************************
0.03 : sigmaFing
0.08 : deltaFing
10.0 : RmaxFing
0.010 : toleranceFing (if distance is less than tolerance - structures are identical)
0.060 : toleranceBestHM
1 : ordering_active % switch the use of order in variation operators (except coormutation) on and off
% how many times to repeat the calculations with the same initial conditions
% this option allows to make some statistics rerunning USPEX a few times after calculations are done
% repeatForStatistics
1
% EndRepeatForStatistics
******************************************
******************************************
% MANY PARENTS SETTINGS *
******************************************
******************************************
0 : manyParents
2 : minSlice
8 : maxSlice
0.25 : maxDistHeredity
*************************************************************************
*************************************************************************
* END OF INPUT *
*************************************************************************
*************************************************************************
and the first 5000 lines of log file is in the attached file, the remaining lines of the orginal large log file are somewhat repeating content like the second part of the attached log file.
Inceasing populationSize and initialPopSize to larger unmber like 60, this problem does not vanish.
Thanks to any comment!
Best Regards,
Chensheng Lin