示例#1
0
 def test_check_if_ready_to_proceed_are_complete(self):
     metad = MASTFile("files/metadata_single")
     metad.to_file("recipedir/ing1/metadata.txt")
     metad = MASTFile("files/metadata_single")
     metad.to_file("recipedir/ing2a/metadata.txt")
     rp = RecipePlan("recipedir")
     rp.ingredients['ing1'] = "P"
     rp.ingredients['ing2a'] = "I"
     rp.ingredients['ing2b'] = "I"
     rp.ingredients['ing3'] = "I"
     kdict=dict()
     kdict['mast_program']='vasp'
     kdict['mast_xc']='pw91'
     kdict['mast_kpoints']=[1,2,3,"G"]
     my_struc = pymatgen.io.vaspio.Poscar.from_file("files/perfect_structure").structure
     rp.ingred_input_options['ing1']=dict()
     rp.ingred_input_options['ing1']['name']="%s/recipedir/ing1" % testdir
     rp.ingred_input_options['ing1']['program_keys']=kdict
     rp.ingred_input_options['ing1']['structure']=my_struc
     rp.complete_methods['ing1']=[['complete_singlerun']]
     rp.update_methods['ing1']=dict()
     rp.update_methods['ing1']['ing2a']=[['give_structure']]
     rp.update_methods['ing1']['ing2b']=[['give_structure']]
     rp.ingred_input_options['ing2a']=dict()
     rp.ingred_input_options['ing2a']['name']="%s/recipedir/ing2a" % testdir
     rp.ingred_input_options['ing2a']['program_keys']=kdict
     rp.ingred_input_options['ing2a']['structure']=my_struc
     rp.complete_methods['ing2a']=[['complete_singlerun']]
     rp.ready_methods['ing2a']=[['ready_structure']]
     rp.check_if_ready_to_proceed_are_complete()
     self.assertTrue(rp.ready_ingredient('ing2a'))
     self.assertEquals
     self.assertEquals(rp.ingredients,{'ing1':'C','ing2a':'I','ing2b':'I','ing3':'I'})
示例#2
0
 def test_fast_forward_check_complete(self):
     topmetad = MASTFile("files/top_metadata_single")
     topmetad.data.append("origin_dir = %s/files\n" % testdir) #give origin directory
     topmetad.to_file("recipedir/metadata.txt")
     metad = MASTFile("files/metadata_single")
     metad.to_file("recipedir/ing1/metadata.txt")
     metad = MASTFile("files/metadata_single")
     metad.data.append("defect_label = labela\n")
     metad.to_file("recipedir/ing2a/metadata.txt")
     metad = MASTFile("files/metadata_single")
     metad.data.append("defect_label = labelb\n")
     metad.to_file("recipedir/ing2b/metadata.txt")
     metad = MASTFile("files/metadata_single")
     metad.to_file("recipedir/ing3/metadata.txt")
     rp = RecipePlan("recipedir")
     rp.ingredients['ing1'] = "I"
     rp.ingredients['ing2a'] = "I"
     rp.ingredients['ing2b'] = "I"
     rp.ingredients['ing3'] = "I"
     kdict=dict()
     kdict['mast_program']='vasp'
     kdict['mast_xc']='pw91'
     kdict['mast_kpoints']=[1,2,3,"G"]
     my_struc = pymatgen.io.vaspio.Poscar.from_file("files/perfect_structure").structure
     rp.ingred_input_options['ing1']=dict()
     rp.ingred_input_options['ing1']['name']="%s/recipedir/ing1" % testdir
     rp.ingred_input_options['ing1']['program_keys']=kdict
     rp.ingred_input_options['ing1']['structure']=my_struc
     rp.complete_methods['ing1']=[['complete_singlerun']]
     rp.update_methods['ing1']=dict()
     rp.update_methods['ing1']['ing2a']=[['give_structure']]
     rp.update_methods['ing1']['ing2b']=[['give_structure']]
     rp.ingred_input_options['ing2a']=dict()
     rp.ingred_input_options['ing2a']['name']="%s/recipedir/ing2a" % testdir
     rp.ingred_input_options['ing2a']['program_keys']=kdict
     rp.ingred_input_options['ing2a']['structure']=my_struc
     rp.complete_methods['ing2a']=[['complete_singlerun']]
     rp.ready_methods['ing2a']=[['ready_structure']]
     rp.ingred_input_options['ing2b']=dict()
     rp.ingred_input_options['ing2b']['name']="%s/recipedir/ing2b" % testdir
     rp.ingred_input_options['ing2b']['program_keys']=kdict
     rp.ingred_input_options['ing2b']['structure']=my_struc
     rp.complete_methods['ing2b']=[['complete_singlerun']]
     rp.ready_methods['ing2b']=[['ready_structure']]
     rp.ingred_input_options['ing3']=dict()
     rp.ingred_input_options['ing3']['name']="%s/recipedir/ing3" % testdir
     rp.ingred_input_options['ing3']['program_keys']=kdict
     rp.ingred_input_options['ing3']['structure']=my_struc
     rp.complete_methods['ing3']=[['complete_singlerun']]
     rp.ready_methods['ing3']=[['ready_structure']]
     rp.fast_forward_check_complete()
     #self.assertTrue(rp.complete_ingredient('ing1'))
     self.assertEquals(rp.ingredients, {'ing1':'C','ing2a':'I','ing2b':'I','ing3':'I'})
     self.assertTrue(rp.ready_ingredient('ing2a'))
     self.assertTrue(rp.ready_ingredient('ing2b'))
