Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
el_list = self.vasprun_dict["atominfo"]["species_list"]
cell = self.vasprun_dict["init_structure"]["cell"]
positions = self.vasprun_dict["init_structure"]["positions"]
if len(positions[positions > 1.01]) > 0:
basis = Atoms(el_list, positions=positions, cell=cell)
else:
basis = Atoms(el_list, scaled_positions=positions, cell=cell)
if "selective_dynamics" in self.vasprun_dict["init_structure"].keys():
basis.add_tag(selective_dynamics=[True, True, True])
for i, val in enumerate(
self.vasprun_dict["init_structure"]["selective_dynamics"]
):
basis[i].selective_dynamics = val
return basis
except KeyError:
s = Settings()
s.logger.warning(
"The initial structure could not be extracted from vasprun properly"
)
return
import numpy as np
import os
from pyiron.base.settings.generic import Settings
import sys
import pandas
__author__ = "Joerg Neugebauer, Sudarsan Surendralal, Martin Boeckmann"
__copyright__ = "Copyright 2019, Max-Planck-Institut für Eisenforschung GmbH - " \
"Computational Materials Design (CM) Department"
__version__ = "1.0"
__maintainer__ = "Sudarsan Surendralal"
__email__ = "surendralal@mpie.de"
__status__ = "production"
__date__ = "Sep 1, 2017"
s = Settings()
pandas.options.mode.chained_assignment = None
class ChemicalElement(object):
"""
An Object which contains the element specific parameters
"""
def __init__(self, sub):
"""
Constructor: assign PSE dictionary to object
"""
self._dataset = None
self.sub = sub
self.el = None
"""
try:
el_list = self.vasprun_dict["atominfo"]["species_list"]
cell = self.vasprun_dict["init_structure"]["cell"]
positions = self.vasprun_dict["init_structure"]["positions"]
if len(positions[positions > 1.01]) > 0:
basis = Atoms(el_list, positions=positions, cell=cell)
else:
basis = Atoms(el_list, scaled_positions=positions, cell=cell)
if "selective_dynamics" in self.vasprun_dict["init_structure"].keys():
basis.add_tag(selective_dynamics=[True, True, True])
for i, val in enumerate(self.vasprun_dict["init_structure"]["selective_dynamics"]):
basis[i].selective_dynamics = val
return basis
except KeyError:
s = Settings()
s.logger.warning("The initial structure could not be extracted from vasprun properly")
return
from pyiron.base.generic.parameters import GenericParameters
from pyiron.base.settings.generic import Settings
from pyiron.atomistics.job.potentials import PotentialAbstract, find_potential_file_base
__author__ = "Jan Janssen"
__copyright__ = (
"Copyright 2020, Max-Planck-Institut für Eisenforschung GmbH - "
"Computational Materials Design (CM) Department"
)
__version__ = "1.0"
__maintainer__ = "Jan Janssen"
__email__ = "janssen@mpie.de"
__status__ = "development"
__date__ = "Sep 1, 2017"
s = Settings()
class VaspPotentialAbstract(PotentialAbstract):
"""
Args:
potential_df:
default_df:
selected_atoms:
"""
def __init__(self, potential_df=None, default_df=None, selected_atoms=None):
if potential_df is None:
potential_df = self._get_potential_df(
plugin_name="vasp",
file_name_lst={"potentials_vasp.csv"},
"""
Generic Job class extends the JobCore class with all the functionality to run the job object.
"""
__author__ = "Joerg Neugebauer, Jan Janssen"
__copyright__ = (
"Copyright 2019, Max-Planck-Institut für Eisenforschung GmbH - "
"Computational Materials Design (CM) Department"
)
__version__ = "1.0"
__maintainer__ = "Jan Janssen"
__email__ = "janssen@mpie.de"
__status__ = "production"
__date__ = "Sep 1, 2017"
s = Settings()
intercepted_signals = [
signal.SIGINT,
signal.SIGTERM,
signal.SIGABRT,
] # , signal.SIGQUIT]
class GenericJob(JobCore):
"""
Generic Job class extends the JobCore class with all the functionality to run the job object. From this class
all specific Hamiltonians are derived. Therefore it should contain the properties/routines common to all jobs.
The functions in this module should be as generic as possible.
Args:
project (ProjectHDFio): ProjectHDFio instance which points to the HDF5 file the job is stored in
from pyiron.dft.waves.electronic import ElectronicStructure
from pyiron.dft.waves.bandstructure import Bandstructure
import warnings
__author__ = "Sudarsan Surendralal, Felix Lochner"
__copyright__ = (
"Copyright 2020, Max-Planck-Institut für Eisenforschung GmbH - "
"Computational Materials Design (CM) Department"
)
__version__ = "1.0"
__maintainer__ = "Sudarsan Surendralal"
__email__ = "surendralal@mpie.de"
__status__ = "production"
__date__ = "Sep 1, 2017"
s = Settings()
class VaspBase(GenericDFTJob):
"""
Class to setup and run and analyze VASP simulations which is a derivative of pyiron.objects.job.generic.GenericJob.
The functions in these modules are written in such the function names and attributes are very generic
(get_structure(), molecular_dynamics(), version) but the functions are written to handle VASP specific input/output.
Args:
project (pyiron.project.Project instance): Specifies the project path among other attributes
job_name (str): Name of the job
Attributes:
input (pyiron.vasp.vasp.Input): Instance which handles the input
Examples:
"""
The project object is the central import point of pyiron - all other objects can be created from this one
"""
__author__ = "Joerg Neugebauer, Jan Janssen"
__copyright__ = (
"Copyright 2019, Max-Planck-Institut für Eisenforschung GmbH - "
"Computational Materials Design (CM) Department"
)
__version__ = "1.0"
__maintainer__ = "Jan Janssen"
__email__ = "janssen@mpie.de"
__status__ = "production"
__date__ = "Sep 1, 2017"
s = Settings()
class Project(ProjectPath):
"""
The project is the central class in pyiron, all other objects can be created from the project object.
Args:
path (GenericPath, str): path of the project defined by GenericPath, absolute or relative (with respect to
current working directory) path
user (str): current pyiron user
sql_query (str): SQL query to only select a subset of the existing jobs within the current project
Attributes:
.. attribute:: root_path
from pyiron.base.job.jobtype import static_isinstance
"""
Set of functions to interact with the queuing system directly from within pyiron - optimized for the Sun grid engine.
"""
__author__ = "Jan Janssen"
__copyright__ = "Copyright 2019, Max-Planck-Institut für Eisenforschung GmbH - " \
"Computational Materials Design (CM) Department"
__version__ = "1.0"
__maintainer__ = "Jan Janssen"
__email__ = "janssen@mpie.de"
__status__ = "production"
__date__ = "Sep 1, 2017"
s = Settings()
def _queue_status_command(user):
return ['qstat', '-u', str(user)]
def _queue_del_command(que_id):
return ['qdel', str(que_id)]
def _queue_enable_reservation(que_id):
return ['qalter', '-R', 'y', str(que_id)]
def _queue_job_status_command(que_id):
return ['qstat', '-j', str(que_id)]
import numpy as np
import warnings
from pyiron.gpaw.pyiron_ase import AseJob
from pyiron.atomistics.structure.atoms import pyiron_to_ase
from pyiron.base.generic.parameters import GenericParameters
from pyiron.base.settings.generic import Settings
from ase import Atoms
s = Settings()
try:
from gpaw import GPAW, PW, MethfesselPaxton
except ImportError:
pass
class GpawJob(AseJob):
def __init__(self, project, job_name):
super(GpawJob, self).__init__(project, job_name)
self.__name__ = "GpawJob"
self.input = GpawInput()
@property
def structure(self):
return self._structure
"""
GenericParameters class defines the typical input file with a key value structure plus an additional column for comments.
"""
__author__ = "Joerg Neugebauer"
__copyright__ = (
"Copyright 2019, Max-Planck-Institut für Eisenforschung GmbH - "
"Computational Materials Design (CM) Department"
)
__version__ = "1.0"
__maintainer__ = "Jan Janssen"
__email__ = "janssen@mpie.de"
__status__ = "production"
__date__ = "Sep 1, 2017"
s = Settings()
class GenericParameters(PyironObject):
"""
GenericParameters class defines the typical input file with a key value structure plus an additional column for comments.
Convenience class to easily create, read, and modify input files
Args:
table_name (str): name of the input file inside the HDF5 file - optional
input_file_name (str): name of the input file (if None default parameters are used)
val_only (bool): input format consists of value (comments) only
comment_char (str): separator that characterizes comment (e.g. "#" for python)
separator_char (str): separator that characterizes the split between key and value - default=' '
end_value_char (str): special character at the end of every line - default=''
Attributes: