def __init__(self, directory=None, name=None, delta_strain=None, strain=None, bias=None, supercell_matrix=None, primitive_matrix=None, distance=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, is_cell_relaxed=False, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "mode_gruneisen" self._bias = bias if delta_strain is None: self._delta_strain = 0.001 else: self._delta_strain = delta_strain (self._delta_strain_minus, self._delta_strain_orig, self._delta_strain_plus) = self._get_delta_strains() if strain is None: self._strain = np.eye(3) else: self._strain = self._get_strain(strain) self._supercell_matrix = supercell_matrix self._primitive_matrix = primitive_matrix self._distance = distance self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._stage = 0 self._tasks = None self._cell = None self._mode_gruneisen = None self._all_tasks = None
def __init__(self, directory=None, name=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, traverse=False, is_cell_relaxed=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "elastic_constants" self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._stage = 0 self._tasks = None self._cell = None self._ec_tasks = None self._elastic_constants = None
def __init__(self, directory=None, name=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, traverse=False, is_cell_relaxed=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "elastic_constants" self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._stage = 0 self._tasks = None self._cell = None self._ec_tasks = None self._elastic_constants = None
def __init__(self, directory=None, name=None, supercell_matrix=None, primitive_matrix=None, distance=None, displace_plusminus='auto', displace_diagonal=False, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, is_cell_relaxed=False, max_num_atoms=None, stop_condition=None, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "phonon" self._supercell_matrix = supercell_matrix if self._supercell_matrix is None: self._primitive_matrix = np.eye(3, dtype='double') else: self._primitive_matrix = primitive_matrix self._distance = distance self._displace_plusminus = displace_plusminus self._displace_diagonal = displace_diagonal self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._is_cell_relaxed = is_cell_relaxed self._max_num_atoms = max_num_atoms self._stop_condition = stop_condition self._traverse = traverse self._stage = 0 self._tasks = [] self._energy = None self._space_group = None self._cell = None self._phonon = None # Phonopy object self._all_tasks = None # Phonopy object self._try_collect_forces = True
def __init__(self, directory=None, name=None, ancestral_cells={}, tid_parent=None, distance=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, symmetry_tolerance=None, cutoff_eigenvalue=None, max_displacement=None, num_sampling_points=None, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._ancestral_cells = ancestral_cells self._tid_parent = tid_parent self._task_type = "phonon_relax_element" self._distance = distance self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._symmetry_tolerance = symmetry_tolerance self._cutoff_eigenvalue = cutoff_eigenvalue self._max_displacement = max_displacement self._num_sampling_points = num_sampling_points self._traverse = traverse self._tasks = [] self._phre = [] self._stage = 0 self._supercell_dimention = None self._space_group_type = None self._energy = None # self._imaginary_modes: # (cell with modulation, # q-point, # Im(frequency), # Index of q-point in the mesh sampling, # Band index, # Number of degeneracy) self._imaginary_modes = []
def __init__(self, directory=None, name=None, ancestral_cells={}, tid_parent=None, distance=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, symmetry_tolerance=None, cutoff_eigenvalue=None, max_displacement=None, num_sampling_points=None, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._ancestral_cells = ancestral_cells self._tid_parent = tid_parent self._task_type = "phonon_relax_element" self._distance = distance self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._symmetry_tolerance = symmetry_tolerance self._cutoff_eigenvalue = cutoff_eigenvalue self._max_displacement = max_displacement self._num_sampling_points = num_sampling_points self._traverse = traverse self._tasks = [] self._phre = [] self._stage = 0 self._supercell_dimention = None self._space_group_type = None self._energy = None # self._imaginary_modes: # (cell with modulation, # q-point, # Im(frequency), # Index of q-point in the mesh sampling, # Band index, # Number of degeneracy) self._imaginary_modes = []
def __init__(self, directory=None, name=None, ancestral_cells={}, distance=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, symmetry_tolerance=None, restrict_offspring=False, max_offspring=None, cutoff_eigenvalue=None, max_displacement=None, num_sampling_points=None, stop_condition=None, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._ancestral_cells = ancestral_cells self._task_type = "phonon_relax" self._distance = distance self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._symmetry_tolerance = symmetry_tolerance self._restrict_offspring = restrict_offspring self._max_offspring = max_offspring self._cutoff_eigenvalue = cutoff_eigenvalue if max_displacement: self._max_displacement = max_displacement else: self._max_displacement = symmetry_tolerance * MAX_DISPLACEMENT_RATIO self._num_sampling_points = num_sampling_points self._stop_condition = stop_condition self._traverse = traverse self._phr_tasks = [] self._tasks = [] self._stage = 0 self._energy = None
def __init__(self, directory=None, name=None, ancestral_cells={}, distance=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, symmetry_tolerance=None, restrict_offspring=False, max_offspring=None, cutoff_eigenvalue=None, max_displacement=None, num_sampling_points=None, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._ancestral_cells = ancestral_cells self._task_type = "phonon_relax" self._distance = distance self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._symmetry_tolerance = symmetry_tolerance self._restrict_offspring = restrict_offspring self._max_offspring = max_offspring self._cutoff_eigenvalue = cutoff_eigenvalue if max_displacement: self._max_displacement = max_displacement else: self._max_displacement = symmetry_tolerance * MAX_DISPLACEMENT_RATIO self._num_sampling_points = num_sampling_points self._traverse = traverse self._phr_tasks = [] self._tasks = [] self._stage = 0 self._energy = None
def __init__(self, directory=None, name=None, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._tasks = [] # Means singular task self._traverse = traverse self._cell = None
def __init__(self, directory=None, name=None, supercell_matrix=None, primitive_matrix=None, distance=None, is_diagonal=True, check_imaginary=True, cutoff_frequency=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, is_cell_relaxed=False, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "anharmonic_phonon" self._supercell_matrix = supercell_matrix self._primitive_matrix = primitive_matrix self._distance = distance self._is_diagonal = is_diagonal self._check_imaginary = check_imaginary self._cutoff_frequency = cutoff_frequency # determine imaginary freq. self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._stage = 0 self._tasks = [] self._energy = None self._cell = None self._phonon = None # Phonopy object self._phonon_fc3 = None # Phono3py object self._phonon_fc3_tasks = None
def __init__( self, directory="structure_optimization", name=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, find_symmetry=True, impose_symmetry=False, symmetry_tolerance=None, traverse=False, ): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "structure_optimization" self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._find_symmetry = find_symmetry self._impose_symmetry = impose_symmetry self._symmetry_tolerance = symmetry_tolerance self._traverse = traverse self._stage = 1 self._tasks = None self._cell = None self._next_cell = None self._so_tasks = None self._stress = None self._forces = None self._energy = None self._space_group = None
def __init__(self, directory=None, name=None, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._tasks = [] # Means singular task self._traverse = traverse self._cell = None
def __init__(self, directory="structure_optimization", name=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, find_symmetry=True, impose_symmetry=False, symmetry_tolerance=None, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "structure_optimization" self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._find_symmetry = find_symmetry self._impose_symmetry = impose_symmetry self._symmetry_tolerance = symmetry_tolerance self._traverse = traverse self._stage = 1 self._tasks = None self._cell = None self._next_cell = None self._so_tasks = None self._stress = None self._forces = None self._energy = None self._space_group = None
def __init__(self, directory=None, name=None, supercell_matrix=None, primitive_matrix=None, distance=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, traverse=False, is_cell_relaxed=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "phonon" self._supercell_matrix = supercell_matrix self._primitive_matrix = primitive_matrix self._distance = distance self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._stage = 0 self._tasks = [] self._energy = None self._cell = None self._phonon = None # Phonopy object
def __init__(self, directory=None, name=None, supercell_matrix=None, primitive_matrix=None, distance=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, traverse=False, is_cell_relaxed=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "phonon" self._supercell_matrix = supercell_matrix self._primitive_matrix = primitive_matrix self._distance = distance self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._stage = 0 self._tasks = [] self._energy = None self._cell = None self._phonon = None # Phonopy object
def __init__(self, directory=None, name=None, strains=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, is_cell_relaxed=False, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "bulk_modulus" self._strains = strains self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._stage = 0 self._tasks = None self._cell = None self._bulk_modulus = None self._all_tasks = None self._eos = None # Energy function of V, only for strains mode
def __init__(self, directory=None, name=None, is_partial_dos=False, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, is_cell_relaxed=False, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "density_of_states" self._is_partial_dos = is_partial_dos self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._stage = 0 self._tasks = None self._cell = None self._density_of_states = None self._dos_tasks = None
def __init__(self, directory=None, name=None, strains=None, sampling_mesh=None, is_gamma_center=False, t_step=None, t_max=None, t_min=None, supercell_matrix=None, primitive_matrix=None, nac=False, distance=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, is_cell_relaxed=False, max_num_atoms=None, first_phonon_index=None, traverse=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "quasiharmonic_phonon" self._strains = strains if self._strains is None: self._estimate_strain = True else: self._estimate_strain = False self._sampling_mesh = sampling_mesh self._is_gamma_center = is_gamma_center if t_step is None: self._t_step = 2 else: self._t_step = t_step if t_max is None: self._t_max = 1500 else: self._t_max = t_max if t_min is None: self._t_min = 0 else: self._t_min = t_min self._supercell_matrix = supercell_matrix self._primitive_matrix = primitive_matrix self._nac = nac self._distance = distance self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._max_num_atoms = max_num_atoms self._first_phonon_index = first_phonon_index self._stage = 0 self._tasks = None self._cell = None self._all_tasks = None self._imaginary_ratio = None self._grid_spacing = 200
def __init__( self, directory=None, name=None, strains=None, sampling_mesh=None, t_step=None, t_max=None, t_min=None, supercell_matrix=None, primitive_matrix=None, distance=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, is_cell_relaxed=False, traverse=False, ): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "quasiharmonic_phonon" self._lattices = [np.eye(3)] for strain in strains: if isinstance(strain, int) or isinstance(strain, float): self._lattices.append((1 + strain) ** (1.0 / 3) * np.eye(3)) else: self._lattices.append(np.eye(3) + np.array(strain)) self._sampling_mesh = sampling_mesh if t_step is None: self._t_step = 10 else: self._t_step = t_step if t_max is None: self._t_max = 1500 else: self._t_max = t_max if t_min is None: self._t_min = 0 else: self._t_min = t_min self._supercell_matrix = supercell_matrix self._primitive_matrix = primitive_matrix self._distance = distance self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._stage = 0 self._tasks = None self._cell = None self._qh_tasks = None
def __init__(self, directory=None, name=None, strains=None, sampling_mesh=None, t_step=None, t_max=None, t_min=None, supercell_matrix=None, primitive_matrix=None, distance=None, lattice_tolerance=None, force_tolerance=None, pressure_target=None, stress_tolerance=None, max_increase=None, max_iteration=None, min_iteration=None, traverse=False, is_cell_relaxed=False): TaskElement.__init__(self) self._directory = directory if not name: self._name = directory else: self._name = name self._task_type = "quasiharmonic_phonon" self._lattices = [np.eye(3)] for strain in strains: if isinstance(strain, int) or isinstance(strain, float): self._lattices.append((1 + strain)**(1.0 / 3) * np.eye(3)) else: self._lattices.append(np.eye(3) + np.array(strain)) self._sampling_mesh = sampling_mesh if t_step is None: self._t_step = 10 else: self._t_step = t_step if t_max is None: self._t_max = 1500 else: self._t_max = t_max if t_min is None: self._t_min = 0 else: self._t_min = t_min self._supercell_matrix = supercell_matrix self._primitive_matrix = primitive_matrix self._distance = distance self._lattice_tolerance = lattice_tolerance self._pressure_target = pressure_target self._stress_tolerance = stress_tolerance self._force_tolerance = force_tolerance self._max_increase = max_increase self._max_iteration = max_iteration self._min_iteration = min_iteration self._traverse = traverse self._is_cell_relaxed = is_cell_relaxed self._stage = 0 self._tasks = None self._cell = None self._qh_tasks = None