示例#3
0
 def test_ready_ingredient(self):
     topmetad = MASTFile("files/top_metadata_single")
     topmetad.data.append("origin_dir = %s/files\n" % testdir) #give origin directory
     topmetad.to_file("recipedir/metadata.txt")
     #metad = MASTFile("files/metadata_single")
     #metad.to_file("%s/metadata.txt" % ingdir)
     rp = RecipePlan("recipedir")
     rp.ingredients['ing2b'] = "I"
     kdict=dict()
     kdict['mast_program']='vasp'
     kdict['mast_xc']='pw91'
     kdict['mast_kpoints']=[1,2,3,"G"]
     rp.ingred_input_options['ing2b']=dict()
     rp.ingred_input_options['ing2b']['name']="recipedir/ing2b"
     rp.ingred_input_options['ing2b']['program_keys']=kdict
     rp.ingred_input_options['ing2b']['structure']=pymatgen.io.vaspio.Poscar.from_file("files/perfect_structure").structure
     rp.write_methods['ing2b']=[['write_singlerun']]
     rp.write_ingredient('ing2b')
     rp.ready_methods['ing2b']=[['ready_singlerun']]
     self.assertTrue(rp.ready_ingredient('ing2b'))
示例#4
0
 def test_check_if_ready_to_proceed_are_complete(self):
     metad = MASTFile("files/metadata_single")
     metad.to_file("recipedir/ing1/metadata.txt")
     metad = MASTFile("files/metadata_single")
     metad.to_file("recipedir/ing2a/metadata.txt")
     rp = RecipePlan("recipedir")
     rp.ingredients['ing1'] = "P"
     rp.ingredients['ing2a'] = "I"
     rp.ingredients['ing2b'] = "I"
     rp.ingredients['ing3'] = "I"
     kdict = dict()
     kdict['mast_program'] = 'vasp'
     kdict['mast_xc'] = 'pw91'
     kdict['mast_kpoints'] = [1, 2, 3, "G"]
     my_struc = pymatgen.io.vaspio.Poscar.from_file(
         "files/perfect_structure").structure
     rp.ingred_input_options['ing1'] = dict()
     rp.ingred_input_options['ing1']['name'] = "%s/recipedir/ing1" % testdir
     rp.ingred_input_options['ing1']['program_keys'] = kdict
     rp.ingred_input_options['ing1']['structure'] = my_struc
     rp.complete_methods['ing1'] = [['complete_singlerun']]
     rp.update_methods['ing1'] = dict()
     rp.update_methods['ing1']['ing2a'] = [['give_structure']]
     rp.update_methods['ing1']['ing2b'] = [['give_structure']]
     rp.ingred_input_options['ing2a'] = dict()
     rp.ingred_input_options['ing2a'][
         'name'] = "%s/recipedir/ing2a" % testdir
     rp.ingred_input_options['ing2a']['program_keys'] = kdict
     rp.ingred_input_options['ing2a']['structure'] = my_struc
     rp.complete_methods['ing2a'] = [['complete_singlerun']]
     rp.ready_methods['ing2a'] = [['ready_structure']]
     rp.check_if_ready_to_proceed_are_complete()
     self.assertTrue(rp.ready_ingredient('ing2a'))
     self.assertEquals
     self.assertEquals(rp.ingredients, {
         'ing1': 'C',
         'ing2a': 'I',
         'ing2b': 'I',
         'ing3': 'I'
     })
