diff --git a/custodian/__init__.py b/custodian/__init__.py index d7d9e7ae..f55fec2d 100644 --- a/custodian/__init__.py +++ b/custodian/__init__.py @@ -1,6 +1,6 @@ __author__ = "Shyue Ping Ong, William Davidson Richards, Stephen Dacek, " \ "Xiaohui Qu" __date__ = "Jul 14 2014" -__version__ = "0.7.4" +__version__ = "0.7.5" from custodian import Custodian diff --git a/custodian/vasp/tests/test_handlers.py b/custodian/vasp/tests/test_handlers.py index 6b9e221e..06c4b46f 100644 --- a/custodian/vasp/tests/test_handlers.py +++ b/custodian/vasp/tests/test_handlers.py @@ -286,7 +286,6 @@ def tearDownClass(cls): class BadVasprunXMLHandlerTest(unittest.TestCase): - def test_check_and_correct(self): os.chdir(os.path.join(test_dir, "bad_vasprun")) h = BadVasprunXMLHandler() diff --git a/docs/_build/doctrees/custodian.ansible.doctree b/docs/_build/doctrees/custodian.ansible.doctree index 45ada509..6f6ad770 100644 Binary files a/docs/_build/doctrees/custodian.ansible.doctree and b/docs/_build/doctrees/custodian.ansible.doctree differ diff --git a/docs/_build/doctrees/custodian.nwchem.doctree b/docs/_build/doctrees/custodian.nwchem.doctree index 96c102ce..f9473b1e 100644 Binary files a/docs/_build/doctrees/custodian.nwchem.doctree and b/docs/_build/doctrees/custodian.nwchem.doctree differ diff --git a/docs/_build/doctrees/custodian.qchem.doctree b/docs/_build/doctrees/custodian.qchem.doctree index a4a83ab7..5d4c588d 100644 Binary files a/docs/_build/doctrees/custodian.qchem.doctree and b/docs/_build/doctrees/custodian.qchem.doctree differ diff --git a/docs/_build/doctrees/custodian.vasp.doctree b/docs/_build/doctrees/custodian.vasp.doctree index 4fab0965..84685285 100644 Binary files a/docs/_build/doctrees/custodian.vasp.doctree and b/docs/_build/doctrees/custodian.vasp.doctree differ diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index c9d12ace..3fe4d758 100644 Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree index 66c92d21..d8761cee 100644 Binary files a/docs/_build/doctrees/index.doctree and b/docs/_build/doctrees/index.doctree differ diff --git a/docs/_build/doctrees/modules.doctree b/docs/_build/doctrees/modules.doctree index 4f8f84d6..721ffc7a 100644 Binary files a/docs/_build/doctrees/modules.doctree and b/docs/_build/doctrees/modules.doctree differ diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo index 71532920..685ed266 100644 --- a/docs/_build/html/.buildinfo +++ b/docs/_build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: ce604e9da68f63aa2c1f3752b4718248 +config: 027556057d184ab38babdd14d30b0a67 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/_modules/custodian/ansible/actions.html b/docs/_build/html/_modules/custodian/ansible/actions.html index 62e1aa52..6e854fc2 100644 --- a/docs/_build/html/_modules/custodian/ansible/actions.html +++ b/docs/_build/html/_modules/custodian/ansible/actions.html @@ -6,7 +6,7 @@ - custodian.ansible.actions — custodian 0.7.4 documentation + custodian.ansible.actions — custodian 0.7.5 documentation @@ -14,7 +14,7 @@ - + - + + + + + + + + + + + + + + +
+
+
+
+ +

Source code for custodian.ansible.interpreter

+#!/usr/bin/env python
+
+"""
+This module implements a Modder class that performs modifications on objects
+using support actions.
+"""
+
+from __future__ import division
+
+__author__ = "Shyue Ping Ong"
+__copyright__ = "Copyright 2012, The Materials Project"
+__version__ = "0.1"
+__maintainer__ = "Shyue Ping Ong"
+__email__ = "ongsp@ucsd.edu"
+__date__ = "Jun 1, 2012"
+
+
+import re
+
+from custodian.ansible.actions import DictActions
+
+
+
[docs]class Modder(object): + """ + Class to modify a dict/file/any object using a mongo-like language. + Keywords are mostly adopted from mongo's syntax, but instead of $, an + underscore precedes action keywords. This is so that the modification can + be inserted into a mongo db easily. + + Allowable actions are supplied as a list of classes as an argument. Refer + to the action classes on what the actions do. Action classes are in + pymatpro.ansible.actions. + + Examples: + >>> modder = Modder() + >>> d = {"Hello": "World"} + >>> mod = {'_set': {'Hello':'Universe', 'Bye': 'World'}} + >>> modder.modify(mod, d) + >>> d['Bye'] + 'World' + >>> d['Hello'] + 'Universe' + """ + def __init__(self, actions=None, strict=True): + """ + Initializes a Modder from a list of supported actions. + + Args: + actions ([Action]): A sequence of supported actions. See + :mod:`custodian.ansible.actions`. Default is None, + which means only DictActions are supported. + strict (bool): Indicating whether to use strict mode. In non-strict + mode, unsupported actions are simply ignored without any + errors raised. In strict mode, if an unsupported action is + supplied, a ValueError is raised. Defaults to True. + """ + self.supported_actions = {} + actions = actions if actions is not None else [DictActions] + for action in actions: + for i in dir(action): + if (not re.match('__\w+__', i)) and \ + callable(getattr(action, i)): + self.supported_actions["_" + i] = getattr(action, i) + self.strict = strict + +
[docs] def modify(self, modification, obj): + """ + Note that modify makes actual in-place modifications. It does not + return a copy. + + Args: + modification (dict): Modification must be {action_keyword : + settings}. E.g., {'_set': {'Hello':'Universe', 'Bye': 'World'}} + obj (dict/str/object): Object to modify depending on actions. For + example, for DictActions, obj will be a dict to be modified. + For FileActions, obj will be a string with a full pathname to a + file. + """ + for action, settings in modification.items(): + if action in self.supported_actions: + self.supported_actions[action].__call__(obj, settings) + elif self.strict: + raise ValueError("{} is not a supported action!" + .format(action)) +
+
[docs] def modify_object(self, modification, obj): + """ + Modify an object that supports pymatgen's to_dict and from_dict API. + + Args: + modification (dict): Modification must be {action_keyword : + settings}. E.g., {'_set': {'Hello':'Universe', 'Bye': 'World'}} + obj (object): Object to modify + """ + d = obj.to_dict + self.modify(modification, d) + return obj.from_dict(d) + +
+if __name__ == "__main__": + import doctest + doctest.testmod() +
+ +
+
+
+
+
+ + +
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_modules/custodian/custodian.html b/docs/_build/html/_modules/custodian/custodian.html index ecc0a34f..96d26445 100644 --- a/docs/_build/html/_modules/custodian/custodian.html +++ b/docs/_build/html/_modules/custodian/custodian.html @@ -6,7 +6,7 @@ - custodian.custodian — custodian 0.7.4 documentation + custodian.custodian — custodian 0.7.5 documentation @@ -14,7 +14,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -51,7 +51,7 @@

