예제 #1
0
def main():
    from MAST.structopt_stem import Optimizer
    from MAST.structopt_stem import tools

    #Test for cluster structures
    parameters = {
        'structure': 'Cluster',
        'optimizer_type': 'GA',
        'atomlist': [('Au', 10, 0, 0), ('Cu', 10, 0, 0)]
    }
    A = Optimizer(parameters)
    A.algorithm_initialize()
    A.calc = tools.setup_calculator(A)
    offspring = A.generation_set([])
    indiv = offspring[0].duplicate()
    ind1 = offspring[1].duplicate()
    ind2 = offspring[2].duplicate()
    test_mutations(indiv)
    test_cx(ind1, ind2)
    A.close_output()

    #Test for defect structures
    parameters = {
        'structure': 'Defect',
        'optimizer_type': 'GA',
        'atomlist': [('Au', 3, 0, 0), ('Cu', 3, 0, 0)],
        'supercell': (3, 3, 3),
        'SolidFile': 'BFe.xyz',
        'SolidCell': [8.61, 8.61, 8.61]
    }
    A = Optimizer(parameters)
    A.algorithm_initialize()
    A.calc = tools.setup_calculator(A)
    offspring = A.generation_set([])
    indiv = offspring[0].duplicate()
    ind1 = offspring[1].duplicate()
    ind2 = offspring[2].duplicate()
    test_mutations(indiv)
    test_cx(ind1, ind2)
    A.close_output()

    #Test for crystal structures
    parameters = {
        'structure': 'Crystal',
        'optimizer_type': 'GA',
        'atomlist': [('Au', 10, 0, 0), ('Cu', 10, 0, 0)]
    }
    A = Optimizer(parameters)
    A.algorithm_initialize()
    A.calc = tools.setup_calculator(A)
    offspring = A.generation_set([])
    indiv = offspring[0].duplicate()
    ind1 = offspring[1].duplicate()
    ind2 = offspring[2].duplicate()
    test_mutations(indiv)
    test_cx(ind1, ind2)
    A.close_output()
예제 #2
0
    True,
    'LammpsMin':
    '1e-8 1e-8 5000 10000',
    'Lmin_style':
    'cg\nmin_modify line quadratic',
    'genealogy':
    True,
    'allenergyfile':
    True,
    'BestIndsList':
    True
}
if rank == 0:
    print 'Running Serial...'
    parameters['filename'] = 'Test-Serial'
    A = Optimizer(parameters)
    A.run()
    done = True
else:
    done = False
done = MPI.COMM_WORLD.bcast(done, root=0)
print done

if rank == 0:
    print 'Running parallel...'
    parameters['filename'] = 'Test-Parallel'
    parameters['parallel'] = True
    A = Optimizer(parameters)
else:
    A = None
A = MPI.COMM_WORLD.bcast(A, root=0)
예제 #3
0
    'Aperture semiangle': 24.5,
    'Source size': 0.882,
    'Slice size': 20.0,
    'Pixels': 800,
    'aber': aber,
    'Scale Factor': 0.00570113
}
A = ConvStem(parameters=autostemparameters, calc_exp=False)
#fig = plt.figure()
#ax = fig.add_subplot(111)
#psf = numpy.fft.fftshift(A.psf)
#ax.imshow(psf,cmap=cm.hot)
#plt.show()
imAu1 = A.get_image(A.psf, Au1, autostemparameters['Slice size'],
                    autostemparameters['Pixels'], 1)
#fig2 = plt.figure()
#ax2 = fig2.add_subplot(111)
#ax2.imshow(imAu1,cmap=cm.hot)
#plt.show()
autostemparameters['Exp_Image'] = imAu1
optparameters = {
    'structure': 'Cluster',
    'optimizer_type': 'BH',
    'size': 10,
    'atomlist': [('Au', 10, 0, 0), ('Cu', 10, 0, 0)],
    'FIT_SCHEME': 'STEM_Cost',
    'STEM_Parameters': autostemparameters
}
B = Optimizer(optparameters)
B.algorithm_serial()
예제 #4
0
파일: run.py 프로젝트: zhenming-xu/MAST
from MAST.structopt_stem import Optimizer
from mpi4py import MPI

rank = MPI.COMM_WORLD.Get_rank()
if rank==0:
    print 'Running Serial...'
    A = Optimizer('input-clus.txt')
    A.run()
    done = True
else:
    done = False
done = MPI.COMM_WORLD.bcast(done,root=0)
print done

print 'Running parallel...'
A = Optimizer('input-clus-p.txt')
A.run()

print 'Running Island_Method'
A = Optimizer('input-clus-im.txt')
A.run()