示例#5
0
 def test_ready_ingredient(self):
     topmetad = MASTFile("files/top_metadata_single")
     topmetad.data.append("origin_dir = %s/files\n" %
                          testdir)  #give origin directory
     topmetad.to_file("recipedir/metadata.txt")
     #metad = MASTFile("files/metadata_single")
     #metad.to_file("%s/metadata.txt" % ingdir)
     rp = RecipePlan("recipedir")
     rp.ingredients['ing2b'] = "I"
     kdict = dict()
     kdict['mast_program'] = 'vasp'
     kdict['mast_xc'] = 'pw91'
     kdict['mast_kpoints'] = [1, 2, 3, "G"]
     rp.ingred_input_options['ing2b'] = dict()
     rp.ingred_input_options['ing2b']['name'] = "recipedir/ing2b"
     rp.ingred_input_options['ing2b']['program_keys'] = kdict
     rp.ingred_input_options['ing2b'][
         'structure'] = pymatgen.io.vaspio.Poscar.from_file(
             "files/perfect_structure").structure
     rp.write_methods['ing2b'] = [['write_singlerun']]
     rp.write_ingredient('ing2b')
     rp.ready_methods['ing2b'] = [['ready_singlerun']]
     self.assertTrue(rp.ready_ingredient('ing2b'))
示例#6
0
 def test_fast_forward_check_complete(self):
     topmetad = MASTFile("files/top_metadata_single")
     topmetad.data.append("origin_dir = %s/files\n" %
                          testdir)  #give origin directory
     topmetad.to_file("recipedir/metadata.txt")
     metad = MASTFile("files/metadata_single")
     metad.to_file("recipedir/ing1/metadata.txt")
     metad = MASTFile("files/metadata_single")
     metad.data.append("defect_label = labela\n")
     metad.to_file("recipedir/ing2a/metadata.txt")
     metad = MASTFile("files/metadata_single")
     metad.data.append("defect_label = labelb\n")
     metad.to_file("recipedir/ing2b/metadata.txt")
     metad = MASTFile("files/metadata_single")
     metad.to_file("recipedir/ing3/metadata.txt")
     rp = RecipePlan("recipedir")
     rp.ingredients['ing1'] = "I"
     rp.ingredients['ing2a'] = "I"
     rp.ingredients['ing2b'] = "I"
     rp.ingredients['ing3'] = "I"
     kdict = dict()
     kdict['mast_program'] = 'vasp'
     kdict['mast_xc'] = 'pw91'
     kdict['mast_kpoints'] = [1, 2, 3, "G"]
     my_struc = pymatgen.io.vaspio.Poscar.from_file(
         "files/perfect_structure").structure
     rp.ingred_input_options['ing1'] = dict()
     rp.ingred_input_options['ing1']['name'] = "%s/recipedir/ing1" % testdir
     rp.ingred_input_options['ing1']['program_keys'] = kdict
     rp.ingred_input_options['ing1']['structure'] = my_struc
     rp.complete_methods['ing1'] = [['complete_singlerun']]
     rp.update_methods['ing1'] = dict()
     rp.update_methods['ing1']['ing2a'] = [['give_structure']]
     rp.update_methods['ing1']['ing2b'] = [['give_structure']]
     rp.ingred_input_options['ing2a'] = dict()
     rp.ingred_input_options['ing2a'][
         'name'] = "%s/recipedir/ing2a" % testdir
     rp.ingred_input_options['ing2a']['program_keys'] = kdict
     rp.ingred_input_options['ing2a']['structure'] = my_struc
     rp.complete_methods['ing2a'] = [['complete_singlerun']]
     rp.ready_methods['ing2a'] = [['ready_structure']]
     rp.ingred_input_options['ing2b'] = dict()
     rp.ingred_input_options['ing2b'][
         'name'] = "%s/recipedir/ing2b" % testdir
     rp.ingred_input_options['ing2b']['program_keys'] = kdict
     rp.ingred_input_options['ing2b']['structure'] = my_struc
     rp.complete_methods['ing2b'] = [['complete_singlerun']]
     rp.ready_methods['ing2b'] = [['ready_structure']]
     rp.ingred_input_options['ing3'] = dict()
     rp.ingred_input_options['ing3']['name'] = "%s/recipedir/ing3" % testdir
     rp.ingred_input_options['ing3']['program_keys'] = kdict
     rp.ingred_input_options['ing3']['structure'] = my_struc
     rp.complete_methods['ing3'] = [['complete_singlerun']]
     rp.ready_methods['ing3'] = [['ready_structure']]
     rp.fast_forward_check_complete()
     #self.assertTrue(rp.complete_ingredient('ing1'))
     self.assertEquals(rp.ingredients, {
         'ing1': 'C',
         'ing2a': 'I',
         'ing2b': 'I',
         'ing3': 'I'
     })
     self.assertTrue(rp.ready_ingredient('ing2a'))
     self.assertTrue(rp.ready_ingredient('ing2b'))