Navigation

  • modules |
  • -
  • custodian 0.7.4 documentation »
  • +
  • custodian 0.7.5 documentation »
  • @@ -102,7 +102,7 @@

    Navigation

  • modules |
  • -
  • custodian 0.7.4 documentation »
  • +
  • custodian 0.7.5 documentation »
  • diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index 417b65b1..fbc412b2 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:42,terms:{assimil:3,all:[1,6,2,4,3],code:1,edg:1,represent:4,auto_gamma:[6,3],scf:7,mpirun:6,sn_d:6,denteterrorhandl:1,steve:3,"catch":[1,4],prefix:4,qchemerrorhandlertest:[],follow:[1,6,2,4],rspher:6,real_optlai:6,y_sv:6,accur:6,depend:[],incar:[1,6],specif:[1,6,3],init:[1,6,4],concret:1,present:[0,1,6],skip:4,aris:1,fatal:6,sent:4,merchant:1,sourc:[0,1,2,4,6,7],everi:[4,3],string:[4,2],fals:[0,1,6,7,4],vastli:3,mn2:6,mn3:6,mn4:6,either:6,electron:[],mechan:[1,4],monti:1,failur:[4,7,3],veri:[1,6],vasp:[],syntax:2,tri:[6,3],walltim:[6,3],level:6,hanld:3,list:[0,1,2,4,6,7],signific:[6,3],iter:7,file_copi:2,"try":7,scratch_dir:[4,3],unsupport:2,progress:[6,3],small:6,though:2,refer:[],xiaohui:[1,3],dir:3,pleas:[0,1,6],impli:1,properti:[1,4],speci:6,direct:[0,6],nwchem_cmd:0,second:[4,6],lu_3:6,tet:6,append:[0,6,7],aflow:[6,3],index:1,what:2,sub:[1,6,3],richard:[1,3],sum:1,modder:2,fe4:6,uniform:1,current:[0,1,3,4,6,7],delet:2,intepret:[],waroqui:1,action_keyword:2,"new":[1,2],significantli:3,method:[1,6,2,4,3],fe3:6,xml:6,full:[6,2],run_nwchem:3,gener:[0,1,6,7,4],even:1,here:1,save:4,error_dict:4,let:[1,4],free:1,excess:6,path:2,becom:1,modifi:[1,6,2],ignor:[6,2],valu:[1,6],wait:[1,4],search:3,dec:[],wavefunct:6,shift:[6,3],conceiv:6,larger:7,errorhandl:[0,1,6,7,4],precis:1,converg:[1,6],amount:6,throughput:1,staticmethod:1,permit:1,action:[],implement:[0,1,2,3,4,6,7],nb_pv:6,chanc:1,control:2,large_static_mem:7,appli:4,transpar:3,jsonserializ:4,prefer:2,put:1,unix:[],"boolean":1,instal:1,total:[1,6],sge:6,unit:1,from:[1,2,3,4,6,7],describ:4,would:1,test_scf_reset:[],univers:2,icharg:6,prec:6,output_fil:[0,6,7],few:[6,3],handler:[],call:[4,3],postprocess:[0,1,6,7,4],recommend:[6,3],taken:[1,4],chk_file:7,nionic_step:6,mitvaspinputset:6,type:[1,7,4,3],until:1,minor:3,more:[1,4,3],sort:4,ca_sv:6,exit:4,desir:4,relax:[1,6],hundr:1,under:1,deped:1,notic:[1,4],warn:6,flag:[1,4],particular:[1,4],known:1,actual:[0,1,6,2,4],herebi:1,easiest:1,test_scf_gdm:[],must:[1,6,2,4],fly:6,none:[0,4,6,2,7],examplehandl:1,hour:6,restor:3,setup:[0,1,6,7,4],work:[1,4,3],uniqu:4,jobid:1,hautier:1,remain:6,wors:6,fe2:6,can:[1,6,2,3],get_nested_dict:2,new_mol:7,lwave:6,purpos:1,root:4,could:6,def:1,overrid:6,claim:1,pvasp:6,mongo:2,tar:4,process:[4,6],indic:[1,6,2,4],high:1,critic:1,roperti:4,want:4,serial:4,unfortun:6,occur:[4,6],alwai:[1,4],cours:4,end:[4,6],identifi:1,npar:[6,3],ping:[1,3],classifi:4,scr_link:[],write:[1,6],default_vasp_input_set:6,recoveri:1,subdirectori:[],instead:[0,1,6,2],rot_matrix:6,lbnl:1,updat:[6,3],custodian_exampl:1,msonabl:[],max:7,"_add_to_set":2,after:[1,6,4,3],befor:4,mesh:6,scratch:[4,3],set_scf_initial_guess:7,mai:[1,6,4],underscor:2,data:1,parallel:4,demonstr:1,unconverg:3,amin:6,attempt:[1,6],shreya:1,classmethod:[4,6,7],seriou:6,author:1,correspond:6,ambigu:2,caus:[1,6,4,3],inform:[1,2],"switch":[6,3],preced:2,environ:6,allow:[1,2,4],is_monitor:[1,6,4],order:[1,4],furnish:1,fileact:2,creation:4,rotat:6,routin:6,k_sv:6,over:4,move:[1,2,4],becaus:2,tb_3:6,rot_mat:1,through:[1,4],sqrt:[6,3],liabl:1,flexibl:[1,6,7,3],nwchemjob:0,suffix:6,style:[6,3],monitor:[1,6,4,3],fit:1,fix:[1,6,7,4,3],better:[6,7],tort:1,jit:1,brmix:[1,6],comprehens:[1,3],main:[1,2,4],might:6,magmom:6,non:[6,2],"_file_delet":2,"return":[1,2,3,4,6,7],thei:1,handl:[1,6,3],auto:[1,6],dan:1,dai:1,initi:[0,1,2,4,6,7],number:[1,6,4,3],band:[6,3],dav:6,ibrion:6,modify_object:2,"_file_copi":[6,2],brion:[6,3],qchemerrorhandl:7,term:1,name:[0,1,6,7,4],qclog_fil:7,set_last_input_geom:7,easili:2,mode:[1,2],timeout:6,each:[4,6,2],found:6,higher:6,potim:6,mean:[1,6,2,7,4],compil:3,vaspio_set:6,due:[1,6,7],michael:1,isym:3,product:[6,3],runtest:[],potimerrorhandl:6,"static":[1,6,2,7,3],expect:[1,6],ediff:6,energi:[1,6],differ:[1,6],todo:[],event:[1,4],special:[6,2],out:[0,1,6],variabl:[1,6],nelmin:6,matrix:6,space:[4,6,3],dst:[],publish:1,research:1,content:[],gamma_vasp_cmd:6,double_relaxation_run:[1,6],rel:1,lattic:6,print:[1,2],nsw:6,mo_pv:6,correct:[0,1,3,4,6,7],to_dict:[1,6,2,7,4],ru_pv:6,workflow:1,situat:1,given:[1,4],undo:2,standard:[0,4,6,7],add_to_set:2,base:[0,1,2,4,6,7],cholia:1,nice:4,releas:[1,3],bleed:1,fix_error_kil:7,basi:[1,6],wai:[1,4,3],fairli:1,record:[6,7],test_handl:[],david:1,recov:1,turn:[1,3],length:4,place:[1,2],unabl:6,rca_dii:7,transfer:1,geometri:[6,7],ionic:6,imposs:1,first:[4,7,3],oper:[6,7],softwar:1,major:[1,3],file_delet:2,perturb:6,onc:[1,4],ong:[1,3],input_filenam:6,sometim:[4,6],restrict:1,unlik:6,alreadi:6,done:1,messag:[0,1,6],symmetri:[1,6],"_push_al":2,oppos:2,stabl:[],open:1,prioriti:4,lstop:6,guess:7,polling_time_step:4,script:[1,3],teardown:[],dft:[0,6,7,3],system:[1,6,3],wrapper:1,checkpoint:[4,7,3],input_fil:[0,7],"10second":[],master:6,too:[6,3],similarli:1,termin:[1,4,3],"final":[4,6,7],store:[4,2],chevrier:1,option:[],especi:[1,3],namespac:2,"_pop":2,wall_tim:6,copi:[0,1,2,4,6,7],"1x1x1":[6,3],specifi:[1,6,3],persson:1,"_unset":2,github:1,dacek:3,mostli:2,consult:1,necessarili:[6,7],holder:1,than:[1,7],center:1,kind:[0,1,6,7],test_autoz_error:[],target:1,keyword:2,provid:[1,6,2,4,3],rate:1,structur:[],project:1,"__init__":1,str:[0,4,6,2,7],posit:6,minut:4,test_no_error:[],seri:[1,6,4],pre:4,"function":[1,4],sai:[4,6],vector:6,comput:1,nwout:0,arg:[0,1,6,7,4],ani:[1,6,2,4],sad:7,run_vasp:3,change_algo:6,sc_sv:6,have:[1,6,4,3],measur:4,need:[0,1,6,7,4],element:6,hessian:1,sell:1,issu:[1,3],equival:[],min:6,latter:4,maximum:[4,6],note:[1,2],also:[1,6],ideal:1,exampl:[],log_fil:4,which:[0,1,2,3,4,6],test_nan_error:[],supercomput:3,pymatgen:[0,1,6,2,7],difficult:4,unfix:4,mit:[1,6],davidson:1,nonconvergingerrorhandl:6,compat:1,unless:2,jain:1,ldautyp:6,normal:[6,3],track:2,object:[1,7,2,4],compress:[],oszicar:6,crash:6,most:1,regular:6,sublicens:1,list_of_error:4,"class":[0,1,2,3,4,6,7],charg:1,doi:1,renam:[0,6,2],grid_dens:6,adopt:2,request:[1,4],input_dict:2,auto_npar:[1,6,3],doe:2,wildcard:4,test_opt_fail:[],usual:[6,2],sigma:6,gracefulli:[1,4],serializ:[1,4],relax1:6,api:[],random:1,speedup:6,subprocess:6,particularli:[1,3],permiss:1,threshold:[6,7],ismear:[1,6],"_pull_al":2,fine:6,job1:4,buffer_tim:6,involv:1,consolid:3,onli:[0,6,2,7,3],"_file_mov":2,istart:6,copyright:1,"_pull":2,activ:6,written:[1,6],should:[1,6,2,4],"_inc":2,ldau:6,resubmit:3,dict:[1,6,2,7,4],file_mov:2,folder:3,file_cr:2,shyue:[1,3],output_filenam:[0,6],hit:6,variou:[0,6,2],get:[],rca_gdm_thresh:7,custodian:[],nelm:6,express:1,pypi:1,rootpath:[],settings_overrid:[0,6],repo:1,cannot:6,fix_error_code_134:7,increas:[1,6],kpoint:[1,6],scratch_link:4,restart:[1,6,4],kocher:1,triple_product:6,symprec:6,enabl:1,whether:[0,1,2,4,6,7],bad:4,common:[1,6],partit:4,contain:[1,6],new_file_nam:2,where:[0,1,6,4],cleanup:4,set:[1,2,3,4,6,7],job3:4,job2:4,seq:7,labort:6,encut:6,mutabl:1,methodnam:[],see:[1,6,2],sec:[4,6],json_cod:[],qchem_job:7,testcas:[],list_of_actions_taken:4,actual_cont:2,subject:1,nelect:1,co3:6,detect:[1,6,4],co4:6,hopefulli:1,databas:2,someth:[1,6],tend:1,figur:1,monitor_freq:4,skip_over_error:4,between:[1,6,4],"import":[1,3],paramet:[0,1,2,4,6,7],altern:7,signatur:[],kei:[1,2],meshsymmetryerrorhandl:6,xrang:1,tempfil:4,job:[],otherwis:[1,4],come:[1,3],addit:[1,7],last:[6,7,3],plugin:1,select_command:7,howev:2,contract:1,etc:[4,6],instanc:4,context:[],expand:3,modif:2,clone:1,examplejob:1,simpli:[1,2,4],point:[6,7],sr_sv:6,overview:1,unittest:1,njob:1,pop:2,v_pv:6,rpa:6,framework:1,dy_3:6,averag:6,output_vasprun:6,poscar:6,poll:[4,6],summar:1,orig:[0,6,7],liabil:1,do_someth:[],scratchdir:[],invers:6,been:[1,6],insuffici:1,compon:1,whom:1,json:[1,2,4,3],much:[1,4],basic:[0,6,7],lorbit:6,immedi:[4,3],valueerror:2,pricel:[1,6,3],thousand:1,argument:[1,6,2],zero:1,test_scf_rca:[],input:[0,1,6,2,7],rb_pv:6,rang:1,fix_scf:7,former:4,those:1,"case":1,subroutin:6,multi:3,bye:2,frozen:6,qcout:7,qchem:[],tetrahedron:6,contcar:6,geom_max_cycl:7,defin:[1,2,4],calcul:[],abov:1,error:[0,1,2,3,4,6,7],per:3,ultra:7,"_set":[6,2],earli:4,stop:6,increment:1,helper:[],stdout:[0,6],push_al:2,them:6,destin:[],cluster:3,itself:2,substanti:1,vaspjob:[1,6,3],ni3:6,shutil:[],surprisingli:[],sever:1,scienc:1,result:[1,6,4],dictact:2,incompat:1,develop:1,grant:1,perform:[0,1,2,3,4,6],nwchemerrorhandl:0,make:[4,2],format:1,same:1,python:[1,4],complex:[6,7],unconvergederrorhandl:[1,6],split:1,ni4:6,incorrect_shift:6,qcinp:7,document:[1,6,2,3],ansibl:[],complet:[1,6,4],"_renam":2,finish:[1,4],stopcar:6,optim:[6,7,3],nest:2,upon:4,effect:6,capabl:2,rais:[4,2],temporari:4,user:4,mani:[1,6,3],robust:[1,4,3],typic:6,tune:6,noninfring:1,task:[1,4],off:3,anubhav:1,older:1,chemistri:1,well:[1,2,3],ldauu:6,inherit:4,er_3:6,person:1,without:[1,2,7],command:[0,1,6,7],vincent:1,thi:[0,1,2,3,4,6,7],gzip:[0,4,6,7,3],fail:[1,6,7,4],self:1,tetirr:6,latest:1,protocol:4,just:[1,6],less:1,mol:[0,7],obtain:1,max_error:[1,4],commatsci:1,kill:6,aspect:1,cmd_name:7,outlin:1,speed:3,yet:[],languag:2,now:[1,4,3],fix_insufficient_static_memori:7,singl:3,lapack:6,recurs:[],help:[],except:4,param:1,wall:[6,3],add:1,alt_cmd:7,densiti:6,els:7,openmp:7,subsequ:6,match:6,take:[1,2],real:1,applic:1,around:6,whatev:6,scf_max_cycl:7,dest:[6,2],unset:2,ldaul:6,ldauj:6,diis_gdm:7,alias:6,ex_backup_list:7,background:1,vasp_cmd:6,world:[1,2],associ:1,redirect:[0,6,7],mod:2,nwchem:[],insert:2,like:[1,6,2],success:[1,7,4,3],deprec:[0,1,6,4],de_threshold:6,signal:4,popen:[4,6],integ:6,server:1,from_dict:[1,6,2,7,4],inv_rot_mat:6,necessari:[0,1,6,3],nose:1,pull_al:2,output:[0,1,3,4,6,7],geoffroi:1,prior:7,manag:[1,7,4],sm_3:6,encount:[1,4],"_push":2,right:1,often:[1,6,7],deal:1,qchem_cmd:7,gerbrand:1,some:[1,6,4],back:[4,6],unrecover:4,tm_3:6,fix_geom_opt:7,brackt:6,gzipped_output:[0,4,6],librari:1,distribut:1,scale:1,lead:4,subspacematrix:6,w_pv:6,avoid:2,shall:1,subclass:1,buffer:[6,3],larg:[1,6,7],sequenc:[1,2],condit:1,damag:1,b3lyp:[0,7],core:[6,3],run:[0,1,3,4,6,7],compris:1,hse:6,nkpt:6,genom:1,"_each":2,step:[1,6,2,4],kristin:1,copytre:[],ispin:6,post:4,error_msg:6,src:[],zbrent:[6,3],obj:2,materi:1,memori:7,simul:[1,2],algo:[6,3],electronic_step_stop:6,constructor:[6,7],zpotrf:6,backup:[0,4,6,7,3],gamma:[1,6,3],subset:1,chk:4,"float":[6,7],slurm:6,easy_instal:1,automat:[6,3],two:[1,6],warranti:1,hermitian:6,ba_sv:6,notat:2,wrap:6,too_few_band:6,storag:1,your:1,merg:1,accordingli:6,fast:[6,3],suffici:[1,6],area:1,gzip_dir:[],gunter:1,execut:6,support:[1,2,4,3],"long":[1,6],avail:1,start:[1,6,4,3],interfac:4,includ:[1,6,2,3],rudimentari:3,individu:4,vienna:1,analysi:[1,4],properli:1,form:[1,2],happen:6,three:1,converge_kpoint:[1,3],is_termin:[1,6,4],link:[1,4],vasperrorhandl:[1,6,3],spuriou:1,delta:7,ceder:1,err2:4,err1:4,buggi:1,"true":[0,4,6,2,7],bug:[1,3],longer:1,suppli:[1,2],pull:2,pbswalltimehand:3,frozenjoberrorhandl:6,cif:6,temp:[],possibl:4,"default":[0,2,3,4,6,7],intern:6,"abstract":[1,4],isif:6,below:1,qchemjob:7,limit:1,indefinit:1,rerun:[1,4],commonli:1,ho_3:6,problem:6,similar:1,care:6,connect:1,featur:1,creat:[1,2,4],address:3,"int":[4,6,7],certain:1,dure:[1,6,4,3],filenam:[4,6,2],"1ev":6,exist:6,file:[0,1,2,3,4,6,7],pip:1,improv:[1,4,3],check:[0,1,6,7,4],inc:2,incorrect:3,again:1,poscarerrorhandl:1,potcar:6,sequenti:4,when:[1,6,4,3],detail:1,refactor:[1,3],other:[1,6,4],bool:[0,4,6,2,7],lreal:6,recursive_copi:[],test:[],pathnam:2,you:[1,6,4],pbs_walltim:6,queu:[],deseri:4,relat:4,determin:6,initio:1,mongodb:2,symbol:4,vasprun:6,william:1,consid:[1,6],strict:2,doubl:6,pymatpro:2,dentet:[6,3],qcinput:7,pbswalltimehandl:[1,3],sphinx:1,faster:[4,3],algorithm:7,directori:[1,6,4,3],walltimehandl:[1,6],portion:1,cs_sv:6,half_cpu:7,tripl:[6,3],potenti:[1,4],time:[1,6,4,3],push:2,backward:1,hello:2,vaspinputset:6},objtypes:{"0":"py:module","1":"py:method","2":"py:attribute","3":"py:function","4":"py:staticmethod","5":"py:class","6":"py:classmethod"},objnames:{"0":["py","module","Python module"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"],"3":["py","function","Python function"],"4":["py","staticmethod","Python static method"],"5":["py","class","Python class"],"6":["py","classmethod","Python class method"]},filenames:["custodian.nwchem","index","custodian.ansible","changelog","custodian","modules","custodian.vasp","custodian.qchem"],titles:["custodian.nwchem package","Change log","custodian.ansible package","Change Log","custodian package","custodian","custodian.vasp package","custodian.qchem package"],objects:{"":{custodian:[4,0,0,"-"]},"custodian.ansible":{intepreter:[2,0,0,"-"],actions:[2,0,0,"-"]},"custodian.vasp.handlers.UnconvergedErrorHandler":{is_monitor:[6,2,1,""],correct:[6,1,1,""],check:[6,1,1,""]},"custodian.custodian.Job":{setup:[4,1,1,""],run:[4,1,1,""],name:[4,2,1,""],postprocess:[4,1,1,""]},"custodian.nwchem.handlers":{NwchemErrorHandler:[0,5,1,""]},"custodian.vasp.handlers":{VaspErrorHandler:[6,5,1,""],PotimErrorHandler:[6,5,1,""],MeshSymmetryErrorHandler:[6,5,1,""],WalltimeHandler:[6,5,1,""],FrozenJobErrorHandler:[6,5,1,""],UnconvergedErrorHandler:[6,5,1,""],NonConvergingErrorHandler:[6,5,1,""]},"custodian.utils":{backup:[4,3,1,""]},"custodian.custodian.JSONSerializable":{from_dict:[4,6,1,""],to_dict:[4,2,1,""]},"custodian.vasp.jobs.VaspJob":{run:[6,1,1,""],setup:[6,1,1,""],from_dict:[6,6,1,""],double_relaxation_run:[6,4,1,""],to_dict:[6,2,1,""],postprocess:[6,1,1,""]},"custodian.ansible.intepreter.Modder":{modify:[2,1,1,""],modify_object:[2,1,1,""]},"custodian.vasp":{jobs:[6,0,0,"-"],handlers:[6,0,0,"-"]},"custodian.ansible.actions.DictActions":{rename:[2,4,1,""],push_all:[2,4,1,""],set:[2,4,1,""],pull:[2,4,1,""],pop:[2,4,1,""],add_to_set:[2,4,1,""],push:[2,4,1,""],pull_all:[2,4,1,""],unset:[2,4,1,""],inc:[2,4,1,""]},"custodian.custodian.Custodian":{LOG_FILE:[4,2,1,""],run:[4,1,1,""]},"custodian.nwchem":{jobs:[0,0,0,"-"],handlers:[0,0,0,"-"]},"custodian.nwchem.jobs":{NwchemJob:[0,5,1,""]},"custodian.qchem.handlers":{QChemErrorHandler:[7,5,1,""]},"custodian.custodian":{Custodian:[4,5,1,""],Job:[4,5,1,""],ErrorHandler:[4,5,1,""],JSONSerializable:[4,5,1,""]},"custodian.nwchem.handlers.NwchemErrorHandler":{correct:[0,1,1,""],check:[0,1,1,""]},"custodian.vasp.handlers.NonConvergingErrorHandler":{is_monitor:[6,2,1,""],check:[6,1,1,""],correct:[6,1,1,""]},"custodian.vasp.handlers.PotimErrorHandler":{is_monitor:[6,2,1,""],check:[6,1,1,""],correct:[6,1,1,""]},"custodian.custodian.ErrorHandler":{is_monitor:[4,2,1,""],is_terminating:[4,2,1,""],check:[4,1,1,""],correct:[4,1,1,""]},"custodian.nwchem.jobs.NwchemJob":{setup:[0,1,1,""],run:[0,1,1,""],postprocess:[0,1,1,""]},"custodian.vasp.handlers.WalltimeHandler":{is_monitor:[6,2,1,""],is_terminating:[6,2,1,""],check:[6,1,1,""],correct:[6,1,1,""]},custodian:{nwchem:[0,0,0,"-"],custodian:[4,0,0,"-"],utils:[4,0,0,"-"],qchem:[7,0,0,"-"],ansible:[2,0,0,"-"],vasp:[6,0,0,"-"]},"custodian.ansible.actions.FileActions":{file_create:[2,4,1,""],file_delete:[2,4,1,""],file_copy:[2,4,1,""],file_move:[2,4,1,""]},"custodian.qchem.handlers.QChemErrorHandler":{from_dict:[7,6,1,""],fix_geom_opt:[7,1,1,""],check:[7,1,1,""],set_last_input_geom:[7,1,1,""],to_dict:[7,2,1,""],fix_insufficient_static_memory:[7,1,1,""],set_scf_initial_guess:[7,1,1,""],fix_error_code_134:[7,1,1,""],fix_error_killed:[7,1,1,""],fix_scf:[7,1,1,""],backup:[7,1,1,""],correct:[7,1,1,""]},"custodian.vasp.handlers.VaspErrorHandler":{correct:[6,1,1,""],error_msgs:[6,2,1,""],is_monitor:[6,2,1,""],check:[6,1,1,""]},"custodian.vasp.handlers.FrozenJobErrorHandler":{is_monitor:[6,2,1,""],correct:[6,1,1,""],check:[6,1,1,""]},"custodian.qchem":{jobs:[7,0,0,"-"],handlers:[7,0,0,"-"]},"custodian.qchem.jobs.QchemJob":{select_command:[7,1,1,""],setup:[7,1,1,""],run:[7,1,1,""],postprocess:[7,1,1,""]},"custodian.vasp.handlers.MeshSymmetryErrorHandler":{is_monitor:[6,2,1,""],check:[6,1,1,""],correct:[6,1,1,""]},"custodian.ansible.actions":{DictActions:[2,5,1,""],FileActions:[2,5,1,""],get_nested_dict:[2,3,1,""]},"custodian.ansible.intepreter":{Modder:[2,5,1,""]},"custodian.qchem.jobs":{QchemJob:[7,5,1,""]}},titleterms:{modul:[0,4,6,2,7],submodul:[0,4,6,2,7],packag:[0,4,6,2,7],api:1,stabl:1,depend:1,log:[1,3],licens:1,content:[0,4,6,2,7],how:1,version:[1,3],custodian:[0,1,2,4,5,6,7],test:[],simpl:1,ansibl:2,refer:1,development:1,subpackag:[0,4,6,2,7],option:1,get:1,handler:[0,6,7],usag:1,qchem:7,util:4,job:[0,6,7],intepret:2,vasp:6,requir:1,nwchem:0,practic:1,doc:1,test_handl:[],electron:1,structur:1,cite:1,calcul:1,exampl:1,action:2,chang:[1,3]}}) \ No newline at end of file +Search.setIndex({envversion:42,terms:{assimil:3,all:[1,6,2,4,3],code:1,edg:1,represent:4,inv_rot_mat:6,auto_gamma:[6,3],scf:7,mpirun:6,sn_d:6,denteterrorhandl:1,steve:3,rb_pv:6,prefix:4,qchemerrorhandlertest:[],follow:[1,6,2,4],real_optlai:6,accur:6,depend:[],incar:[1,6],nose:1,init:[1,6,4],concret:1,those:1,skip:4,aris:1,fatal:6,sent:4,merchant:1,ho_3:6,sourc:[0,1,2,4,6,7],everi:[4,6,3],string:[4,2],without:[1,2,7],fals:[0,1,6,7,4],vastli:3,mn2:6,mn3:6,mn4:6,electron:[],mechan:[1,4],monti:1,failur:[4,7,3],veri:[1,6],vasp:[],subprocess:6,tri:[6,3],walltim:[6,3],level:6,hanld:3,list:[0,1,2,4,6,7],signific:[6,3],iter:7,file_copi:2,"try":7,scratch_dir:[4,3],scf_max_cycl:7,unsupport:2,progress:[6,3],small:6,xiaohui:[1,3],dir:3,isif:6,pleas:[0,1,6],impli:1,smaller:6,speci:6,direct:[0,6],nwchem_cmd:0,second:[4,6],lu_3:6,unrecover:4,tet:6,append:[0,6,7],subclass:1,aflow:[6,3],index:1,what:[6,2],outlin:1,sub:[1,6,3],richard:[1,3],sum:1,modder:2,fe4:6,uniform:1,current:[0,1,3,4,6,7],delet:2,intepret:[],waroqui:1,action_keyword:2,"new":[1,2],method:[1,6,2,4,3],fe3:6,involv:1,full:[6,2],run_nwchem:3,gener:[0,1,6,7,4],here:1,save:4,error_dict:4,let:[1,4],undo:2,excess:6,path:2,becom:1,modifi:[1,6,2],sinc:6,valu:[1,6],wait:[1,4],search:3,dec:[],copyright:1,shift:[6,3],conceiv:6,larger:7,errorhandl:[0,1,6,7,4],precis:1,converg:[1,6],amount:6,kristin:1,throughput:1,staticmethod:1,permit:1,action:[],implement:[0,1,2,3,4,6,7],nb_pv:6,chanc:1,control:2,large_static_mem:7,appli:4,jsonserializ:4,prefer:2,releas:[1,3],unix:[],"boolean":1,instal:1,total:[1,6],sge:6,unit:1,from:[1,2,3,4,6,7],describ:4,would:1,test_scf_reset:[],univers:2,ldau:6,prec:6,bleed:1,few:[6,3],handler:[],call:[4,3],postprocess:[0,1,6,7,4],recommend:[6,3],taken:[1,4],chk_file:7,nionic_step:6,basi:[1,6],type:[1,7,4,3],until:1,minor:3,more:[1,4,3],sort:4,ca_sv:6,desir:[4,6],relax:[1,6],hundr:1,under:1,deped:1,notic:[1,4],warn:6,flag:[1,4],particular:[1,4],known:1,obj:2,herebi:1,easiest:1,test_scf_gdm:[],must:[1,6,2,4],fly:6,none:[0,4,6,2,7],examplehandl:1,hour:6,restor:3,chkpt:6,setup:[0,1,6,7,4],work:[1,4,3],uniqu:4,jobid:1,hautier:1,remain:6,wors:6,fe2:6,can:[1,6,2,3],get_nested_dict:2,new_mol:7,lwave:6,purpos:1,root:4,test_handl:[],def:1,overrid:6,claim:1,mongo:2,tar:4,process:[4,6],grant:1,indic:[1,6,2,4],high:[1,6],critic:1,roperti:4,want:[4,6],ni3:6,serial:4,simul:[1,2],occur:[4,6],alwai:[1,4],cours:4,end:[4,6],rather:6,ping:[1,3],classifi:4,scr_link:[],write:[1,6],default_vasp_input_set:6,recoveri:1,subdirectori:[],instead:[0,1,6,2],rot_matrix:6,lbnl:1,updat:[6,3],product:[6,3],msonabl:[],max:[6,7],"_add_to_set":2,after:[1,6,4,3],befor:4,mesh:6,scratch:[4,3],set_scf_initial_guess:7,mai:[1,6,4],underscor:2,data:1,parallel:4,demonstr:1,repo:1,amin:6,attempt:[1,6],shreya:1,classmethod:[4,6,7],seriou:6,author:1,correspond:6,ambigu:2,caus:[1,6,4,3],inform:[1,2],"switch":[6,3],preced:2,environ:6,allow:[1,2,4],nwchemerrorhandl:0,seq:7,order:[1,4],furnish:1,fileact:2,creation:4,rotat:6,k_sv:6,over:4,move:[1,2,4],becaus:2,tb_3:6,rot_mat:1,through:[1,4],same:1,kpoint:[1,6],flexibl:[1,6,7,3],nwchemjob:0,file_delet:2,style:[6,3],monitor:[1,6,4,3],fit:1,fix:[1,6,7,4,3],better:[6,7],tort:1,jit:1,complex:[6,7],comprehens:[1,3],main:[1,2,4],might:6,kocher:1,non:[6,2],"_file_delet":2,"return":[1,2,3,4,6,7],thei:1,output:[0,1,3,4,6,7],handl:[1,6,3],auto:[1,6],dan:1,dai:1,initi:[0,1,2,4,6,7],ong:[1,3],band:[6,3],dav:6,ibrion:6,modify_object:2,brion:[6,3],qcinp:7,warranti:1,term:1,name:[0,1,6,7,4],max_force_threshold:6,qclog_fil:7,hermitian:6,easili:2,achiev:6,mode:[1,2],timeout:6,each:[4,6,2],found:6,higher:6,tetrahedron:6,potim:6,mean:[1,6,2,7,4],compil:3,vaspio_set:6,michael:1,isym:3,custodian_exampl:1,runtest:[],finish:[1,4],"static":[1,6,2,7,3],expect:[1,6],ediff:6,energi:[1,6],todo:[],event:[1,4],special:[6,2],out:[0,1,6],variabl:[1,6],nelmin:6,given:[1,4],matrix:6,space:[4,6,3],dst:[],publish:1,research:1,content:[],gamma_vasp_cmd:6,double_relaxation_run:[1,6],rel:1,lattic:6,print:[1,2],merg:1,mo_pv:6,correct:[0,1,3,4,6,7],common:[1,6],ru_pv:6,workflow:1,runtimeerror:1,situat:1,differ:[1,6],free:1,standard:[0,4,6,7],add_to_set:2,base:[0,1,2,4,6,7],cholia:1,unrecoverable_error:1,put:1,relat:4,output_fil:[0,6,7],fix_error_kil:7,mitvaspinputset:6,suffici:[1,6],capabl:2,could:6,insert:2,success:[1,7,4,3],david:1,recov:1,turn:[1,3],length:4,place:[1,2],unabl:6,rca_dii:7,gunter:1,geometri:[6,7],ionic:6,imposs:1,first:[4,7,3],oper:[6,7],softwar:1,major:[1,3],suffix:6,perturb:6,onc:[1,4],dure:[1,6,4,3],number:[1,6,4,3],input_filenam:6,system:[1,6,3],restrict:1,unlik:6,alreadi:6,done:1,wrapper:1,symmetri:[1,6],robust:[1,4,3],oppos:2,stabl:[],open:1,prioriti:4,lstop:6,guess:7,"long":[1,6],polling_time_step:4,script:[1,3],teardown:[],dft:[0,6,7,3],buggi:1,sometim:[4,6],messag:[0,1,6],checkpoint:[4,6,7,3],input_fil:[0,7],"10second":[],master:6,too:[6,3],similarli:1,protocol:4,termin:[1,6,4,3],"final":[4,6,7],store:[4,6,2],chevrier:1,stdout:[0,6],option:[],especi:[1,3],namespac:2,labort:6,copi:[0,1,2,4,6,7],"1x1x1":[6,3],specifi:[1,6,3],persson:1,"_unset":2,github:1,dacek:3,mostli:2,consult:1,necessarili:[6,7],holder:1,than:[1,7],kind:[0,1,6,7],test_autoz_error:[],target:1,keyword:2,provid:[1,6,2,4,3],older:1,rate:1,structur:[],project:1,str:[0,4,6,2,7],posit:6,minut:4,test_no_error:[],seri:[1,6,4],pre:4,analysi:[1,4],sai:[4,6],vector:6,comput:1,nwout:0,qchem_job:7,ani:[1,6,2,4],sad:7,run_vasp:3,change_algo:6,sc_sv:6,have:[1,6,4,3],need:[0,1,6,7,4],element:6,hessian:1,normal:[6,3],sell:1,issu:[1,3],three:1,equival:[],min:6,latter:4,note:[1,2],also:[1,6],ideal:1,exampl:[],take:[1,2],which:[0,1,2,3,4,6],test_nan_error:[],supercomput:3,pymatgen:[0,1,6,2,7],difficult:4,subject:1,mit:[1,6],davidson:1,nonconvergingerrorhandl:6,even:1,unless:2,jain:1,ldautyp:6,shall:1,track:2,gerbrand:1,object:[1,7,2,4],compress:[],oszicar:6,most:1,regular:6,sublicens:1,subset:1,list_of_error:4,"class":[0,1,2,3,4,6,7],charg:1,doi:1,renam:[0,6,2],grid_dens:6,adopt:2,request:[1,4],input_dict:2,auto_npar:[1,6,3],doe:[6,2],wildcard:4,test_opt_fail:[],latest:1,sigma:6,gracefulli:[1,4],serializ:[1,4],relax1:6,random:1,speedup:6,syntax:2,connect:1,particularli:[1,3],permiss:1,threshold:[6,7],ismear:[1,6],"_pull_al":2,rang:1,fine:6,buffer_tim:6,xml:6,consolid:3,onli:[0,6,2,7,3],"_file_mov":2,istart:6,wavefunct:6,less:1,activ:6,figur:1,should:[1,6,2,4],"_inc":2,icharg:6,resubmit:3,dict:[1,6,2,7,4],tune:6,file_mov:2,folder:3,file_cr:2,shyue:[1,3],output_filenam:[0,6],hit:6,variou:[0,6,2],get:[],rca_gdm_thresh:7,custodian:[],nelm:6,express:1,pypi:1,rootpath:[],obtain:1,unconverg:3,cannot:6,fix_error_code_134:7,increas:[1,6],liabl:1,scratch_link:4,restart:[1,6,4],magmom:6,triple_product:6,symprec:6,enabl:1,"default":[0,2,3,4,6,7],bad:[4,6],queu:[],to_dict:[1,6,2,7,4],partit:4,contain:[1,6],new_file_nam:2,where:[0,1,6,4],set:[1,2,3,4,6,7],job3:4,job2:4,job1:4,creator:6,"_pop":2,encut:6,mutabl:1,methodnam:[],see:[1,6,2],sec:[4,6],json_cod:[],arg:[0,1,6,7,4],testcas:[],list_of_actions_taken:4,actual_cont:2,unfix:4,nelect:1,co3:6,detect:[1,6,4],co4:6,hopefulli:1,databas:2,someth:[1,6],tend:1,written:[1,6],monitor_freq:4,skip_over_error:4,subdir:6,between:[1,6,4],"import":[1,3],paramet:[0,1,2,4,6,7],altern:7,signatur:[],kei:[1,2],meshsymmetryerrorhandl:6,xrang:1,b3lyp:[0,7],tempfil:4,job:[],anubhav:1,come:[1,3],half_cpu:7,addit:[1,7],last:[6,7,3],plugin:1,select_command:7,howev:2,contract:1,etc:[4,6],instanc:4,context:[],modif:2,clone:1,examplejob:1,simpli:[1,2,4],point:[6,7],sr_sv:6,overview:1,unittest:1,njob:1,pop:2,rpa:6,dy_3:6,averag:6,output_vasprun:6,poscar:6,poll:[4,6],summar:1,orig:[0,6,7],sever:1,liabil:1,do_someth:[],creat:[1,2,4],scratchdir:[],invers:6,been:[1,6],insuffici:1,compon:1,whom:1,json:[1,2,4,3],much:[1,4],interpret:4,basic:[0,6,7],lorbit:6,immedi:[4,3],valueerror:2,pricel:[1,6,3],thousand:1,densiti:6,argument:[1,6,2],zero:1,test_scf_rca:[],els:7,"catch":[1,4],rspher:6,fix_scf:7,former:4,present:[0,1,6],"case":1,subroutin:6,multi:3,bye:2,look:6,frozen:6,qcout:7,qchem:[],properti:[1,4],contcar:6,geom_max_cycl:7,defin:[1,2,4],calcul:[],abov:1,error:[0,1,2,3,4,6,7],ultra:7,"_set":[6,2],real:1,increment:1,helper:[],wouldn:6,push_al:2,them:6,destin:[],cluster:3,itself:2,substanti:1,vaspjob:[1,6,3],crash:6,shutil:[],surprisingli:[],"__init__":1,scienc:1,result:[1,6,4],dictact:2,incompat:1,develop:1,v_pv:6,perform:[0,1,2,3,4,6],is_monitor:[1,6,4],make:[4,2],format:1,sqrt:[6,3],check:[0,1,6,7,4],python:[1,4],brmix:[1,6],unconvergederrorhandl:[1,6],split:1,ni4:6,incorrect_shift:6,qchemerrorhandl:7,document:[1,6,2,3],ansibl:[],complet:[1,6,4],care:6,"_renam":2,potimerrorhandl:6,stopcar:6,optim:[6,7,3],nest:2,upon:4,effect:6,fairli:1,rais:[4,2],temporari:4,user:4,mani:[1,6,3],"_push_al":2,typic:6,expand:3,pull:2,memori:7,noninfring:1,task:[1,4],off:3,center:1,framework:1,chemistri:1,well:[1,2,3],diis_gdm:7,inherit:4,er_3:6,person:1,maxforceerrorhandl:6,command:[0,1,6,7],vincent:1,thi:[0,1,2,3,4,6,7],gzip:[0,4,6,7,3],fail:[1,6,7,4],self:1,tetirr:6,usual:[6,2],identifi:1,just:[1,6],"_pull":2,vaspinputset:6,vasp_cmd:6,settings_overrid:[0,6],max_error:[1,6,4],commatsci:1,kill:6,aspect:1,cmd_name:7,simultan:6,speed:3,yet:[],languag:2,now:[1,4,3],fix_insufficient_static_memori:7,singl:3,lapack:6,recurs:[],help:[],except:4,param:1,wall:[6,3],add:1,alt_cmd:7,larg:[1,6,7],combiant:6,input:[0,1,6,2,7],openmp:7,subsequ:6,match:6,log_fil:4,earli:4,applic:1,around:6,whatev:6,transpar:3,dest:[6,2],ldaul:6,ldauj:6,ldauu:6,alias:6,ex_backup_list:7,background:1,mol:[0,7],world:[1,2],associ:1,redirect:[0,6,7],mod:2,nwchem:[],measur:4,like:[1,6,2],specif:[1,6,3],deprec:[0,1,6,4],de_threshold:6,signal:4,popen:[4,6],integ:6,server:1,from_dict:[1,6,2,7,4],api:[],necessari:[0,1,6,3],either:6,badvasprunxmlhandl:[1,6],pull_al:2,copytre:[],geoffroi:1,prior:7,manag:[1,7,4],sm_3:6,encount:[1,4],"_push":2,right:1,often:[1,6,7],deal:1,interv:6,compat:1,some:[1,6,4],back:[4,6],intern:6,tm_3:6,fix_geom_opt:7,brackt:6,proper:6,poscarerrorhandl:1,librari:1,distribut:1,scale:1,lead:4,subspacematrix:6,w_pv:6,avoid:2,though:2,two:[1,6],per:[6,3],buffer:[6,3],exit:[1,4],mongodb:2,condit:1,damag:1,refer:[],core:[6,3],run:[0,1,3,4,6,7],compris:1,hse:6,nkpt:6,genom:1,"_each":2,step:[1,6,2,4],chk_:6,wall_tim:6,ispin:6,post:4,error_msg:6,src:[],zbrent:[6,3],actual:[0,1,6,2,4],materi:1,pvasp:6,unfortun:6,algo:[6,3],electronic_step_stop:6,constructor:[6,7],zpotrf:6,backup:[0,4,6,7,3],other:[1,6,4],gamma:[1,6,3],routin:6,chk:4,"float":[6,7],slurm:6,easy_instal:1,automat:[6,3],due:[1,6,7],stop:6,set_last_input_geom:7,ba_sv:6,notat:2,wrap:6,too_few_band:6,next:6,storag:1,your:1,nsw:6,checkpointhandl:6,accordingli:6,wai:[1,4,3],area:1,gzip_dir:[],transfer:1,execut:6,support:[1,2,4,3],fast:[6,3],avail:1,start:[1,6,4,3],interfac:4,includ:[1,6,2,3],rudimentari:3,qchem_cmd:7,vienna:1,"function":[1,4],properli:[1,6],form:[1,2],forc:6,criteria:6,converge_kpoint:[1,3],is_termin:[1,6,4],link:[1,4],vasperrorhandl:[1,6,3],spuriou:1,delta:7,ceder:1,err2:4,err1:4,npar:[6,3],"true":[0,4,6,2,7],bug:[1,3],faster:[4,3],suppli:[1,2],"_file_copi":[6,2],pbswalltimehand:3,frozenjoberrorhandl:6,cif:6,temp:[],possibl:4,whether:[0,1,2,4,6,7],maximum:[4,6],record:[6,7],below:1,qchemjob:7,limit:1,indefinit:1,rerun:[1,4],commonli:1,otherwis:[1,6,4],problem:6,similar:1,y_sv:6,significantli:3,featur:1,individu:4,address:3,"int":[4,6,7],certain:1,"abstract":[1,4],filenam:[4,6,2],exist:6,file:[0,1,2,3,4,6,7],pip:1,improv:[1,4,3],happen:6,probabl:6,incorrect:3,again:1,gzipped_output:[0,4,6],potcar:6,stoppedrunhandl:6,sequenti:4,when:[1,6,4,3],detail:1,refactor:[1,3],cleanup:4,bool:[0,4,6,2,7],lreal:6,recursive_copi:[],test:[],pathnam:2,you:[1,6,4],pbs_walltim:6,nice:4,deseri:4,"1ev":6,determin:6,initio:1,sequenc:[1,2],symbol:4,vasprun:6,william:1,consid:[1,6],strict:2,doubl:6,pymatpro:2,dentet:[6,3],qcinput:7,pbswalltimehandl:[1,3],sphinx:1,longer:1,algorithm:7,directori:[1,6,4,3],walltimehandl:[1,6],portion:1,cs_sv:6,ignor:[6,2],tripl:[6,3],potenti:[1,4],time:[1,6,4,3],push:2,backward:1,inc:2,hello:2,unset:2},objtypes:{"0":"py:module","1":"py:method","2":"py:attribute","3":"py:function","4":"py:staticmethod","5":"py:class","6":"py:classmethod"},objnames:{"0":["py","module","Python module"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"],"3":["py","function","Python function"],"4":["py","staticmethod","Python static method"],"5":["py","class","Python class"],"6":["py","classmethod","Python class method"]},filenames:["custodian.nwchem","index","custodian.ansible","changelog","custodian","modules","custodian.vasp","custodian.qchem"],titles:["custodian.nwchem package","Change log","custodian.ansible package","Change Log","custodian package","custodian","custodian.vasp package","custodian.qchem package"],objects:{"":{custodian:[4,0,0,"-"]},"custodian.ansible":{interpreter:[2,0,0,"-"],actions:[2,0,0,"-"]},"custodian.vasp.handlers.UnconvergedErrorHandler":{is_monitor:[6,2,1,""],correct:[6,1,1,""],check:[6,1,1,""]},"custodian.custodian.Job":{setup:[4,1,1,""],run:[4,1,1,""],name:[4,2,1,""],postprocess:[4,1,1,""]},"custodian.nwchem.handlers":{NwchemErrorHandler:[0,5,1,""]},"custodian.vasp.handlers":{VaspErrorHandler:[6,5,1,""],PotimErrorHandler:[6,5,1,""],BadVasprunXMLHandler:[6,5,1,""],MaxForceErrorHandler:[6,5,1,""],UnconvergedErrorHandler:[6,5,1,""],WalltimeHandler:[6,5,1,""],FrozenJobErrorHandler:[6,5,1,""],StoppedRunHandler:[6,5,1,""],MeshSymmetryErrorHandler:[6,5,1,""],CheckpointHandler:[6,5,1,""],NonConvergingErrorHandler:[6,5,1,""]},"custodian.utils":{backup:[4,3,1,""]},"custodian.custodian.JSONSerializable":{from_dict:[4,6,1,""],to_dict:[4,2,1,""]},"custodian.vasp.jobs.VaspJob":{run:[6,1,1,""],setup:[6,1,1,""],from_dict:[6,6,1,""],double_relaxation_run:[6,4,1,""],to_dict:[6,2,1,""],postprocess:[6,1,1,""]},"custodian.vasp":{jobs:[6,0,0,"-"],handlers:[6,0,0,"-"]},"custodian.ansible.actions.DictActions":{push_all:[2,4,1,""],pull:[2,4,1,""],set:[2,4,1,""],pop:[2,4,1,""],add_to_set:[2,4,1,""],rename:[2,4,1,""],push:[2,4,1,""],pull_all:[2,4,1,""],unset:[2,4,1,""],inc:[2,4,1,""]},"custodian.custodian.Custodian":{LOG_FILE:[4,2,1,""],run:[4,1,1,""]},"custodian.nwchem":{jobs:[0,0,0,"-"],handlers:[0,0,0,"-"]},"custodian.ansible.interpreter.Modder":{modify:[2,1,1,""],modify_object:[2,1,1,""]},"custodian.nwchem.jobs":{NwchemJob:[0,5,1,""]},"custodian.qchem.handlers":{QChemErrorHandler:[7,5,1,""]},"custodian.custodian":{Custodian:[4,5,1,""],Job:[4,5,1,""],ErrorHandler:[4,5,1,""],JSONSerializable:[4,5,1,""]},"custodian.nwchem.handlers.NwchemErrorHandler":{correct:[0,1,1,""],check:[0,1,1,""]},"custodian.vasp.handlers.StoppedRunHandler":{is_monitor:[6,2,1,""],is_terminating:[6,2,1,""],correct:[6,1,1,""],check:[6,1,1,""]},"custodian.vasp.handlers.NonConvergingErrorHandler":{is_monitor:[6,2,1,""],check:[6,1,1,""],correct:[6,1,1,""]},"custodian.vasp.handlers.CheckpointHandler":{is_monitor:[6,2,1,""],is_terminating:[6,2,1,""],check:[6,1,1,""],correct:[6,1,1,""]},"custodian.vasp.handlers.PotimErrorHandler":{is_monitor:[6,2,1,""],check:[6,1,1,""],correct:[6,1,1,""]},"custodian.custodian.ErrorHandler":{is_monitor:[4,2,1,""],is_terminating:[4,2,1,""],check:[4,1,1,""],correct:[4,1,1,""]},"custodian.nwchem.jobs.NwchemJob":{setup:[0,1,1,""],run:[0,1,1,""],postprocess:[0,1,1,""]},"custodian.vasp.handlers.WalltimeHandler":{is_monitor:[6,2,1,""],is_terminating:[6,2,1,""],check:[6,1,1,""],correct:[6,1,1,""]},"custodian.ansible.interpreter":{Modder:[2,5,1,""]},custodian:{nwchem:[0,0,0,"-"],custodian:[4,0,0,"-"],utils:[4,0,0,"-"],qchem:[7,0,0,"-"],ansible:[2,0,0,"-"],vasp:[6,0,0,"-"]},"custodian.ansible.actions.FileActions":{file_create:[2,4,1,""],file_delete:[2,4,1,""],file_copy:[2,4,1,""],file_move:[2,4,1,""]},"custodian.vasp.handlers.BadVasprunXMLHandler":{is_monitor:[6,2,1,""],is_terminating:[6,2,1,""],check:[6,1,1,""],correct:[6,1,1,""]},"custodian.ansible.actions":{DictActions:[2,5,1,""],FileActions:[2,5,1,""],get_nested_dict:[2,3,1,""]},"custodian.qchem.handlers.QChemErrorHandler":{from_dict:[7,6,1,""],fix_geom_opt:[7,1,1,""],check:[7,1,1,""],set_last_input_geom:[7,1,1,""],to_dict:[7,2,1,""],fix_insufficient_static_memory:[7,1,1,""],set_scf_initial_guess:[7,1,1,""],fix_error_code_134:[7,1,1,""],fix_error_killed:[7,1,1,""],fix_scf:[7,1,1,""],backup:[7,1,1,""],correct:[7,1,1,""]},"custodian.vasp.handlers.VaspErrorHandler":{correct:[6,1,1,""],error_msgs:[6,2,1,""],is_monitor:[6,2,1,""],check:[6,1,1,""]},"custodian.vasp.handlers.FrozenJobErrorHandler":{is_monitor:[6,2,1,""],correct:[6,1,1,""],check:[6,1,1,""]},"custodian.qchem":{jobs:[7,0,0,"-"],handlers:[7,0,0,"-"]},"custodian.qchem.jobs.QchemJob":{select_command:[7,1,1,""],setup:[7,1,1,""],run:[7,1,1,""],postprocess:[7,1,1,""]},"custodian.vasp.handlers.MeshSymmetryErrorHandler":{is_monitor:[6,2,1,""],correct:[6,1,1,""],check:[6,1,1,""]},"custodian.vasp.handlers.MaxForceErrorHandler":{is_monitor:[6,2,1,""],check:[6,1,1,""],correct:[6,1,1,""]},"custodian.qchem.jobs":{QchemJob:[7,5,1,""]}},titleterms:{version:[1,3],modul:[0,4,6,2,7],submodul:[0,4,6,2,7],packag:[0,4,6,2,7],api:1,stabl:1,depend:1,log:[1,3],licens:1,content:[0,4,6,2,7],how:1,handler:[0,6,7],requir:1,test:[],simpl:1,ansibl:2,refer:1,development:1,nwchem:0,option:1,get:1,custodian:[0,1,2,4,5,6,7],usag:1,qchem:7,util:4,job:[0,6,7],intepret:[],vasp:6,interpret:2,subpackag:[0,4,6,2,7],practic:1,doc:1,test_handl:[],electron:1,structur:1,cite:1,calcul:1,exampl:1,action:2,chang:[1,3]}}) \ No newline at end of file diff --git a/docs/custodian.ansible.rst b/docs/custodian.ansible.rst index 139b485d..2ffe0acb 100644 --- a/docs/custodian.ansible.rst +++ b/docs/custodian.ansible.rst @@ -18,10 +18,10 @@ custodian.ansible.actions module :undoc-members: :show-inheritance: -custodian.ansible.intepreter module ------------------------------------ +custodian.ansible.interpreter module +------------------------------------ -.. automodule:: custodian.ansible.intepreter +.. automodule:: custodian.ansible.interpreter :members: :undoc-members: :show-inheritance: diff --git a/docs/index.rst b/docs/index.rst index f0c7c4cf..5d37c928 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -22,6 +22,12 @@ calculations. Change log ========== +v0.7.5 +------ +1. **Major** Custodian now exits with RuntimeError when max_errors or + unrecoverable_error is encountered. +2. Added BadVasprunXMLHandler. + v0.7.4 ------ 1. auto_npar option in VaspJob now properly handles Hessian calculations. diff --git a/scripts/run_vasp b/scripts/run_vasp index 33f8196e..609498d1 100755 --- a/scripts/run_vasp +++ b/scripts/run_vasp @@ -113,7 +113,7 @@ if __name__ == "__main__": "-hd", "--handlers", dest="handlers", nargs="+", default=["VaspErrorHandler", "MeshSymmetryErrorHandler", "UnconvergedErrorHandler", "NonConvergingErrorHandler", - "PotimErrorHandler"], type=str, + "PotimErrorHandler", "BadVasprunXMLHandler"], type=str, help="The ErrorHandlers to use specified as string class names. Note " "that the error handlers will be initialized with no args, i.e.," "default args will be assumed." diff --git a/setup.py b/setup.py index f8f90566..220fcc18 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ setup( name="custodian", packages=find_packages(), - version="0.7.4", + version="0.7.5", install_requires=["monty>=0.3.1"], extras_require={"vasp, nwchem, qchem": ["pymatgen>=2.9.0"]}, package_data={},