From 1f1dcb7137e429e0c3f78890a33126c57f24ee5e Mon Sep 17 00:00:00 2001 From: kayahans Date: Fri, 7 Mar 2025 12:10:06 -0500 Subject: [PATCH 1/7] wannier90 input tested --- nexus/lib/nexus.py | 1 + nexus/lib/wannier90.py | 10 + nexus/lib/wannier90_input.py | 430 +++++++ nexus/tests/unit/test_wannier90_input.py | 90 ++ .../test_wannier90_input_files/BaTiO3.win | 114 ++ .../unit/test_wannier90_input_files/Fe.win | 565 +++++++++ .../unit/test_wannier90_input_files/LaVO3.win | 277 +++++ .../unit/test_wannier90_input_files/Pt.win | 394 ++++++ .../unit/test_wannier90_input_files/Si.win | 125 ++ .../unit/test_wannier90_input_files/W.win | 1040 ++++++++++++++++ .../test_wannier90_input_files/benzene.win | 77 ++ .../unit/test_wannier90_input_files/cnt55.win | 127 ++ .../test_wannier90_input_files/copper.win | 110 ++ .../test_wannier90_input_files/diamond.win | 92 ++ .../unit/test_wannier90_input_files/gaas.win | 1064 +++++++++++++++++ .../test_wannier90_input_files/graphite.win | 110 ++ .../test_wannier90_input_files/iron_dn.win | 554 +++++++++ .../test_wannier90_input_files/iron_up.win | 554 +++++++++ .../unit/test_wannier90_input_files/lead.win | 93 ++ .../test_wannier90_input_files/silane.win | 28 + .../test_wannier90_input_files/silicon.win | 135 +++ 21 files changed, 5990 insertions(+) create mode 100644 nexus/lib/wannier90.py create mode 100644 nexus/lib/wannier90_input.py create mode 100644 nexus/tests/unit/test_wannier90_input.py create mode 100644 nexus/tests/unit/test_wannier90_input_files/BaTiO3.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/Fe.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/LaVO3.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/Pt.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/Si.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/W.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/benzene.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/cnt55.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/copper.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/diamond.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/gaas.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/graphite.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/iron_dn.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/iron_up.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/lead.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/silane.win create mode 100644 nexus/tests/unit/test_wannier90_input_files/silicon.win diff --git a/nexus/lib/nexus.py b/nexus/lib/nexus.py index 1b48401734..4e2e171dc9 100644 --- a/nexus/lib/nexus.py +++ b/nexus/lib/nexus.py @@ -47,6 +47,7 @@ from quantum_package import QuantumPackage,QuantumPackageInput,QuantumPackageAnalyzer,generate_quantum_package_input,generate_quantum_package from pyscf_sim import Pyscf, PyscfInput, PyscfAnalyzer, generate_pyscf_input, generate_pyscf from rmg import Rmg, RmgInput, RmgAnalyzer, generate_rmg_input, generate_rmg +from wannier90 import Wannier90Input from qmcpack_converters import Pw2qmcpack , Pw2qmcpackInput , Pw2qmcpackAnalyzer , generate_pw2qmcpack_input , generate_pw2qmcpack from qmcpack_converters import Convert4qmc, Convert4qmcInput, Convert4qmcAnalyzer, generate_convert4qmc_input, generate_convert4qmc diff --git a/nexus/lib/wannier90.py b/nexus/lib/wannier90.py new file mode 100644 index 0000000000..b847a8dc36 --- /dev/null +++ b/nexus/lib/wannier90.py @@ -0,0 +1,10 @@ + from wannier90_input import Wannier90Input + + +class Wannier90(Simulation): + input_type = Wannier90Input + # analyzer_type = Wannier90Analyzer + generic_identifier = 'wannier90' + infile_extension = '.win' + application = 'wannier90' + application_properties = set(['serial','omp','mpi']) \ No newline at end of file diff --git a/nexus/lib/wannier90_input.py b/nexus/lib/wannier90_input.py new file mode 100644 index 0000000000..2e6638a0f8 --- /dev/null +++ b/nexus/lib/wannier90_input.py @@ -0,0 +1,430 @@ +from simulation import SimulationInput + +class Wannier90Input(SimulationInput): + """ + Class for generating and processing Wannier90 input files. + Based on Wannier90 3.1.0 manual. + """ + + # Required keywords + required = ['num_wann', 'num_bands'] + + # All known keywords with their types + integers = [ + 'num_wann', 'num_bands', 'num_iter', 'num_print_cycles', + 'num_dump_cycles', 'num_cg_steps', 'conv_window', 'conv_noise_num', + 'num_excluded_bands', 'mp_grid', 'kmesh_tol', 'num_spins', + 'spinor_mode', 'nfermi', 'timing_level', 'num_guide_cycles', + 'num_no_guide_iter', 'search_shells', 'conv_window', 'bands_num_points', + 'fermi_surface_num_points', 'ws_search_size', 'tran_num_bb', 'tran_num_ll', + 'tran_num_rr', 'tran_num_cc', 'tran_num_lc', 'tran_num_cr', + 'tran_num_cell_ll', 'tran_num_cell_rr', 'tran_num_bandc' + ] + + floats = [ + 'conv_tol', 'conv_noise_amp', 'conv_noise_amp_global', + 'conv_window_threshold', 'dis_win_min', 'dis_win_max', + 'dis_froz_min', 'dis_froz_max', 'fermi_energy', + 'kmesh_spacing', 'zone_fraction', 'translation_centre_frac', + 'wannier_plot_radius', 'wannier_plot_scale', 'wannier_plot_spinor_mode', + 'hr_cutoff', 'dist_cutoff', 'precond_threshold', 'omega_invariant', + 'scale_factor', 'energy_offset', 'trial_step', 'fixed_step', + 'dis_mix_ratio', 'dis_conv_tol', 'symmetrize_eps', 'slwf_lambda', + 'tran_win_min', 'tran_win_max', 'tran_energy_step', + 'tran_group_threshold', 'ws_distance_tol' + ] + + bools = [ + 'guiding_centres', 'use_bloch_phases', 'write_xyz', 'gamma_only', + 'write_vdw', 'write_hr_diag', 'write_rmn', 'write_bvec', + 'write_bstate', 'write_r_pos', 'write_proj_site', 'shell_list', + 'write_force', 'write_tb', 'write_u_matrices', 'search_shells', + 'skip_B1_tests', 'postproc_setup', 'auto_projections', 'precond', + 'spinors', 'site_symmetry', 'slwf_constrain', 'translate_home_cell', + 'use_ws_distance', 'transport', 'tran_write_ht', 'tran_read_ht', + 'tran_use_same_lead', 'wannier_plot', 'bands_plot', 'fermi_surface_plot', + 'write_hr', 'write_xyz', 'write_rmn', 'write_tb' + ] + + strings = [ + 'wannier_mode', 'restart', 'restart_mode', 'iprint', + 'length_unit', 'wvfn_formatted', 'spin', 'spinors', + 'devel_flag', 'optimisation', 'bloch_outer_window', + 'translation_mode', 'translation_vector_frac', + 'wannier_plot_format', 'wannier_plot_mode', + 'wannier_plot_supercell', 'wannier_plot_list', + 'hr_plot_format', 'dist_plot_format', 'transport_mode', + 'one_dim_axis', 'dist_cutoff_mode', 'bands_plot_format', + 'bands_plot_mode', 'fermi_surface_plot_format', + 'wannier_plot_spinor_mode' + ] + + # Special multi-value parameters + arrays = [ + 'unit_cell_cart', # Unit cell vectors in Cartesian coordinates + 'atoms_cart', # Atomic positions in Cartesian coordinates + 'atoms_frac', # Atomic positions in fractional coordinates + 'mp_grid', # Dimensions of Monkhorst-Pack grid + 'kpoints', # List of k-points + 'projections', # Projection functions for initial guess + 'exclude_bands', # Bands to exclude + 'select_projections', # Projections to select + 'kpoint_path', # K-point path for band structure + 'bands_plot_project', # WFs to project bands onto + 'slwf_centres', # Centers for selective localization + 'dis_spheres', # Spheres for k-dependent disentanglement + 'nnkpts' # Explicit nearest-neighbor k-points + ] + + parameters_list = integers + floats + bools + strings + + blocks_list = [ + 'unit_cell_cart', + 'atoms_cart', + 'atoms_frac', + 'mp_grid', + 'kpoints', + ] + + def __init__(self): + """Initialize an empty Wannier90 input.""" + self.params = {} + self.blocks = {} + + def read(self, filename): + """Read a Wannier90 input file.""" + with open(filename, 'r') as f: + lines = f.readlines() + + current_block = None + for line in lines: + line = line.strip() + lower_line = line.lower() + if not line or line.startswith('!') or line.startswith('#'): + continue + + if lower_line.startswith('begin'): + current_block = line.split()[1].lower() + self.blocks[current_block] = [] + continue + elif lower_line.startswith('end'): + current_block = None + continue + + if current_block: + self.blocks[current_block].append(line) + else: + # Handle parameter lines + # Paramters can be in an interchangeable format: + # key = value + # key : value + if '=' in line: + key, value = [x.strip() for x in line.split('=', 1)] + self.params[key.lower()] = value + if ':' in line: + key, value = [x.strip() for x in line.split(':', 1)] + self.params[key.lower()] = value + + for block in self.blocks: + self.blocks[block] = '\n'.join(self.blocks[block]) + + def write_text(self): + """Generate Wannier90 input file contents as a string.""" + text = [] + + # Write parameters first + for key, value in self.params.items(): + text.append(f"{key} = {value}") + + # Add a blank line before blocks if there were parameters + if self.params: + text.append('') + + # Write blocks with proper begin/end markers and spacing + for block_name, content in self.blocks.items(): + text.append(f"begin {block_name}") + text.append(content) + text.append(f"end {block_name}") + text.append('') # Add blank line after each block + + # Remove trailing newline + if text and not text[-1]: + text.pop() + return '\n'.join(text) + + def write(self, filepath): + """Write Wannier90 input to a file.""" + with open(filepath, 'w') as f: + f.write(self.write_text()) + + def validate(self): + """Validate the input parameters.""" + # Check required parameters + for param in self.required: + if param not in self.params: + raise ValueError(f"Required parameter '{param}' is missing") + + # Validate parameter types + for param, value in self.params.items(): + if param in self.integers: + try: + int(value) + except ValueError: + raise ValueError(f"Parameter '{param}' must be an integer") + elif param in self.floats: + try: + float(value) + except ValueError: + raise ValueError(f"Parameter '{param}' must be a float") + elif param in self.bools: + if value.lower() not in ['true', 'false', 't', 'f']: + raise ValueError(f"Parameter '{param}' must be a boolean") + + def set_param(self, key, value): + """Set a parameter value.""" + self.params[key.lower()] = value + + def get_param(self, key): + """Get a parameter value.""" + return self.params.get(key.lower()) + + def add_block(self, name, content): + """Add a block of data.""" + self.blocks[name.lower()] = content + + def get_block(self, name): + """Get a block of data.""" + return self.blocks.get(name.lower()) + +def format_unit_cell_cart(axes, units='bohr'): + """Format unit cell vectors block. + + Parameters + ---------- + axes : array_like + 3x3 array of unit cell vectors + units : str, optional + Units for the cell vectors ('bohr' or 'ang') + """ + block = [units] + for v in axes: + block.append('{: 8.6f} {: 8.6f} {: 8.6f}'.format(*v)) + return '\n'.join(block) + + +def format_atoms_cart(atoms, positions, units='bohr'): + """Format atomic positions in Cartesian coordinates. + + Parameters + ---------- + atoms : list + List of atomic symbols + positions : array_like + Array of atomic positions + units : str, optional + Units for positions ('bohr' or 'ang') + """ + block = [units] + for atom, pos in zip(atoms, positions): + block.append('{:2s} {: 8.6f} {: 8.6f} {: 8.6f}'.format(atom, *pos)) + return '\n'.join(block) + + +def format_atoms_frac(atoms, positions): + """Format atomic positions in fractional coordinates. + + Parameters + ---------- + atoms : list + List of atomic symbols + positions : array_like + Array of fractional atomic positions + """ + block = [] + for atom, pos in zip(atoms, positions): + block.append('{:2s} {: 8.6f} {: 8.6f} {: 8.6f}'.format(atom, *pos)) + return '\n'.join(block) + + +def format_kpoints(kpoints): + """Format explicit k-points list. + + Parameters + ---------- + kpoints : array_like + Array of k-points + """ + block = [] + for k in kpoints: + block.append('{: 8.6f} {: 8.6f} {: 8.6f}'.format(*k)) + return '\n'.join(block) + + +def format_kpoint_path(path): + """Format k-point path for band structure. + + Parameters + ---------- + path : list or dict + K-point path specification, either: + - list of tuples: [(label1, k1), (label2, k2), ...] + - dict from seekpath: {'path': [...], 'point_coords': {...}} + """ + block = [] + if isinstance(path, dict): + # Handle seekpath format + kpath = path['path'] + coords = path['point_coords'] + for start, end in zip(kpath[::2], kpath[1::2]): + line = '{:s} {: 8.6f} {: 8.6f} {: 8.6f} {:s} {: 8.6f} {: 8.6f} {: 8.6f}'.format( + start, *coords[start], end, *coords[end]) + block.append(line) + else: + # Handle direct format + for start, end in zip(path[::2], path[1::2]): + label1, k1 = start + label2, k2 = end + line = '{:s} {: 8.6f} {: 8.6f} {: 8.6f} {:s} {: 8.6f} {: 8.6f} {: 8.6f}'.format( + label1, *k1, label2, *k2) + block.append(line) + return '\n'.join(block) + + +def format_projections(projections): + """Format orbital projections. + + Parameters + ---------- + projections : list + List of projection specifications, e.g. ['Ga:s,p', 'As:p'] + """ + if isinstance(projections, str): + projections = [projections] + return '\n'.join(projections) + + +def generate_wannier90_input( + prefix = 'wannier', + system = None, + num_wann = None, + num_bands = None, + unit_cell_cart = None, + atoms_cart = None, + atoms_frac = None, + mp_grid = None, + kpoints = None, + kpoint_path = None, + projections = None, + units = 'bohr', + **kwargs + ): + """ + Generate a Wannier90 input file (.win) + + Parameters + ---------- + prefix : str, optional + Prefix for the Wannier90 calculation + system : PhysicalSystem object, optional + System containing structure information + num_wann : int + Number of Wannier functions + num_bands : int + Number of bands to include in the wannierization + unit_cell_cart : array_like, optional + Unit cell vectors in Cartesian coordinates + atoms_cart : tuple or list, optional + Atomic positions in Cartesian coordinates, format: [(atom1, pos1), ...] + atoms_frac : tuple or list, optional + Atomic positions in fractional coordinates, format: [(atom1, pos1), ...] + mp_grid : tuple of int, optional + Monkhorst-Pack grid dimensions + kpoints : array_like, optional + Explicit k-points list + kpoint_path : list or dict, optional + K-point path for band structure, can be: + - list of tuples: [(label1, k1), (label2, k2), ...] + - dict from seekpath: {'path': [...], 'point_coords': {...}} + projections : list, optional + Orbital projections, e.g. ['Ga:s,p', 'As:p'] + units : str, optional + Units for positions and cell vectors ('bohr' or 'ang') + **kwargs : dict + Additional Wannier90 parameters + """ + + win = Wannier90Input() + + # Set required parameters + if num_wann is None or num_bands is None: + win.error('num_wann and num_bands are required parameters') + win.set_param('num_wann', num_wann) + win.set_param('num_bands', num_bands) + + # Handle structure information + if system is not None: + # Get structure from PhysicalSystem + axes = system.structure.axes + pos = system.structure.pos + elem = system.structure.elem + win.add_block('unit_cell_cart', format_unit_cell_cart(axes, units)) + win.add_block('atoms_cart', format_atoms_cart(elem, pos, units)) + else: + # Use provided structure information + import pdb; pdb.set_trace() + if unit_cell_cart is not None: + win.add_block('unit_cell_cart', format_unit_cell_cart(unit_cell_cart, units)) + if atoms_cart is not None: + atoms, positions = zip(*atoms_cart) + win.add_block('atoms_cart', format_atoms_cart(atoms, positions, units)) + elif atoms_frac is not None: + atoms, positions = zip(*atoms_frac) + + win.add_block('atoms_frac', format_atoms_frac(atoms, positions)) + + # Handle k-points + if mp_grid is not None: + win.set_param('mp_grid', '{} {} {}'.format(*mp_grid)) + if kpoints is not None: + win.add_block('kpoints', format_kpoints(kpoints)) + + # Handle k-point path + if kpoint_path is not None: + win.add_block('kpoint_path', format_kpoint_path(kpoint_path)) + + # Handle projections + if projections is not None: + win.add_block('projections', format_projections(projections)) + + # Handle all other parameters + for key, value in kwargs.items(): + if isinstance(value, (list, tuple)): + # Handle array-type parameters + if all(isinstance(x, str) for x in value): + win.set_param(key, ' '.join(value)) + else: + win.set_param(key, ' '.join(map(str, value))) + else: + win.set_param(key, value) + + return win + + +if __name__ == "__main__": + # Using direct structure input + win = generate_wannier90_input( + prefix = 'silicon', + unit_cell_cart = [[5.43, 0.0, 0.0], + [0.0, 5.43, 0.0], + [0.0, 0.0, 5.43]], + atoms_cart = [('Si', (0.0, 0.0, 0.0)), + ('Si', (2.715, 2.715, 2.715))], + num_wann = 8, + num_bands = 12, + mp_grid = (4,4,4), + projections = ['Si:sp3'] + ) + + # Get input file contents as string + win_text = win.write_text() + print(win_text) \ No newline at end of file diff --git a/nexus/tests/unit/test_wannier90_input.py b/nexus/tests/unit/test_wannier90_input.py new file mode 100644 index 0000000000..ca9f915d4e --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input.py @@ -0,0 +1,90 @@ +import testing +import os +from wannier90_input import Wannier90Input + +associated_files = dict() + +input_files = [ + 'BaTiO3.win', + 'Fe.win', + 'LaVO3.win', + 'Pt.win', + 'Si.win', + 'W.win', + 'benzene.win', + 'cnt55.win', + 'copper.win', + 'diamond.win', + 'gaas.win', + 'graphite.win', + 'iron_dn.win', + 'iron_up.win', + 'lead.win', + 'silane.win', + 'silicon.win' +] + +def get_files(): + return testing.collect_unit_test_file_paths('wannier90_input',associated_files) +#end def get_files + + +def test_files(): + filenames = input_files + files = get_files() + assert(set(files.keys())==set(filenames)) +#end def test_files + +def pattern_in_text(pattern, text): + """Check if the pattern exists in the text.""" + if pattern.startswith('#') or pattern.startswith('!'): + # Ignore comment lines + return True + else: + pl = ' '.join(pattern.lower().strip().split()) + tl = ' '.join(text.lower().strip().split()) + if pl in tl: + return True + elif "=" in pl: + pattern_key = pl.split('=')[0].strip() + pattern_value = ' '.join(pl.split('=')[1].strip().split()) + pl_alt = pattern_key + ' : ' + pattern_value + pl = pattern_key + ' = ' + pattern_value + return pl in tl or pl_alt in tl + elif ":" in pl: + pattern_key = pl.split(':')[0].strip() + pattern_value = ' '.join(pl.split(':')[1].strip().split()) + pl_alt = pattern_key + ' = ' + pattern_value + pl = pattern_key + ' : ' + pattern_value + return pl in tl or pl_alt in tl + else: + return False + +def test_wannier90_input(): + # Directory containing the .win files + win_files = get_files() + + for win_file, win_path in win_files.items(): + # Read the .win file + with open(win_path, 'r') as f: + original_content = f.read() + + # Create a Wannier90Input object and read the file + win_input = Wannier90Input() + win_input.read(win_path) + + # Write the input back to a string + generated_content = ' '.join(win_input.write_text().split()) + expected_patterns = [x.strip() for x in original_content.split('\n') if x.strip()] + # Compare the generated content to the original + for pattern in expected_patterns: + try: + assert pattern_in_text(pattern, generated_content), f"Missing or incorrect pattern: {pattern}" + except AssertionError as e: + print(f"Error for {win_file}: {e}") + raise e + + # print(f"Test passed for {win_file}") + +# Run the test +# test_wannier90_input() diff --git a/nexus/tests/unit/test_wannier90_input_files/BaTiO3.win b/nexus/tests/unit/test_wannier90_input_files/BaTiO3.win new file mode 100644 index 0000000000..e405c8432d --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/BaTiO3.win @@ -0,0 +1,114 @@ +num_wann = 9 +num_iter = 50 + +!here we exclude all bands except the O2p bands +exclude_bands : 1,2,3,4,5,6,7,8,9,10,11 + + +guiding_centres = T + +begin atoms_frac +Ba 0.0 0.0 0.0 +Ti 0.5 0.5 0.5 +O 0.0 0.5 0.5 +O 0.5 0.5 0.0 +O 0.5 0.0 0.5 +end atoms_frac + +begin kpoint_path +L 0.50000 0.50000 0.5000 G 0.00000 0.00000 0.0000 +G 0.00000 0.00000 0.0000 X 0.50000 0.00000 0.5000 +X 0.50000 -0.50000 0.0000 K 0.37500 -0.37500 0.0000 +K 0.37500 -0.37500 0.0000 G 0.00000 0.00000 0.0000 +end kpoint_path +bands_plot =T + + +!!To plot the WF +!wannier_plot = T +!wannier_plot_supercell = 2 +!wannier_plot_list = 2 +!restart = plot + + + +begin projections +O:p +end projections + + +begin unit_cell_cart +bohr +7.44266 0.0 0.0 +0.0 7.44266 0.0 +0.0 0.0 7.44266 +end unit_cell_cart + +mp_grid : 4 4 4 + +begin kpoints + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.25000000 + 0.00000000 0.00000000 0.50000000 + 0.00000000 0.00000000 0.75000000 + 0.00000000 0.25000000 0.00000000 + 0.00000000 0.25000000 0.25000000 + 0.00000000 0.25000000 0.50000000 + 0.00000000 0.25000000 0.75000000 + 0.00000000 0.50000000 0.00000000 + 0.00000000 0.50000000 0.25000000 + 0.00000000 0.50000000 0.50000000 + 0.00000000 0.50000000 0.75000000 + 0.00000000 0.75000000 0.00000000 + 0.00000000 0.75000000 0.25000000 + 0.00000000 0.75000000 0.50000000 + 0.00000000 0.75000000 0.75000000 + 0.25000000 0.00000000 0.00000000 + 0.25000000 0.00000000 0.25000000 + 0.25000000 0.00000000 0.50000000 + 0.25000000 0.00000000 0.75000000 + 0.25000000 0.25000000 0.00000000 + 0.25000000 0.25000000 0.25000000 + 0.25000000 0.25000000 0.50000000 + 0.25000000 0.25000000 0.75000000 + 0.25000000 0.50000000 0.00000000 + 0.25000000 0.50000000 0.25000000 + 0.25000000 0.50000000 0.50000000 + 0.25000000 0.50000000 0.75000000 + 0.25000000 0.75000000 0.00000000 + 0.25000000 0.75000000 0.25000000 + 0.25000000 0.75000000 0.50000000 + 0.25000000 0.75000000 0.75000000 + 0.50000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.25000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.00000000 0.75000000 + 0.50000000 0.25000000 0.00000000 + 0.50000000 0.25000000 0.25000000 + 0.50000000 0.25000000 0.50000000 + 0.50000000 0.25000000 0.75000000 + 0.50000000 0.50000000 0.00000000 + 0.50000000 0.50000000 0.25000000 + 0.50000000 0.50000000 0.50000000 + 0.50000000 0.50000000 0.75000000 + 0.50000000 0.75000000 0.00000000 + 0.50000000 0.75000000 0.25000000 + 0.50000000 0.75000000 0.50000000 + 0.50000000 0.75000000 0.75000000 + 0.75000000 0.00000000 0.00000000 + 0.75000000 0.00000000 0.25000000 + 0.75000000 0.00000000 0.50000000 + 0.75000000 0.00000000 0.75000000 + 0.75000000 0.25000000 0.00000000 + 0.75000000 0.25000000 0.25000000 + 0.75000000 0.25000000 0.50000000 + 0.75000000 0.25000000 0.75000000 + 0.75000000 0.50000000 0.00000000 + 0.75000000 0.50000000 0.25000000 + 0.75000000 0.50000000 0.50000000 + 0.75000000 0.50000000 0.75000000 + 0.75000000 0.75000000 0.00000000 + 0.75000000 0.75000000 0.25000000 + 0.75000000 0.75000000 0.50000000 + 0.75000000 0.75000000 0.75000000 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/Fe.win b/nexus/tests/unit/test_wannier90_input_files/Fe.win new file mode 100644 index 0000000000..7991346d66 --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/Fe.win @@ -0,0 +1,565 @@ +num_bands = 28 +num_wann = 18 + +dis_win_min = -8.0d0 +dis_win_max = 70.0d0 +dis_froz_min = -8.0d0 +dis_froz_max = 30.0d0 +dis_num_iter = 500 + +num_iter = 200 +dis_mix_ratio = 1.0 + +spinors = true +begin projections +Fe: sp3d2;dxy;dxz;dyz +end projections + +#fermi_energy = + +#berry = true +#berry_task = morb +#berry_kmesh = 25 25 25 + +kpath = true +kpath_task = bands+morb +kpath_num_points=500 +begin kpoint_path +G 0.0000 0.0000 0.0000 H 0.500 -0.5000 -0.5000 +H 0.500 -0.5000 -0.5000 P 0.7500 0.2500 -0.2500 +end kpoint_path + +#kslice = true +#kslice_task = morb+fermi_lines +#kslice_2dkmesh = 50 50 +#kslice_corner = 0.0 0.0 0.0 +#kslice_b1 = 0.5 -0.5 -0.5 +#kslice_b2 = 0.5 0.5 0.5 + +begin unit_cell_cart +bohr + 2.71175 2.71175 2.71175 +-2.71175 2.71175 2.71175 +-2.71175 -2.71175 2.71175 +end unit_cell_cart + +begin atoms_frac +Fe 0.000 0.000 0.000 +end atoms_frac + +mp_grid = 8 8 8 + +begin kpoints + 0.00000000 0.00000000 0.00000000 1.953125e-03 + 0.00000000 0.00000000 0.12500000 1.953125e-03 + 0.00000000 0.00000000 0.25000000 1.953125e-03 + 0.00000000 0.00000000 0.37500000 1.953125e-03 + 0.00000000 0.00000000 0.50000000 1.953125e-03 + 0.00000000 0.00000000 0.62500000 1.953125e-03 + 0.00000000 0.00000000 0.75000000 1.953125e-03 + 0.00000000 0.00000000 0.87500000 1.953125e-03 + 0.00000000 0.12500000 0.00000000 1.953125e-03 + 0.00000000 0.12500000 0.12500000 1.953125e-03 + 0.00000000 0.12500000 0.25000000 1.953125e-03 + 0.00000000 0.12500000 0.37500000 1.953125e-03 + 0.00000000 0.12500000 0.50000000 1.953125e-03 + 0.00000000 0.12500000 0.62500000 1.953125e-03 + 0.00000000 0.12500000 0.75000000 1.953125e-03 + 0.00000000 0.12500000 0.87500000 1.953125e-03 + 0.00000000 0.25000000 0.00000000 1.953125e-03 + 0.00000000 0.25000000 0.12500000 1.953125e-03 + 0.00000000 0.25000000 0.25000000 1.953125e-03 + 0.00000000 0.25000000 0.37500000 1.953125e-03 + 0.00000000 0.25000000 0.50000000 1.953125e-03 + 0.00000000 0.25000000 0.62500000 1.953125e-03 + 0.00000000 0.25000000 0.75000000 1.953125e-03 + 0.00000000 0.25000000 0.87500000 1.953125e-03 + 0.00000000 0.37500000 0.00000000 1.953125e-03 + 0.00000000 0.37500000 0.12500000 1.953125e-03 + 0.00000000 0.37500000 0.25000000 1.953125e-03 + 0.00000000 0.37500000 0.37500000 1.953125e-03 + 0.00000000 0.37500000 0.50000000 1.953125e-03 + 0.00000000 0.37500000 0.62500000 1.953125e-03 + 0.00000000 0.37500000 0.75000000 1.953125e-03 + 0.00000000 0.37500000 0.87500000 1.953125e-03 + 0.00000000 0.50000000 0.00000000 1.953125e-03 + 0.00000000 0.50000000 0.12500000 1.953125e-03 + 0.00000000 0.50000000 0.25000000 1.953125e-03 + 0.00000000 0.50000000 0.37500000 1.953125e-03 + 0.00000000 0.50000000 0.50000000 1.953125e-03 + 0.00000000 0.50000000 0.62500000 1.953125e-03 + 0.00000000 0.50000000 0.75000000 1.953125e-03 + 0.00000000 0.50000000 0.87500000 1.953125e-03 + 0.00000000 0.62500000 0.00000000 1.953125e-03 + 0.00000000 0.62500000 0.12500000 1.953125e-03 + 0.00000000 0.62500000 0.25000000 1.953125e-03 + 0.00000000 0.62500000 0.37500000 1.953125e-03 + 0.00000000 0.62500000 0.50000000 1.953125e-03 + 0.00000000 0.62500000 0.62500000 1.953125e-03 + 0.00000000 0.62500000 0.75000000 1.953125e-03 + 0.00000000 0.62500000 0.87500000 1.953125e-03 + 0.00000000 0.75000000 0.00000000 1.953125e-03 + 0.00000000 0.75000000 0.12500000 1.953125e-03 + 0.00000000 0.75000000 0.25000000 1.953125e-03 + 0.00000000 0.75000000 0.37500000 1.953125e-03 + 0.00000000 0.75000000 0.50000000 1.953125e-03 + 0.00000000 0.75000000 0.62500000 1.953125e-03 + 0.00000000 0.75000000 0.75000000 1.953125e-03 + 0.00000000 0.75000000 0.87500000 1.953125e-03 + 0.00000000 0.87500000 0.00000000 1.953125e-03 + 0.00000000 0.87500000 0.12500000 1.953125e-03 + 0.00000000 0.87500000 0.25000000 1.953125e-03 + 0.00000000 0.87500000 0.37500000 1.953125e-03 + 0.00000000 0.87500000 0.50000000 1.953125e-03 + 0.00000000 0.87500000 0.62500000 1.953125e-03 + 0.00000000 0.87500000 0.75000000 1.953125e-03 + 0.00000000 0.87500000 0.87500000 1.953125e-03 + 0.12500000 0.00000000 0.00000000 1.953125e-03 + 0.12500000 0.00000000 0.12500000 1.953125e-03 + 0.12500000 0.00000000 0.25000000 1.953125e-03 + 0.12500000 0.00000000 0.37500000 1.953125e-03 + 0.12500000 0.00000000 0.50000000 1.953125e-03 + 0.12500000 0.00000000 0.62500000 1.953125e-03 + 0.12500000 0.00000000 0.75000000 1.953125e-03 + 0.12500000 0.00000000 0.87500000 1.953125e-03 + 0.12500000 0.12500000 0.00000000 1.953125e-03 + 0.12500000 0.12500000 0.12500000 1.953125e-03 + 0.12500000 0.12500000 0.25000000 1.953125e-03 + 0.12500000 0.12500000 0.37500000 1.953125e-03 + 0.12500000 0.12500000 0.50000000 1.953125e-03 + 0.12500000 0.12500000 0.62500000 1.953125e-03 + 0.12500000 0.12500000 0.75000000 1.953125e-03 + 0.12500000 0.12500000 0.87500000 1.953125e-03 + 0.12500000 0.25000000 0.00000000 1.953125e-03 + 0.12500000 0.25000000 0.12500000 1.953125e-03 + 0.12500000 0.25000000 0.25000000 1.953125e-03 + 0.12500000 0.25000000 0.37500000 1.953125e-03 + 0.12500000 0.25000000 0.50000000 1.953125e-03 + 0.12500000 0.25000000 0.62500000 1.953125e-03 + 0.12500000 0.25000000 0.75000000 1.953125e-03 + 0.12500000 0.25000000 0.87500000 1.953125e-03 + 0.12500000 0.37500000 0.00000000 1.953125e-03 + 0.12500000 0.37500000 0.12500000 1.953125e-03 + 0.12500000 0.37500000 0.25000000 1.953125e-03 + 0.12500000 0.37500000 0.37500000 1.953125e-03 + 0.12500000 0.37500000 0.50000000 1.953125e-03 + 0.12500000 0.37500000 0.62500000 1.953125e-03 + 0.12500000 0.37500000 0.75000000 1.953125e-03 + 0.12500000 0.37500000 0.87500000 1.953125e-03 + 0.12500000 0.50000000 0.00000000 1.953125e-03 + 0.12500000 0.50000000 0.12500000 1.953125e-03 + 0.12500000 0.50000000 0.25000000 1.953125e-03 + 0.12500000 0.50000000 0.37500000 1.953125e-03 + 0.12500000 0.50000000 0.50000000 1.953125e-03 + 0.12500000 0.50000000 0.62500000 1.953125e-03 + 0.12500000 0.50000000 0.75000000 1.953125e-03 + 0.12500000 0.50000000 0.87500000 1.953125e-03 + 0.12500000 0.62500000 0.00000000 1.953125e-03 + 0.12500000 0.62500000 0.12500000 1.953125e-03 + 0.12500000 0.62500000 0.25000000 1.953125e-03 + 0.12500000 0.62500000 0.37500000 1.953125e-03 + 0.12500000 0.62500000 0.50000000 1.953125e-03 + 0.12500000 0.62500000 0.62500000 1.953125e-03 + 0.12500000 0.62500000 0.75000000 1.953125e-03 + 0.12500000 0.62500000 0.87500000 1.953125e-03 + 0.12500000 0.75000000 0.00000000 1.953125e-03 + 0.12500000 0.75000000 0.12500000 1.953125e-03 + 0.12500000 0.75000000 0.25000000 1.953125e-03 + 0.12500000 0.75000000 0.37500000 1.953125e-03 + 0.12500000 0.75000000 0.50000000 1.953125e-03 + 0.12500000 0.75000000 0.62500000 1.953125e-03 + 0.12500000 0.75000000 0.75000000 1.953125e-03 + 0.12500000 0.75000000 0.87500000 1.953125e-03 + 0.12500000 0.87500000 0.00000000 1.953125e-03 + 0.12500000 0.87500000 0.12500000 1.953125e-03 + 0.12500000 0.87500000 0.25000000 1.953125e-03 + 0.12500000 0.87500000 0.37500000 1.953125e-03 + 0.12500000 0.87500000 0.50000000 1.953125e-03 + 0.12500000 0.87500000 0.62500000 1.953125e-03 + 0.12500000 0.87500000 0.75000000 1.953125e-03 + 0.12500000 0.87500000 0.87500000 1.953125e-03 + 0.25000000 0.00000000 0.00000000 1.953125e-03 + 0.25000000 0.00000000 0.12500000 1.953125e-03 + 0.25000000 0.00000000 0.25000000 1.953125e-03 + 0.25000000 0.00000000 0.37500000 1.953125e-03 + 0.25000000 0.00000000 0.50000000 1.953125e-03 + 0.25000000 0.00000000 0.62500000 1.953125e-03 + 0.25000000 0.00000000 0.75000000 1.953125e-03 + 0.25000000 0.00000000 0.87500000 1.953125e-03 + 0.25000000 0.12500000 0.00000000 1.953125e-03 + 0.25000000 0.12500000 0.12500000 1.953125e-03 + 0.25000000 0.12500000 0.25000000 1.953125e-03 + 0.25000000 0.12500000 0.37500000 1.953125e-03 + 0.25000000 0.12500000 0.50000000 1.953125e-03 + 0.25000000 0.12500000 0.62500000 1.953125e-03 + 0.25000000 0.12500000 0.75000000 1.953125e-03 + 0.25000000 0.12500000 0.87500000 1.953125e-03 + 0.25000000 0.25000000 0.00000000 1.953125e-03 + 0.25000000 0.25000000 0.12500000 1.953125e-03 + 0.25000000 0.25000000 0.25000000 1.953125e-03 + 0.25000000 0.25000000 0.37500000 1.953125e-03 + 0.25000000 0.25000000 0.50000000 1.953125e-03 + 0.25000000 0.25000000 0.62500000 1.953125e-03 + 0.25000000 0.25000000 0.75000000 1.953125e-03 + 0.25000000 0.25000000 0.87500000 1.953125e-03 + 0.25000000 0.37500000 0.00000000 1.953125e-03 + 0.25000000 0.37500000 0.12500000 1.953125e-03 + 0.25000000 0.37500000 0.25000000 1.953125e-03 + 0.25000000 0.37500000 0.37500000 1.953125e-03 + 0.25000000 0.37500000 0.50000000 1.953125e-03 + 0.25000000 0.37500000 0.62500000 1.953125e-03 + 0.25000000 0.37500000 0.75000000 1.953125e-03 + 0.25000000 0.37500000 0.87500000 1.953125e-03 + 0.25000000 0.50000000 0.00000000 1.953125e-03 + 0.25000000 0.50000000 0.12500000 1.953125e-03 + 0.25000000 0.50000000 0.25000000 1.953125e-03 + 0.25000000 0.50000000 0.37500000 1.953125e-03 + 0.25000000 0.50000000 0.50000000 1.953125e-03 + 0.25000000 0.50000000 0.62500000 1.953125e-03 + 0.25000000 0.50000000 0.75000000 1.953125e-03 + 0.25000000 0.50000000 0.87500000 1.953125e-03 + 0.25000000 0.62500000 0.00000000 1.953125e-03 + 0.25000000 0.62500000 0.12500000 1.953125e-03 + 0.25000000 0.62500000 0.25000000 1.953125e-03 + 0.25000000 0.62500000 0.37500000 1.953125e-03 + 0.25000000 0.62500000 0.50000000 1.953125e-03 + 0.25000000 0.62500000 0.62500000 1.953125e-03 + 0.25000000 0.62500000 0.75000000 1.953125e-03 + 0.25000000 0.62500000 0.87500000 1.953125e-03 + 0.25000000 0.75000000 0.00000000 1.953125e-03 + 0.25000000 0.75000000 0.12500000 1.953125e-03 + 0.25000000 0.75000000 0.25000000 1.953125e-03 + 0.25000000 0.75000000 0.37500000 1.953125e-03 + 0.25000000 0.75000000 0.50000000 1.953125e-03 + 0.25000000 0.75000000 0.62500000 1.953125e-03 + 0.25000000 0.75000000 0.75000000 1.953125e-03 + 0.25000000 0.75000000 0.87500000 1.953125e-03 + 0.25000000 0.87500000 0.00000000 1.953125e-03 + 0.25000000 0.87500000 0.12500000 1.953125e-03 + 0.25000000 0.87500000 0.25000000 1.953125e-03 + 0.25000000 0.87500000 0.37500000 1.953125e-03 + 0.25000000 0.87500000 0.50000000 1.953125e-03 + 0.25000000 0.87500000 0.62500000 1.953125e-03 + 0.25000000 0.87500000 0.75000000 1.953125e-03 + 0.25000000 0.87500000 0.87500000 1.953125e-03 + 0.37500000 0.00000000 0.00000000 1.953125e-03 + 0.37500000 0.00000000 0.12500000 1.953125e-03 + 0.37500000 0.00000000 0.25000000 1.953125e-03 + 0.37500000 0.00000000 0.37500000 1.953125e-03 + 0.37500000 0.00000000 0.50000000 1.953125e-03 + 0.37500000 0.00000000 0.62500000 1.953125e-03 + 0.37500000 0.00000000 0.75000000 1.953125e-03 + 0.37500000 0.00000000 0.87500000 1.953125e-03 + 0.37500000 0.12500000 0.00000000 1.953125e-03 + 0.37500000 0.12500000 0.12500000 1.953125e-03 + 0.37500000 0.12500000 0.25000000 1.953125e-03 + 0.37500000 0.12500000 0.37500000 1.953125e-03 + 0.37500000 0.12500000 0.50000000 1.953125e-03 + 0.37500000 0.12500000 0.62500000 1.953125e-03 + 0.37500000 0.12500000 0.75000000 1.953125e-03 + 0.37500000 0.12500000 0.87500000 1.953125e-03 + 0.37500000 0.25000000 0.00000000 1.953125e-03 + 0.37500000 0.25000000 0.12500000 1.953125e-03 + 0.37500000 0.25000000 0.25000000 1.953125e-03 + 0.37500000 0.25000000 0.37500000 1.953125e-03 + 0.37500000 0.25000000 0.50000000 1.953125e-03 + 0.37500000 0.25000000 0.62500000 1.953125e-03 + 0.37500000 0.25000000 0.75000000 1.953125e-03 + 0.37500000 0.25000000 0.87500000 1.953125e-03 + 0.37500000 0.37500000 0.00000000 1.953125e-03 + 0.37500000 0.37500000 0.12500000 1.953125e-03 + 0.37500000 0.37500000 0.25000000 1.953125e-03 + 0.37500000 0.37500000 0.37500000 1.953125e-03 + 0.37500000 0.37500000 0.50000000 1.953125e-03 + 0.37500000 0.37500000 0.62500000 1.953125e-03 + 0.37500000 0.37500000 0.75000000 1.953125e-03 + 0.37500000 0.37500000 0.87500000 1.953125e-03 + 0.37500000 0.50000000 0.00000000 1.953125e-03 + 0.37500000 0.50000000 0.12500000 1.953125e-03 + 0.37500000 0.50000000 0.25000000 1.953125e-03 + 0.37500000 0.50000000 0.37500000 1.953125e-03 + 0.37500000 0.50000000 0.50000000 1.953125e-03 + 0.37500000 0.50000000 0.62500000 1.953125e-03 + 0.37500000 0.50000000 0.75000000 1.953125e-03 + 0.37500000 0.50000000 0.87500000 1.953125e-03 + 0.37500000 0.62500000 0.00000000 1.953125e-03 + 0.37500000 0.62500000 0.12500000 1.953125e-03 + 0.37500000 0.62500000 0.25000000 1.953125e-03 + 0.37500000 0.62500000 0.37500000 1.953125e-03 + 0.37500000 0.62500000 0.50000000 1.953125e-03 + 0.37500000 0.62500000 0.62500000 1.953125e-03 + 0.37500000 0.62500000 0.75000000 1.953125e-03 + 0.37500000 0.62500000 0.87500000 1.953125e-03 + 0.37500000 0.75000000 0.00000000 1.953125e-03 + 0.37500000 0.75000000 0.12500000 1.953125e-03 + 0.37500000 0.75000000 0.25000000 1.953125e-03 + 0.37500000 0.75000000 0.37500000 1.953125e-03 + 0.37500000 0.75000000 0.50000000 1.953125e-03 + 0.37500000 0.75000000 0.62500000 1.953125e-03 + 0.37500000 0.75000000 0.75000000 1.953125e-03 + 0.37500000 0.75000000 0.87500000 1.953125e-03 + 0.37500000 0.87500000 0.00000000 1.953125e-03 + 0.37500000 0.87500000 0.12500000 1.953125e-03 + 0.37500000 0.87500000 0.25000000 1.953125e-03 + 0.37500000 0.87500000 0.37500000 1.953125e-03 + 0.37500000 0.87500000 0.50000000 1.953125e-03 + 0.37500000 0.87500000 0.62500000 1.953125e-03 + 0.37500000 0.87500000 0.75000000 1.953125e-03 + 0.37500000 0.87500000 0.87500000 1.953125e-03 + 0.50000000 0.00000000 0.00000000 1.953125e-03 + 0.50000000 0.00000000 0.12500000 1.953125e-03 + 0.50000000 0.00000000 0.25000000 1.953125e-03 + 0.50000000 0.00000000 0.37500000 1.953125e-03 + 0.50000000 0.00000000 0.50000000 1.953125e-03 + 0.50000000 0.00000000 0.62500000 1.953125e-03 + 0.50000000 0.00000000 0.75000000 1.953125e-03 + 0.50000000 0.00000000 0.87500000 1.953125e-03 + 0.50000000 0.12500000 0.00000000 1.953125e-03 + 0.50000000 0.12500000 0.12500000 1.953125e-03 + 0.50000000 0.12500000 0.25000000 1.953125e-03 + 0.50000000 0.12500000 0.37500000 1.953125e-03 + 0.50000000 0.12500000 0.50000000 1.953125e-03 + 0.50000000 0.12500000 0.62500000 1.953125e-03 + 0.50000000 0.12500000 0.75000000 1.953125e-03 + 0.50000000 0.12500000 0.87500000 1.953125e-03 + 0.50000000 0.25000000 0.00000000 1.953125e-03 + 0.50000000 0.25000000 0.12500000 1.953125e-03 + 0.50000000 0.25000000 0.25000000 1.953125e-03 + 0.50000000 0.25000000 0.37500000 1.953125e-03 + 0.50000000 0.25000000 0.50000000 1.953125e-03 + 0.50000000 0.25000000 0.62500000 1.953125e-03 + 0.50000000 0.25000000 0.75000000 1.953125e-03 + 0.50000000 0.25000000 0.87500000 1.953125e-03 + 0.50000000 0.37500000 0.00000000 1.953125e-03 + 0.50000000 0.37500000 0.12500000 1.953125e-03 + 0.50000000 0.37500000 0.25000000 1.953125e-03 + 0.50000000 0.37500000 0.37500000 1.953125e-03 + 0.50000000 0.37500000 0.50000000 1.953125e-03 + 0.50000000 0.37500000 0.62500000 1.953125e-03 + 0.50000000 0.37500000 0.75000000 1.953125e-03 + 0.50000000 0.37500000 0.87500000 1.953125e-03 + 0.50000000 0.50000000 0.00000000 1.953125e-03 + 0.50000000 0.50000000 0.12500000 1.953125e-03 + 0.50000000 0.50000000 0.25000000 1.953125e-03 + 0.50000000 0.50000000 0.37500000 1.953125e-03 + 0.50000000 0.50000000 0.50000000 1.953125e-03 + 0.50000000 0.50000000 0.62500000 1.953125e-03 + 0.50000000 0.50000000 0.75000000 1.953125e-03 + 0.50000000 0.50000000 0.87500000 1.953125e-03 + 0.50000000 0.62500000 0.00000000 1.953125e-03 + 0.50000000 0.62500000 0.12500000 1.953125e-03 + 0.50000000 0.62500000 0.25000000 1.953125e-03 + 0.50000000 0.62500000 0.37500000 1.953125e-03 + 0.50000000 0.62500000 0.50000000 1.953125e-03 + 0.50000000 0.62500000 0.62500000 1.953125e-03 + 0.50000000 0.62500000 0.75000000 1.953125e-03 + 0.50000000 0.62500000 0.87500000 1.953125e-03 + 0.50000000 0.75000000 0.00000000 1.953125e-03 + 0.50000000 0.75000000 0.12500000 1.953125e-03 + 0.50000000 0.75000000 0.25000000 1.953125e-03 + 0.50000000 0.75000000 0.37500000 1.953125e-03 + 0.50000000 0.75000000 0.50000000 1.953125e-03 + 0.50000000 0.75000000 0.62500000 1.953125e-03 + 0.50000000 0.75000000 0.75000000 1.953125e-03 + 0.50000000 0.75000000 0.87500000 1.953125e-03 + 0.50000000 0.87500000 0.00000000 1.953125e-03 + 0.50000000 0.87500000 0.12500000 1.953125e-03 + 0.50000000 0.87500000 0.25000000 1.953125e-03 + 0.50000000 0.87500000 0.37500000 1.953125e-03 + 0.50000000 0.87500000 0.50000000 1.953125e-03 + 0.50000000 0.87500000 0.62500000 1.953125e-03 + 0.50000000 0.87500000 0.75000000 1.953125e-03 + 0.50000000 0.87500000 0.87500000 1.953125e-03 + 0.62500000 0.00000000 0.00000000 1.953125e-03 + 0.62500000 0.00000000 0.12500000 1.953125e-03 + 0.62500000 0.00000000 0.25000000 1.953125e-03 + 0.62500000 0.00000000 0.37500000 1.953125e-03 + 0.62500000 0.00000000 0.50000000 1.953125e-03 + 0.62500000 0.00000000 0.62500000 1.953125e-03 + 0.62500000 0.00000000 0.75000000 1.953125e-03 + 0.62500000 0.00000000 0.87500000 1.953125e-03 + 0.62500000 0.12500000 0.00000000 1.953125e-03 + 0.62500000 0.12500000 0.12500000 1.953125e-03 + 0.62500000 0.12500000 0.25000000 1.953125e-03 + 0.62500000 0.12500000 0.37500000 1.953125e-03 + 0.62500000 0.12500000 0.50000000 1.953125e-03 + 0.62500000 0.12500000 0.62500000 1.953125e-03 + 0.62500000 0.12500000 0.75000000 1.953125e-03 + 0.62500000 0.12500000 0.87500000 1.953125e-03 + 0.62500000 0.25000000 0.00000000 1.953125e-03 + 0.62500000 0.25000000 0.12500000 1.953125e-03 + 0.62500000 0.25000000 0.25000000 1.953125e-03 + 0.62500000 0.25000000 0.37500000 1.953125e-03 + 0.62500000 0.25000000 0.50000000 1.953125e-03 + 0.62500000 0.25000000 0.62500000 1.953125e-03 + 0.62500000 0.25000000 0.75000000 1.953125e-03 + 0.62500000 0.25000000 0.87500000 1.953125e-03 + 0.62500000 0.37500000 0.00000000 1.953125e-03 + 0.62500000 0.37500000 0.12500000 1.953125e-03 + 0.62500000 0.37500000 0.25000000 1.953125e-03 + 0.62500000 0.37500000 0.37500000 1.953125e-03 + 0.62500000 0.37500000 0.50000000 1.953125e-03 + 0.62500000 0.37500000 0.62500000 1.953125e-03 + 0.62500000 0.37500000 0.75000000 1.953125e-03 + 0.62500000 0.37500000 0.87500000 1.953125e-03 + 0.62500000 0.50000000 0.00000000 1.953125e-03 + 0.62500000 0.50000000 0.12500000 1.953125e-03 + 0.62500000 0.50000000 0.25000000 1.953125e-03 + 0.62500000 0.50000000 0.37500000 1.953125e-03 + 0.62500000 0.50000000 0.50000000 1.953125e-03 + 0.62500000 0.50000000 0.62500000 1.953125e-03 + 0.62500000 0.50000000 0.75000000 1.953125e-03 + 0.62500000 0.50000000 0.87500000 1.953125e-03 + 0.62500000 0.62500000 0.00000000 1.953125e-03 + 0.62500000 0.62500000 0.12500000 1.953125e-03 + 0.62500000 0.62500000 0.25000000 1.953125e-03 + 0.62500000 0.62500000 0.37500000 1.953125e-03 + 0.62500000 0.62500000 0.50000000 1.953125e-03 + 0.62500000 0.62500000 0.62500000 1.953125e-03 + 0.62500000 0.62500000 0.75000000 1.953125e-03 + 0.62500000 0.62500000 0.87500000 1.953125e-03 + 0.62500000 0.75000000 0.00000000 1.953125e-03 + 0.62500000 0.75000000 0.12500000 1.953125e-03 + 0.62500000 0.75000000 0.25000000 1.953125e-03 + 0.62500000 0.75000000 0.37500000 1.953125e-03 + 0.62500000 0.75000000 0.50000000 1.953125e-03 + 0.62500000 0.75000000 0.62500000 1.953125e-03 + 0.62500000 0.75000000 0.75000000 1.953125e-03 + 0.62500000 0.75000000 0.87500000 1.953125e-03 + 0.62500000 0.87500000 0.00000000 1.953125e-03 + 0.62500000 0.87500000 0.12500000 1.953125e-03 + 0.62500000 0.87500000 0.25000000 1.953125e-03 + 0.62500000 0.87500000 0.37500000 1.953125e-03 + 0.62500000 0.87500000 0.50000000 1.953125e-03 + 0.62500000 0.87500000 0.62500000 1.953125e-03 + 0.62500000 0.87500000 0.75000000 1.953125e-03 + 0.62500000 0.87500000 0.87500000 1.953125e-03 + 0.75000000 0.00000000 0.00000000 1.953125e-03 + 0.75000000 0.00000000 0.12500000 1.953125e-03 + 0.75000000 0.00000000 0.25000000 1.953125e-03 + 0.75000000 0.00000000 0.37500000 1.953125e-03 + 0.75000000 0.00000000 0.50000000 1.953125e-03 + 0.75000000 0.00000000 0.62500000 1.953125e-03 + 0.75000000 0.00000000 0.75000000 1.953125e-03 + 0.75000000 0.00000000 0.87500000 1.953125e-03 + 0.75000000 0.12500000 0.00000000 1.953125e-03 + 0.75000000 0.12500000 0.12500000 1.953125e-03 + 0.75000000 0.12500000 0.25000000 1.953125e-03 + 0.75000000 0.12500000 0.37500000 1.953125e-03 + 0.75000000 0.12500000 0.50000000 1.953125e-03 + 0.75000000 0.12500000 0.62500000 1.953125e-03 + 0.75000000 0.12500000 0.75000000 1.953125e-03 + 0.75000000 0.12500000 0.87500000 1.953125e-03 + 0.75000000 0.25000000 0.00000000 1.953125e-03 + 0.75000000 0.25000000 0.12500000 1.953125e-03 + 0.75000000 0.25000000 0.25000000 1.953125e-03 + 0.75000000 0.25000000 0.37500000 1.953125e-03 + 0.75000000 0.25000000 0.50000000 1.953125e-03 + 0.75000000 0.25000000 0.62500000 1.953125e-03 + 0.75000000 0.25000000 0.75000000 1.953125e-03 + 0.75000000 0.25000000 0.87500000 1.953125e-03 + 0.75000000 0.37500000 0.00000000 1.953125e-03 + 0.75000000 0.37500000 0.12500000 1.953125e-03 + 0.75000000 0.37500000 0.25000000 1.953125e-03 + 0.75000000 0.37500000 0.37500000 1.953125e-03 + 0.75000000 0.37500000 0.50000000 1.953125e-03 + 0.75000000 0.37500000 0.62500000 1.953125e-03 + 0.75000000 0.37500000 0.75000000 1.953125e-03 + 0.75000000 0.37500000 0.87500000 1.953125e-03 + 0.75000000 0.50000000 0.00000000 1.953125e-03 + 0.75000000 0.50000000 0.12500000 1.953125e-03 + 0.75000000 0.50000000 0.25000000 1.953125e-03 + 0.75000000 0.50000000 0.37500000 1.953125e-03 + 0.75000000 0.50000000 0.50000000 1.953125e-03 + 0.75000000 0.50000000 0.62500000 1.953125e-03 + 0.75000000 0.50000000 0.75000000 1.953125e-03 + 0.75000000 0.50000000 0.87500000 1.953125e-03 + 0.75000000 0.62500000 0.00000000 1.953125e-03 + 0.75000000 0.62500000 0.12500000 1.953125e-03 + 0.75000000 0.62500000 0.25000000 1.953125e-03 + 0.75000000 0.62500000 0.37500000 1.953125e-03 + 0.75000000 0.62500000 0.50000000 1.953125e-03 + 0.75000000 0.62500000 0.62500000 1.953125e-03 + 0.75000000 0.62500000 0.75000000 1.953125e-03 + 0.75000000 0.62500000 0.87500000 1.953125e-03 + 0.75000000 0.75000000 0.00000000 1.953125e-03 + 0.75000000 0.75000000 0.12500000 1.953125e-03 + 0.75000000 0.75000000 0.25000000 1.953125e-03 + 0.75000000 0.75000000 0.37500000 1.953125e-03 + 0.75000000 0.75000000 0.50000000 1.953125e-03 + 0.75000000 0.75000000 0.62500000 1.953125e-03 + 0.75000000 0.75000000 0.75000000 1.953125e-03 + 0.75000000 0.75000000 0.87500000 1.953125e-03 + 0.75000000 0.87500000 0.00000000 1.953125e-03 + 0.75000000 0.87500000 0.12500000 1.953125e-03 + 0.75000000 0.87500000 0.25000000 1.953125e-03 + 0.75000000 0.87500000 0.37500000 1.953125e-03 + 0.75000000 0.87500000 0.50000000 1.953125e-03 + 0.75000000 0.87500000 0.62500000 1.953125e-03 + 0.75000000 0.87500000 0.75000000 1.953125e-03 + 0.75000000 0.87500000 0.87500000 1.953125e-03 + 0.87500000 0.00000000 0.00000000 1.953125e-03 + 0.87500000 0.00000000 0.12500000 1.953125e-03 + 0.87500000 0.00000000 0.25000000 1.953125e-03 + 0.87500000 0.00000000 0.37500000 1.953125e-03 + 0.87500000 0.00000000 0.50000000 1.953125e-03 + 0.87500000 0.00000000 0.62500000 1.953125e-03 + 0.87500000 0.00000000 0.75000000 1.953125e-03 + 0.87500000 0.00000000 0.87500000 1.953125e-03 + 0.87500000 0.12500000 0.00000000 1.953125e-03 + 0.87500000 0.12500000 0.12500000 1.953125e-03 + 0.87500000 0.12500000 0.25000000 1.953125e-03 + 0.87500000 0.12500000 0.37500000 1.953125e-03 + 0.87500000 0.12500000 0.50000000 1.953125e-03 + 0.87500000 0.12500000 0.62500000 1.953125e-03 + 0.87500000 0.12500000 0.75000000 1.953125e-03 + 0.87500000 0.12500000 0.87500000 1.953125e-03 + 0.87500000 0.25000000 0.00000000 1.953125e-03 + 0.87500000 0.25000000 0.12500000 1.953125e-03 + 0.87500000 0.25000000 0.25000000 1.953125e-03 + 0.87500000 0.25000000 0.37500000 1.953125e-03 + 0.87500000 0.25000000 0.50000000 1.953125e-03 + 0.87500000 0.25000000 0.62500000 1.953125e-03 + 0.87500000 0.25000000 0.75000000 1.953125e-03 + 0.87500000 0.25000000 0.87500000 1.953125e-03 + 0.87500000 0.37500000 0.00000000 1.953125e-03 + 0.87500000 0.37500000 0.12500000 1.953125e-03 + 0.87500000 0.37500000 0.25000000 1.953125e-03 + 0.87500000 0.37500000 0.37500000 1.953125e-03 + 0.87500000 0.37500000 0.50000000 1.953125e-03 + 0.87500000 0.37500000 0.62500000 1.953125e-03 + 0.87500000 0.37500000 0.75000000 1.953125e-03 + 0.87500000 0.37500000 0.87500000 1.953125e-03 + 0.87500000 0.50000000 0.00000000 1.953125e-03 + 0.87500000 0.50000000 0.12500000 1.953125e-03 + 0.87500000 0.50000000 0.25000000 1.953125e-03 + 0.87500000 0.50000000 0.37500000 1.953125e-03 + 0.87500000 0.50000000 0.50000000 1.953125e-03 + 0.87500000 0.50000000 0.62500000 1.953125e-03 + 0.87500000 0.50000000 0.75000000 1.953125e-03 + 0.87500000 0.50000000 0.87500000 1.953125e-03 + 0.87500000 0.62500000 0.00000000 1.953125e-03 + 0.87500000 0.62500000 0.12500000 1.953125e-03 + 0.87500000 0.62500000 0.25000000 1.953125e-03 + 0.87500000 0.62500000 0.37500000 1.953125e-03 + 0.87500000 0.62500000 0.50000000 1.953125e-03 + 0.87500000 0.62500000 0.62500000 1.953125e-03 + 0.87500000 0.62500000 0.75000000 1.953125e-03 + 0.87500000 0.62500000 0.87500000 1.953125e-03 + 0.87500000 0.75000000 0.00000000 1.953125e-03 + 0.87500000 0.75000000 0.12500000 1.953125e-03 + 0.87500000 0.75000000 0.25000000 1.953125e-03 + 0.87500000 0.75000000 0.37500000 1.953125e-03 + 0.87500000 0.75000000 0.50000000 1.953125e-03 + 0.87500000 0.75000000 0.62500000 1.953125e-03 + 0.87500000 0.75000000 0.75000000 1.953125e-03 + 0.87500000 0.75000000 0.87500000 1.953125e-03 + 0.87500000 0.87500000 0.00000000 1.953125e-03 + 0.87500000 0.87500000 0.12500000 1.953125e-03 + 0.87500000 0.87500000 0.25000000 1.953125e-03 + 0.87500000 0.87500000 0.37500000 1.953125e-03 + 0.87500000 0.87500000 0.50000000 1.953125e-03 + 0.87500000 0.87500000 0.62500000 1.953125e-03 + 0.87500000 0.87500000 0.75000000 1.953125e-03 + 0.87500000 0.87500000 0.87500000 1.953125e-03 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/LaVO3.win b/nexus/tests/unit/test_wannier90_input_files/LaVO3.win new file mode 100644 index 0000000000..2a18694527 --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/LaVO3.win @@ -0,0 +1,277 @@ + conv_tol = 1d-12 + conv_window = 5 + num_iter = 400 + iprint = 2 + +Begin Projections + V:l=2,mr=2,3,5 +End Projections + + dis_conv_tol = 1d-12 + dis_conv_window = 9 + dis_num_iter = 200 + + num_wann = 3 + num_bands = 6 + exclude_bands : 1-20,27-40 + + dis_win_min = 15.0 + dis_win_max = 18.5 + dis_spheres_first_wann = 1 + dis_spheres_num = 1 + +Begin dis_spheres + 0.5 0.5 0.5 0.2 +End dis_spheres + + +Begin Unit_Cell_Cart +Ang + 3.7201157722 0.0000000000 0.0000000000 + 0.0000000000 3.7201157722 0.0000000000 + 0.0000000000 0.0000000000 4.0549261917 +End Unit_Cell_Cart + +Begin Atoms_Cart +Ang +La 0.0000000000 0.0000000000 0.0000000000 +V 1.8600578861 1.8600578861 2.0274630959 +O 0.0000000000 1.8600578861 2.0274630959 +O 1.8600578861 0.0000000000 2.0274630959 +O 1.8600578861 1.8600578861 0.0000000000 +End Atoms_Cart + +mp_grid = 6 6 6 + +Begin Kpoints + 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.1666666666666667 + 0.0000000000000000 0.0000000000000000 0.3333333333333333 + 0.0000000000000000 0.0000000000000000 0.5000000000000000 + 0.0000000000000000 0.0000000000000000 0.6666666666666666 + 0.0000000000000000 0.0000000000000000 0.8333333333333334 + 0.0000000000000000 0.1666666666666667 0.0000000000000000 + 0.0000000000000000 0.1666666666666667 0.1666666666666667 + 0.0000000000000000 0.1666666666666667 0.3333333333333333 + 0.0000000000000000 0.1666666666666667 0.5000000000000000 + 0.0000000000000000 0.1666666666666667 0.6666666666666666 + 0.0000000000000000 0.1666666666666667 0.8333333333333334 + 0.0000000000000000 0.3333333333333333 0.0000000000000000 + 0.0000000000000000 0.3333333333333333 0.1666666666666667 + 0.0000000000000000 0.3333333333333333 0.3333333333333333 + 0.0000000000000000 0.3333333333333333 0.5000000000000000 + 0.0000000000000000 0.3333333333333333 0.6666666666666666 + 0.0000000000000000 0.3333333333333333 0.8333333333333334 + 0.0000000000000000 0.5000000000000000 0.0000000000000000 + 0.0000000000000000 0.5000000000000000 0.1666666666666667 + 0.0000000000000000 0.5000000000000000 0.3333333333333333 + 0.0000000000000000 0.5000000000000000 0.5000000000000000 + 0.0000000000000000 0.5000000000000000 0.6666666666666666 + 0.0000000000000000 0.5000000000000000 0.8333333333333334 + 0.0000000000000000 0.6666666666666666 0.0000000000000000 + 0.0000000000000000 0.6666666666666666 0.1666666666666667 + 0.0000000000000000 0.6666666666666666 0.3333333333333333 + 0.0000000000000000 0.6666666666666666 0.5000000000000000 + 0.0000000000000000 0.6666666666666666 0.6666666666666666 + 0.0000000000000000 0.6666666666666666 0.8333333333333334 + 0.0000000000000000 0.8333333333333334 0.0000000000000000 + 0.0000000000000000 0.8333333333333334 0.1666666666666667 + 0.0000000000000000 0.8333333333333334 0.3333333333333333 + 0.0000000000000000 0.8333333333333334 0.5000000000000000 + 0.0000000000000000 0.8333333333333334 0.6666666666666666 + 0.0000000000000000 0.8333333333333334 0.8333333333333334 + 0.1666666666666667 0.0000000000000000 0.0000000000000000 + 0.1666666666666667 0.0000000000000000 0.1666666666666667 + 0.1666666666666667 0.0000000000000000 0.3333333333333333 + 0.1666666666666667 0.0000000000000000 0.5000000000000000 + 0.1666666666666667 0.0000000000000000 0.6666666666666666 + 0.1666666666666667 0.0000000000000000 0.8333333333333334 + 0.1666666666666667 0.1666666666666667 0.0000000000000000 + 0.1666666666666667 0.1666666666666667 0.1666666666666667 + 0.1666666666666667 0.1666666666666667 0.3333333333333333 + 0.1666666666666667 0.1666666666666667 0.5000000000000000 + 0.1666666666666667 0.1666666666666667 0.6666666666666666 + 0.1666666666666667 0.1666666666666667 0.8333333333333334 + 0.1666666666666667 0.3333333333333333 0.0000000000000000 + 0.1666666666666667 0.3333333333333333 0.1666666666666667 + 0.1666666666666667 0.3333333333333333 0.3333333333333333 + 0.1666666666666667 0.3333333333333333 0.5000000000000000 + 0.1666666666666667 0.3333333333333333 0.6666666666666666 + 0.1666666666666667 0.3333333333333333 0.8333333333333334 + 0.1666666666666667 0.5000000000000000 0.0000000000000000 + 0.1666666666666667 0.5000000000000000 0.1666666666666667 + 0.1666666666666667 0.5000000000000000 0.3333333333333333 + 0.1666666666666667 0.5000000000000000 0.5000000000000000 + 0.1666666666666667 0.5000000000000000 0.6666666666666666 + 0.1666666666666667 0.5000000000000000 0.8333333333333334 + 0.1666666666666667 0.6666666666666666 0.0000000000000000 + 0.1666666666666667 0.6666666666666666 0.1666666666666667 + 0.1666666666666667 0.6666666666666666 0.3333333333333333 + 0.1666666666666667 0.6666666666666666 0.5000000000000000 + 0.1666666666666667 0.6666666666666666 0.6666666666666666 + 0.1666666666666667 0.6666666666666666 0.8333333333333334 + 0.1666666666666667 0.8333333333333334 0.0000000000000000 + 0.1666666666666667 0.8333333333333334 0.1666666666666667 + 0.1666666666666667 0.8333333333333334 0.3333333333333333 + 0.1666666666666667 0.8333333333333334 0.5000000000000000 + 0.1666666666666667 0.8333333333333334 0.6666666666666666 + 0.1666666666666667 0.8333333333333334 0.8333333333333334 + 0.3333333333333333 0.0000000000000000 0.0000000000000000 + 0.3333333333333333 0.0000000000000000 0.1666666666666667 + 0.3333333333333333 0.0000000000000000 0.3333333333333333 + 0.3333333333333333 0.0000000000000000 0.5000000000000000 + 0.3333333333333333 0.0000000000000000 0.6666666666666666 + 0.3333333333333333 0.0000000000000000 0.8333333333333334 + 0.3333333333333333 0.1666666666666667 0.0000000000000000 + 0.3333333333333333 0.1666666666666667 0.1666666666666667 + 0.3333333333333333 0.1666666666666667 0.3333333333333333 + 0.3333333333333333 0.1666666666666667 0.5000000000000000 + 0.3333333333333333 0.1666666666666667 0.6666666666666666 + 0.3333333333333333 0.1666666666666667 0.8333333333333334 + 0.3333333333333333 0.3333333333333333 0.0000000000000000 + 0.3333333333333333 0.3333333333333333 0.1666666666666667 + 0.3333333333333333 0.3333333333333333 0.3333333333333333 + 0.3333333333333333 0.3333333333333333 0.5000000000000000 + 0.3333333333333333 0.3333333333333333 0.6666666666666666 + 0.3333333333333333 0.3333333333333333 0.8333333333333334 + 0.3333333333333333 0.5000000000000000 0.0000000000000000 + 0.3333333333333333 0.5000000000000000 0.1666666666666667 + 0.3333333333333333 0.5000000000000000 0.3333333333333333 + 0.3333333333333333 0.5000000000000000 0.5000000000000000 + 0.3333333333333333 0.5000000000000000 0.6666666666666666 + 0.3333333333333333 0.5000000000000000 0.8333333333333334 + 0.3333333333333333 0.6666666666666666 0.0000000000000000 + 0.3333333333333333 0.6666666666666666 0.1666666666666667 + 0.3333333333333333 0.6666666666666666 0.3333333333333333 + 0.3333333333333333 0.6666666666666666 0.5000000000000000 + 0.3333333333333333 0.6666666666666666 0.6666666666666666 + 0.3333333333333333 0.6666666666666666 0.8333333333333334 + 0.3333333333333333 0.8333333333333334 0.0000000000000000 + 0.3333333333333333 0.8333333333333334 0.1666666666666667 + 0.3333333333333333 0.8333333333333334 0.3333333333333333 + 0.3333333333333333 0.8333333333333334 0.5000000000000000 + 0.3333333333333333 0.8333333333333334 0.6666666666666666 + 0.3333333333333333 0.8333333333333334 0.8333333333333334 + 0.5000000000000000 0.0000000000000000 0.0000000000000000 + 0.5000000000000000 0.0000000000000000 0.1666666666666667 + 0.5000000000000000 0.0000000000000000 0.3333333333333333 + 0.5000000000000000 0.0000000000000000 0.5000000000000000 + 0.5000000000000000 0.0000000000000000 0.6666666666666666 + 0.5000000000000000 0.0000000000000000 0.8333333333333334 + 0.5000000000000000 0.1666666666666667 0.0000000000000000 + 0.5000000000000000 0.1666666666666667 0.1666666666666667 + 0.5000000000000000 0.1666666666666667 0.3333333333333333 + 0.5000000000000000 0.1666666666666667 0.5000000000000000 + 0.5000000000000000 0.1666666666666667 0.6666666666666666 + 0.5000000000000000 0.1666666666666667 0.8333333333333334 + 0.5000000000000000 0.3333333333333333 0.0000000000000000 + 0.5000000000000000 0.3333333333333333 0.1666666666666667 + 0.5000000000000000 0.3333333333333333 0.3333333333333333 + 0.5000000000000000 0.3333333333333333 0.5000000000000000 + 0.5000000000000000 0.3333333333333333 0.6666666666666666 + 0.5000000000000000 0.3333333333333333 0.8333333333333334 + 0.5000000000000000 0.5000000000000000 0.0000000000000000 + 0.5000000000000000 0.5000000000000000 0.1666666666666667 + 0.5000000000000000 0.5000000000000000 0.3333333333333333 + 0.5000000000000000 0.5000000000000000 0.5000000000000000 + 0.5000000000000000 0.5000000000000000 0.6666666666666666 + 0.5000000000000000 0.5000000000000000 0.8333333333333334 + 0.5000000000000000 0.6666666666666666 0.0000000000000000 + 0.5000000000000000 0.6666666666666666 0.1666666666666667 + 0.5000000000000000 0.6666666666666666 0.3333333333333333 + 0.5000000000000000 0.6666666666666666 0.5000000000000000 + 0.5000000000000000 0.6666666666666666 0.6666666666666666 + 0.5000000000000000 0.6666666666666666 0.8333333333333334 + 0.5000000000000000 0.8333333333333334 0.0000000000000000 + 0.5000000000000000 0.8333333333333334 0.1666666666666667 + 0.5000000000000000 0.8333333333333334 0.3333333333333333 + 0.5000000000000000 0.8333333333333334 0.5000000000000000 + 0.5000000000000000 0.8333333333333334 0.6666666666666666 + 0.5000000000000000 0.8333333333333334 0.8333333333333334 + 0.6666666666666666 0.0000000000000000 0.0000000000000000 + 0.6666666666666666 0.0000000000000000 0.1666666666666667 + 0.6666666666666666 0.0000000000000000 0.3333333333333333 + 0.6666666666666666 0.0000000000000000 0.5000000000000000 + 0.6666666666666666 0.0000000000000000 0.6666666666666666 + 0.6666666666666666 0.0000000000000000 0.8333333333333334 + 0.6666666666666666 0.1666666666666667 0.0000000000000000 + 0.6666666666666666 0.1666666666666667 0.1666666666666667 + 0.6666666666666666 0.1666666666666667 0.3333333333333333 + 0.6666666666666666 0.1666666666666667 0.5000000000000000 + 0.6666666666666666 0.1666666666666667 0.6666666666666666 + 0.6666666666666666 0.1666666666666667 0.8333333333333334 + 0.6666666666666666 0.3333333333333333 0.0000000000000000 + 0.6666666666666666 0.3333333333333333 0.1666666666666667 + 0.6666666666666666 0.3333333333333333 0.3333333333333333 + 0.6666666666666666 0.3333333333333333 0.5000000000000000 + 0.6666666666666666 0.3333333333333333 0.6666666666666666 + 0.6666666666666666 0.3333333333333333 0.8333333333333334 + 0.6666666666666666 0.5000000000000000 0.0000000000000000 + 0.6666666666666666 0.5000000000000000 0.1666666666666667 + 0.6666666666666666 0.5000000000000000 0.3333333333333333 + 0.6666666666666666 0.5000000000000000 0.5000000000000000 + 0.6666666666666666 0.5000000000000000 0.6666666666666666 + 0.6666666666666666 0.5000000000000000 0.8333333333333334 + 0.6666666666666666 0.6666666666666666 0.0000000000000000 + 0.6666666666666666 0.6666666666666666 0.1666666666666667 + 0.6666666666666666 0.6666666666666666 0.3333333333333333 + 0.6666666666666666 0.6666666666666666 0.5000000000000000 + 0.6666666666666666 0.6666666666666666 0.6666666666666666 + 0.6666666666666666 0.6666666666666666 0.8333333333333334 + 0.6666666666666666 0.8333333333333334 0.0000000000000000 + 0.6666666666666666 0.8333333333333334 0.1666666666666667 + 0.6666666666666666 0.8333333333333334 0.3333333333333333 + 0.6666666666666666 0.8333333333333334 0.5000000000000000 + 0.6666666666666666 0.8333333333333334 0.6666666666666666 + 0.6666666666666666 0.8333333333333334 0.8333333333333334 + 0.8333333333333334 0.0000000000000000 0.0000000000000000 + 0.8333333333333334 0.0000000000000000 0.1666666666666667 + 0.8333333333333334 0.0000000000000000 0.3333333333333333 + 0.8333333333333334 0.0000000000000000 0.5000000000000000 + 0.8333333333333334 0.0000000000000000 0.6666666666666666 + 0.8333333333333334 0.0000000000000000 0.8333333333333334 + 0.8333333333333334 0.1666666666666667 0.0000000000000000 + 0.8333333333333334 0.1666666666666667 0.1666666666666667 + 0.8333333333333334 0.1666666666666667 0.3333333333333333 + 0.8333333333333334 0.1666666666666667 0.5000000000000000 + 0.8333333333333334 0.1666666666666667 0.6666666666666666 + 0.8333333333333334 0.1666666666666667 0.8333333333333334 + 0.8333333333333334 0.3333333333333333 0.0000000000000000 + 0.8333333333333334 0.3333333333333333 0.1666666666666667 + 0.8333333333333334 0.3333333333333333 0.3333333333333333 + 0.8333333333333334 0.3333333333333333 0.5000000000000000 + 0.8333333333333334 0.3333333333333333 0.6666666666666666 + 0.8333333333333334 0.3333333333333333 0.8333333333333334 + 0.8333333333333334 0.5000000000000000 0.0000000000000000 + 0.8333333333333334 0.5000000000000000 0.1666666666666667 + 0.8333333333333334 0.5000000000000000 0.3333333333333333 + 0.8333333333333334 0.5000000000000000 0.5000000000000000 + 0.8333333333333334 0.5000000000000000 0.6666666666666666 + 0.8333333333333334 0.5000000000000000 0.8333333333333334 + 0.8333333333333334 0.6666666666666666 0.0000000000000000 + 0.8333333333333334 0.6666666666666666 0.1666666666666667 + 0.8333333333333334 0.6666666666666666 0.3333333333333333 + 0.8333333333333334 0.6666666666666666 0.5000000000000000 + 0.8333333333333334 0.6666666666666666 0.6666666666666666 + 0.8333333333333334 0.6666666666666666 0.8333333333333334 + 0.8333333333333334 0.8333333333333334 0.0000000000000000 + 0.8333333333333334 0.8333333333333334 0.1666666666666667 + 0.8333333333333334 0.8333333333333334 0.3333333333333333 + 0.8333333333333334 0.8333333333333334 0.5000000000000000 + 0.8333333333333334 0.8333333333333334 0.6666666666666666 + 0.8333333333333334 0.8333333333333334 0.8333333333333334 +End Kpoints + + + write_hr = true + bands_plot= true + bands_num_points = 30 + begin kpoint_path +G 0.00000 0.00000 0.00000 M 0.50000 0.50000 0.00000 +M 0.50000 0.50000 0.00000 X 0.50000 0.00000 0.00000 +X 0.50000 0.00000 0.00000 G 0.00000 0.00000 0.00000 +G 0.00000 0.00000 0.00000 Z 0.00000 0.00000 0.50000 +Z 0.00000 0.00000 0.50000 A 0.50000 0.50000 0.50000 +A 0.50000 0.50000 0.50000 R 0.50000 0.00000 0.50000 +R 0.50000 0.00000 0.50000 X 0.50000 0.00000 0.00000 +end kpoint_path diff --git a/nexus/tests/unit/test_wannier90_input_files/Pt.win b/nexus/tests/unit/test_wannier90_input_files/Pt.win new file mode 100644 index 0000000000..a165ae2d5c --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/Pt.win @@ -0,0 +1,394 @@ +! Valence + conduction bands +num_bands = 40 +num_wann = 18 + +dis_win_min = 0.0d0 +dis_win_max = 60.0d0 +dis_froz_min = 0.0d0 +dis_froz_max = 30.00d0 +dis_num_iter = 5000 +dis_conv_tol = 1.0e-10 + +conv_tol = 1.0e-10 +conv_window = 40 +num_iter = 5000 + +spinors = true + +! Automatic generation of initial projections +auto_projections = .true. + +bands_plot = .true. +begin kpoint_path +W 0.75 0.50 0.25 L 0.50 0.00 0.00 +L 0.50 0.00 0.00 G 0.00 0.00 0.00 +G 0.00 0.00 0.00 X 0.50 0.50 0.00 +X 0.50 0.50 0.00 W 0.75 0.50 0.25 +W 0.75 0.50 0.25 G 0.00 0.00 0.00 +end kpoint_path + +! jmlim +bands_num_points = 100 +bands_plot_format = gnuplot +bands_plot_mode = s-k +bands_plot_dim = 3 +! end jmlim + +begin unit_cell_cart +bohr +-3.703863220455861e0 0.000000000000000e0 3.703863220455861e0 + 0.000000000000000e0 3.703863220455861e0 3.703863220455861e0 +-3.703863220455861e0 3.703863220455861e0 0.000000000000000e0 +end unit_cell_cart + +begin atoms_frac +Pt 0.000 0.000 0.000 +end atoms_frac + +mp_grid = 7 7 7 + +begin kpoints + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.14285714 + 0.00000000 0.00000000 0.28571429 + 0.00000000 0.00000000 0.42857143 + 0.00000000 0.00000000 0.57142857 + 0.00000000 0.00000000 0.71428571 + 0.00000000 0.00000000 0.85714286 + 0.00000000 0.14285714 0.00000000 + 0.00000000 0.14285714 0.14285714 + 0.00000000 0.14285714 0.28571429 + 0.00000000 0.14285714 0.42857143 + 0.00000000 0.14285714 0.57142857 + 0.00000000 0.14285714 0.71428571 + 0.00000000 0.14285714 0.85714286 + 0.00000000 0.28571429 0.00000000 + 0.00000000 0.28571429 0.14285714 + 0.00000000 0.28571429 0.28571429 + 0.00000000 0.28571429 0.42857143 + 0.00000000 0.28571429 0.57142857 + 0.00000000 0.28571429 0.71428571 + 0.00000000 0.28571429 0.85714286 + 0.00000000 0.42857143 0.00000000 + 0.00000000 0.42857143 0.14285714 + 0.00000000 0.42857143 0.28571429 + 0.00000000 0.42857143 0.42857143 + 0.00000000 0.42857143 0.57142857 + 0.00000000 0.42857143 0.71428571 + 0.00000000 0.42857143 0.85714286 + 0.00000000 0.57142857 0.00000000 + 0.00000000 0.57142857 0.14285714 + 0.00000000 0.57142857 0.28571429 + 0.00000000 0.57142857 0.42857143 + 0.00000000 0.57142857 0.57142857 + 0.00000000 0.57142857 0.71428571 + 0.00000000 0.57142857 0.85714286 + 0.00000000 0.71428571 0.00000000 + 0.00000000 0.71428571 0.14285714 + 0.00000000 0.71428571 0.28571429 + 0.00000000 0.71428571 0.42857143 + 0.00000000 0.71428571 0.57142857 + 0.00000000 0.71428571 0.71428571 + 0.00000000 0.71428571 0.85714286 + 0.00000000 0.85714286 0.00000000 + 0.00000000 0.85714286 0.14285714 + 0.00000000 0.85714286 0.28571429 + 0.00000000 0.85714286 0.42857143 + 0.00000000 0.85714286 0.57142857 + 0.00000000 0.85714286 0.71428571 + 0.00000000 0.85714286 0.85714286 + 0.14285714 0.00000000 0.00000000 + 0.14285714 0.00000000 0.14285714 + 0.14285714 0.00000000 0.28571429 + 0.14285714 0.00000000 0.42857143 + 0.14285714 0.00000000 0.57142857 + 0.14285714 0.00000000 0.71428571 + 0.14285714 0.00000000 0.85714286 + 0.14285714 0.14285714 0.00000000 + 0.14285714 0.14285714 0.14285714 + 0.14285714 0.14285714 0.28571429 + 0.14285714 0.14285714 0.42857143 + 0.14285714 0.14285714 0.57142857 + 0.14285714 0.14285714 0.71428571 + 0.14285714 0.14285714 0.85714286 + 0.14285714 0.28571429 0.00000000 + 0.14285714 0.28571429 0.14285714 + 0.14285714 0.28571429 0.28571429 + 0.14285714 0.28571429 0.42857143 + 0.14285714 0.28571429 0.57142857 + 0.14285714 0.28571429 0.71428571 + 0.14285714 0.28571429 0.85714286 + 0.14285714 0.42857143 0.00000000 + 0.14285714 0.42857143 0.14285714 + 0.14285714 0.42857143 0.28571429 + 0.14285714 0.42857143 0.42857143 + 0.14285714 0.42857143 0.57142857 + 0.14285714 0.42857143 0.71428571 + 0.14285714 0.42857143 0.85714286 + 0.14285714 0.57142857 0.00000000 + 0.14285714 0.57142857 0.14285714 + 0.14285714 0.57142857 0.28571429 + 0.14285714 0.57142857 0.42857143 + 0.14285714 0.57142857 0.57142857 + 0.14285714 0.57142857 0.71428571 + 0.14285714 0.57142857 0.85714286 + 0.14285714 0.71428571 0.00000000 + 0.14285714 0.71428571 0.14285714 + 0.14285714 0.71428571 0.28571429 + 0.14285714 0.71428571 0.42857143 + 0.14285714 0.71428571 0.57142857 + 0.14285714 0.71428571 0.71428571 + 0.14285714 0.71428571 0.85714286 + 0.14285714 0.85714286 0.00000000 + 0.14285714 0.85714286 0.14285714 + 0.14285714 0.85714286 0.28571429 + 0.14285714 0.85714286 0.42857143 + 0.14285714 0.85714286 0.57142857 + 0.14285714 0.85714286 0.71428571 + 0.14285714 0.85714286 0.85714286 + 0.28571429 0.00000000 0.00000000 + 0.28571429 0.00000000 0.14285714 + 0.28571429 0.00000000 0.28571429 + 0.28571429 0.00000000 0.42857143 + 0.28571429 0.00000000 0.57142857 + 0.28571429 0.00000000 0.71428571 + 0.28571429 0.00000000 0.85714286 + 0.28571429 0.14285714 0.00000000 + 0.28571429 0.14285714 0.14285714 + 0.28571429 0.14285714 0.28571429 + 0.28571429 0.14285714 0.42857143 + 0.28571429 0.14285714 0.57142857 + 0.28571429 0.14285714 0.71428571 + 0.28571429 0.14285714 0.85714286 + 0.28571429 0.28571429 0.00000000 + 0.28571429 0.28571429 0.14285714 + 0.28571429 0.28571429 0.28571429 + 0.28571429 0.28571429 0.42857143 + 0.28571429 0.28571429 0.57142857 + 0.28571429 0.28571429 0.71428571 + 0.28571429 0.28571429 0.85714286 + 0.28571429 0.42857143 0.00000000 + 0.28571429 0.42857143 0.14285714 + 0.28571429 0.42857143 0.28571429 + 0.28571429 0.42857143 0.42857143 + 0.28571429 0.42857143 0.57142857 + 0.28571429 0.42857143 0.71428571 + 0.28571429 0.42857143 0.85714286 + 0.28571429 0.57142857 0.00000000 + 0.28571429 0.57142857 0.14285714 + 0.28571429 0.57142857 0.28571429 + 0.28571429 0.57142857 0.42857143 + 0.28571429 0.57142857 0.57142857 + 0.28571429 0.57142857 0.71428571 + 0.28571429 0.57142857 0.85714286 + 0.28571429 0.71428571 0.00000000 + 0.28571429 0.71428571 0.14285714 + 0.28571429 0.71428571 0.28571429 + 0.28571429 0.71428571 0.42857143 + 0.28571429 0.71428571 0.57142857 + 0.28571429 0.71428571 0.71428571 + 0.28571429 0.71428571 0.85714286 + 0.28571429 0.85714286 0.00000000 + 0.28571429 0.85714286 0.14285714 + 0.28571429 0.85714286 0.28571429 + 0.28571429 0.85714286 0.42857143 + 0.28571429 0.85714286 0.57142857 + 0.28571429 0.85714286 0.71428571 + 0.28571429 0.85714286 0.85714286 + 0.42857143 0.00000000 0.00000000 + 0.42857143 0.00000000 0.14285714 + 0.42857143 0.00000000 0.28571429 + 0.42857143 0.00000000 0.42857143 + 0.42857143 0.00000000 0.57142857 + 0.42857143 0.00000000 0.71428571 + 0.42857143 0.00000000 0.85714286 + 0.42857143 0.14285714 0.00000000 + 0.42857143 0.14285714 0.14285714 + 0.42857143 0.14285714 0.28571429 + 0.42857143 0.14285714 0.42857143 + 0.42857143 0.14285714 0.57142857 + 0.42857143 0.14285714 0.71428571 + 0.42857143 0.14285714 0.85714286 + 0.42857143 0.28571429 0.00000000 + 0.42857143 0.28571429 0.14285714 + 0.42857143 0.28571429 0.28571429 + 0.42857143 0.28571429 0.42857143 + 0.42857143 0.28571429 0.57142857 + 0.42857143 0.28571429 0.71428571 + 0.42857143 0.28571429 0.85714286 + 0.42857143 0.42857143 0.00000000 + 0.42857143 0.42857143 0.14285714 + 0.42857143 0.42857143 0.28571429 + 0.42857143 0.42857143 0.42857143 + 0.42857143 0.42857143 0.57142857 + 0.42857143 0.42857143 0.71428571 + 0.42857143 0.42857143 0.85714286 + 0.42857143 0.57142857 0.00000000 + 0.42857143 0.57142857 0.14285714 + 0.42857143 0.57142857 0.28571429 + 0.42857143 0.57142857 0.42857143 + 0.42857143 0.57142857 0.57142857 + 0.42857143 0.57142857 0.71428571 + 0.42857143 0.57142857 0.85714286 + 0.42857143 0.71428571 0.00000000 + 0.42857143 0.71428571 0.14285714 + 0.42857143 0.71428571 0.28571429 + 0.42857143 0.71428571 0.42857143 + 0.42857143 0.71428571 0.57142857 + 0.42857143 0.71428571 0.71428571 + 0.42857143 0.71428571 0.85714286 + 0.42857143 0.85714286 0.00000000 + 0.42857143 0.85714286 0.14285714 + 0.42857143 0.85714286 0.28571429 + 0.42857143 0.85714286 0.42857143 + 0.42857143 0.85714286 0.57142857 + 0.42857143 0.85714286 0.71428571 + 0.42857143 0.85714286 0.85714286 + 0.57142857 0.00000000 0.00000000 + 0.57142857 0.00000000 0.14285714 + 0.57142857 0.00000000 0.28571429 + 0.57142857 0.00000000 0.42857143 + 0.57142857 0.00000000 0.57142857 + 0.57142857 0.00000000 0.71428571 + 0.57142857 0.00000000 0.85714286 + 0.57142857 0.14285714 0.00000000 + 0.57142857 0.14285714 0.14285714 + 0.57142857 0.14285714 0.28571429 + 0.57142857 0.14285714 0.42857143 + 0.57142857 0.14285714 0.57142857 + 0.57142857 0.14285714 0.71428571 + 0.57142857 0.14285714 0.85714286 + 0.57142857 0.28571429 0.00000000 + 0.57142857 0.28571429 0.14285714 + 0.57142857 0.28571429 0.28571429 + 0.57142857 0.28571429 0.42857143 + 0.57142857 0.28571429 0.57142857 + 0.57142857 0.28571429 0.71428571 + 0.57142857 0.28571429 0.85714286 + 0.57142857 0.42857143 0.00000000 + 0.57142857 0.42857143 0.14285714 + 0.57142857 0.42857143 0.28571429 + 0.57142857 0.42857143 0.42857143 + 0.57142857 0.42857143 0.57142857 + 0.57142857 0.42857143 0.71428571 + 0.57142857 0.42857143 0.85714286 + 0.57142857 0.57142857 0.00000000 + 0.57142857 0.57142857 0.14285714 + 0.57142857 0.57142857 0.28571429 + 0.57142857 0.57142857 0.42857143 + 0.57142857 0.57142857 0.57142857 + 0.57142857 0.57142857 0.71428571 + 0.57142857 0.57142857 0.85714286 + 0.57142857 0.71428571 0.00000000 + 0.57142857 0.71428571 0.14285714 + 0.57142857 0.71428571 0.28571429 + 0.57142857 0.71428571 0.42857143 + 0.57142857 0.71428571 0.57142857 + 0.57142857 0.71428571 0.71428571 + 0.57142857 0.71428571 0.85714286 + 0.57142857 0.85714286 0.00000000 + 0.57142857 0.85714286 0.14285714 + 0.57142857 0.85714286 0.28571429 + 0.57142857 0.85714286 0.42857143 + 0.57142857 0.85714286 0.57142857 + 0.57142857 0.85714286 0.71428571 + 0.57142857 0.85714286 0.85714286 + 0.71428571 0.00000000 0.00000000 + 0.71428571 0.00000000 0.14285714 + 0.71428571 0.00000000 0.28571429 + 0.71428571 0.00000000 0.42857143 + 0.71428571 0.00000000 0.57142857 + 0.71428571 0.00000000 0.71428571 + 0.71428571 0.00000000 0.85714286 + 0.71428571 0.14285714 0.00000000 + 0.71428571 0.14285714 0.14285714 + 0.71428571 0.14285714 0.28571429 + 0.71428571 0.14285714 0.42857143 + 0.71428571 0.14285714 0.57142857 + 0.71428571 0.14285714 0.71428571 + 0.71428571 0.14285714 0.85714286 + 0.71428571 0.28571429 0.00000000 + 0.71428571 0.28571429 0.14285714 + 0.71428571 0.28571429 0.28571429 + 0.71428571 0.28571429 0.42857143 + 0.71428571 0.28571429 0.57142857 + 0.71428571 0.28571429 0.71428571 + 0.71428571 0.28571429 0.85714286 + 0.71428571 0.42857143 0.00000000 + 0.71428571 0.42857143 0.14285714 + 0.71428571 0.42857143 0.28571429 + 0.71428571 0.42857143 0.42857143 + 0.71428571 0.42857143 0.57142857 + 0.71428571 0.42857143 0.71428571 + 0.71428571 0.42857143 0.85714286 + 0.71428571 0.57142857 0.00000000 + 0.71428571 0.57142857 0.14285714 + 0.71428571 0.57142857 0.28571429 + 0.71428571 0.57142857 0.42857143 + 0.71428571 0.57142857 0.57142857 + 0.71428571 0.57142857 0.71428571 + 0.71428571 0.57142857 0.85714286 + 0.71428571 0.71428571 0.00000000 + 0.71428571 0.71428571 0.14285714 + 0.71428571 0.71428571 0.28571429 + 0.71428571 0.71428571 0.42857143 + 0.71428571 0.71428571 0.57142857 + 0.71428571 0.71428571 0.71428571 + 0.71428571 0.71428571 0.85714286 + 0.71428571 0.85714286 0.00000000 + 0.71428571 0.85714286 0.14285714 + 0.71428571 0.85714286 0.28571429 + 0.71428571 0.85714286 0.42857143 + 0.71428571 0.85714286 0.57142857 + 0.71428571 0.85714286 0.71428571 + 0.71428571 0.85714286 0.85714286 + 0.85714286 0.00000000 0.00000000 + 0.85714286 0.00000000 0.14285714 + 0.85714286 0.00000000 0.28571429 + 0.85714286 0.00000000 0.42857143 + 0.85714286 0.00000000 0.57142857 + 0.85714286 0.00000000 0.71428571 + 0.85714286 0.00000000 0.85714286 + 0.85714286 0.14285714 0.00000000 + 0.85714286 0.14285714 0.14285714 + 0.85714286 0.14285714 0.28571429 + 0.85714286 0.14285714 0.42857143 + 0.85714286 0.14285714 0.57142857 + 0.85714286 0.14285714 0.71428571 + 0.85714286 0.14285714 0.85714286 + 0.85714286 0.28571429 0.00000000 + 0.85714286 0.28571429 0.14285714 + 0.85714286 0.28571429 0.28571429 + 0.85714286 0.28571429 0.42857143 + 0.85714286 0.28571429 0.57142857 + 0.85714286 0.28571429 0.71428571 + 0.85714286 0.28571429 0.85714286 + 0.85714286 0.42857143 0.00000000 + 0.85714286 0.42857143 0.14285714 + 0.85714286 0.42857143 0.28571429 + 0.85714286 0.42857143 0.42857143 + 0.85714286 0.42857143 0.57142857 + 0.85714286 0.42857143 0.71428571 + 0.85714286 0.42857143 0.85714286 + 0.85714286 0.57142857 0.00000000 + 0.85714286 0.57142857 0.14285714 + 0.85714286 0.57142857 0.28571429 + 0.85714286 0.57142857 0.42857143 + 0.85714286 0.57142857 0.57142857 + 0.85714286 0.57142857 0.71428571 + 0.85714286 0.57142857 0.85714286 + 0.85714286 0.71428571 0.00000000 + 0.85714286 0.71428571 0.14285714 + 0.85714286 0.71428571 0.28571429 + 0.85714286 0.71428571 0.42857143 + 0.85714286 0.71428571 0.57142857 + 0.85714286 0.71428571 0.71428571 + 0.85714286 0.71428571 0.85714286 + 0.85714286 0.85714286 0.00000000 + 0.85714286 0.85714286 0.14285714 + 0.85714286 0.85714286 0.28571429 + 0.85714286 0.85714286 0.42857143 + 0.85714286 0.85714286 0.57142857 + 0.85714286 0.85714286 0.71428571 + 0.85714286 0.85714286 0.85714286 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/Si.win b/nexus/tests/unit/test_wannier90_input_files/Si.win new file mode 100644 index 0000000000..1a3a1a83e1 --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/Si.win @@ -0,0 +1,125 @@ +!!! -- Begin of BoltzWann input -- !!! +boltzwann = true +boltz_calc_also_dos = true +boltz_dos_energy_step = 0.01 +smr_type = gauss +boltz_dos_adpt_smr = false +boltz_dos_smr_fixed_en_width = 0.03 +kmesh = 40 +boltz_mu_min = 5. +boltz_mu_max = 8. +boltz_mu_step = 0.01 +boltz_temp_min = 300. +boltz_temp_max = 300. +boltz_temp_step = 50 +boltz_relax_time = 10. +!! Next variable is commented because 2 is its default value +!num_elec_per_state = 2 +!!! --- End of BoltzWann input --- !!! + +#restart = plot +#bands_plot = true +#bands_plot_format = xmgr + +num_bands = 12 +num_wann = 8 +dis_win_max = 17.d0 +dis_froz_max = 6.4d0 +dis_num_iter = 120 +dis_mix_ratio = 1.d0 + +num_iter = 500 +num_print_cycles = 50 + +begin unit_cell_cart +bohr +-5.1000 0.0000 5.1000 + 0.0000 5.1000 5.1000 +-5.1000 5.1000 0.0000 +end unit_cell_cart + +begin atoms_frac +Si 0.00 0.00 0.00 +Si -0.25 0.75 -0.25 +End atoms_frac + +begin projections +Si : sp3 +end projections + +begin kpoint_path +L 0.50000 0.50000 0.5000 G 0.00000 0.00000 0.0000 +G 0.00000 0.00000 0.0000 X 0.50000 0.00000 0.5000 +X 0.50000 -0.50000 0.0000 K 0.37500 -0.37500 0.0000 +K 0.37500 -0.37500 0.0000 G 0.00000 0.00000 0.0000 +end kpoint_path + + +mp_grid = 4 4 4 + +begin kpoints + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.25000000 + 0.00000000 0.00000000 0.50000000 + 0.00000000 0.00000000 0.75000000 + 0.00000000 0.25000000 0.00000000 + 0.00000000 0.25000000 0.25000000 + 0.00000000 0.25000000 0.50000000 + 0.00000000 0.25000000 0.75000000 + 0.00000000 0.50000000 0.00000000 + 0.00000000 0.50000000 0.25000000 + 0.00000000 0.50000000 0.50000000 + 0.00000000 0.50000000 0.75000000 + 0.00000000 0.75000000 0.00000000 + 0.00000000 0.75000000 0.25000000 + 0.00000000 0.75000000 0.50000000 + 0.00000000 0.75000000 0.75000000 + 0.25000000 0.00000000 0.00000000 + 0.25000000 0.00000000 0.25000000 + 0.25000000 0.00000000 0.50000000 + 0.25000000 0.00000000 0.75000000 + 0.25000000 0.25000000 0.00000000 + 0.25000000 0.25000000 0.25000000 + 0.25000000 0.25000000 0.50000000 + 0.25000000 0.25000000 0.75000000 + 0.25000000 0.50000000 0.00000000 + 0.25000000 0.50000000 0.25000000 + 0.25000000 0.50000000 0.50000000 + 0.25000000 0.50000000 0.75000000 + 0.25000000 0.75000000 0.00000000 + 0.25000000 0.75000000 0.25000000 + 0.25000000 0.75000000 0.50000000 + 0.25000000 0.75000000 0.75000000 + 0.50000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.25000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.00000000 0.75000000 + 0.50000000 0.25000000 0.00000000 + 0.50000000 0.25000000 0.25000000 + 0.50000000 0.25000000 0.50000000 + 0.50000000 0.25000000 0.75000000 + 0.50000000 0.50000000 0.00000000 + 0.50000000 0.50000000 0.25000000 + 0.50000000 0.50000000 0.50000000 + 0.50000000 0.50000000 0.75000000 + 0.50000000 0.75000000 0.00000000 + 0.50000000 0.75000000 0.25000000 + 0.50000000 0.75000000 0.50000000 + 0.50000000 0.75000000 0.75000000 + 0.75000000 0.00000000 0.00000000 + 0.75000000 0.00000000 0.25000000 + 0.75000000 0.00000000 0.50000000 + 0.75000000 0.00000000 0.75000000 + 0.75000000 0.25000000 0.00000000 + 0.75000000 0.25000000 0.25000000 + 0.75000000 0.25000000 0.50000000 + 0.75000000 0.25000000 0.75000000 + 0.75000000 0.50000000 0.00000000 + 0.75000000 0.50000000 0.25000000 + 0.75000000 0.50000000 0.50000000 + 0.75000000 0.50000000 0.75000000 + 0.75000000 0.75000000 0.00000000 + 0.75000000 0.75000000 0.25000000 + 0.75000000 0.75000000 0.50000000 + 0.75000000 0.75000000 0.75000000 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/W.win b/nexus/tests/unit/test_wannier90_input_files/W.win new file mode 100644 index 0000000000..2b332f0c1c --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/W.win @@ -0,0 +1,1040 @@ +bands_plot = .true. +conv_tol = 8.0000000000d-06 +conv_window = 3 +dis_num_iter = 0 +auto_projections = .true. +num_bands = 21 +num_iter = 10000 +num_wann = 13 +use_ws_distance = .true. +wannier_plot = .false. +write_xyz = .false. + +begin atoms_cart +ang +W 0.0 0.0 0.0 +end atoms_cart + +begin kpoint_path +G 0.0 0.0 0.0 H 0.5 -0.5 0.5 +H 0.5 -0.5 0.5 N 0.0 0.0 0.5 +N 0.0 0.0 0.5 G 0.0 0.0 0.0 +G 0.0 0.0 0.0 P 0.25 0.25 0.25 +P 0.25 0.25 0.25 H 0.5 -0.5 0.5 +P 0.25 0.25 0.25 N 0.0 0.0 0.5 +end kpoint_path + +mp_grid: 10 10 10 + +begin kpoints + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.10000000 + 0.00000000 0.00000000 0.20000000 + 0.00000000 0.00000000 0.30000000 + 0.00000000 0.00000000 0.40000000 + 0.00000000 0.00000000 0.50000000 + 0.00000000 0.00000000 0.60000000 + 0.00000000 0.00000000 0.70000000 + 0.00000000 0.00000000 0.80000000 + 0.00000000 0.00000000 0.90000000 + 0.00000000 0.10000000 0.00000000 + 0.00000000 0.10000000 0.10000000 + 0.00000000 0.10000000 0.20000000 + 0.00000000 0.10000000 0.30000000 + 0.00000000 0.10000000 0.40000000 + 0.00000000 0.10000000 0.50000000 + 0.00000000 0.10000000 0.60000000 + 0.00000000 0.10000000 0.70000000 + 0.00000000 0.10000000 0.80000000 + 0.00000000 0.10000000 0.90000000 + 0.00000000 0.20000000 0.00000000 + 0.00000000 0.20000000 0.10000000 + 0.00000000 0.20000000 0.20000000 + 0.00000000 0.20000000 0.30000000 + 0.00000000 0.20000000 0.40000000 + 0.00000000 0.20000000 0.50000000 + 0.00000000 0.20000000 0.60000000 + 0.00000000 0.20000000 0.70000000 + 0.00000000 0.20000000 0.80000000 + 0.00000000 0.20000000 0.90000000 + 0.00000000 0.30000000 0.00000000 + 0.00000000 0.30000000 0.10000000 + 0.00000000 0.30000000 0.20000000 + 0.00000000 0.30000000 0.30000000 + 0.00000000 0.30000000 0.40000000 + 0.00000000 0.30000000 0.50000000 + 0.00000000 0.30000000 0.60000000 + 0.00000000 0.30000000 0.70000000 + 0.00000000 0.30000000 0.80000000 + 0.00000000 0.30000000 0.90000000 + 0.00000000 0.40000000 0.00000000 + 0.00000000 0.40000000 0.10000000 + 0.00000000 0.40000000 0.20000000 + 0.00000000 0.40000000 0.30000000 + 0.00000000 0.40000000 0.40000000 + 0.00000000 0.40000000 0.50000000 + 0.00000000 0.40000000 0.60000000 + 0.00000000 0.40000000 0.70000000 + 0.00000000 0.40000000 0.80000000 + 0.00000000 0.40000000 0.90000000 + 0.00000000 0.50000000 0.00000000 + 0.00000000 0.50000000 0.10000000 + 0.00000000 0.50000000 0.20000000 + 0.00000000 0.50000000 0.30000000 + 0.00000000 0.50000000 0.40000000 + 0.00000000 0.50000000 0.50000000 + 0.00000000 0.50000000 0.60000000 + 0.00000000 0.50000000 0.70000000 + 0.00000000 0.50000000 0.80000000 + 0.00000000 0.50000000 0.90000000 + 0.00000000 0.60000000 0.00000000 + 0.00000000 0.60000000 0.10000000 + 0.00000000 0.60000000 0.20000000 + 0.00000000 0.60000000 0.30000000 + 0.00000000 0.60000000 0.40000000 + 0.00000000 0.60000000 0.50000000 + 0.00000000 0.60000000 0.60000000 + 0.00000000 0.60000000 0.70000000 + 0.00000000 0.60000000 0.80000000 + 0.00000000 0.60000000 0.90000000 + 0.00000000 0.70000000 0.00000000 + 0.00000000 0.70000000 0.10000000 + 0.00000000 0.70000000 0.20000000 + 0.00000000 0.70000000 0.30000000 + 0.00000000 0.70000000 0.40000000 + 0.00000000 0.70000000 0.50000000 + 0.00000000 0.70000000 0.60000000 + 0.00000000 0.70000000 0.70000000 + 0.00000000 0.70000000 0.80000000 + 0.00000000 0.70000000 0.90000000 + 0.00000000 0.80000000 0.00000000 + 0.00000000 0.80000000 0.10000000 + 0.00000000 0.80000000 0.20000000 + 0.00000000 0.80000000 0.30000000 + 0.00000000 0.80000000 0.40000000 + 0.00000000 0.80000000 0.50000000 + 0.00000000 0.80000000 0.60000000 + 0.00000000 0.80000000 0.70000000 + 0.00000000 0.80000000 0.80000000 + 0.00000000 0.80000000 0.90000000 + 0.00000000 0.90000000 0.00000000 + 0.00000000 0.90000000 0.10000000 + 0.00000000 0.90000000 0.20000000 + 0.00000000 0.90000000 0.30000000 + 0.00000000 0.90000000 0.40000000 + 0.00000000 0.90000000 0.50000000 + 0.00000000 0.90000000 0.60000000 + 0.00000000 0.90000000 0.70000000 + 0.00000000 0.90000000 0.80000000 + 0.00000000 0.90000000 0.90000000 + 0.10000000 0.00000000 0.00000000 + 0.10000000 0.00000000 0.10000000 + 0.10000000 0.00000000 0.20000000 + 0.10000000 0.00000000 0.30000000 + 0.10000000 0.00000000 0.40000000 + 0.10000000 0.00000000 0.50000000 + 0.10000000 0.00000000 0.60000000 + 0.10000000 0.00000000 0.70000000 + 0.10000000 0.00000000 0.80000000 + 0.10000000 0.00000000 0.90000000 + 0.10000000 0.10000000 0.00000000 + 0.10000000 0.10000000 0.10000000 + 0.10000000 0.10000000 0.20000000 + 0.10000000 0.10000000 0.30000000 + 0.10000000 0.10000000 0.40000000 + 0.10000000 0.10000000 0.50000000 + 0.10000000 0.10000000 0.60000000 + 0.10000000 0.10000000 0.70000000 + 0.10000000 0.10000000 0.80000000 + 0.10000000 0.10000000 0.90000000 + 0.10000000 0.20000000 0.00000000 + 0.10000000 0.20000000 0.10000000 + 0.10000000 0.20000000 0.20000000 + 0.10000000 0.20000000 0.30000000 + 0.10000000 0.20000000 0.40000000 + 0.10000000 0.20000000 0.50000000 + 0.10000000 0.20000000 0.60000000 + 0.10000000 0.20000000 0.70000000 + 0.10000000 0.20000000 0.80000000 + 0.10000000 0.20000000 0.90000000 + 0.10000000 0.30000000 0.00000000 + 0.10000000 0.30000000 0.10000000 + 0.10000000 0.30000000 0.20000000 + 0.10000000 0.30000000 0.30000000 + 0.10000000 0.30000000 0.40000000 + 0.10000000 0.30000000 0.50000000 + 0.10000000 0.30000000 0.60000000 + 0.10000000 0.30000000 0.70000000 + 0.10000000 0.30000000 0.80000000 + 0.10000000 0.30000000 0.90000000 + 0.10000000 0.40000000 0.00000000 + 0.10000000 0.40000000 0.10000000 + 0.10000000 0.40000000 0.20000000 + 0.10000000 0.40000000 0.30000000 + 0.10000000 0.40000000 0.40000000 + 0.10000000 0.40000000 0.50000000 + 0.10000000 0.40000000 0.60000000 + 0.10000000 0.40000000 0.70000000 + 0.10000000 0.40000000 0.80000000 + 0.10000000 0.40000000 0.90000000 + 0.10000000 0.50000000 0.00000000 + 0.10000000 0.50000000 0.10000000 + 0.10000000 0.50000000 0.20000000 + 0.10000000 0.50000000 0.30000000 + 0.10000000 0.50000000 0.40000000 + 0.10000000 0.50000000 0.50000000 + 0.10000000 0.50000000 0.60000000 + 0.10000000 0.50000000 0.70000000 + 0.10000000 0.50000000 0.80000000 + 0.10000000 0.50000000 0.90000000 + 0.10000000 0.60000000 0.00000000 + 0.10000000 0.60000000 0.10000000 + 0.10000000 0.60000000 0.20000000 + 0.10000000 0.60000000 0.30000000 + 0.10000000 0.60000000 0.40000000 + 0.10000000 0.60000000 0.50000000 + 0.10000000 0.60000000 0.60000000 + 0.10000000 0.60000000 0.70000000 + 0.10000000 0.60000000 0.80000000 + 0.10000000 0.60000000 0.90000000 + 0.10000000 0.70000000 0.00000000 + 0.10000000 0.70000000 0.10000000 + 0.10000000 0.70000000 0.20000000 + 0.10000000 0.70000000 0.30000000 + 0.10000000 0.70000000 0.40000000 + 0.10000000 0.70000000 0.50000000 + 0.10000000 0.70000000 0.60000000 + 0.10000000 0.70000000 0.70000000 + 0.10000000 0.70000000 0.80000000 + 0.10000000 0.70000000 0.90000000 + 0.10000000 0.80000000 0.00000000 + 0.10000000 0.80000000 0.10000000 + 0.10000000 0.80000000 0.20000000 + 0.10000000 0.80000000 0.30000000 + 0.10000000 0.80000000 0.40000000 + 0.10000000 0.80000000 0.50000000 + 0.10000000 0.80000000 0.60000000 + 0.10000000 0.80000000 0.70000000 + 0.10000000 0.80000000 0.80000000 + 0.10000000 0.80000000 0.90000000 + 0.10000000 0.90000000 0.00000000 + 0.10000000 0.90000000 0.10000000 + 0.10000000 0.90000000 0.20000000 + 0.10000000 0.90000000 0.30000000 + 0.10000000 0.90000000 0.40000000 + 0.10000000 0.90000000 0.50000000 + 0.10000000 0.90000000 0.60000000 + 0.10000000 0.90000000 0.70000000 + 0.10000000 0.90000000 0.80000000 + 0.10000000 0.90000000 0.90000000 + 0.20000000 0.00000000 0.00000000 + 0.20000000 0.00000000 0.10000000 + 0.20000000 0.00000000 0.20000000 + 0.20000000 0.00000000 0.30000000 + 0.20000000 0.00000000 0.40000000 + 0.20000000 0.00000000 0.50000000 + 0.20000000 0.00000000 0.60000000 + 0.20000000 0.00000000 0.70000000 + 0.20000000 0.00000000 0.80000000 + 0.20000000 0.00000000 0.90000000 + 0.20000000 0.10000000 0.00000000 + 0.20000000 0.10000000 0.10000000 + 0.20000000 0.10000000 0.20000000 + 0.20000000 0.10000000 0.30000000 + 0.20000000 0.10000000 0.40000000 + 0.20000000 0.10000000 0.50000000 + 0.20000000 0.10000000 0.60000000 + 0.20000000 0.10000000 0.70000000 + 0.20000000 0.10000000 0.80000000 + 0.20000000 0.10000000 0.90000000 + 0.20000000 0.20000000 0.00000000 + 0.20000000 0.20000000 0.10000000 + 0.20000000 0.20000000 0.20000000 + 0.20000000 0.20000000 0.30000000 + 0.20000000 0.20000000 0.40000000 + 0.20000000 0.20000000 0.50000000 + 0.20000000 0.20000000 0.60000000 + 0.20000000 0.20000000 0.70000000 + 0.20000000 0.20000000 0.80000000 + 0.20000000 0.20000000 0.90000000 + 0.20000000 0.30000000 0.00000000 + 0.20000000 0.30000000 0.10000000 + 0.20000000 0.30000000 0.20000000 + 0.20000000 0.30000000 0.30000000 + 0.20000000 0.30000000 0.40000000 + 0.20000000 0.30000000 0.50000000 + 0.20000000 0.30000000 0.60000000 + 0.20000000 0.30000000 0.70000000 + 0.20000000 0.30000000 0.80000000 + 0.20000000 0.30000000 0.90000000 + 0.20000000 0.40000000 0.00000000 + 0.20000000 0.40000000 0.10000000 + 0.20000000 0.40000000 0.20000000 + 0.20000000 0.40000000 0.30000000 + 0.20000000 0.40000000 0.40000000 + 0.20000000 0.40000000 0.50000000 + 0.20000000 0.40000000 0.60000000 + 0.20000000 0.40000000 0.70000000 + 0.20000000 0.40000000 0.80000000 + 0.20000000 0.40000000 0.90000000 + 0.20000000 0.50000000 0.00000000 + 0.20000000 0.50000000 0.10000000 + 0.20000000 0.50000000 0.20000000 + 0.20000000 0.50000000 0.30000000 + 0.20000000 0.50000000 0.40000000 + 0.20000000 0.50000000 0.50000000 + 0.20000000 0.50000000 0.60000000 + 0.20000000 0.50000000 0.70000000 + 0.20000000 0.50000000 0.80000000 + 0.20000000 0.50000000 0.90000000 + 0.20000000 0.60000000 0.00000000 + 0.20000000 0.60000000 0.10000000 + 0.20000000 0.60000000 0.20000000 + 0.20000000 0.60000000 0.30000000 + 0.20000000 0.60000000 0.40000000 + 0.20000000 0.60000000 0.50000000 + 0.20000000 0.60000000 0.60000000 + 0.20000000 0.60000000 0.70000000 + 0.20000000 0.60000000 0.80000000 + 0.20000000 0.60000000 0.90000000 + 0.20000000 0.70000000 0.00000000 + 0.20000000 0.70000000 0.10000000 + 0.20000000 0.70000000 0.20000000 + 0.20000000 0.70000000 0.30000000 + 0.20000000 0.70000000 0.40000000 + 0.20000000 0.70000000 0.50000000 + 0.20000000 0.70000000 0.60000000 + 0.20000000 0.70000000 0.70000000 + 0.20000000 0.70000000 0.80000000 + 0.20000000 0.70000000 0.90000000 + 0.20000000 0.80000000 0.00000000 + 0.20000000 0.80000000 0.10000000 + 0.20000000 0.80000000 0.20000000 + 0.20000000 0.80000000 0.30000000 + 0.20000000 0.80000000 0.40000000 + 0.20000000 0.80000000 0.50000000 + 0.20000000 0.80000000 0.60000000 + 0.20000000 0.80000000 0.70000000 + 0.20000000 0.80000000 0.80000000 + 0.20000000 0.80000000 0.90000000 + 0.20000000 0.90000000 0.00000000 + 0.20000000 0.90000000 0.10000000 + 0.20000000 0.90000000 0.20000000 + 0.20000000 0.90000000 0.30000000 + 0.20000000 0.90000000 0.40000000 + 0.20000000 0.90000000 0.50000000 + 0.20000000 0.90000000 0.60000000 + 0.20000000 0.90000000 0.70000000 + 0.20000000 0.90000000 0.80000000 + 0.20000000 0.90000000 0.90000000 + 0.30000000 0.00000000 0.00000000 + 0.30000000 0.00000000 0.10000000 + 0.30000000 0.00000000 0.20000000 + 0.30000000 0.00000000 0.30000000 + 0.30000000 0.00000000 0.40000000 + 0.30000000 0.00000000 0.50000000 + 0.30000000 0.00000000 0.60000000 + 0.30000000 0.00000000 0.70000000 + 0.30000000 0.00000000 0.80000000 + 0.30000000 0.00000000 0.90000000 + 0.30000000 0.10000000 0.00000000 + 0.30000000 0.10000000 0.10000000 + 0.30000000 0.10000000 0.20000000 + 0.30000000 0.10000000 0.30000000 + 0.30000000 0.10000000 0.40000000 + 0.30000000 0.10000000 0.50000000 + 0.30000000 0.10000000 0.60000000 + 0.30000000 0.10000000 0.70000000 + 0.30000000 0.10000000 0.80000000 + 0.30000000 0.10000000 0.90000000 + 0.30000000 0.20000000 0.00000000 + 0.30000000 0.20000000 0.10000000 + 0.30000000 0.20000000 0.20000000 + 0.30000000 0.20000000 0.30000000 + 0.30000000 0.20000000 0.40000000 + 0.30000000 0.20000000 0.50000000 + 0.30000000 0.20000000 0.60000000 + 0.30000000 0.20000000 0.70000000 + 0.30000000 0.20000000 0.80000000 + 0.30000000 0.20000000 0.90000000 + 0.30000000 0.30000000 0.00000000 + 0.30000000 0.30000000 0.10000000 + 0.30000000 0.30000000 0.20000000 + 0.30000000 0.30000000 0.30000000 + 0.30000000 0.30000000 0.40000000 + 0.30000000 0.30000000 0.50000000 + 0.30000000 0.30000000 0.60000000 + 0.30000000 0.30000000 0.70000000 + 0.30000000 0.30000000 0.80000000 + 0.30000000 0.30000000 0.90000000 + 0.30000000 0.40000000 0.00000000 + 0.30000000 0.40000000 0.10000000 + 0.30000000 0.40000000 0.20000000 + 0.30000000 0.40000000 0.30000000 + 0.30000000 0.40000000 0.40000000 + 0.30000000 0.40000000 0.50000000 + 0.30000000 0.40000000 0.60000000 + 0.30000000 0.40000000 0.70000000 + 0.30000000 0.40000000 0.80000000 + 0.30000000 0.40000000 0.90000000 + 0.30000000 0.50000000 0.00000000 + 0.30000000 0.50000000 0.10000000 + 0.30000000 0.50000000 0.20000000 + 0.30000000 0.50000000 0.30000000 + 0.30000000 0.50000000 0.40000000 + 0.30000000 0.50000000 0.50000000 + 0.30000000 0.50000000 0.60000000 + 0.30000000 0.50000000 0.70000000 + 0.30000000 0.50000000 0.80000000 + 0.30000000 0.50000000 0.90000000 + 0.30000000 0.60000000 0.00000000 + 0.30000000 0.60000000 0.10000000 + 0.30000000 0.60000000 0.20000000 + 0.30000000 0.60000000 0.30000000 + 0.30000000 0.60000000 0.40000000 + 0.30000000 0.60000000 0.50000000 + 0.30000000 0.60000000 0.60000000 + 0.30000000 0.60000000 0.70000000 + 0.30000000 0.60000000 0.80000000 + 0.30000000 0.60000000 0.90000000 + 0.30000000 0.70000000 0.00000000 + 0.30000000 0.70000000 0.10000000 + 0.30000000 0.70000000 0.20000000 + 0.30000000 0.70000000 0.30000000 + 0.30000000 0.70000000 0.40000000 + 0.30000000 0.70000000 0.50000000 + 0.30000000 0.70000000 0.60000000 + 0.30000000 0.70000000 0.70000000 + 0.30000000 0.70000000 0.80000000 + 0.30000000 0.70000000 0.90000000 + 0.30000000 0.80000000 0.00000000 + 0.30000000 0.80000000 0.10000000 + 0.30000000 0.80000000 0.20000000 + 0.30000000 0.80000000 0.30000000 + 0.30000000 0.80000000 0.40000000 + 0.30000000 0.80000000 0.50000000 + 0.30000000 0.80000000 0.60000000 + 0.30000000 0.80000000 0.70000000 + 0.30000000 0.80000000 0.80000000 + 0.30000000 0.80000000 0.90000000 + 0.30000000 0.90000000 0.00000000 + 0.30000000 0.90000000 0.10000000 + 0.30000000 0.90000000 0.20000000 + 0.30000000 0.90000000 0.30000000 + 0.30000000 0.90000000 0.40000000 + 0.30000000 0.90000000 0.50000000 + 0.30000000 0.90000000 0.60000000 + 0.30000000 0.90000000 0.70000000 + 0.30000000 0.90000000 0.80000000 + 0.30000000 0.90000000 0.90000000 + 0.40000000 0.00000000 0.00000000 + 0.40000000 0.00000000 0.10000000 + 0.40000000 0.00000000 0.20000000 + 0.40000000 0.00000000 0.30000000 + 0.40000000 0.00000000 0.40000000 + 0.40000000 0.00000000 0.50000000 + 0.40000000 0.00000000 0.60000000 + 0.40000000 0.00000000 0.70000000 + 0.40000000 0.00000000 0.80000000 + 0.40000000 0.00000000 0.90000000 + 0.40000000 0.10000000 0.00000000 + 0.40000000 0.10000000 0.10000000 + 0.40000000 0.10000000 0.20000000 + 0.40000000 0.10000000 0.30000000 + 0.40000000 0.10000000 0.40000000 + 0.40000000 0.10000000 0.50000000 + 0.40000000 0.10000000 0.60000000 + 0.40000000 0.10000000 0.70000000 + 0.40000000 0.10000000 0.80000000 + 0.40000000 0.10000000 0.90000000 + 0.40000000 0.20000000 0.00000000 + 0.40000000 0.20000000 0.10000000 + 0.40000000 0.20000000 0.20000000 + 0.40000000 0.20000000 0.30000000 + 0.40000000 0.20000000 0.40000000 + 0.40000000 0.20000000 0.50000000 + 0.40000000 0.20000000 0.60000000 + 0.40000000 0.20000000 0.70000000 + 0.40000000 0.20000000 0.80000000 + 0.40000000 0.20000000 0.90000000 + 0.40000000 0.30000000 0.00000000 + 0.40000000 0.30000000 0.10000000 + 0.40000000 0.30000000 0.20000000 + 0.40000000 0.30000000 0.30000000 + 0.40000000 0.30000000 0.40000000 + 0.40000000 0.30000000 0.50000000 + 0.40000000 0.30000000 0.60000000 + 0.40000000 0.30000000 0.70000000 + 0.40000000 0.30000000 0.80000000 + 0.40000000 0.30000000 0.90000000 + 0.40000000 0.40000000 0.00000000 + 0.40000000 0.40000000 0.10000000 + 0.40000000 0.40000000 0.20000000 + 0.40000000 0.40000000 0.30000000 + 0.40000000 0.40000000 0.40000000 + 0.40000000 0.40000000 0.50000000 + 0.40000000 0.40000000 0.60000000 + 0.40000000 0.40000000 0.70000000 + 0.40000000 0.40000000 0.80000000 + 0.40000000 0.40000000 0.90000000 + 0.40000000 0.50000000 0.00000000 + 0.40000000 0.50000000 0.10000000 + 0.40000000 0.50000000 0.20000000 + 0.40000000 0.50000000 0.30000000 + 0.40000000 0.50000000 0.40000000 + 0.40000000 0.50000000 0.50000000 + 0.40000000 0.50000000 0.60000000 + 0.40000000 0.50000000 0.70000000 + 0.40000000 0.50000000 0.80000000 + 0.40000000 0.50000000 0.90000000 + 0.40000000 0.60000000 0.00000000 + 0.40000000 0.60000000 0.10000000 + 0.40000000 0.60000000 0.20000000 + 0.40000000 0.60000000 0.30000000 + 0.40000000 0.60000000 0.40000000 + 0.40000000 0.60000000 0.50000000 + 0.40000000 0.60000000 0.60000000 + 0.40000000 0.60000000 0.70000000 + 0.40000000 0.60000000 0.80000000 + 0.40000000 0.60000000 0.90000000 + 0.40000000 0.70000000 0.00000000 + 0.40000000 0.70000000 0.10000000 + 0.40000000 0.70000000 0.20000000 + 0.40000000 0.70000000 0.30000000 + 0.40000000 0.70000000 0.40000000 + 0.40000000 0.70000000 0.50000000 + 0.40000000 0.70000000 0.60000000 + 0.40000000 0.70000000 0.70000000 + 0.40000000 0.70000000 0.80000000 + 0.40000000 0.70000000 0.90000000 + 0.40000000 0.80000000 0.00000000 + 0.40000000 0.80000000 0.10000000 + 0.40000000 0.80000000 0.20000000 + 0.40000000 0.80000000 0.30000000 + 0.40000000 0.80000000 0.40000000 + 0.40000000 0.80000000 0.50000000 + 0.40000000 0.80000000 0.60000000 + 0.40000000 0.80000000 0.70000000 + 0.40000000 0.80000000 0.80000000 + 0.40000000 0.80000000 0.90000000 + 0.40000000 0.90000000 0.00000000 + 0.40000000 0.90000000 0.10000000 + 0.40000000 0.90000000 0.20000000 + 0.40000000 0.90000000 0.30000000 + 0.40000000 0.90000000 0.40000000 + 0.40000000 0.90000000 0.50000000 + 0.40000000 0.90000000 0.60000000 + 0.40000000 0.90000000 0.70000000 + 0.40000000 0.90000000 0.80000000 + 0.40000000 0.90000000 0.90000000 + 0.50000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.10000000 + 0.50000000 0.00000000 0.20000000 + 0.50000000 0.00000000 0.30000000 + 0.50000000 0.00000000 0.40000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.00000000 0.60000000 + 0.50000000 0.00000000 0.70000000 + 0.50000000 0.00000000 0.80000000 + 0.50000000 0.00000000 0.90000000 + 0.50000000 0.10000000 0.00000000 + 0.50000000 0.10000000 0.10000000 + 0.50000000 0.10000000 0.20000000 + 0.50000000 0.10000000 0.30000000 + 0.50000000 0.10000000 0.40000000 + 0.50000000 0.10000000 0.50000000 + 0.50000000 0.10000000 0.60000000 + 0.50000000 0.10000000 0.70000000 + 0.50000000 0.10000000 0.80000000 + 0.50000000 0.10000000 0.90000000 + 0.50000000 0.20000000 0.00000000 + 0.50000000 0.20000000 0.10000000 + 0.50000000 0.20000000 0.20000000 + 0.50000000 0.20000000 0.30000000 + 0.50000000 0.20000000 0.40000000 + 0.50000000 0.20000000 0.50000000 + 0.50000000 0.20000000 0.60000000 + 0.50000000 0.20000000 0.70000000 + 0.50000000 0.20000000 0.80000000 + 0.50000000 0.20000000 0.90000000 + 0.50000000 0.30000000 0.00000000 + 0.50000000 0.30000000 0.10000000 + 0.50000000 0.30000000 0.20000000 + 0.50000000 0.30000000 0.30000000 + 0.50000000 0.30000000 0.40000000 + 0.50000000 0.30000000 0.50000000 + 0.50000000 0.30000000 0.60000000 + 0.50000000 0.30000000 0.70000000 + 0.50000000 0.30000000 0.80000000 + 0.50000000 0.30000000 0.90000000 + 0.50000000 0.40000000 0.00000000 + 0.50000000 0.40000000 0.10000000 + 0.50000000 0.40000000 0.20000000 + 0.50000000 0.40000000 0.30000000 + 0.50000000 0.40000000 0.40000000 + 0.50000000 0.40000000 0.50000000 + 0.50000000 0.40000000 0.60000000 + 0.50000000 0.40000000 0.70000000 + 0.50000000 0.40000000 0.80000000 + 0.50000000 0.40000000 0.90000000 + 0.50000000 0.50000000 0.00000000 + 0.50000000 0.50000000 0.10000000 + 0.50000000 0.50000000 0.20000000 + 0.50000000 0.50000000 0.30000000 + 0.50000000 0.50000000 0.40000000 + 0.50000000 0.50000000 0.50000000 + 0.50000000 0.50000000 0.60000000 + 0.50000000 0.50000000 0.70000000 + 0.50000000 0.50000000 0.80000000 + 0.50000000 0.50000000 0.90000000 + 0.50000000 0.60000000 0.00000000 + 0.50000000 0.60000000 0.10000000 + 0.50000000 0.60000000 0.20000000 + 0.50000000 0.60000000 0.30000000 + 0.50000000 0.60000000 0.40000000 + 0.50000000 0.60000000 0.50000000 + 0.50000000 0.60000000 0.60000000 + 0.50000000 0.60000000 0.70000000 + 0.50000000 0.60000000 0.80000000 + 0.50000000 0.60000000 0.90000000 + 0.50000000 0.70000000 0.00000000 + 0.50000000 0.70000000 0.10000000 + 0.50000000 0.70000000 0.20000000 + 0.50000000 0.70000000 0.30000000 + 0.50000000 0.70000000 0.40000000 + 0.50000000 0.70000000 0.50000000 + 0.50000000 0.70000000 0.60000000 + 0.50000000 0.70000000 0.70000000 + 0.50000000 0.70000000 0.80000000 + 0.50000000 0.70000000 0.90000000 + 0.50000000 0.80000000 0.00000000 + 0.50000000 0.80000000 0.10000000 + 0.50000000 0.80000000 0.20000000 + 0.50000000 0.80000000 0.30000000 + 0.50000000 0.80000000 0.40000000 + 0.50000000 0.80000000 0.50000000 + 0.50000000 0.80000000 0.60000000 + 0.50000000 0.80000000 0.70000000 + 0.50000000 0.80000000 0.80000000 + 0.50000000 0.80000000 0.90000000 + 0.50000000 0.90000000 0.00000000 + 0.50000000 0.90000000 0.10000000 + 0.50000000 0.90000000 0.20000000 + 0.50000000 0.90000000 0.30000000 + 0.50000000 0.90000000 0.40000000 + 0.50000000 0.90000000 0.50000000 + 0.50000000 0.90000000 0.60000000 + 0.50000000 0.90000000 0.70000000 + 0.50000000 0.90000000 0.80000000 + 0.50000000 0.90000000 0.90000000 + 0.60000000 0.00000000 0.00000000 + 0.60000000 0.00000000 0.10000000 + 0.60000000 0.00000000 0.20000000 + 0.60000000 0.00000000 0.30000000 + 0.60000000 0.00000000 0.40000000 + 0.60000000 0.00000000 0.50000000 + 0.60000000 0.00000000 0.60000000 + 0.60000000 0.00000000 0.70000000 + 0.60000000 0.00000000 0.80000000 + 0.60000000 0.00000000 0.90000000 + 0.60000000 0.10000000 0.00000000 + 0.60000000 0.10000000 0.10000000 + 0.60000000 0.10000000 0.20000000 + 0.60000000 0.10000000 0.30000000 + 0.60000000 0.10000000 0.40000000 + 0.60000000 0.10000000 0.50000000 + 0.60000000 0.10000000 0.60000000 + 0.60000000 0.10000000 0.70000000 + 0.60000000 0.10000000 0.80000000 + 0.60000000 0.10000000 0.90000000 + 0.60000000 0.20000000 0.00000000 + 0.60000000 0.20000000 0.10000000 + 0.60000000 0.20000000 0.20000000 + 0.60000000 0.20000000 0.30000000 + 0.60000000 0.20000000 0.40000000 + 0.60000000 0.20000000 0.50000000 + 0.60000000 0.20000000 0.60000000 + 0.60000000 0.20000000 0.70000000 + 0.60000000 0.20000000 0.80000000 + 0.60000000 0.20000000 0.90000000 + 0.60000000 0.30000000 0.00000000 + 0.60000000 0.30000000 0.10000000 + 0.60000000 0.30000000 0.20000000 + 0.60000000 0.30000000 0.30000000 + 0.60000000 0.30000000 0.40000000 + 0.60000000 0.30000000 0.50000000 + 0.60000000 0.30000000 0.60000000 + 0.60000000 0.30000000 0.70000000 + 0.60000000 0.30000000 0.80000000 + 0.60000000 0.30000000 0.90000000 + 0.60000000 0.40000000 0.00000000 + 0.60000000 0.40000000 0.10000000 + 0.60000000 0.40000000 0.20000000 + 0.60000000 0.40000000 0.30000000 + 0.60000000 0.40000000 0.40000000 + 0.60000000 0.40000000 0.50000000 + 0.60000000 0.40000000 0.60000000 + 0.60000000 0.40000000 0.70000000 + 0.60000000 0.40000000 0.80000000 + 0.60000000 0.40000000 0.90000000 + 0.60000000 0.50000000 0.00000000 + 0.60000000 0.50000000 0.10000000 + 0.60000000 0.50000000 0.20000000 + 0.60000000 0.50000000 0.30000000 + 0.60000000 0.50000000 0.40000000 + 0.60000000 0.50000000 0.50000000 + 0.60000000 0.50000000 0.60000000 + 0.60000000 0.50000000 0.70000000 + 0.60000000 0.50000000 0.80000000 + 0.60000000 0.50000000 0.90000000 + 0.60000000 0.60000000 0.00000000 + 0.60000000 0.60000000 0.10000000 + 0.60000000 0.60000000 0.20000000 + 0.60000000 0.60000000 0.30000000 + 0.60000000 0.60000000 0.40000000 + 0.60000000 0.60000000 0.50000000 + 0.60000000 0.60000000 0.60000000 + 0.60000000 0.60000000 0.70000000 + 0.60000000 0.60000000 0.80000000 + 0.60000000 0.60000000 0.90000000 + 0.60000000 0.70000000 0.00000000 + 0.60000000 0.70000000 0.10000000 + 0.60000000 0.70000000 0.20000000 + 0.60000000 0.70000000 0.30000000 + 0.60000000 0.70000000 0.40000000 + 0.60000000 0.70000000 0.50000000 + 0.60000000 0.70000000 0.60000000 + 0.60000000 0.70000000 0.70000000 + 0.60000000 0.70000000 0.80000000 + 0.60000000 0.70000000 0.90000000 + 0.60000000 0.80000000 0.00000000 + 0.60000000 0.80000000 0.10000000 + 0.60000000 0.80000000 0.20000000 + 0.60000000 0.80000000 0.30000000 + 0.60000000 0.80000000 0.40000000 + 0.60000000 0.80000000 0.50000000 + 0.60000000 0.80000000 0.60000000 + 0.60000000 0.80000000 0.70000000 + 0.60000000 0.80000000 0.80000000 + 0.60000000 0.80000000 0.90000000 + 0.60000000 0.90000000 0.00000000 + 0.60000000 0.90000000 0.10000000 + 0.60000000 0.90000000 0.20000000 + 0.60000000 0.90000000 0.30000000 + 0.60000000 0.90000000 0.40000000 + 0.60000000 0.90000000 0.50000000 + 0.60000000 0.90000000 0.60000000 + 0.60000000 0.90000000 0.70000000 + 0.60000000 0.90000000 0.80000000 + 0.60000000 0.90000000 0.90000000 + 0.70000000 0.00000000 0.00000000 + 0.70000000 0.00000000 0.10000000 + 0.70000000 0.00000000 0.20000000 + 0.70000000 0.00000000 0.30000000 + 0.70000000 0.00000000 0.40000000 + 0.70000000 0.00000000 0.50000000 + 0.70000000 0.00000000 0.60000000 + 0.70000000 0.00000000 0.70000000 + 0.70000000 0.00000000 0.80000000 + 0.70000000 0.00000000 0.90000000 + 0.70000000 0.10000000 0.00000000 + 0.70000000 0.10000000 0.10000000 + 0.70000000 0.10000000 0.20000000 + 0.70000000 0.10000000 0.30000000 + 0.70000000 0.10000000 0.40000000 + 0.70000000 0.10000000 0.50000000 + 0.70000000 0.10000000 0.60000000 + 0.70000000 0.10000000 0.70000000 + 0.70000000 0.10000000 0.80000000 + 0.70000000 0.10000000 0.90000000 + 0.70000000 0.20000000 0.00000000 + 0.70000000 0.20000000 0.10000000 + 0.70000000 0.20000000 0.20000000 + 0.70000000 0.20000000 0.30000000 + 0.70000000 0.20000000 0.40000000 + 0.70000000 0.20000000 0.50000000 + 0.70000000 0.20000000 0.60000000 + 0.70000000 0.20000000 0.70000000 + 0.70000000 0.20000000 0.80000000 + 0.70000000 0.20000000 0.90000000 + 0.70000000 0.30000000 0.00000000 + 0.70000000 0.30000000 0.10000000 + 0.70000000 0.30000000 0.20000000 + 0.70000000 0.30000000 0.30000000 + 0.70000000 0.30000000 0.40000000 + 0.70000000 0.30000000 0.50000000 + 0.70000000 0.30000000 0.60000000 + 0.70000000 0.30000000 0.70000000 + 0.70000000 0.30000000 0.80000000 + 0.70000000 0.30000000 0.90000000 + 0.70000000 0.40000000 0.00000000 + 0.70000000 0.40000000 0.10000000 + 0.70000000 0.40000000 0.20000000 + 0.70000000 0.40000000 0.30000000 + 0.70000000 0.40000000 0.40000000 + 0.70000000 0.40000000 0.50000000 + 0.70000000 0.40000000 0.60000000 + 0.70000000 0.40000000 0.70000000 + 0.70000000 0.40000000 0.80000000 + 0.70000000 0.40000000 0.90000000 + 0.70000000 0.50000000 0.00000000 + 0.70000000 0.50000000 0.10000000 + 0.70000000 0.50000000 0.20000000 + 0.70000000 0.50000000 0.30000000 + 0.70000000 0.50000000 0.40000000 + 0.70000000 0.50000000 0.50000000 + 0.70000000 0.50000000 0.60000000 + 0.70000000 0.50000000 0.70000000 + 0.70000000 0.50000000 0.80000000 + 0.70000000 0.50000000 0.90000000 + 0.70000000 0.60000000 0.00000000 + 0.70000000 0.60000000 0.10000000 + 0.70000000 0.60000000 0.20000000 + 0.70000000 0.60000000 0.30000000 + 0.70000000 0.60000000 0.40000000 + 0.70000000 0.60000000 0.50000000 + 0.70000000 0.60000000 0.60000000 + 0.70000000 0.60000000 0.70000000 + 0.70000000 0.60000000 0.80000000 + 0.70000000 0.60000000 0.90000000 + 0.70000000 0.70000000 0.00000000 + 0.70000000 0.70000000 0.10000000 + 0.70000000 0.70000000 0.20000000 + 0.70000000 0.70000000 0.30000000 + 0.70000000 0.70000000 0.40000000 + 0.70000000 0.70000000 0.50000000 + 0.70000000 0.70000000 0.60000000 + 0.70000000 0.70000000 0.70000000 + 0.70000000 0.70000000 0.80000000 + 0.70000000 0.70000000 0.90000000 + 0.70000000 0.80000000 0.00000000 + 0.70000000 0.80000000 0.10000000 + 0.70000000 0.80000000 0.20000000 + 0.70000000 0.80000000 0.30000000 + 0.70000000 0.80000000 0.40000000 + 0.70000000 0.80000000 0.50000000 + 0.70000000 0.80000000 0.60000000 + 0.70000000 0.80000000 0.70000000 + 0.70000000 0.80000000 0.80000000 + 0.70000000 0.80000000 0.90000000 + 0.70000000 0.90000000 0.00000000 + 0.70000000 0.90000000 0.10000000 + 0.70000000 0.90000000 0.20000000 + 0.70000000 0.90000000 0.30000000 + 0.70000000 0.90000000 0.40000000 + 0.70000000 0.90000000 0.50000000 + 0.70000000 0.90000000 0.60000000 + 0.70000000 0.90000000 0.70000000 + 0.70000000 0.90000000 0.80000000 + 0.70000000 0.90000000 0.90000000 + 0.80000000 0.00000000 0.00000000 + 0.80000000 0.00000000 0.10000000 + 0.80000000 0.00000000 0.20000000 + 0.80000000 0.00000000 0.30000000 + 0.80000000 0.00000000 0.40000000 + 0.80000000 0.00000000 0.50000000 + 0.80000000 0.00000000 0.60000000 + 0.80000000 0.00000000 0.70000000 + 0.80000000 0.00000000 0.80000000 + 0.80000000 0.00000000 0.90000000 + 0.80000000 0.10000000 0.00000000 + 0.80000000 0.10000000 0.10000000 + 0.80000000 0.10000000 0.20000000 + 0.80000000 0.10000000 0.30000000 + 0.80000000 0.10000000 0.40000000 + 0.80000000 0.10000000 0.50000000 + 0.80000000 0.10000000 0.60000000 + 0.80000000 0.10000000 0.70000000 + 0.80000000 0.10000000 0.80000000 + 0.80000000 0.10000000 0.90000000 + 0.80000000 0.20000000 0.00000000 + 0.80000000 0.20000000 0.10000000 + 0.80000000 0.20000000 0.20000000 + 0.80000000 0.20000000 0.30000000 + 0.80000000 0.20000000 0.40000000 + 0.80000000 0.20000000 0.50000000 + 0.80000000 0.20000000 0.60000000 + 0.80000000 0.20000000 0.70000000 + 0.80000000 0.20000000 0.80000000 + 0.80000000 0.20000000 0.90000000 + 0.80000000 0.30000000 0.00000000 + 0.80000000 0.30000000 0.10000000 + 0.80000000 0.30000000 0.20000000 + 0.80000000 0.30000000 0.30000000 + 0.80000000 0.30000000 0.40000000 + 0.80000000 0.30000000 0.50000000 + 0.80000000 0.30000000 0.60000000 + 0.80000000 0.30000000 0.70000000 + 0.80000000 0.30000000 0.80000000 + 0.80000000 0.30000000 0.90000000 + 0.80000000 0.40000000 0.00000000 + 0.80000000 0.40000000 0.10000000 + 0.80000000 0.40000000 0.20000000 + 0.80000000 0.40000000 0.30000000 + 0.80000000 0.40000000 0.40000000 + 0.80000000 0.40000000 0.50000000 + 0.80000000 0.40000000 0.60000000 + 0.80000000 0.40000000 0.70000000 + 0.80000000 0.40000000 0.80000000 + 0.80000000 0.40000000 0.90000000 + 0.80000000 0.50000000 0.00000000 + 0.80000000 0.50000000 0.10000000 + 0.80000000 0.50000000 0.20000000 + 0.80000000 0.50000000 0.30000000 + 0.80000000 0.50000000 0.40000000 + 0.80000000 0.50000000 0.50000000 + 0.80000000 0.50000000 0.60000000 + 0.80000000 0.50000000 0.70000000 + 0.80000000 0.50000000 0.80000000 + 0.80000000 0.50000000 0.90000000 + 0.80000000 0.60000000 0.00000000 + 0.80000000 0.60000000 0.10000000 + 0.80000000 0.60000000 0.20000000 + 0.80000000 0.60000000 0.30000000 + 0.80000000 0.60000000 0.40000000 + 0.80000000 0.60000000 0.50000000 + 0.80000000 0.60000000 0.60000000 + 0.80000000 0.60000000 0.70000000 + 0.80000000 0.60000000 0.80000000 + 0.80000000 0.60000000 0.90000000 + 0.80000000 0.70000000 0.00000000 + 0.80000000 0.70000000 0.10000000 + 0.80000000 0.70000000 0.20000000 + 0.80000000 0.70000000 0.30000000 + 0.80000000 0.70000000 0.40000000 + 0.80000000 0.70000000 0.50000000 + 0.80000000 0.70000000 0.60000000 + 0.80000000 0.70000000 0.70000000 + 0.80000000 0.70000000 0.80000000 + 0.80000000 0.70000000 0.90000000 + 0.80000000 0.80000000 0.00000000 + 0.80000000 0.80000000 0.10000000 + 0.80000000 0.80000000 0.20000000 + 0.80000000 0.80000000 0.30000000 + 0.80000000 0.80000000 0.40000000 + 0.80000000 0.80000000 0.50000000 + 0.80000000 0.80000000 0.60000000 + 0.80000000 0.80000000 0.70000000 + 0.80000000 0.80000000 0.80000000 + 0.80000000 0.80000000 0.90000000 + 0.80000000 0.90000000 0.00000000 + 0.80000000 0.90000000 0.10000000 + 0.80000000 0.90000000 0.20000000 + 0.80000000 0.90000000 0.30000000 + 0.80000000 0.90000000 0.40000000 + 0.80000000 0.90000000 0.50000000 + 0.80000000 0.90000000 0.60000000 + 0.80000000 0.90000000 0.70000000 + 0.80000000 0.90000000 0.80000000 + 0.80000000 0.90000000 0.90000000 + 0.90000000 0.00000000 0.00000000 + 0.90000000 0.00000000 0.10000000 + 0.90000000 0.00000000 0.20000000 + 0.90000000 0.00000000 0.30000000 + 0.90000000 0.00000000 0.40000000 + 0.90000000 0.00000000 0.50000000 + 0.90000000 0.00000000 0.60000000 + 0.90000000 0.00000000 0.70000000 + 0.90000000 0.00000000 0.80000000 + 0.90000000 0.00000000 0.90000000 + 0.90000000 0.10000000 0.00000000 + 0.90000000 0.10000000 0.10000000 + 0.90000000 0.10000000 0.20000000 + 0.90000000 0.10000000 0.30000000 + 0.90000000 0.10000000 0.40000000 + 0.90000000 0.10000000 0.50000000 + 0.90000000 0.10000000 0.60000000 + 0.90000000 0.10000000 0.70000000 + 0.90000000 0.10000000 0.80000000 + 0.90000000 0.10000000 0.90000000 + 0.90000000 0.20000000 0.00000000 + 0.90000000 0.20000000 0.10000000 + 0.90000000 0.20000000 0.20000000 + 0.90000000 0.20000000 0.30000000 + 0.90000000 0.20000000 0.40000000 + 0.90000000 0.20000000 0.50000000 + 0.90000000 0.20000000 0.60000000 + 0.90000000 0.20000000 0.70000000 + 0.90000000 0.20000000 0.80000000 + 0.90000000 0.20000000 0.90000000 + 0.90000000 0.30000000 0.00000000 + 0.90000000 0.30000000 0.10000000 + 0.90000000 0.30000000 0.20000000 + 0.90000000 0.30000000 0.30000000 + 0.90000000 0.30000000 0.40000000 + 0.90000000 0.30000000 0.50000000 + 0.90000000 0.30000000 0.60000000 + 0.90000000 0.30000000 0.70000000 + 0.90000000 0.30000000 0.80000000 + 0.90000000 0.30000000 0.90000000 + 0.90000000 0.40000000 0.00000000 + 0.90000000 0.40000000 0.10000000 + 0.90000000 0.40000000 0.20000000 + 0.90000000 0.40000000 0.30000000 + 0.90000000 0.40000000 0.40000000 + 0.90000000 0.40000000 0.50000000 + 0.90000000 0.40000000 0.60000000 + 0.90000000 0.40000000 0.70000000 + 0.90000000 0.40000000 0.80000000 + 0.90000000 0.40000000 0.90000000 + 0.90000000 0.50000000 0.00000000 + 0.90000000 0.50000000 0.10000000 + 0.90000000 0.50000000 0.20000000 + 0.90000000 0.50000000 0.30000000 + 0.90000000 0.50000000 0.40000000 + 0.90000000 0.50000000 0.50000000 + 0.90000000 0.50000000 0.60000000 + 0.90000000 0.50000000 0.70000000 + 0.90000000 0.50000000 0.80000000 + 0.90000000 0.50000000 0.90000000 + 0.90000000 0.60000000 0.00000000 + 0.90000000 0.60000000 0.10000000 + 0.90000000 0.60000000 0.20000000 + 0.90000000 0.60000000 0.30000000 + 0.90000000 0.60000000 0.40000000 + 0.90000000 0.60000000 0.50000000 + 0.90000000 0.60000000 0.60000000 + 0.90000000 0.60000000 0.70000000 + 0.90000000 0.60000000 0.80000000 + 0.90000000 0.60000000 0.90000000 + 0.90000000 0.70000000 0.00000000 + 0.90000000 0.70000000 0.10000000 + 0.90000000 0.70000000 0.20000000 + 0.90000000 0.70000000 0.30000000 + 0.90000000 0.70000000 0.40000000 + 0.90000000 0.70000000 0.50000000 + 0.90000000 0.70000000 0.60000000 + 0.90000000 0.70000000 0.70000000 + 0.90000000 0.70000000 0.80000000 + 0.90000000 0.70000000 0.90000000 + 0.90000000 0.80000000 0.00000000 + 0.90000000 0.80000000 0.10000000 + 0.90000000 0.80000000 0.20000000 + 0.90000000 0.80000000 0.30000000 + 0.90000000 0.80000000 0.40000000 + 0.90000000 0.80000000 0.50000000 + 0.90000000 0.80000000 0.60000000 + 0.90000000 0.80000000 0.70000000 + 0.90000000 0.80000000 0.80000000 + 0.90000000 0.80000000 0.90000000 + 0.90000000 0.90000000 0.00000000 + 0.90000000 0.90000000 0.10000000 + 0.90000000 0.90000000 0.20000000 + 0.90000000 0.90000000 0.30000000 + 0.90000000 0.90000000 0.40000000 + 0.90000000 0.90000000 0.50000000 + 0.90000000 0.90000000 0.60000000 + 0.90000000 0.90000000 0.70000000 + 0.90000000 0.90000000 0.80000000 + 0.90000000 0.90000000 0.90000000 +end kpoints + +begin projections +end projections + +begin unit_cell_cart +ang + -1.5915572711 1.5915572711 1.5915572711 + 1.5915572711 -1.5915572711 1.5915572711 + 1.5915572711 1.5915572711 -1.5915572711 +end unit_cell_cart diff --git a/nexus/tests/unit/test_wannier90_input_files/benzene.win b/nexus/tests/unit/test_wannier90_input_files/benzene.win new file mode 100644 index 0000000000..a5ee9053ec --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/benzene.win @@ -0,0 +1,77 @@ +## Valence states ## +num_wann = 15 +#################### + +## Valence + conduction states ## +#num_wann = 18 +#num_bands = 90 +#dis_froz_max = -6.0 +#dis_win_max = 4.0 +#dis_num_iter = 100 +################################# + +num_iter = 100 +conv_tol = 1e-10 +conv_window = 5 + +translate_home_cell=true + +guiding_centres = true + +iprint = 2 + +## Plotting ################# +#restart = plot +#wannier_plot = true +#wannier_plot_format = cube +#wannier_plot_list = 1,7,13 +############################# + +mp_grid : 1 1 1 +gamma_only = true + +begin kpoints +0.0000 0.0000 0.0000 +end kpoints + +begin atoms_cart +Bohr +C 15.628439779 15.000000000 15.00 +C 14.309410418 17.284679795 15.00 +C 11.671351697 17.284679795 15.00 +C 10.352322336 15.000000000 15.00 +C 11.671351697 12.715320205 15.00 +C 14.309410418 12.715320205 15.00 +H 17.675013988 15.000000000 15.00 +H 15.333642386 19.057243606 15.00 +H 10.647119729 19.057243606 15.00 +H 8.305748128 15.000000000 15.00 +H 10.647119729 10.942756393 15.00 +H 15.333642386 10.942756393 15.00 +end atoms_cart + +## Valence states ## +begin projections +random +end projections +#################### + +## Valence + conduction states ## +#begin projections +#Bohr +#H:s +#c= 13.0, 12.7, 15.0 : s +#c= 13.0, 17.3, 15.0 : s +#c= 11.0, 16.1, 15.0 : s +#c= 11.0, 13.9, 15.0 : s +#c= 15.0, 13.9, 15.0 : s +#c= 15.0, 16.1, 15.0 : s +#C:pz +#end projections +################################# +begin unit_cell_cart +bohr + 30.000 0.0000000 0.000 + 0.000 30.0000000 0.000 + 0.000 0.0000000 30.000 +end unit_cell_cart diff --git a/nexus/tests/unit/test_wannier90_input_files/cnt55.win b/nexus/tests/unit/test_wannier90_input_files/cnt55.win new file mode 100644 index 0000000000..609be182e7 --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/cnt55.win @@ -0,0 +1,127 @@ +num_bands = 80 +num_wann = 50 +num_iter = 500 + +dis_num_iter = 1000 +dis_win_max = 6.3 +dis_froz_max = 1.8 + +guiding_centres = .true. + +mp_grid = 1 1 5 + +iprint = 2 + +num_dump_cycles = 100 +num_print_cycles = 10 + +transport = true +transport_mode = bulk +one_dim_axis = z +dist_cutoff = 5.5 +tran_win_min = -6.5 +tran_win_max = 6.5 +tran_energy_step = 0.01 +fermi_energy = -1.06 +dist_cutoff_mode = one_dim +translation_centre_frac = 0.0 0.0 0.0 + +bands_plot = true +bands_plot_format = xmgr + +begin kpoint_path +G 0.0 0.0 0.0 A 0.0 0.0 0.5 +end kpoint_path + +Begin Projections +Ang +c= 3.3780, -0.7128, -0.6157 :pz :z= 3.3780, -0.7128, 0.0000 :x=0,0,1 +c= 3.3780, 0.7128, -0.6157 :pz :z= 3.3780, 0.7128, 0.0000 :x=0,0,1 +c= 1.7172, 2.9575, -0.6157 :pz :z= 1.7172, 2.9575, 0.0000 :x=0,0,1 +c= 0.3593, 3.3906, -0.6157 :pz :z= 0.3593, 3.3906, 0.0000 :x=0,0,1 +c= -2.3031, 2.5403, -0.6157 :pz :z= -2.3031, 2.5403, 0.0000 :x=0,0,1 +c= -3.1518, 1.3950, -0.6157 :pz :z= -3.1518, 1.3950, 0.0000 :x=0,0,1 +c= -3.1518, -1.3950, -0.6157 :pz :z= -3.1518, -1.3950, 0.0000 :x=0,0,1 +c= -2.3031, -2.5403, -0.6157 :pz :z= -2.3031, -2.5403, 0.0000 :x=0,0,1 +c= 0.3593, -3.3906, -0.6157 :pz :z= 0.3593, -3.3906, 0.0000 :x=0,0,1 +c= 1.7172, -2.9575, -0.6157 :pz :z= 1.7172, -2.9575, 0.0000 :x=0,0,1 +c= 3.1518, -1.3950, 0.6157 :pz :z= 3.1518, -1.3950, 0.0000 :x=0,0,1 +c= 3.1518, 1.3950, 0.6157 :pz :z= 3.1518, 1.3950, 0.0000 :x=0,0,1 +c= 2.3031, 2.5403, 0.6157 :pz :z= 2.3031, 2.5403, 0.0000 :x=0,0,1 +c= -0.3593, 3.3906, 0.6157 :pz :z= -0.3593, 3.3906, 0.0000 :x=0,0,1 +c= -1.7172, 2.9575, 0.6157 :pz :z= -1.7172, 2.9575, 0.0000 :x=0,0,1 +c= -3.3780, 0.7128, 0.6157 :pz :z= -3.3780, 0.7128, 0.0000 :x=0,0,1 +c= -3.3780, -0.7128, 0.6157 :pz :z= -3.3780, -0.7128, 0.0000 :x=0,0,1 +c= -1.7172, -2.9575, 0.6157 :pz :z= -1.7172, -2.9575, 0.0000 :x=0,0,1 +c= -0.3593, -3.3906, 0.6157 :pz :z= -0.3593, -3.3906, 0.0000 :x=0,0,1 +c= 2.3031, -2.5403, 0.6157 :pz :z= 2.3031, -2.5403, 0.0000 :x=0,0,1 +c= -2.7274, -1.9677, -0.6157 :s +c= 1.0382, -3.1740, -0.6157 :s +c= 3.3780, 0.0000, -0.6157 :s +c= 1.0382, 3.1740, -0.6157 :s +c= -2.7274, 1.9677, -0.6157 :s +c= -3.2649, -1.0539, 0.0000 :s +c= -2.0101, -2.7489, 0.0000 :s +c= 0.0000, -3.3906, 0.0000 :s +c= 2.0101, -2.7489, 0.0000 :s +c= 3.2649, -1.0539, 0.0000 :s +c= 3.2649, 1.0539, 0.0000 :s +c= 2.0101, 2.7489, 0.0000 :s +c= 0.0000, 3.3906, 0.0000 :s +c= -2.0101, 2.7489, 0.0000 :s +c= -3.2649, 1.0539, 0.0000 :s +c= -1.0382, -3.1740, 0.6157 :s +c= 2.7274, -1.9677, 0.6157 :s +c= 2.7274, 1.9677, 0.6157 :s +c= -1.0382, 3.1740, 0.6157 :s +c= -3.3780, 0.0000, 0.6157 :s +c= -3.2649, -1.0539, 1.2314 :s +c= -2.0101, -2.7489, 1.2314 :s +c= 0.0000, -3.3906, 1.2314 :s +c= 2.0101, -2.7489, 1.2314 :s +c= 3.2649, -1.0539, 1.2314 :s +c= 3.2649, 1.0539, 1.2314 :s +c= 2.0101, 2.7489, 1.2314 :s +c= 0.0000, 3.3906, 1.2314 :s +c= -2.0101, 2.7489, 1.2314 :s +c= -3.2649, 1.0539, 1.2314 :s +End Projections + +Begin Unit_Cell_Cart +Ang +16.000 0.000 0.000000 + 0.000 16.000 0.000000 + 0.000 0.000 2.462800 +End Unit_Cell_Cart + +Begin KPoints +0.0 0.0 0.0 +0.0 0.0 0.2 +0.0 0.0 0.4 +0.0 0.0 0.6 +0.0 0.0 0.8 +End KPoints + +Begin Atoms_Cart +Ang +C 3.378034423 -0.712837316 -0.615700000 +C 3.378034423 0.712837316 -0.615700000 +C 1.717153078 2.957521008 -0.615700000 +C 0.359290473 3.390555052 -0.615700000 +C -2.303060204 2.540325691 -0.615700000 +C -3.151822438 1.395018907 -0.615700000 +C -3.151822438 -1.395018907 -0.615700000 +C -2.303060204 -2.540325691 -0.615700000 +C 0.359290473 -3.390555052 -0.615700000 +C 1.717153078 -2.957521008 -0.615700000 +C 3.151822438 -1.395018907 0.615700000 +C 3.151822438 1.395018907 0.615700000 +C 2.303060204 2.540325691 0.615700000 +C -0.359290473 3.390555052 0.615700000 +C -1.717153078 2.957521008 0.615700000 +C -3.378034423 0.712837316 0.615700000 +C -3.378034423 -0.712837316 0.615700000 +C -1.717153078 -2.957521008 0.615700000 +C -0.359290473 -3.390555052 0.615700000 +C 2.303060204 -2.540325691 0.615700000 +End Atoms_Cart diff --git a/nexus/tests/unit/test_wannier90_input_files/copper.win b/nexus/tests/unit/test_wannier90_input_files/copper.win new file mode 100644 index 0000000000..fde1d3c932 --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/copper.win @@ -0,0 +1,110 @@ +num_bands = 12 +num_wann = 7 +num_iter = 200 + +dis_win_max = 38.0 +dis_froz_max = 13.0 +dis_num_iter = 50 +dis_mix_ratio = 1.0 + +Begin Kpoint_Path +G 0.00 0.00 0.00 X 0.50 0.50 0.00 +X 0.50 0.50 0.00 W 0.50 0.75 0.25 +W 0.50 0.75 0.25 L 0.00 0.50 0.00 +L 0.00 0.50 0.00 G 0.00 0.00 0.00 +G 0.00 0.00 0.00 K 0.00 0.50 -0.50 +End Kpoint_Path + +! bands_plot = .true. +! fermi_surface_plot = .true. + + +! SYSTEM + +begin unit_cell_cart +bohr +-3.411 0.000 3.411 + 0.000 3.411 3.411 +-3.411 3.411 0.000 +end unit_cell_cart + +begin atoms_frac +Cu 0.00 0.00 0.00 +end atoms_frac + +begin projections +Cu:d +f=0.25,0.25,0.25:s +f=-0.25,-0.25,-0.25:s +end projections + +! KPOINTS + +mp_grid : 4 4 4 + +begin kpoints +0.0000 0.0000 0.0000 +0.0000 0.2500 0.0000 +0.0000 0.5000 0.0000 +0.0000 0.7500 0.0000 +0.2500 0.0000 0.0000 +0.2500 0.2500 0.0000 +0.2500 0.5000 0.0000 +0.2500 0.7500 0.0000 +0.5000 0.0000 0.0000 +0.5000 0.2500 0.0000 +0.5000 0.5000 0.0000 +0.5000 0.7500 0.0000 +0.7500 0.0000 0.0000 +0.7500 0.2500 0.0000 +0.7500 0.5000 0.0000 +0.7500 0.7500 0.0000 +0.0000 0.0000 0.2500 +0.0000 0.2500 0.2500 +0.0000 0.5000 0.2500 +0.0000 0.7500 0.2500 +0.2500 0.0000 0.2500 +0.2500 0.2500 0.2500 +0.2500 0.5000 0.2500 +0.2500 0.7500 0.2500 +0.5000 0.0000 0.2500 +0.5000 0.2500 0.2500 +0.5000 0.5000 0.2500 +0.5000 0.7500 0.2500 +0.7500 0.0000 0.2500 +0.7500 0.2500 0.2500 +0.7500 0.5000 0.2500 +0.7500 0.7500 0.2500 +0.0000 0.0000 0.5000 +0.0000 0.2500 0.5000 +0.0000 0.5000 0.5000 +0.0000 0.7500 0.5000 +0.2500 0.0000 0.5000 +0.2500 0.2500 0.5000 +0.2500 0.5000 0.5000 +0.2500 0.7500 0.5000 +0.5000 0.0000 0.5000 +0.5000 0.2500 0.5000 +0.5000 0.5000 0.5000 +0.5000 0.7500 0.5000 +0.7500 0.0000 0.5000 +0.7500 0.2500 0.5000 +0.7500 0.5000 0.5000 +0.7500 0.7500 0.5000 +0.0000 0.0000 0.7500 +0.0000 0.2500 0.7500 +0.0000 0.5000 0.7500 +0.0000 0.7500 0.7500 +0.2500 0.0000 0.7500 +0.2500 0.2500 0.7500 +0.2500 0.5000 0.7500 +0.2500 0.7500 0.7500 +0.5000 0.0000 0.7500 +0.5000 0.2500 0.7500 +0.5000 0.5000 0.7500 +0.5000 0.7500 0.7500 +0.7500 0.0000 0.7500 +0.7500 0.2500 0.7500 +0.7500 0.5000 0.7500 +0.7500 0.7500 0.7500 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/diamond.win b/nexus/tests/unit/test_wannier90_input_files/diamond.win new file mode 100644 index 0000000000..f9aa7ced55 --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/diamond.win @@ -0,0 +1,92 @@ +num_wann = 4 +num_iter = 20 + + +begin atoms_frac +C -0.12500 -0.1250 -0.125000 +C 0.12500 0.1250 0.125000 +end atoms_frac + + +begin projections +f=0.0,0.0,0.0:s +f=0.0,0.0,0.5:s +f=0.0,0.5,0.0:s +f=0.5,0.0,0.0:s +end projections + + +begin unit_cell_cart +-1.613990 0.000000 1.613990 + 0.000000 1.613990 1.613990 +-1.613990 1.613990 0.000000 +end unit_cell_cart + +mp_grid : 4 4 4 + +begin kpoints +0.0000 0.0000 0.0000 +0.0000 0.2500 0.0000 +0.0000 0.5000 0.0000 +0.0000 0.7500 0.0000 +0.2500 0.0000 0.0000 +0.2500 0.2500 0.0000 +0.2500 0.5000 0.0000 +0.2500 0.7500 0.0000 +0.5000 0.0000 0.0000 +0.5000 0.2500 0.0000 +0.5000 0.5000 0.0000 +0.5000 0.7500 0.0000 +0.7500 0.0000 0.0000 +0.7500 0.2500 0.0000 +0.7500 0.5000 0.0000 +0.7500 0.7500 0.0000 +0.0000 0.0000 0.2500 +0.0000 0.2500 0.2500 +0.0000 0.5000 0.2500 +0.0000 0.7500 0.2500 +0.2500 0.0000 0.2500 +0.2500 0.2500 0.2500 +0.2500 0.5000 0.2500 +0.2500 0.7500 0.2500 +0.5000 0.0000 0.2500 +0.5000 0.2500 0.2500 +0.5000 0.5000 0.2500 +0.5000 0.7500 0.2500 +0.7500 0.0000 0.2500 +0.7500 0.2500 0.2500 +0.7500 0.5000 0.2500 +0.7500 0.7500 0.2500 +0.0000 0.0000 0.5000 +0.0000 0.2500 0.5000 +0.0000 0.5000 0.5000 +0.0000 0.7500 0.5000 +0.2500 0.0000 0.5000 +0.2500 0.2500 0.5000 +0.2500 0.5000 0.5000 +0.2500 0.7500 0.5000 +0.5000 0.0000 0.5000 +0.5000 0.2500 0.5000 +0.5000 0.5000 0.5000 +0.5000 0.7500 0.5000 +0.7500 0.0000 0.5000 +0.7500 0.2500 0.5000 +0.7500 0.5000 0.5000 +0.7500 0.7500 0.5000 +0.0000 0.0000 0.7500 +0.0000 0.2500 0.7500 +0.0000 0.5000 0.7500 +0.0000 0.7500 0.7500 +0.2500 0.0000 0.7500 +0.2500 0.2500 0.7500 +0.2500 0.5000 0.7500 +0.2500 0.7500 0.7500 +0.5000 0.0000 0.7500 +0.5000 0.2500 0.7500 +0.5000 0.5000 0.7500 +0.5000 0.7500 0.7500 +0.7500 0.0000 0.7500 +0.7500 0.2500 0.7500 +0.7500 0.5000 0.7500 +0.7500 0.7500 0.7500 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/gaas.win b/nexus/tests/unit/test_wannier90_input_files/gaas.win new file mode 100644 index 0000000000..3dda8b5ede --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/gaas.win @@ -0,0 +1,1064 @@ +shc_freq_scan = true +shc_alpha = 1 +shc_beta = 2 +shc_gamma = 3 + +berry = true +berry_task = shc +berry_kmesh = 100 #250 + +fermi_energy = 7.9366 + +kubo_freq_min = 0.0 +kubo_freq_max = 8.0 +kubo_freq_step = 0.01 +#kubo_eigval_max = 1.0 + +# use scissors_shift +scissors_shift = 1.117 +num_valence_bands = 8 +# or use shc_bandshift +#shc_bandshift = true +#shc_bandshift_firstband = 9 +#shc_bandshift_energyshift = 1.117 + +kubo_adpt_smr = true #false +kubo_adpt_smr_fac = 1.414 +kubo_adpt_smr_max = 1.0 +#kubo_smr_fixed_en_width = 0.05 + +exclude_bands = 1-10 +num_bands = 16 +num_wann = 16 + +dis_num_iter = 8000 + +dis_conv_tol = 1.0e-10 +conv_tol = 1.0e-10 +conv_window = 40 + +num_iter = 20000 +guiding_centres = T + +spinors = true +begin projections +As:sp3 +Ga:sp3 +end projections + +begin unit_cell_cart +bohr +-5.342256 0 5.342256 +0 5.342256 5.342256 +-5.342256 5.342256 0 +end unit_cell_cart + +begin atoms_frac +Ga 0.00 0.00 0.00 +As 0.25 0.25 0.25 +end atoms_frac + +mp_grid = 10 10 10 + +begin kpoints + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.10000000 + 0.00000000 0.00000000 0.20000000 + 0.00000000 0.00000000 0.30000000 + 0.00000000 0.00000000 0.40000000 + 0.00000000 0.00000000 0.50000000 + 0.00000000 0.00000000 0.60000000 + 0.00000000 0.00000000 0.70000000 + 0.00000000 0.00000000 0.80000000 + 0.00000000 0.00000000 0.90000000 + 0.00000000 0.10000000 0.00000000 + 0.00000000 0.10000000 0.10000000 + 0.00000000 0.10000000 0.20000000 + 0.00000000 0.10000000 0.30000000 + 0.00000000 0.10000000 0.40000000 + 0.00000000 0.10000000 0.50000000 + 0.00000000 0.10000000 0.60000000 + 0.00000000 0.10000000 0.70000000 + 0.00000000 0.10000000 0.80000000 + 0.00000000 0.10000000 0.90000000 + 0.00000000 0.20000000 0.00000000 + 0.00000000 0.20000000 0.10000000 + 0.00000000 0.20000000 0.20000000 + 0.00000000 0.20000000 0.30000000 + 0.00000000 0.20000000 0.40000000 + 0.00000000 0.20000000 0.50000000 + 0.00000000 0.20000000 0.60000000 + 0.00000000 0.20000000 0.70000000 + 0.00000000 0.20000000 0.80000000 + 0.00000000 0.20000000 0.90000000 + 0.00000000 0.30000000 0.00000000 + 0.00000000 0.30000000 0.10000000 + 0.00000000 0.30000000 0.20000000 + 0.00000000 0.30000000 0.30000000 + 0.00000000 0.30000000 0.40000000 + 0.00000000 0.30000000 0.50000000 + 0.00000000 0.30000000 0.60000000 + 0.00000000 0.30000000 0.70000000 + 0.00000000 0.30000000 0.80000000 + 0.00000000 0.30000000 0.90000000 + 0.00000000 0.40000000 0.00000000 + 0.00000000 0.40000000 0.10000000 + 0.00000000 0.40000000 0.20000000 + 0.00000000 0.40000000 0.30000000 + 0.00000000 0.40000000 0.40000000 + 0.00000000 0.40000000 0.50000000 + 0.00000000 0.40000000 0.60000000 + 0.00000000 0.40000000 0.70000000 + 0.00000000 0.40000000 0.80000000 + 0.00000000 0.40000000 0.90000000 + 0.00000000 0.50000000 0.00000000 + 0.00000000 0.50000000 0.10000000 + 0.00000000 0.50000000 0.20000000 + 0.00000000 0.50000000 0.30000000 + 0.00000000 0.50000000 0.40000000 + 0.00000000 0.50000000 0.50000000 + 0.00000000 0.50000000 0.60000000 + 0.00000000 0.50000000 0.70000000 + 0.00000000 0.50000000 0.80000000 + 0.00000000 0.50000000 0.90000000 + 0.00000000 0.60000000 0.00000000 + 0.00000000 0.60000000 0.10000000 + 0.00000000 0.60000000 0.20000000 + 0.00000000 0.60000000 0.30000000 + 0.00000000 0.60000000 0.40000000 + 0.00000000 0.60000000 0.50000000 + 0.00000000 0.60000000 0.60000000 + 0.00000000 0.60000000 0.70000000 + 0.00000000 0.60000000 0.80000000 + 0.00000000 0.60000000 0.90000000 + 0.00000000 0.70000000 0.00000000 + 0.00000000 0.70000000 0.10000000 + 0.00000000 0.70000000 0.20000000 + 0.00000000 0.70000000 0.30000000 + 0.00000000 0.70000000 0.40000000 + 0.00000000 0.70000000 0.50000000 + 0.00000000 0.70000000 0.60000000 + 0.00000000 0.70000000 0.70000000 + 0.00000000 0.70000000 0.80000000 + 0.00000000 0.70000000 0.90000000 + 0.00000000 0.80000000 0.00000000 + 0.00000000 0.80000000 0.10000000 + 0.00000000 0.80000000 0.20000000 + 0.00000000 0.80000000 0.30000000 + 0.00000000 0.80000000 0.40000000 + 0.00000000 0.80000000 0.50000000 + 0.00000000 0.80000000 0.60000000 + 0.00000000 0.80000000 0.70000000 + 0.00000000 0.80000000 0.80000000 + 0.00000000 0.80000000 0.90000000 + 0.00000000 0.90000000 0.00000000 + 0.00000000 0.90000000 0.10000000 + 0.00000000 0.90000000 0.20000000 + 0.00000000 0.90000000 0.30000000 + 0.00000000 0.90000000 0.40000000 + 0.00000000 0.90000000 0.50000000 + 0.00000000 0.90000000 0.60000000 + 0.00000000 0.90000000 0.70000000 + 0.00000000 0.90000000 0.80000000 + 0.00000000 0.90000000 0.90000000 + 0.10000000 0.00000000 0.00000000 + 0.10000000 0.00000000 0.10000000 + 0.10000000 0.00000000 0.20000000 + 0.10000000 0.00000000 0.30000000 + 0.10000000 0.00000000 0.40000000 + 0.10000000 0.00000000 0.50000000 + 0.10000000 0.00000000 0.60000000 + 0.10000000 0.00000000 0.70000000 + 0.10000000 0.00000000 0.80000000 + 0.10000000 0.00000000 0.90000000 + 0.10000000 0.10000000 0.00000000 + 0.10000000 0.10000000 0.10000000 + 0.10000000 0.10000000 0.20000000 + 0.10000000 0.10000000 0.30000000 + 0.10000000 0.10000000 0.40000000 + 0.10000000 0.10000000 0.50000000 + 0.10000000 0.10000000 0.60000000 + 0.10000000 0.10000000 0.70000000 + 0.10000000 0.10000000 0.80000000 + 0.10000000 0.10000000 0.90000000 + 0.10000000 0.20000000 0.00000000 + 0.10000000 0.20000000 0.10000000 + 0.10000000 0.20000000 0.20000000 + 0.10000000 0.20000000 0.30000000 + 0.10000000 0.20000000 0.40000000 + 0.10000000 0.20000000 0.50000000 + 0.10000000 0.20000000 0.60000000 + 0.10000000 0.20000000 0.70000000 + 0.10000000 0.20000000 0.80000000 + 0.10000000 0.20000000 0.90000000 + 0.10000000 0.30000000 0.00000000 + 0.10000000 0.30000000 0.10000000 + 0.10000000 0.30000000 0.20000000 + 0.10000000 0.30000000 0.30000000 + 0.10000000 0.30000000 0.40000000 + 0.10000000 0.30000000 0.50000000 + 0.10000000 0.30000000 0.60000000 + 0.10000000 0.30000000 0.70000000 + 0.10000000 0.30000000 0.80000000 + 0.10000000 0.30000000 0.90000000 + 0.10000000 0.40000000 0.00000000 + 0.10000000 0.40000000 0.10000000 + 0.10000000 0.40000000 0.20000000 + 0.10000000 0.40000000 0.30000000 + 0.10000000 0.40000000 0.40000000 + 0.10000000 0.40000000 0.50000000 + 0.10000000 0.40000000 0.60000000 + 0.10000000 0.40000000 0.70000000 + 0.10000000 0.40000000 0.80000000 + 0.10000000 0.40000000 0.90000000 + 0.10000000 0.50000000 0.00000000 + 0.10000000 0.50000000 0.10000000 + 0.10000000 0.50000000 0.20000000 + 0.10000000 0.50000000 0.30000000 + 0.10000000 0.50000000 0.40000000 + 0.10000000 0.50000000 0.50000000 + 0.10000000 0.50000000 0.60000000 + 0.10000000 0.50000000 0.70000000 + 0.10000000 0.50000000 0.80000000 + 0.10000000 0.50000000 0.90000000 + 0.10000000 0.60000000 0.00000000 + 0.10000000 0.60000000 0.10000000 + 0.10000000 0.60000000 0.20000000 + 0.10000000 0.60000000 0.30000000 + 0.10000000 0.60000000 0.40000000 + 0.10000000 0.60000000 0.50000000 + 0.10000000 0.60000000 0.60000000 + 0.10000000 0.60000000 0.70000000 + 0.10000000 0.60000000 0.80000000 + 0.10000000 0.60000000 0.90000000 + 0.10000000 0.70000000 0.00000000 + 0.10000000 0.70000000 0.10000000 + 0.10000000 0.70000000 0.20000000 + 0.10000000 0.70000000 0.30000000 + 0.10000000 0.70000000 0.40000000 + 0.10000000 0.70000000 0.50000000 + 0.10000000 0.70000000 0.60000000 + 0.10000000 0.70000000 0.70000000 + 0.10000000 0.70000000 0.80000000 + 0.10000000 0.70000000 0.90000000 + 0.10000000 0.80000000 0.00000000 + 0.10000000 0.80000000 0.10000000 + 0.10000000 0.80000000 0.20000000 + 0.10000000 0.80000000 0.30000000 + 0.10000000 0.80000000 0.40000000 + 0.10000000 0.80000000 0.50000000 + 0.10000000 0.80000000 0.60000000 + 0.10000000 0.80000000 0.70000000 + 0.10000000 0.80000000 0.80000000 + 0.10000000 0.80000000 0.90000000 + 0.10000000 0.90000000 0.00000000 + 0.10000000 0.90000000 0.10000000 + 0.10000000 0.90000000 0.20000000 + 0.10000000 0.90000000 0.30000000 + 0.10000000 0.90000000 0.40000000 + 0.10000000 0.90000000 0.50000000 + 0.10000000 0.90000000 0.60000000 + 0.10000000 0.90000000 0.70000000 + 0.10000000 0.90000000 0.80000000 + 0.10000000 0.90000000 0.90000000 + 0.20000000 0.00000000 0.00000000 + 0.20000000 0.00000000 0.10000000 + 0.20000000 0.00000000 0.20000000 + 0.20000000 0.00000000 0.30000000 + 0.20000000 0.00000000 0.40000000 + 0.20000000 0.00000000 0.50000000 + 0.20000000 0.00000000 0.60000000 + 0.20000000 0.00000000 0.70000000 + 0.20000000 0.00000000 0.80000000 + 0.20000000 0.00000000 0.90000000 + 0.20000000 0.10000000 0.00000000 + 0.20000000 0.10000000 0.10000000 + 0.20000000 0.10000000 0.20000000 + 0.20000000 0.10000000 0.30000000 + 0.20000000 0.10000000 0.40000000 + 0.20000000 0.10000000 0.50000000 + 0.20000000 0.10000000 0.60000000 + 0.20000000 0.10000000 0.70000000 + 0.20000000 0.10000000 0.80000000 + 0.20000000 0.10000000 0.90000000 + 0.20000000 0.20000000 0.00000000 + 0.20000000 0.20000000 0.10000000 + 0.20000000 0.20000000 0.20000000 + 0.20000000 0.20000000 0.30000000 + 0.20000000 0.20000000 0.40000000 + 0.20000000 0.20000000 0.50000000 + 0.20000000 0.20000000 0.60000000 + 0.20000000 0.20000000 0.70000000 + 0.20000000 0.20000000 0.80000000 + 0.20000000 0.20000000 0.90000000 + 0.20000000 0.30000000 0.00000000 + 0.20000000 0.30000000 0.10000000 + 0.20000000 0.30000000 0.20000000 + 0.20000000 0.30000000 0.30000000 + 0.20000000 0.30000000 0.40000000 + 0.20000000 0.30000000 0.50000000 + 0.20000000 0.30000000 0.60000000 + 0.20000000 0.30000000 0.70000000 + 0.20000000 0.30000000 0.80000000 + 0.20000000 0.30000000 0.90000000 + 0.20000000 0.40000000 0.00000000 + 0.20000000 0.40000000 0.10000000 + 0.20000000 0.40000000 0.20000000 + 0.20000000 0.40000000 0.30000000 + 0.20000000 0.40000000 0.40000000 + 0.20000000 0.40000000 0.50000000 + 0.20000000 0.40000000 0.60000000 + 0.20000000 0.40000000 0.70000000 + 0.20000000 0.40000000 0.80000000 + 0.20000000 0.40000000 0.90000000 + 0.20000000 0.50000000 0.00000000 + 0.20000000 0.50000000 0.10000000 + 0.20000000 0.50000000 0.20000000 + 0.20000000 0.50000000 0.30000000 + 0.20000000 0.50000000 0.40000000 + 0.20000000 0.50000000 0.50000000 + 0.20000000 0.50000000 0.60000000 + 0.20000000 0.50000000 0.70000000 + 0.20000000 0.50000000 0.80000000 + 0.20000000 0.50000000 0.90000000 + 0.20000000 0.60000000 0.00000000 + 0.20000000 0.60000000 0.10000000 + 0.20000000 0.60000000 0.20000000 + 0.20000000 0.60000000 0.30000000 + 0.20000000 0.60000000 0.40000000 + 0.20000000 0.60000000 0.50000000 + 0.20000000 0.60000000 0.60000000 + 0.20000000 0.60000000 0.70000000 + 0.20000000 0.60000000 0.80000000 + 0.20000000 0.60000000 0.90000000 + 0.20000000 0.70000000 0.00000000 + 0.20000000 0.70000000 0.10000000 + 0.20000000 0.70000000 0.20000000 + 0.20000000 0.70000000 0.30000000 + 0.20000000 0.70000000 0.40000000 + 0.20000000 0.70000000 0.50000000 + 0.20000000 0.70000000 0.60000000 + 0.20000000 0.70000000 0.70000000 + 0.20000000 0.70000000 0.80000000 + 0.20000000 0.70000000 0.90000000 + 0.20000000 0.80000000 0.00000000 + 0.20000000 0.80000000 0.10000000 + 0.20000000 0.80000000 0.20000000 + 0.20000000 0.80000000 0.30000000 + 0.20000000 0.80000000 0.40000000 + 0.20000000 0.80000000 0.50000000 + 0.20000000 0.80000000 0.60000000 + 0.20000000 0.80000000 0.70000000 + 0.20000000 0.80000000 0.80000000 + 0.20000000 0.80000000 0.90000000 + 0.20000000 0.90000000 0.00000000 + 0.20000000 0.90000000 0.10000000 + 0.20000000 0.90000000 0.20000000 + 0.20000000 0.90000000 0.30000000 + 0.20000000 0.90000000 0.40000000 + 0.20000000 0.90000000 0.50000000 + 0.20000000 0.90000000 0.60000000 + 0.20000000 0.90000000 0.70000000 + 0.20000000 0.90000000 0.80000000 + 0.20000000 0.90000000 0.90000000 + 0.30000000 0.00000000 0.00000000 + 0.30000000 0.00000000 0.10000000 + 0.30000000 0.00000000 0.20000000 + 0.30000000 0.00000000 0.30000000 + 0.30000000 0.00000000 0.40000000 + 0.30000000 0.00000000 0.50000000 + 0.30000000 0.00000000 0.60000000 + 0.30000000 0.00000000 0.70000000 + 0.30000000 0.00000000 0.80000000 + 0.30000000 0.00000000 0.90000000 + 0.30000000 0.10000000 0.00000000 + 0.30000000 0.10000000 0.10000000 + 0.30000000 0.10000000 0.20000000 + 0.30000000 0.10000000 0.30000000 + 0.30000000 0.10000000 0.40000000 + 0.30000000 0.10000000 0.50000000 + 0.30000000 0.10000000 0.60000000 + 0.30000000 0.10000000 0.70000000 + 0.30000000 0.10000000 0.80000000 + 0.30000000 0.10000000 0.90000000 + 0.30000000 0.20000000 0.00000000 + 0.30000000 0.20000000 0.10000000 + 0.30000000 0.20000000 0.20000000 + 0.30000000 0.20000000 0.30000000 + 0.30000000 0.20000000 0.40000000 + 0.30000000 0.20000000 0.50000000 + 0.30000000 0.20000000 0.60000000 + 0.30000000 0.20000000 0.70000000 + 0.30000000 0.20000000 0.80000000 + 0.30000000 0.20000000 0.90000000 + 0.30000000 0.30000000 0.00000000 + 0.30000000 0.30000000 0.10000000 + 0.30000000 0.30000000 0.20000000 + 0.30000000 0.30000000 0.30000000 + 0.30000000 0.30000000 0.40000000 + 0.30000000 0.30000000 0.50000000 + 0.30000000 0.30000000 0.60000000 + 0.30000000 0.30000000 0.70000000 + 0.30000000 0.30000000 0.80000000 + 0.30000000 0.30000000 0.90000000 + 0.30000000 0.40000000 0.00000000 + 0.30000000 0.40000000 0.10000000 + 0.30000000 0.40000000 0.20000000 + 0.30000000 0.40000000 0.30000000 + 0.30000000 0.40000000 0.40000000 + 0.30000000 0.40000000 0.50000000 + 0.30000000 0.40000000 0.60000000 + 0.30000000 0.40000000 0.70000000 + 0.30000000 0.40000000 0.80000000 + 0.30000000 0.40000000 0.90000000 + 0.30000000 0.50000000 0.00000000 + 0.30000000 0.50000000 0.10000000 + 0.30000000 0.50000000 0.20000000 + 0.30000000 0.50000000 0.30000000 + 0.30000000 0.50000000 0.40000000 + 0.30000000 0.50000000 0.50000000 + 0.30000000 0.50000000 0.60000000 + 0.30000000 0.50000000 0.70000000 + 0.30000000 0.50000000 0.80000000 + 0.30000000 0.50000000 0.90000000 + 0.30000000 0.60000000 0.00000000 + 0.30000000 0.60000000 0.10000000 + 0.30000000 0.60000000 0.20000000 + 0.30000000 0.60000000 0.30000000 + 0.30000000 0.60000000 0.40000000 + 0.30000000 0.60000000 0.50000000 + 0.30000000 0.60000000 0.60000000 + 0.30000000 0.60000000 0.70000000 + 0.30000000 0.60000000 0.80000000 + 0.30000000 0.60000000 0.90000000 + 0.30000000 0.70000000 0.00000000 + 0.30000000 0.70000000 0.10000000 + 0.30000000 0.70000000 0.20000000 + 0.30000000 0.70000000 0.30000000 + 0.30000000 0.70000000 0.40000000 + 0.30000000 0.70000000 0.50000000 + 0.30000000 0.70000000 0.60000000 + 0.30000000 0.70000000 0.70000000 + 0.30000000 0.70000000 0.80000000 + 0.30000000 0.70000000 0.90000000 + 0.30000000 0.80000000 0.00000000 + 0.30000000 0.80000000 0.10000000 + 0.30000000 0.80000000 0.20000000 + 0.30000000 0.80000000 0.30000000 + 0.30000000 0.80000000 0.40000000 + 0.30000000 0.80000000 0.50000000 + 0.30000000 0.80000000 0.60000000 + 0.30000000 0.80000000 0.70000000 + 0.30000000 0.80000000 0.80000000 + 0.30000000 0.80000000 0.90000000 + 0.30000000 0.90000000 0.00000000 + 0.30000000 0.90000000 0.10000000 + 0.30000000 0.90000000 0.20000000 + 0.30000000 0.90000000 0.30000000 + 0.30000000 0.90000000 0.40000000 + 0.30000000 0.90000000 0.50000000 + 0.30000000 0.90000000 0.60000000 + 0.30000000 0.90000000 0.70000000 + 0.30000000 0.90000000 0.80000000 + 0.30000000 0.90000000 0.90000000 + 0.40000000 0.00000000 0.00000000 + 0.40000000 0.00000000 0.10000000 + 0.40000000 0.00000000 0.20000000 + 0.40000000 0.00000000 0.30000000 + 0.40000000 0.00000000 0.40000000 + 0.40000000 0.00000000 0.50000000 + 0.40000000 0.00000000 0.60000000 + 0.40000000 0.00000000 0.70000000 + 0.40000000 0.00000000 0.80000000 + 0.40000000 0.00000000 0.90000000 + 0.40000000 0.10000000 0.00000000 + 0.40000000 0.10000000 0.10000000 + 0.40000000 0.10000000 0.20000000 + 0.40000000 0.10000000 0.30000000 + 0.40000000 0.10000000 0.40000000 + 0.40000000 0.10000000 0.50000000 + 0.40000000 0.10000000 0.60000000 + 0.40000000 0.10000000 0.70000000 + 0.40000000 0.10000000 0.80000000 + 0.40000000 0.10000000 0.90000000 + 0.40000000 0.20000000 0.00000000 + 0.40000000 0.20000000 0.10000000 + 0.40000000 0.20000000 0.20000000 + 0.40000000 0.20000000 0.30000000 + 0.40000000 0.20000000 0.40000000 + 0.40000000 0.20000000 0.50000000 + 0.40000000 0.20000000 0.60000000 + 0.40000000 0.20000000 0.70000000 + 0.40000000 0.20000000 0.80000000 + 0.40000000 0.20000000 0.90000000 + 0.40000000 0.30000000 0.00000000 + 0.40000000 0.30000000 0.10000000 + 0.40000000 0.30000000 0.20000000 + 0.40000000 0.30000000 0.30000000 + 0.40000000 0.30000000 0.40000000 + 0.40000000 0.30000000 0.50000000 + 0.40000000 0.30000000 0.60000000 + 0.40000000 0.30000000 0.70000000 + 0.40000000 0.30000000 0.80000000 + 0.40000000 0.30000000 0.90000000 + 0.40000000 0.40000000 0.00000000 + 0.40000000 0.40000000 0.10000000 + 0.40000000 0.40000000 0.20000000 + 0.40000000 0.40000000 0.30000000 + 0.40000000 0.40000000 0.40000000 + 0.40000000 0.40000000 0.50000000 + 0.40000000 0.40000000 0.60000000 + 0.40000000 0.40000000 0.70000000 + 0.40000000 0.40000000 0.80000000 + 0.40000000 0.40000000 0.90000000 + 0.40000000 0.50000000 0.00000000 + 0.40000000 0.50000000 0.10000000 + 0.40000000 0.50000000 0.20000000 + 0.40000000 0.50000000 0.30000000 + 0.40000000 0.50000000 0.40000000 + 0.40000000 0.50000000 0.50000000 + 0.40000000 0.50000000 0.60000000 + 0.40000000 0.50000000 0.70000000 + 0.40000000 0.50000000 0.80000000 + 0.40000000 0.50000000 0.90000000 + 0.40000000 0.60000000 0.00000000 + 0.40000000 0.60000000 0.10000000 + 0.40000000 0.60000000 0.20000000 + 0.40000000 0.60000000 0.30000000 + 0.40000000 0.60000000 0.40000000 + 0.40000000 0.60000000 0.50000000 + 0.40000000 0.60000000 0.60000000 + 0.40000000 0.60000000 0.70000000 + 0.40000000 0.60000000 0.80000000 + 0.40000000 0.60000000 0.90000000 + 0.40000000 0.70000000 0.00000000 + 0.40000000 0.70000000 0.10000000 + 0.40000000 0.70000000 0.20000000 + 0.40000000 0.70000000 0.30000000 + 0.40000000 0.70000000 0.40000000 + 0.40000000 0.70000000 0.50000000 + 0.40000000 0.70000000 0.60000000 + 0.40000000 0.70000000 0.70000000 + 0.40000000 0.70000000 0.80000000 + 0.40000000 0.70000000 0.90000000 + 0.40000000 0.80000000 0.00000000 + 0.40000000 0.80000000 0.10000000 + 0.40000000 0.80000000 0.20000000 + 0.40000000 0.80000000 0.30000000 + 0.40000000 0.80000000 0.40000000 + 0.40000000 0.80000000 0.50000000 + 0.40000000 0.80000000 0.60000000 + 0.40000000 0.80000000 0.70000000 + 0.40000000 0.80000000 0.80000000 + 0.40000000 0.80000000 0.90000000 + 0.40000000 0.90000000 0.00000000 + 0.40000000 0.90000000 0.10000000 + 0.40000000 0.90000000 0.20000000 + 0.40000000 0.90000000 0.30000000 + 0.40000000 0.90000000 0.40000000 + 0.40000000 0.90000000 0.50000000 + 0.40000000 0.90000000 0.60000000 + 0.40000000 0.90000000 0.70000000 + 0.40000000 0.90000000 0.80000000 + 0.40000000 0.90000000 0.90000000 + 0.50000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.10000000 + 0.50000000 0.00000000 0.20000000 + 0.50000000 0.00000000 0.30000000 + 0.50000000 0.00000000 0.40000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.00000000 0.60000000 + 0.50000000 0.00000000 0.70000000 + 0.50000000 0.00000000 0.80000000 + 0.50000000 0.00000000 0.90000000 + 0.50000000 0.10000000 0.00000000 + 0.50000000 0.10000000 0.10000000 + 0.50000000 0.10000000 0.20000000 + 0.50000000 0.10000000 0.30000000 + 0.50000000 0.10000000 0.40000000 + 0.50000000 0.10000000 0.50000000 + 0.50000000 0.10000000 0.60000000 + 0.50000000 0.10000000 0.70000000 + 0.50000000 0.10000000 0.80000000 + 0.50000000 0.10000000 0.90000000 + 0.50000000 0.20000000 0.00000000 + 0.50000000 0.20000000 0.10000000 + 0.50000000 0.20000000 0.20000000 + 0.50000000 0.20000000 0.30000000 + 0.50000000 0.20000000 0.40000000 + 0.50000000 0.20000000 0.50000000 + 0.50000000 0.20000000 0.60000000 + 0.50000000 0.20000000 0.70000000 + 0.50000000 0.20000000 0.80000000 + 0.50000000 0.20000000 0.90000000 + 0.50000000 0.30000000 0.00000000 + 0.50000000 0.30000000 0.10000000 + 0.50000000 0.30000000 0.20000000 + 0.50000000 0.30000000 0.30000000 + 0.50000000 0.30000000 0.40000000 + 0.50000000 0.30000000 0.50000000 + 0.50000000 0.30000000 0.60000000 + 0.50000000 0.30000000 0.70000000 + 0.50000000 0.30000000 0.80000000 + 0.50000000 0.30000000 0.90000000 + 0.50000000 0.40000000 0.00000000 + 0.50000000 0.40000000 0.10000000 + 0.50000000 0.40000000 0.20000000 + 0.50000000 0.40000000 0.30000000 + 0.50000000 0.40000000 0.40000000 + 0.50000000 0.40000000 0.50000000 + 0.50000000 0.40000000 0.60000000 + 0.50000000 0.40000000 0.70000000 + 0.50000000 0.40000000 0.80000000 + 0.50000000 0.40000000 0.90000000 + 0.50000000 0.50000000 0.00000000 + 0.50000000 0.50000000 0.10000000 + 0.50000000 0.50000000 0.20000000 + 0.50000000 0.50000000 0.30000000 + 0.50000000 0.50000000 0.40000000 + 0.50000000 0.50000000 0.50000000 + 0.50000000 0.50000000 0.60000000 + 0.50000000 0.50000000 0.70000000 + 0.50000000 0.50000000 0.80000000 + 0.50000000 0.50000000 0.90000000 + 0.50000000 0.60000000 0.00000000 + 0.50000000 0.60000000 0.10000000 + 0.50000000 0.60000000 0.20000000 + 0.50000000 0.60000000 0.30000000 + 0.50000000 0.60000000 0.40000000 + 0.50000000 0.60000000 0.50000000 + 0.50000000 0.60000000 0.60000000 + 0.50000000 0.60000000 0.70000000 + 0.50000000 0.60000000 0.80000000 + 0.50000000 0.60000000 0.90000000 + 0.50000000 0.70000000 0.00000000 + 0.50000000 0.70000000 0.10000000 + 0.50000000 0.70000000 0.20000000 + 0.50000000 0.70000000 0.30000000 + 0.50000000 0.70000000 0.40000000 + 0.50000000 0.70000000 0.50000000 + 0.50000000 0.70000000 0.60000000 + 0.50000000 0.70000000 0.70000000 + 0.50000000 0.70000000 0.80000000 + 0.50000000 0.70000000 0.90000000 + 0.50000000 0.80000000 0.00000000 + 0.50000000 0.80000000 0.10000000 + 0.50000000 0.80000000 0.20000000 + 0.50000000 0.80000000 0.30000000 + 0.50000000 0.80000000 0.40000000 + 0.50000000 0.80000000 0.50000000 + 0.50000000 0.80000000 0.60000000 + 0.50000000 0.80000000 0.70000000 + 0.50000000 0.80000000 0.80000000 + 0.50000000 0.80000000 0.90000000 + 0.50000000 0.90000000 0.00000000 + 0.50000000 0.90000000 0.10000000 + 0.50000000 0.90000000 0.20000000 + 0.50000000 0.90000000 0.30000000 + 0.50000000 0.90000000 0.40000000 + 0.50000000 0.90000000 0.50000000 + 0.50000000 0.90000000 0.60000000 + 0.50000000 0.90000000 0.70000000 + 0.50000000 0.90000000 0.80000000 + 0.50000000 0.90000000 0.90000000 + 0.60000000 0.00000000 0.00000000 + 0.60000000 0.00000000 0.10000000 + 0.60000000 0.00000000 0.20000000 + 0.60000000 0.00000000 0.30000000 + 0.60000000 0.00000000 0.40000000 + 0.60000000 0.00000000 0.50000000 + 0.60000000 0.00000000 0.60000000 + 0.60000000 0.00000000 0.70000000 + 0.60000000 0.00000000 0.80000000 + 0.60000000 0.00000000 0.90000000 + 0.60000000 0.10000000 0.00000000 + 0.60000000 0.10000000 0.10000000 + 0.60000000 0.10000000 0.20000000 + 0.60000000 0.10000000 0.30000000 + 0.60000000 0.10000000 0.40000000 + 0.60000000 0.10000000 0.50000000 + 0.60000000 0.10000000 0.60000000 + 0.60000000 0.10000000 0.70000000 + 0.60000000 0.10000000 0.80000000 + 0.60000000 0.10000000 0.90000000 + 0.60000000 0.20000000 0.00000000 + 0.60000000 0.20000000 0.10000000 + 0.60000000 0.20000000 0.20000000 + 0.60000000 0.20000000 0.30000000 + 0.60000000 0.20000000 0.40000000 + 0.60000000 0.20000000 0.50000000 + 0.60000000 0.20000000 0.60000000 + 0.60000000 0.20000000 0.70000000 + 0.60000000 0.20000000 0.80000000 + 0.60000000 0.20000000 0.90000000 + 0.60000000 0.30000000 0.00000000 + 0.60000000 0.30000000 0.10000000 + 0.60000000 0.30000000 0.20000000 + 0.60000000 0.30000000 0.30000000 + 0.60000000 0.30000000 0.40000000 + 0.60000000 0.30000000 0.50000000 + 0.60000000 0.30000000 0.60000000 + 0.60000000 0.30000000 0.70000000 + 0.60000000 0.30000000 0.80000000 + 0.60000000 0.30000000 0.90000000 + 0.60000000 0.40000000 0.00000000 + 0.60000000 0.40000000 0.10000000 + 0.60000000 0.40000000 0.20000000 + 0.60000000 0.40000000 0.30000000 + 0.60000000 0.40000000 0.40000000 + 0.60000000 0.40000000 0.50000000 + 0.60000000 0.40000000 0.60000000 + 0.60000000 0.40000000 0.70000000 + 0.60000000 0.40000000 0.80000000 + 0.60000000 0.40000000 0.90000000 + 0.60000000 0.50000000 0.00000000 + 0.60000000 0.50000000 0.10000000 + 0.60000000 0.50000000 0.20000000 + 0.60000000 0.50000000 0.30000000 + 0.60000000 0.50000000 0.40000000 + 0.60000000 0.50000000 0.50000000 + 0.60000000 0.50000000 0.60000000 + 0.60000000 0.50000000 0.70000000 + 0.60000000 0.50000000 0.80000000 + 0.60000000 0.50000000 0.90000000 + 0.60000000 0.60000000 0.00000000 + 0.60000000 0.60000000 0.10000000 + 0.60000000 0.60000000 0.20000000 + 0.60000000 0.60000000 0.30000000 + 0.60000000 0.60000000 0.40000000 + 0.60000000 0.60000000 0.50000000 + 0.60000000 0.60000000 0.60000000 + 0.60000000 0.60000000 0.70000000 + 0.60000000 0.60000000 0.80000000 + 0.60000000 0.60000000 0.90000000 + 0.60000000 0.70000000 0.00000000 + 0.60000000 0.70000000 0.10000000 + 0.60000000 0.70000000 0.20000000 + 0.60000000 0.70000000 0.30000000 + 0.60000000 0.70000000 0.40000000 + 0.60000000 0.70000000 0.50000000 + 0.60000000 0.70000000 0.60000000 + 0.60000000 0.70000000 0.70000000 + 0.60000000 0.70000000 0.80000000 + 0.60000000 0.70000000 0.90000000 + 0.60000000 0.80000000 0.00000000 + 0.60000000 0.80000000 0.10000000 + 0.60000000 0.80000000 0.20000000 + 0.60000000 0.80000000 0.30000000 + 0.60000000 0.80000000 0.40000000 + 0.60000000 0.80000000 0.50000000 + 0.60000000 0.80000000 0.60000000 + 0.60000000 0.80000000 0.70000000 + 0.60000000 0.80000000 0.80000000 + 0.60000000 0.80000000 0.90000000 + 0.60000000 0.90000000 0.00000000 + 0.60000000 0.90000000 0.10000000 + 0.60000000 0.90000000 0.20000000 + 0.60000000 0.90000000 0.30000000 + 0.60000000 0.90000000 0.40000000 + 0.60000000 0.90000000 0.50000000 + 0.60000000 0.90000000 0.60000000 + 0.60000000 0.90000000 0.70000000 + 0.60000000 0.90000000 0.80000000 + 0.60000000 0.90000000 0.90000000 + 0.70000000 0.00000000 0.00000000 + 0.70000000 0.00000000 0.10000000 + 0.70000000 0.00000000 0.20000000 + 0.70000000 0.00000000 0.30000000 + 0.70000000 0.00000000 0.40000000 + 0.70000000 0.00000000 0.50000000 + 0.70000000 0.00000000 0.60000000 + 0.70000000 0.00000000 0.70000000 + 0.70000000 0.00000000 0.80000000 + 0.70000000 0.00000000 0.90000000 + 0.70000000 0.10000000 0.00000000 + 0.70000000 0.10000000 0.10000000 + 0.70000000 0.10000000 0.20000000 + 0.70000000 0.10000000 0.30000000 + 0.70000000 0.10000000 0.40000000 + 0.70000000 0.10000000 0.50000000 + 0.70000000 0.10000000 0.60000000 + 0.70000000 0.10000000 0.70000000 + 0.70000000 0.10000000 0.80000000 + 0.70000000 0.10000000 0.90000000 + 0.70000000 0.20000000 0.00000000 + 0.70000000 0.20000000 0.10000000 + 0.70000000 0.20000000 0.20000000 + 0.70000000 0.20000000 0.30000000 + 0.70000000 0.20000000 0.40000000 + 0.70000000 0.20000000 0.50000000 + 0.70000000 0.20000000 0.60000000 + 0.70000000 0.20000000 0.70000000 + 0.70000000 0.20000000 0.80000000 + 0.70000000 0.20000000 0.90000000 + 0.70000000 0.30000000 0.00000000 + 0.70000000 0.30000000 0.10000000 + 0.70000000 0.30000000 0.20000000 + 0.70000000 0.30000000 0.30000000 + 0.70000000 0.30000000 0.40000000 + 0.70000000 0.30000000 0.50000000 + 0.70000000 0.30000000 0.60000000 + 0.70000000 0.30000000 0.70000000 + 0.70000000 0.30000000 0.80000000 + 0.70000000 0.30000000 0.90000000 + 0.70000000 0.40000000 0.00000000 + 0.70000000 0.40000000 0.10000000 + 0.70000000 0.40000000 0.20000000 + 0.70000000 0.40000000 0.30000000 + 0.70000000 0.40000000 0.40000000 + 0.70000000 0.40000000 0.50000000 + 0.70000000 0.40000000 0.60000000 + 0.70000000 0.40000000 0.70000000 + 0.70000000 0.40000000 0.80000000 + 0.70000000 0.40000000 0.90000000 + 0.70000000 0.50000000 0.00000000 + 0.70000000 0.50000000 0.10000000 + 0.70000000 0.50000000 0.20000000 + 0.70000000 0.50000000 0.30000000 + 0.70000000 0.50000000 0.40000000 + 0.70000000 0.50000000 0.50000000 + 0.70000000 0.50000000 0.60000000 + 0.70000000 0.50000000 0.70000000 + 0.70000000 0.50000000 0.80000000 + 0.70000000 0.50000000 0.90000000 + 0.70000000 0.60000000 0.00000000 + 0.70000000 0.60000000 0.10000000 + 0.70000000 0.60000000 0.20000000 + 0.70000000 0.60000000 0.30000000 + 0.70000000 0.60000000 0.40000000 + 0.70000000 0.60000000 0.50000000 + 0.70000000 0.60000000 0.60000000 + 0.70000000 0.60000000 0.70000000 + 0.70000000 0.60000000 0.80000000 + 0.70000000 0.60000000 0.90000000 + 0.70000000 0.70000000 0.00000000 + 0.70000000 0.70000000 0.10000000 + 0.70000000 0.70000000 0.20000000 + 0.70000000 0.70000000 0.30000000 + 0.70000000 0.70000000 0.40000000 + 0.70000000 0.70000000 0.50000000 + 0.70000000 0.70000000 0.60000000 + 0.70000000 0.70000000 0.70000000 + 0.70000000 0.70000000 0.80000000 + 0.70000000 0.70000000 0.90000000 + 0.70000000 0.80000000 0.00000000 + 0.70000000 0.80000000 0.10000000 + 0.70000000 0.80000000 0.20000000 + 0.70000000 0.80000000 0.30000000 + 0.70000000 0.80000000 0.40000000 + 0.70000000 0.80000000 0.50000000 + 0.70000000 0.80000000 0.60000000 + 0.70000000 0.80000000 0.70000000 + 0.70000000 0.80000000 0.80000000 + 0.70000000 0.80000000 0.90000000 + 0.70000000 0.90000000 0.00000000 + 0.70000000 0.90000000 0.10000000 + 0.70000000 0.90000000 0.20000000 + 0.70000000 0.90000000 0.30000000 + 0.70000000 0.90000000 0.40000000 + 0.70000000 0.90000000 0.50000000 + 0.70000000 0.90000000 0.60000000 + 0.70000000 0.90000000 0.70000000 + 0.70000000 0.90000000 0.80000000 + 0.70000000 0.90000000 0.90000000 + 0.80000000 0.00000000 0.00000000 + 0.80000000 0.00000000 0.10000000 + 0.80000000 0.00000000 0.20000000 + 0.80000000 0.00000000 0.30000000 + 0.80000000 0.00000000 0.40000000 + 0.80000000 0.00000000 0.50000000 + 0.80000000 0.00000000 0.60000000 + 0.80000000 0.00000000 0.70000000 + 0.80000000 0.00000000 0.80000000 + 0.80000000 0.00000000 0.90000000 + 0.80000000 0.10000000 0.00000000 + 0.80000000 0.10000000 0.10000000 + 0.80000000 0.10000000 0.20000000 + 0.80000000 0.10000000 0.30000000 + 0.80000000 0.10000000 0.40000000 + 0.80000000 0.10000000 0.50000000 + 0.80000000 0.10000000 0.60000000 + 0.80000000 0.10000000 0.70000000 + 0.80000000 0.10000000 0.80000000 + 0.80000000 0.10000000 0.90000000 + 0.80000000 0.20000000 0.00000000 + 0.80000000 0.20000000 0.10000000 + 0.80000000 0.20000000 0.20000000 + 0.80000000 0.20000000 0.30000000 + 0.80000000 0.20000000 0.40000000 + 0.80000000 0.20000000 0.50000000 + 0.80000000 0.20000000 0.60000000 + 0.80000000 0.20000000 0.70000000 + 0.80000000 0.20000000 0.80000000 + 0.80000000 0.20000000 0.90000000 + 0.80000000 0.30000000 0.00000000 + 0.80000000 0.30000000 0.10000000 + 0.80000000 0.30000000 0.20000000 + 0.80000000 0.30000000 0.30000000 + 0.80000000 0.30000000 0.40000000 + 0.80000000 0.30000000 0.50000000 + 0.80000000 0.30000000 0.60000000 + 0.80000000 0.30000000 0.70000000 + 0.80000000 0.30000000 0.80000000 + 0.80000000 0.30000000 0.90000000 + 0.80000000 0.40000000 0.00000000 + 0.80000000 0.40000000 0.10000000 + 0.80000000 0.40000000 0.20000000 + 0.80000000 0.40000000 0.30000000 + 0.80000000 0.40000000 0.40000000 + 0.80000000 0.40000000 0.50000000 + 0.80000000 0.40000000 0.60000000 + 0.80000000 0.40000000 0.70000000 + 0.80000000 0.40000000 0.80000000 + 0.80000000 0.40000000 0.90000000 + 0.80000000 0.50000000 0.00000000 + 0.80000000 0.50000000 0.10000000 + 0.80000000 0.50000000 0.20000000 + 0.80000000 0.50000000 0.30000000 + 0.80000000 0.50000000 0.40000000 + 0.80000000 0.50000000 0.50000000 + 0.80000000 0.50000000 0.60000000 + 0.80000000 0.50000000 0.70000000 + 0.80000000 0.50000000 0.80000000 + 0.80000000 0.50000000 0.90000000 + 0.80000000 0.60000000 0.00000000 + 0.80000000 0.60000000 0.10000000 + 0.80000000 0.60000000 0.20000000 + 0.80000000 0.60000000 0.30000000 + 0.80000000 0.60000000 0.40000000 + 0.80000000 0.60000000 0.50000000 + 0.80000000 0.60000000 0.60000000 + 0.80000000 0.60000000 0.70000000 + 0.80000000 0.60000000 0.80000000 + 0.80000000 0.60000000 0.90000000 + 0.80000000 0.70000000 0.00000000 + 0.80000000 0.70000000 0.10000000 + 0.80000000 0.70000000 0.20000000 + 0.80000000 0.70000000 0.30000000 + 0.80000000 0.70000000 0.40000000 + 0.80000000 0.70000000 0.50000000 + 0.80000000 0.70000000 0.60000000 + 0.80000000 0.70000000 0.70000000 + 0.80000000 0.70000000 0.80000000 + 0.80000000 0.70000000 0.90000000 + 0.80000000 0.80000000 0.00000000 + 0.80000000 0.80000000 0.10000000 + 0.80000000 0.80000000 0.20000000 + 0.80000000 0.80000000 0.30000000 + 0.80000000 0.80000000 0.40000000 + 0.80000000 0.80000000 0.50000000 + 0.80000000 0.80000000 0.60000000 + 0.80000000 0.80000000 0.70000000 + 0.80000000 0.80000000 0.80000000 + 0.80000000 0.80000000 0.90000000 + 0.80000000 0.90000000 0.00000000 + 0.80000000 0.90000000 0.10000000 + 0.80000000 0.90000000 0.20000000 + 0.80000000 0.90000000 0.30000000 + 0.80000000 0.90000000 0.40000000 + 0.80000000 0.90000000 0.50000000 + 0.80000000 0.90000000 0.60000000 + 0.80000000 0.90000000 0.70000000 + 0.80000000 0.90000000 0.80000000 + 0.80000000 0.90000000 0.90000000 + 0.90000000 0.00000000 0.00000000 + 0.90000000 0.00000000 0.10000000 + 0.90000000 0.00000000 0.20000000 + 0.90000000 0.00000000 0.30000000 + 0.90000000 0.00000000 0.40000000 + 0.90000000 0.00000000 0.50000000 + 0.90000000 0.00000000 0.60000000 + 0.90000000 0.00000000 0.70000000 + 0.90000000 0.00000000 0.80000000 + 0.90000000 0.00000000 0.90000000 + 0.90000000 0.10000000 0.00000000 + 0.90000000 0.10000000 0.10000000 + 0.90000000 0.10000000 0.20000000 + 0.90000000 0.10000000 0.30000000 + 0.90000000 0.10000000 0.40000000 + 0.90000000 0.10000000 0.50000000 + 0.90000000 0.10000000 0.60000000 + 0.90000000 0.10000000 0.70000000 + 0.90000000 0.10000000 0.80000000 + 0.90000000 0.10000000 0.90000000 + 0.90000000 0.20000000 0.00000000 + 0.90000000 0.20000000 0.10000000 + 0.90000000 0.20000000 0.20000000 + 0.90000000 0.20000000 0.30000000 + 0.90000000 0.20000000 0.40000000 + 0.90000000 0.20000000 0.50000000 + 0.90000000 0.20000000 0.60000000 + 0.90000000 0.20000000 0.70000000 + 0.90000000 0.20000000 0.80000000 + 0.90000000 0.20000000 0.90000000 + 0.90000000 0.30000000 0.00000000 + 0.90000000 0.30000000 0.10000000 + 0.90000000 0.30000000 0.20000000 + 0.90000000 0.30000000 0.30000000 + 0.90000000 0.30000000 0.40000000 + 0.90000000 0.30000000 0.50000000 + 0.90000000 0.30000000 0.60000000 + 0.90000000 0.30000000 0.70000000 + 0.90000000 0.30000000 0.80000000 + 0.90000000 0.30000000 0.90000000 + 0.90000000 0.40000000 0.00000000 + 0.90000000 0.40000000 0.10000000 + 0.90000000 0.40000000 0.20000000 + 0.90000000 0.40000000 0.30000000 + 0.90000000 0.40000000 0.40000000 + 0.90000000 0.40000000 0.50000000 + 0.90000000 0.40000000 0.60000000 + 0.90000000 0.40000000 0.70000000 + 0.90000000 0.40000000 0.80000000 + 0.90000000 0.40000000 0.90000000 + 0.90000000 0.50000000 0.00000000 + 0.90000000 0.50000000 0.10000000 + 0.90000000 0.50000000 0.20000000 + 0.90000000 0.50000000 0.30000000 + 0.90000000 0.50000000 0.40000000 + 0.90000000 0.50000000 0.50000000 + 0.90000000 0.50000000 0.60000000 + 0.90000000 0.50000000 0.70000000 + 0.90000000 0.50000000 0.80000000 + 0.90000000 0.50000000 0.90000000 + 0.90000000 0.60000000 0.00000000 + 0.90000000 0.60000000 0.10000000 + 0.90000000 0.60000000 0.20000000 + 0.90000000 0.60000000 0.30000000 + 0.90000000 0.60000000 0.40000000 + 0.90000000 0.60000000 0.50000000 + 0.90000000 0.60000000 0.60000000 + 0.90000000 0.60000000 0.70000000 + 0.90000000 0.60000000 0.80000000 + 0.90000000 0.60000000 0.90000000 + 0.90000000 0.70000000 0.00000000 + 0.90000000 0.70000000 0.10000000 + 0.90000000 0.70000000 0.20000000 + 0.90000000 0.70000000 0.30000000 + 0.90000000 0.70000000 0.40000000 + 0.90000000 0.70000000 0.50000000 + 0.90000000 0.70000000 0.60000000 + 0.90000000 0.70000000 0.70000000 + 0.90000000 0.70000000 0.80000000 + 0.90000000 0.70000000 0.90000000 + 0.90000000 0.80000000 0.00000000 + 0.90000000 0.80000000 0.10000000 + 0.90000000 0.80000000 0.20000000 + 0.90000000 0.80000000 0.30000000 + 0.90000000 0.80000000 0.40000000 + 0.90000000 0.80000000 0.50000000 + 0.90000000 0.80000000 0.60000000 + 0.90000000 0.80000000 0.70000000 + 0.90000000 0.80000000 0.80000000 + 0.90000000 0.80000000 0.90000000 + 0.90000000 0.90000000 0.00000000 + 0.90000000 0.90000000 0.10000000 + 0.90000000 0.90000000 0.20000000 + 0.90000000 0.90000000 0.30000000 + 0.90000000 0.90000000 0.40000000 + 0.90000000 0.90000000 0.50000000 + 0.90000000 0.90000000 0.60000000 + 0.90000000 0.90000000 0.70000000 + 0.90000000 0.90000000 0.80000000 + 0.90000000 0.90000000 0.90000000 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/graphite.win b/nexus/tests/unit/test_wannier90_input_files/graphite.win new file mode 100644 index 0000000000..9ddfb3c838 --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/graphite.win @@ -0,0 +1,110 @@ +num_bands = 20 +num_wann = 10 + +dis_win_max = 19.2d0 +dis_froz_max = 9.8d0 +dis_num_iter = 300 +num_iter = 200 +num_print_cycles = 10 + + +guiding_centres = true + +bands_plot = true + +begin kpoint_path +G 0.0000000000 0.0000000000 0.0000000000 M 0.5000000000 -0.5000000000 0.0000000000 +M 0.5000000000 -0.5000000000 0.0000000000 K 0.6666666667 -0.3333333333 0.0000000000 +K 0.6666666667 -0.3333333333 0.0000000000 G 0.0000000000 0.0000000000 0.0000000000 +G 0.0000000000 0.0000000000 0.0000000000 A 0.0000000000 0.0000000000 0.5000000000 +end kpoint_path + + +Begin Atoms_Frac +C2 0.0000000000 0.0000000000 0.2500000000 +C1 0.0000000000 0.0000000000 0.7500000000 +C1 0.3333333333 0.6666666667 0.2500000000 +C2 -0.3333333333 -0.6666666667 0.7500000000 +End Atoms_Frac + +Begin Projections +C1:sp2;pz +C2:pz +End Projections + +Begin Unit_Cell_Cart + 2.1304215583 -1.2299994602 0.0000000000 + 0.0000000000 2.4599989204 0.0000000000 + 0.0000000000 0.0000000000 6.8000000000 +End Unit_Cell_Cart + + +mp_grid = 4 4 4 + + +begin kpoints + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.25000000 + 0.00000000 0.00000000 0.50000000 + 0.00000000 0.00000000 0.75000000 + 0.00000000 0.25000000 0.00000000 + 0.00000000 0.25000000 0.25000000 + 0.00000000 0.25000000 0.50000000 + 0.00000000 0.25000000 0.75000000 + 0.00000000 0.50000000 0.00000000 + 0.00000000 0.50000000 0.25000000 + 0.00000000 0.50000000 0.50000000 + 0.00000000 0.50000000 0.75000000 + 0.00000000 0.75000000 0.00000000 + 0.00000000 0.75000000 0.25000000 + 0.00000000 0.75000000 0.50000000 + 0.00000000 0.75000000 0.75000000 + 0.25000000 0.00000000 0.00000000 + 0.25000000 0.00000000 0.25000000 + 0.25000000 0.00000000 0.50000000 + 0.25000000 0.00000000 0.75000000 + 0.25000000 0.25000000 0.00000000 + 0.25000000 0.25000000 0.25000000 + 0.25000000 0.25000000 0.50000000 + 0.25000000 0.25000000 0.75000000 + 0.25000000 0.50000000 0.00000000 + 0.25000000 0.50000000 0.25000000 + 0.25000000 0.50000000 0.50000000 + 0.25000000 0.50000000 0.75000000 + 0.25000000 0.75000000 0.00000000 + 0.25000000 0.75000000 0.25000000 + 0.25000000 0.75000000 0.50000000 + 0.25000000 0.75000000 0.75000000 + 0.50000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.25000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.00000000 0.75000000 + 0.50000000 0.25000000 0.00000000 + 0.50000000 0.25000000 0.25000000 + 0.50000000 0.25000000 0.50000000 + 0.50000000 0.25000000 0.75000000 + 0.50000000 0.50000000 0.00000000 + 0.50000000 0.50000000 0.25000000 + 0.50000000 0.50000000 0.50000000 + 0.50000000 0.50000000 0.75000000 + 0.50000000 0.75000000 0.00000000 + 0.50000000 0.75000000 0.25000000 + 0.50000000 0.75000000 0.50000000 + 0.50000000 0.75000000 0.75000000 + 0.75000000 0.00000000 0.00000000 + 0.75000000 0.00000000 0.25000000 + 0.75000000 0.00000000 0.50000000 + 0.75000000 0.00000000 0.75000000 + 0.75000000 0.25000000 0.00000000 + 0.75000000 0.25000000 0.25000000 + 0.75000000 0.25000000 0.50000000 + 0.75000000 0.25000000 0.75000000 + 0.75000000 0.50000000 0.00000000 + 0.75000000 0.50000000 0.25000000 + 0.75000000 0.50000000 0.50000000 + 0.75000000 0.50000000 0.75000000 + 0.75000000 0.75000000 0.00000000 + 0.75000000 0.75000000 0.25000000 + 0.75000000 0.75000000 0.50000000 + 0.75000000 0.75000000 0.75000000 +End Kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/iron_dn.win b/nexus/tests/unit/test_wannier90_input_files/iron_dn.win new file mode 100644 index 0000000000..e87068c72a --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/iron_dn.win @@ -0,0 +1,554 @@ +num_bands = 14 +num_wann = 9 + +bands_plot = true +dis_win_max = 70.0d0 +dis_froz_max = 30.0d0 +dis_num_iter = 500 + +num_iter = 400 +mp_grid = 8 8 8 + +dis_mix_ratio = 1.0 + +begin atoms_frac +Fe 0.000 0.000 0.000 +end atoms_frac + +begin projections +Fe:s;p;d +end projections + +begin kpoint_path +G 0.0000 0.0000 0.0000 H 0.500 -0.5000 -0.5000 +H 0.500 -0.5000 -0.5000 P 0.7500 0.2500 -0.2500 +P 0.7500 0.2500 -0.2500 N 0.5000 0.0000 -0.5000 +N 0.5000 0.0000 -0.5000 G 0.0000 0.0000 0.000 +G 0.0000 0.0000 0.000 H 0.5 0.5 0.5 +H 0.5 0.5 0.5 N 0.5 0.0 0.0 +N 0.5 0.0 0.0 G 0.0 0.0 0.0 +G 0.0 0.0 0.0 P 0.75 0.25 -0.25 +P 0.75 0.25 -0.25 N 0.5 0.0 0.0 +end kpoint_path + +begin unit_cell_cart +bohr + 2.71175 2.71175 2.71175 +-2.71175 2.71175 2.71175 +-2.71175 -2.71175 2.71175 +end unit_cell_cart + +begin kpoints + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.12500000 + 0.00000000 0.00000000 0.25000000 + 0.00000000 0.00000000 0.37500000 + 0.00000000 0.00000000 0.50000000 + 0.00000000 0.00000000 0.62500000 + 0.00000000 0.00000000 0.75000000 + 0.00000000 0.00000000 0.87500000 + 0.00000000 0.12500000 0.00000000 + 0.00000000 0.12500000 0.12500000 + 0.00000000 0.12500000 0.25000000 + 0.00000000 0.12500000 0.37500000 + 0.00000000 0.12500000 0.50000000 + 0.00000000 0.12500000 0.62500000 + 0.00000000 0.12500000 0.75000000 + 0.00000000 0.12500000 0.87500000 + 0.00000000 0.25000000 0.00000000 + 0.00000000 0.25000000 0.12500000 + 0.00000000 0.25000000 0.25000000 + 0.00000000 0.25000000 0.37500000 + 0.00000000 0.25000000 0.50000000 + 0.00000000 0.25000000 0.62500000 + 0.00000000 0.25000000 0.75000000 + 0.00000000 0.25000000 0.87500000 + 0.00000000 0.37500000 0.00000000 + 0.00000000 0.37500000 0.12500000 + 0.00000000 0.37500000 0.25000000 + 0.00000000 0.37500000 0.37500000 + 0.00000000 0.37500000 0.50000000 + 0.00000000 0.37500000 0.62500000 + 0.00000000 0.37500000 0.75000000 + 0.00000000 0.37500000 0.87500000 + 0.00000000 0.50000000 0.00000000 + 0.00000000 0.50000000 0.12500000 + 0.00000000 0.50000000 0.25000000 + 0.00000000 0.50000000 0.37500000 + 0.00000000 0.50000000 0.50000000 + 0.00000000 0.50000000 0.62500000 + 0.00000000 0.50000000 0.75000000 + 0.00000000 0.50000000 0.87500000 + 0.00000000 0.62500000 0.00000000 + 0.00000000 0.62500000 0.12500000 + 0.00000000 0.62500000 0.25000000 + 0.00000000 0.62500000 0.37500000 + 0.00000000 0.62500000 0.50000000 + 0.00000000 0.62500000 0.62500000 + 0.00000000 0.62500000 0.75000000 + 0.00000000 0.62500000 0.87500000 + 0.00000000 0.75000000 0.00000000 + 0.00000000 0.75000000 0.12500000 + 0.00000000 0.75000000 0.25000000 + 0.00000000 0.75000000 0.37500000 + 0.00000000 0.75000000 0.50000000 + 0.00000000 0.75000000 0.62500000 + 0.00000000 0.75000000 0.75000000 + 0.00000000 0.75000000 0.87500000 + 0.00000000 0.87500000 0.00000000 + 0.00000000 0.87500000 0.12500000 + 0.00000000 0.87500000 0.25000000 + 0.00000000 0.87500000 0.37500000 + 0.00000000 0.87500000 0.50000000 + 0.00000000 0.87500000 0.62500000 + 0.00000000 0.87500000 0.75000000 + 0.00000000 0.87500000 0.87500000 + 0.12500000 0.00000000 0.00000000 + 0.12500000 0.00000000 0.12500000 + 0.12500000 0.00000000 0.25000000 + 0.12500000 0.00000000 0.37500000 + 0.12500000 0.00000000 0.50000000 + 0.12500000 0.00000000 0.62500000 + 0.12500000 0.00000000 0.75000000 + 0.12500000 0.00000000 0.87500000 + 0.12500000 0.12500000 0.00000000 + 0.12500000 0.12500000 0.12500000 + 0.12500000 0.12500000 0.25000000 + 0.12500000 0.12500000 0.37500000 + 0.12500000 0.12500000 0.50000000 + 0.12500000 0.12500000 0.62500000 + 0.12500000 0.12500000 0.75000000 + 0.12500000 0.12500000 0.87500000 + 0.12500000 0.25000000 0.00000000 + 0.12500000 0.25000000 0.12500000 + 0.12500000 0.25000000 0.25000000 + 0.12500000 0.25000000 0.37500000 + 0.12500000 0.25000000 0.50000000 + 0.12500000 0.25000000 0.62500000 + 0.12500000 0.25000000 0.75000000 + 0.12500000 0.25000000 0.87500000 + 0.12500000 0.37500000 0.00000000 + 0.12500000 0.37500000 0.12500000 + 0.12500000 0.37500000 0.25000000 + 0.12500000 0.37500000 0.37500000 + 0.12500000 0.37500000 0.50000000 + 0.12500000 0.37500000 0.62500000 + 0.12500000 0.37500000 0.75000000 + 0.12500000 0.37500000 0.87500000 + 0.12500000 0.50000000 0.00000000 + 0.12500000 0.50000000 0.12500000 + 0.12500000 0.50000000 0.25000000 + 0.12500000 0.50000000 0.37500000 + 0.12500000 0.50000000 0.50000000 + 0.12500000 0.50000000 0.62500000 + 0.12500000 0.50000000 0.75000000 + 0.12500000 0.50000000 0.87500000 + 0.12500000 0.62500000 0.00000000 + 0.12500000 0.62500000 0.12500000 + 0.12500000 0.62500000 0.25000000 + 0.12500000 0.62500000 0.37500000 + 0.12500000 0.62500000 0.50000000 + 0.12500000 0.62500000 0.62500000 + 0.12500000 0.62500000 0.75000000 + 0.12500000 0.62500000 0.87500000 + 0.12500000 0.75000000 0.00000000 + 0.12500000 0.75000000 0.12500000 + 0.12500000 0.75000000 0.25000000 + 0.12500000 0.75000000 0.37500000 + 0.12500000 0.75000000 0.50000000 + 0.12500000 0.75000000 0.62500000 + 0.12500000 0.75000000 0.75000000 + 0.12500000 0.75000000 0.87500000 + 0.12500000 0.87500000 0.00000000 + 0.12500000 0.87500000 0.12500000 + 0.12500000 0.87500000 0.25000000 + 0.12500000 0.87500000 0.37500000 + 0.12500000 0.87500000 0.50000000 + 0.12500000 0.87500000 0.62500000 + 0.12500000 0.87500000 0.75000000 + 0.12500000 0.87500000 0.87500000 + 0.25000000 0.00000000 0.00000000 + 0.25000000 0.00000000 0.12500000 + 0.25000000 0.00000000 0.25000000 + 0.25000000 0.00000000 0.37500000 + 0.25000000 0.00000000 0.50000000 + 0.25000000 0.00000000 0.62500000 + 0.25000000 0.00000000 0.75000000 + 0.25000000 0.00000000 0.87500000 + 0.25000000 0.12500000 0.00000000 + 0.25000000 0.12500000 0.12500000 + 0.25000000 0.12500000 0.25000000 + 0.25000000 0.12500000 0.37500000 + 0.25000000 0.12500000 0.50000000 + 0.25000000 0.12500000 0.62500000 + 0.25000000 0.12500000 0.75000000 + 0.25000000 0.12500000 0.87500000 + 0.25000000 0.25000000 0.00000000 + 0.25000000 0.25000000 0.12500000 + 0.25000000 0.25000000 0.25000000 + 0.25000000 0.25000000 0.37500000 + 0.25000000 0.25000000 0.50000000 + 0.25000000 0.25000000 0.62500000 + 0.25000000 0.25000000 0.75000000 + 0.25000000 0.25000000 0.87500000 + 0.25000000 0.37500000 0.00000000 + 0.25000000 0.37500000 0.12500000 + 0.25000000 0.37500000 0.25000000 + 0.25000000 0.37500000 0.37500000 + 0.25000000 0.37500000 0.50000000 + 0.25000000 0.37500000 0.62500000 + 0.25000000 0.37500000 0.75000000 + 0.25000000 0.37500000 0.87500000 + 0.25000000 0.50000000 0.00000000 + 0.25000000 0.50000000 0.12500000 + 0.25000000 0.50000000 0.25000000 + 0.25000000 0.50000000 0.37500000 + 0.25000000 0.50000000 0.50000000 + 0.25000000 0.50000000 0.62500000 + 0.25000000 0.50000000 0.75000000 + 0.25000000 0.50000000 0.87500000 + 0.25000000 0.62500000 0.00000000 + 0.25000000 0.62500000 0.12500000 + 0.25000000 0.62500000 0.25000000 + 0.25000000 0.62500000 0.37500000 + 0.25000000 0.62500000 0.50000000 + 0.25000000 0.62500000 0.62500000 + 0.25000000 0.62500000 0.75000000 + 0.25000000 0.62500000 0.87500000 + 0.25000000 0.75000000 0.00000000 + 0.25000000 0.75000000 0.12500000 + 0.25000000 0.75000000 0.25000000 + 0.25000000 0.75000000 0.37500000 + 0.25000000 0.75000000 0.50000000 + 0.25000000 0.75000000 0.62500000 + 0.25000000 0.75000000 0.75000000 + 0.25000000 0.75000000 0.87500000 + 0.25000000 0.87500000 0.00000000 + 0.25000000 0.87500000 0.12500000 + 0.25000000 0.87500000 0.25000000 + 0.25000000 0.87500000 0.37500000 + 0.25000000 0.87500000 0.50000000 + 0.25000000 0.87500000 0.62500000 + 0.25000000 0.87500000 0.75000000 + 0.25000000 0.87500000 0.87500000 + 0.37500000 0.00000000 0.00000000 + 0.37500000 0.00000000 0.12500000 + 0.37500000 0.00000000 0.25000000 + 0.37500000 0.00000000 0.37500000 + 0.37500000 0.00000000 0.50000000 + 0.37500000 0.00000000 0.62500000 + 0.37500000 0.00000000 0.75000000 + 0.37500000 0.00000000 0.87500000 + 0.37500000 0.12500000 0.00000000 + 0.37500000 0.12500000 0.12500000 + 0.37500000 0.12500000 0.25000000 + 0.37500000 0.12500000 0.37500000 + 0.37500000 0.12500000 0.50000000 + 0.37500000 0.12500000 0.62500000 + 0.37500000 0.12500000 0.75000000 + 0.37500000 0.12500000 0.87500000 + 0.37500000 0.25000000 0.00000000 + 0.37500000 0.25000000 0.12500000 + 0.37500000 0.25000000 0.25000000 + 0.37500000 0.25000000 0.37500000 + 0.37500000 0.25000000 0.50000000 + 0.37500000 0.25000000 0.62500000 + 0.37500000 0.25000000 0.75000000 + 0.37500000 0.25000000 0.87500000 + 0.37500000 0.37500000 0.00000000 + 0.37500000 0.37500000 0.12500000 + 0.37500000 0.37500000 0.25000000 + 0.37500000 0.37500000 0.37500000 + 0.37500000 0.37500000 0.50000000 + 0.37500000 0.37500000 0.62500000 + 0.37500000 0.37500000 0.75000000 + 0.37500000 0.37500000 0.87500000 + 0.37500000 0.50000000 0.00000000 + 0.37500000 0.50000000 0.12500000 + 0.37500000 0.50000000 0.25000000 + 0.37500000 0.50000000 0.37500000 + 0.37500000 0.50000000 0.50000000 + 0.37500000 0.50000000 0.62500000 + 0.37500000 0.50000000 0.75000000 + 0.37500000 0.50000000 0.87500000 + 0.37500000 0.62500000 0.00000000 + 0.37500000 0.62500000 0.12500000 + 0.37500000 0.62500000 0.25000000 + 0.37500000 0.62500000 0.37500000 + 0.37500000 0.62500000 0.50000000 + 0.37500000 0.62500000 0.62500000 + 0.37500000 0.62500000 0.75000000 + 0.37500000 0.62500000 0.87500000 + 0.37500000 0.75000000 0.00000000 + 0.37500000 0.75000000 0.12500000 + 0.37500000 0.75000000 0.25000000 + 0.37500000 0.75000000 0.37500000 + 0.37500000 0.75000000 0.50000000 + 0.37500000 0.75000000 0.62500000 + 0.37500000 0.75000000 0.75000000 + 0.37500000 0.75000000 0.87500000 + 0.37500000 0.87500000 0.00000000 + 0.37500000 0.87500000 0.12500000 + 0.37500000 0.87500000 0.25000000 + 0.37500000 0.87500000 0.37500000 + 0.37500000 0.87500000 0.50000000 + 0.37500000 0.87500000 0.62500000 + 0.37500000 0.87500000 0.75000000 + 0.37500000 0.87500000 0.87500000 + 0.50000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.12500000 + 0.50000000 0.00000000 0.25000000 + 0.50000000 0.00000000 0.37500000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.00000000 0.62500000 + 0.50000000 0.00000000 0.75000000 + 0.50000000 0.00000000 0.87500000 + 0.50000000 0.12500000 0.00000000 + 0.50000000 0.12500000 0.12500000 + 0.50000000 0.12500000 0.25000000 + 0.50000000 0.12500000 0.37500000 + 0.50000000 0.12500000 0.50000000 + 0.50000000 0.12500000 0.62500000 + 0.50000000 0.12500000 0.75000000 + 0.50000000 0.12500000 0.87500000 + 0.50000000 0.25000000 0.00000000 + 0.50000000 0.25000000 0.12500000 + 0.50000000 0.25000000 0.25000000 + 0.50000000 0.25000000 0.37500000 + 0.50000000 0.25000000 0.50000000 + 0.50000000 0.25000000 0.62500000 + 0.50000000 0.25000000 0.75000000 + 0.50000000 0.25000000 0.87500000 + 0.50000000 0.37500000 0.00000000 + 0.50000000 0.37500000 0.12500000 + 0.50000000 0.37500000 0.25000000 + 0.50000000 0.37500000 0.37500000 + 0.50000000 0.37500000 0.50000000 + 0.50000000 0.37500000 0.62500000 + 0.50000000 0.37500000 0.75000000 + 0.50000000 0.37500000 0.87500000 + 0.50000000 0.50000000 0.00000000 + 0.50000000 0.50000000 0.12500000 + 0.50000000 0.50000000 0.25000000 + 0.50000000 0.50000000 0.37500000 + 0.50000000 0.50000000 0.50000000 + 0.50000000 0.50000000 0.62500000 + 0.50000000 0.50000000 0.75000000 + 0.50000000 0.50000000 0.87500000 + 0.50000000 0.62500000 0.00000000 + 0.50000000 0.62500000 0.12500000 + 0.50000000 0.62500000 0.25000000 + 0.50000000 0.62500000 0.37500000 + 0.50000000 0.62500000 0.50000000 + 0.50000000 0.62500000 0.62500000 + 0.50000000 0.62500000 0.75000000 + 0.50000000 0.62500000 0.87500000 + 0.50000000 0.75000000 0.00000000 + 0.50000000 0.75000000 0.12500000 + 0.50000000 0.75000000 0.25000000 + 0.50000000 0.75000000 0.37500000 + 0.50000000 0.75000000 0.50000000 + 0.50000000 0.75000000 0.62500000 + 0.50000000 0.75000000 0.75000000 + 0.50000000 0.75000000 0.87500000 + 0.50000000 0.87500000 0.00000000 + 0.50000000 0.87500000 0.12500000 + 0.50000000 0.87500000 0.25000000 + 0.50000000 0.87500000 0.37500000 + 0.50000000 0.87500000 0.50000000 + 0.50000000 0.87500000 0.62500000 + 0.50000000 0.87500000 0.75000000 + 0.50000000 0.87500000 0.87500000 + 0.62500000 0.00000000 0.00000000 + 0.62500000 0.00000000 0.12500000 + 0.62500000 0.00000000 0.25000000 + 0.62500000 0.00000000 0.37500000 + 0.62500000 0.00000000 0.50000000 + 0.62500000 0.00000000 0.62500000 + 0.62500000 0.00000000 0.75000000 + 0.62500000 0.00000000 0.87500000 + 0.62500000 0.12500000 0.00000000 + 0.62500000 0.12500000 0.12500000 + 0.62500000 0.12500000 0.25000000 + 0.62500000 0.12500000 0.37500000 + 0.62500000 0.12500000 0.50000000 + 0.62500000 0.12500000 0.62500000 + 0.62500000 0.12500000 0.75000000 + 0.62500000 0.12500000 0.87500000 + 0.62500000 0.25000000 0.00000000 + 0.62500000 0.25000000 0.12500000 + 0.62500000 0.25000000 0.25000000 + 0.62500000 0.25000000 0.37500000 + 0.62500000 0.25000000 0.50000000 + 0.62500000 0.25000000 0.62500000 + 0.62500000 0.25000000 0.75000000 + 0.62500000 0.25000000 0.87500000 + 0.62500000 0.37500000 0.00000000 + 0.62500000 0.37500000 0.12500000 + 0.62500000 0.37500000 0.25000000 + 0.62500000 0.37500000 0.37500000 + 0.62500000 0.37500000 0.50000000 + 0.62500000 0.37500000 0.62500000 + 0.62500000 0.37500000 0.75000000 + 0.62500000 0.37500000 0.87500000 + 0.62500000 0.50000000 0.00000000 + 0.62500000 0.50000000 0.12500000 + 0.62500000 0.50000000 0.25000000 + 0.62500000 0.50000000 0.37500000 + 0.62500000 0.50000000 0.50000000 + 0.62500000 0.50000000 0.62500000 + 0.62500000 0.50000000 0.75000000 + 0.62500000 0.50000000 0.87500000 + 0.62500000 0.62500000 0.00000000 + 0.62500000 0.62500000 0.12500000 + 0.62500000 0.62500000 0.25000000 + 0.62500000 0.62500000 0.37500000 + 0.62500000 0.62500000 0.50000000 + 0.62500000 0.62500000 0.62500000 + 0.62500000 0.62500000 0.75000000 + 0.62500000 0.62500000 0.87500000 + 0.62500000 0.75000000 0.00000000 + 0.62500000 0.75000000 0.12500000 + 0.62500000 0.75000000 0.25000000 + 0.62500000 0.75000000 0.37500000 + 0.62500000 0.75000000 0.50000000 + 0.62500000 0.75000000 0.62500000 + 0.62500000 0.75000000 0.75000000 + 0.62500000 0.75000000 0.87500000 + 0.62500000 0.87500000 0.00000000 + 0.62500000 0.87500000 0.12500000 + 0.62500000 0.87500000 0.25000000 + 0.62500000 0.87500000 0.37500000 + 0.62500000 0.87500000 0.50000000 + 0.62500000 0.87500000 0.62500000 + 0.62500000 0.87500000 0.75000000 + 0.62500000 0.87500000 0.87500000 + 0.75000000 0.00000000 0.00000000 + 0.75000000 0.00000000 0.12500000 + 0.75000000 0.00000000 0.25000000 + 0.75000000 0.00000000 0.37500000 + 0.75000000 0.00000000 0.50000000 + 0.75000000 0.00000000 0.62500000 + 0.75000000 0.00000000 0.75000000 + 0.75000000 0.00000000 0.87500000 + 0.75000000 0.12500000 0.00000000 + 0.75000000 0.12500000 0.12500000 + 0.75000000 0.12500000 0.25000000 + 0.75000000 0.12500000 0.37500000 + 0.75000000 0.12500000 0.50000000 + 0.75000000 0.12500000 0.62500000 + 0.75000000 0.12500000 0.75000000 + 0.75000000 0.12500000 0.87500000 + 0.75000000 0.25000000 0.00000000 + 0.75000000 0.25000000 0.12500000 + 0.75000000 0.25000000 0.25000000 + 0.75000000 0.25000000 0.37500000 + 0.75000000 0.25000000 0.50000000 + 0.75000000 0.25000000 0.62500000 + 0.75000000 0.25000000 0.75000000 + 0.75000000 0.25000000 0.87500000 + 0.75000000 0.37500000 0.00000000 + 0.75000000 0.37500000 0.12500000 + 0.75000000 0.37500000 0.25000000 + 0.75000000 0.37500000 0.37500000 + 0.75000000 0.37500000 0.50000000 + 0.75000000 0.37500000 0.62500000 + 0.75000000 0.37500000 0.75000000 + 0.75000000 0.37500000 0.87500000 + 0.75000000 0.50000000 0.00000000 + 0.75000000 0.50000000 0.12500000 + 0.75000000 0.50000000 0.25000000 + 0.75000000 0.50000000 0.37500000 + 0.75000000 0.50000000 0.50000000 + 0.75000000 0.50000000 0.62500000 + 0.75000000 0.50000000 0.75000000 + 0.75000000 0.50000000 0.87500000 + 0.75000000 0.62500000 0.00000000 + 0.75000000 0.62500000 0.12500000 + 0.75000000 0.62500000 0.25000000 + 0.75000000 0.62500000 0.37500000 + 0.75000000 0.62500000 0.50000000 + 0.75000000 0.62500000 0.62500000 + 0.75000000 0.62500000 0.75000000 + 0.75000000 0.62500000 0.87500000 + 0.75000000 0.75000000 0.00000000 + 0.75000000 0.75000000 0.12500000 + 0.75000000 0.75000000 0.25000000 + 0.75000000 0.75000000 0.37500000 + 0.75000000 0.75000000 0.50000000 + 0.75000000 0.75000000 0.62500000 + 0.75000000 0.75000000 0.75000000 + 0.75000000 0.75000000 0.87500000 + 0.75000000 0.87500000 0.00000000 + 0.75000000 0.87500000 0.12500000 + 0.75000000 0.87500000 0.25000000 + 0.75000000 0.87500000 0.37500000 + 0.75000000 0.87500000 0.50000000 + 0.75000000 0.87500000 0.62500000 + 0.75000000 0.87500000 0.75000000 + 0.75000000 0.87500000 0.87500000 + 0.87500000 0.00000000 0.00000000 + 0.87500000 0.00000000 0.12500000 + 0.87500000 0.00000000 0.25000000 + 0.87500000 0.00000000 0.37500000 + 0.87500000 0.00000000 0.50000000 + 0.87500000 0.00000000 0.62500000 + 0.87500000 0.00000000 0.75000000 + 0.87500000 0.00000000 0.87500000 + 0.87500000 0.12500000 0.00000000 + 0.87500000 0.12500000 0.12500000 + 0.87500000 0.12500000 0.25000000 + 0.87500000 0.12500000 0.37500000 + 0.87500000 0.12500000 0.50000000 + 0.87500000 0.12500000 0.62500000 + 0.87500000 0.12500000 0.75000000 + 0.87500000 0.12500000 0.87500000 + 0.87500000 0.25000000 0.00000000 + 0.87500000 0.25000000 0.12500000 + 0.87500000 0.25000000 0.25000000 + 0.87500000 0.25000000 0.37500000 + 0.87500000 0.25000000 0.50000000 + 0.87500000 0.25000000 0.62500000 + 0.87500000 0.25000000 0.75000000 + 0.87500000 0.25000000 0.87500000 + 0.87500000 0.37500000 0.00000000 + 0.87500000 0.37500000 0.12500000 + 0.87500000 0.37500000 0.25000000 + 0.87500000 0.37500000 0.37500000 + 0.87500000 0.37500000 0.50000000 + 0.87500000 0.37500000 0.62500000 + 0.87500000 0.37500000 0.75000000 + 0.87500000 0.37500000 0.87500000 + 0.87500000 0.50000000 0.00000000 + 0.87500000 0.50000000 0.12500000 + 0.87500000 0.50000000 0.25000000 + 0.87500000 0.50000000 0.37500000 + 0.87500000 0.50000000 0.50000000 + 0.87500000 0.50000000 0.62500000 + 0.87500000 0.50000000 0.75000000 + 0.87500000 0.50000000 0.87500000 + 0.87500000 0.62500000 0.00000000 + 0.87500000 0.62500000 0.12500000 + 0.87500000 0.62500000 0.25000000 + 0.87500000 0.62500000 0.37500000 + 0.87500000 0.62500000 0.50000000 + 0.87500000 0.62500000 0.62500000 + 0.87500000 0.62500000 0.75000000 + 0.87500000 0.62500000 0.87500000 + 0.87500000 0.75000000 0.00000000 + 0.87500000 0.75000000 0.12500000 + 0.87500000 0.75000000 0.25000000 + 0.87500000 0.75000000 0.37500000 + 0.87500000 0.75000000 0.50000000 + 0.87500000 0.75000000 0.62500000 + 0.87500000 0.75000000 0.75000000 + 0.87500000 0.75000000 0.87500000 + 0.87500000 0.87500000 0.00000000 + 0.87500000 0.87500000 0.12500000 + 0.87500000 0.87500000 0.25000000 + 0.87500000 0.87500000 0.37500000 + 0.87500000 0.87500000 0.50000000 + 0.87500000 0.87500000 0.62500000 + 0.87500000 0.87500000 0.75000000 + 0.87500000 0.87500000 0.87500000 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/iron_up.win b/nexus/tests/unit/test_wannier90_input_files/iron_up.win new file mode 100644 index 0000000000..e87068c72a --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/iron_up.win @@ -0,0 +1,554 @@ +num_bands = 14 +num_wann = 9 + +bands_plot = true +dis_win_max = 70.0d0 +dis_froz_max = 30.0d0 +dis_num_iter = 500 + +num_iter = 400 +mp_grid = 8 8 8 + +dis_mix_ratio = 1.0 + +begin atoms_frac +Fe 0.000 0.000 0.000 +end atoms_frac + +begin projections +Fe:s;p;d +end projections + +begin kpoint_path +G 0.0000 0.0000 0.0000 H 0.500 -0.5000 -0.5000 +H 0.500 -0.5000 -0.5000 P 0.7500 0.2500 -0.2500 +P 0.7500 0.2500 -0.2500 N 0.5000 0.0000 -0.5000 +N 0.5000 0.0000 -0.5000 G 0.0000 0.0000 0.000 +G 0.0000 0.0000 0.000 H 0.5 0.5 0.5 +H 0.5 0.5 0.5 N 0.5 0.0 0.0 +N 0.5 0.0 0.0 G 0.0 0.0 0.0 +G 0.0 0.0 0.0 P 0.75 0.25 -0.25 +P 0.75 0.25 -0.25 N 0.5 0.0 0.0 +end kpoint_path + +begin unit_cell_cart +bohr + 2.71175 2.71175 2.71175 +-2.71175 2.71175 2.71175 +-2.71175 -2.71175 2.71175 +end unit_cell_cart + +begin kpoints + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.12500000 + 0.00000000 0.00000000 0.25000000 + 0.00000000 0.00000000 0.37500000 + 0.00000000 0.00000000 0.50000000 + 0.00000000 0.00000000 0.62500000 + 0.00000000 0.00000000 0.75000000 + 0.00000000 0.00000000 0.87500000 + 0.00000000 0.12500000 0.00000000 + 0.00000000 0.12500000 0.12500000 + 0.00000000 0.12500000 0.25000000 + 0.00000000 0.12500000 0.37500000 + 0.00000000 0.12500000 0.50000000 + 0.00000000 0.12500000 0.62500000 + 0.00000000 0.12500000 0.75000000 + 0.00000000 0.12500000 0.87500000 + 0.00000000 0.25000000 0.00000000 + 0.00000000 0.25000000 0.12500000 + 0.00000000 0.25000000 0.25000000 + 0.00000000 0.25000000 0.37500000 + 0.00000000 0.25000000 0.50000000 + 0.00000000 0.25000000 0.62500000 + 0.00000000 0.25000000 0.75000000 + 0.00000000 0.25000000 0.87500000 + 0.00000000 0.37500000 0.00000000 + 0.00000000 0.37500000 0.12500000 + 0.00000000 0.37500000 0.25000000 + 0.00000000 0.37500000 0.37500000 + 0.00000000 0.37500000 0.50000000 + 0.00000000 0.37500000 0.62500000 + 0.00000000 0.37500000 0.75000000 + 0.00000000 0.37500000 0.87500000 + 0.00000000 0.50000000 0.00000000 + 0.00000000 0.50000000 0.12500000 + 0.00000000 0.50000000 0.25000000 + 0.00000000 0.50000000 0.37500000 + 0.00000000 0.50000000 0.50000000 + 0.00000000 0.50000000 0.62500000 + 0.00000000 0.50000000 0.75000000 + 0.00000000 0.50000000 0.87500000 + 0.00000000 0.62500000 0.00000000 + 0.00000000 0.62500000 0.12500000 + 0.00000000 0.62500000 0.25000000 + 0.00000000 0.62500000 0.37500000 + 0.00000000 0.62500000 0.50000000 + 0.00000000 0.62500000 0.62500000 + 0.00000000 0.62500000 0.75000000 + 0.00000000 0.62500000 0.87500000 + 0.00000000 0.75000000 0.00000000 + 0.00000000 0.75000000 0.12500000 + 0.00000000 0.75000000 0.25000000 + 0.00000000 0.75000000 0.37500000 + 0.00000000 0.75000000 0.50000000 + 0.00000000 0.75000000 0.62500000 + 0.00000000 0.75000000 0.75000000 + 0.00000000 0.75000000 0.87500000 + 0.00000000 0.87500000 0.00000000 + 0.00000000 0.87500000 0.12500000 + 0.00000000 0.87500000 0.25000000 + 0.00000000 0.87500000 0.37500000 + 0.00000000 0.87500000 0.50000000 + 0.00000000 0.87500000 0.62500000 + 0.00000000 0.87500000 0.75000000 + 0.00000000 0.87500000 0.87500000 + 0.12500000 0.00000000 0.00000000 + 0.12500000 0.00000000 0.12500000 + 0.12500000 0.00000000 0.25000000 + 0.12500000 0.00000000 0.37500000 + 0.12500000 0.00000000 0.50000000 + 0.12500000 0.00000000 0.62500000 + 0.12500000 0.00000000 0.75000000 + 0.12500000 0.00000000 0.87500000 + 0.12500000 0.12500000 0.00000000 + 0.12500000 0.12500000 0.12500000 + 0.12500000 0.12500000 0.25000000 + 0.12500000 0.12500000 0.37500000 + 0.12500000 0.12500000 0.50000000 + 0.12500000 0.12500000 0.62500000 + 0.12500000 0.12500000 0.75000000 + 0.12500000 0.12500000 0.87500000 + 0.12500000 0.25000000 0.00000000 + 0.12500000 0.25000000 0.12500000 + 0.12500000 0.25000000 0.25000000 + 0.12500000 0.25000000 0.37500000 + 0.12500000 0.25000000 0.50000000 + 0.12500000 0.25000000 0.62500000 + 0.12500000 0.25000000 0.75000000 + 0.12500000 0.25000000 0.87500000 + 0.12500000 0.37500000 0.00000000 + 0.12500000 0.37500000 0.12500000 + 0.12500000 0.37500000 0.25000000 + 0.12500000 0.37500000 0.37500000 + 0.12500000 0.37500000 0.50000000 + 0.12500000 0.37500000 0.62500000 + 0.12500000 0.37500000 0.75000000 + 0.12500000 0.37500000 0.87500000 + 0.12500000 0.50000000 0.00000000 + 0.12500000 0.50000000 0.12500000 + 0.12500000 0.50000000 0.25000000 + 0.12500000 0.50000000 0.37500000 + 0.12500000 0.50000000 0.50000000 + 0.12500000 0.50000000 0.62500000 + 0.12500000 0.50000000 0.75000000 + 0.12500000 0.50000000 0.87500000 + 0.12500000 0.62500000 0.00000000 + 0.12500000 0.62500000 0.12500000 + 0.12500000 0.62500000 0.25000000 + 0.12500000 0.62500000 0.37500000 + 0.12500000 0.62500000 0.50000000 + 0.12500000 0.62500000 0.62500000 + 0.12500000 0.62500000 0.75000000 + 0.12500000 0.62500000 0.87500000 + 0.12500000 0.75000000 0.00000000 + 0.12500000 0.75000000 0.12500000 + 0.12500000 0.75000000 0.25000000 + 0.12500000 0.75000000 0.37500000 + 0.12500000 0.75000000 0.50000000 + 0.12500000 0.75000000 0.62500000 + 0.12500000 0.75000000 0.75000000 + 0.12500000 0.75000000 0.87500000 + 0.12500000 0.87500000 0.00000000 + 0.12500000 0.87500000 0.12500000 + 0.12500000 0.87500000 0.25000000 + 0.12500000 0.87500000 0.37500000 + 0.12500000 0.87500000 0.50000000 + 0.12500000 0.87500000 0.62500000 + 0.12500000 0.87500000 0.75000000 + 0.12500000 0.87500000 0.87500000 + 0.25000000 0.00000000 0.00000000 + 0.25000000 0.00000000 0.12500000 + 0.25000000 0.00000000 0.25000000 + 0.25000000 0.00000000 0.37500000 + 0.25000000 0.00000000 0.50000000 + 0.25000000 0.00000000 0.62500000 + 0.25000000 0.00000000 0.75000000 + 0.25000000 0.00000000 0.87500000 + 0.25000000 0.12500000 0.00000000 + 0.25000000 0.12500000 0.12500000 + 0.25000000 0.12500000 0.25000000 + 0.25000000 0.12500000 0.37500000 + 0.25000000 0.12500000 0.50000000 + 0.25000000 0.12500000 0.62500000 + 0.25000000 0.12500000 0.75000000 + 0.25000000 0.12500000 0.87500000 + 0.25000000 0.25000000 0.00000000 + 0.25000000 0.25000000 0.12500000 + 0.25000000 0.25000000 0.25000000 + 0.25000000 0.25000000 0.37500000 + 0.25000000 0.25000000 0.50000000 + 0.25000000 0.25000000 0.62500000 + 0.25000000 0.25000000 0.75000000 + 0.25000000 0.25000000 0.87500000 + 0.25000000 0.37500000 0.00000000 + 0.25000000 0.37500000 0.12500000 + 0.25000000 0.37500000 0.25000000 + 0.25000000 0.37500000 0.37500000 + 0.25000000 0.37500000 0.50000000 + 0.25000000 0.37500000 0.62500000 + 0.25000000 0.37500000 0.75000000 + 0.25000000 0.37500000 0.87500000 + 0.25000000 0.50000000 0.00000000 + 0.25000000 0.50000000 0.12500000 + 0.25000000 0.50000000 0.25000000 + 0.25000000 0.50000000 0.37500000 + 0.25000000 0.50000000 0.50000000 + 0.25000000 0.50000000 0.62500000 + 0.25000000 0.50000000 0.75000000 + 0.25000000 0.50000000 0.87500000 + 0.25000000 0.62500000 0.00000000 + 0.25000000 0.62500000 0.12500000 + 0.25000000 0.62500000 0.25000000 + 0.25000000 0.62500000 0.37500000 + 0.25000000 0.62500000 0.50000000 + 0.25000000 0.62500000 0.62500000 + 0.25000000 0.62500000 0.75000000 + 0.25000000 0.62500000 0.87500000 + 0.25000000 0.75000000 0.00000000 + 0.25000000 0.75000000 0.12500000 + 0.25000000 0.75000000 0.25000000 + 0.25000000 0.75000000 0.37500000 + 0.25000000 0.75000000 0.50000000 + 0.25000000 0.75000000 0.62500000 + 0.25000000 0.75000000 0.75000000 + 0.25000000 0.75000000 0.87500000 + 0.25000000 0.87500000 0.00000000 + 0.25000000 0.87500000 0.12500000 + 0.25000000 0.87500000 0.25000000 + 0.25000000 0.87500000 0.37500000 + 0.25000000 0.87500000 0.50000000 + 0.25000000 0.87500000 0.62500000 + 0.25000000 0.87500000 0.75000000 + 0.25000000 0.87500000 0.87500000 + 0.37500000 0.00000000 0.00000000 + 0.37500000 0.00000000 0.12500000 + 0.37500000 0.00000000 0.25000000 + 0.37500000 0.00000000 0.37500000 + 0.37500000 0.00000000 0.50000000 + 0.37500000 0.00000000 0.62500000 + 0.37500000 0.00000000 0.75000000 + 0.37500000 0.00000000 0.87500000 + 0.37500000 0.12500000 0.00000000 + 0.37500000 0.12500000 0.12500000 + 0.37500000 0.12500000 0.25000000 + 0.37500000 0.12500000 0.37500000 + 0.37500000 0.12500000 0.50000000 + 0.37500000 0.12500000 0.62500000 + 0.37500000 0.12500000 0.75000000 + 0.37500000 0.12500000 0.87500000 + 0.37500000 0.25000000 0.00000000 + 0.37500000 0.25000000 0.12500000 + 0.37500000 0.25000000 0.25000000 + 0.37500000 0.25000000 0.37500000 + 0.37500000 0.25000000 0.50000000 + 0.37500000 0.25000000 0.62500000 + 0.37500000 0.25000000 0.75000000 + 0.37500000 0.25000000 0.87500000 + 0.37500000 0.37500000 0.00000000 + 0.37500000 0.37500000 0.12500000 + 0.37500000 0.37500000 0.25000000 + 0.37500000 0.37500000 0.37500000 + 0.37500000 0.37500000 0.50000000 + 0.37500000 0.37500000 0.62500000 + 0.37500000 0.37500000 0.75000000 + 0.37500000 0.37500000 0.87500000 + 0.37500000 0.50000000 0.00000000 + 0.37500000 0.50000000 0.12500000 + 0.37500000 0.50000000 0.25000000 + 0.37500000 0.50000000 0.37500000 + 0.37500000 0.50000000 0.50000000 + 0.37500000 0.50000000 0.62500000 + 0.37500000 0.50000000 0.75000000 + 0.37500000 0.50000000 0.87500000 + 0.37500000 0.62500000 0.00000000 + 0.37500000 0.62500000 0.12500000 + 0.37500000 0.62500000 0.25000000 + 0.37500000 0.62500000 0.37500000 + 0.37500000 0.62500000 0.50000000 + 0.37500000 0.62500000 0.62500000 + 0.37500000 0.62500000 0.75000000 + 0.37500000 0.62500000 0.87500000 + 0.37500000 0.75000000 0.00000000 + 0.37500000 0.75000000 0.12500000 + 0.37500000 0.75000000 0.25000000 + 0.37500000 0.75000000 0.37500000 + 0.37500000 0.75000000 0.50000000 + 0.37500000 0.75000000 0.62500000 + 0.37500000 0.75000000 0.75000000 + 0.37500000 0.75000000 0.87500000 + 0.37500000 0.87500000 0.00000000 + 0.37500000 0.87500000 0.12500000 + 0.37500000 0.87500000 0.25000000 + 0.37500000 0.87500000 0.37500000 + 0.37500000 0.87500000 0.50000000 + 0.37500000 0.87500000 0.62500000 + 0.37500000 0.87500000 0.75000000 + 0.37500000 0.87500000 0.87500000 + 0.50000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.12500000 + 0.50000000 0.00000000 0.25000000 + 0.50000000 0.00000000 0.37500000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.00000000 0.62500000 + 0.50000000 0.00000000 0.75000000 + 0.50000000 0.00000000 0.87500000 + 0.50000000 0.12500000 0.00000000 + 0.50000000 0.12500000 0.12500000 + 0.50000000 0.12500000 0.25000000 + 0.50000000 0.12500000 0.37500000 + 0.50000000 0.12500000 0.50000000 + 0.50000000 0.12500000 0.62500000 + 0.50000000 0.12500000 0.75000000 + 0.50000000 0.12500000 0.87500000 + 0.50000000 0.25000000 0.00000000 + 0.50000000 0.25000000 0.12500000 + 0.50000000 0.25000000 0.25000000 + 0.50000000 0.25000000 0.37500000 + 0.50000000 0.25000000 0.50000000 + 0.50000000 0.25000000 0.62500000 + 0.50000000 0.25000000 0.75000000 + 0.50000000 0.25000000 0.87500000 + 0.50000000 0.37500000 0.00000000 + 0.50000000 0.37500000 0.12500000 + 0.50000000 0.37500000 0.25000000 + 0.50000000 0.37500000 0.37500000 + 0.50000000 0.37500000 0.50000000 + 0.50000000 0.37500000 0.62500000 + 0.50000000 0.37500000 0.75000000 + 0.50000000 0.37500000 0.87500000 + 0.50000000 0.50000000 0.00000000 + 0.50000000 0.50000000 0.12500000 + 0.50000000 0.50000000 0.25000000 + 0.50000000 0.50000000 0.37500000 + 0.50000000 0.50000000 0.50000000 + 0.50000000 0.50000000 0.62500000 + 0.50000000 0.50000000 0.75000000 + 0.50000000 0.50000000 0.87500000 + 0.50000000 0.62500000 0.00000000 + 0.50000000 0.62500000 0.12500000 + 0.50000000 0.62500000 0.25000000 + 0.50000000 0.62500000 0.37500000 + 0.50000000 0.62500000 0.50000000 + 0.50000000 0.62500000 0.62500000 + 0.50000000 0.62500000 0.75000000 + 0.50000000 0.62500000 0.87500000 + 0.50000000 0.75000000 0.00000000 + 0.50000000 0.75000000 0.12500000 + 0.50000000 0.75000000 0.25000000 + 0.50000000 0.75000000 0.37500000 + 0.50000000 0.75000000 0.50000000 + 0.50000000 0.75000000 0.62500000 + 0.50000000 0.75000000 0.75000000 + 0.50000000 0.75000000 0.87500000 + 0.50000000 0.87500000 0.00000000 + 0.50000000 0.87500000 0.12500000 + 0.50000000 0.87500000 0.25000000 + 0.50000000 0.87500000 0.37500000 + 0.50000000 0.87500000 0.50000000 + 0.50000000 0.87500000 0.62500000 + 0.50000000 0.87500000 0.75000000 + 0.50000000 0.87500000 0.87500000 + 0.62500000 0.00000000 0.00000000 + 0.62500000 0.00000000 0.12500000 + 0.62500000 0.00000000 0.25000000 + 0.62500000 0.00000000 0.37500000 + 0.62500000 0.00000000 0.50000000 + 0.62500000 0.00000000 0.62500000 + 0.62500000 0.00000000 0.75000000 + 0.62500000 0.00000000 0.87500000 + 0.62500000 0.12500000 0.00000000 + 0.62500000 0.12500000 0.12500000 + 0.62500000 0.12500000 0.25000000 + 0.62500000 0.12500000 0.37500000 + 0.62500000 0.12500000 0.50000000 + 0.62500000 0.12500000 0.62500000 + 0.62500000 0.12500000 0.75000000 + 0.62500000 0.12500000 0.87500000 + 0.62500000 0.25000000 0.00000000 + 0.62500000 0.25000000 0.12500000 + 0.62500000 0.25000000 0.25000000 + 0.62500000 0.25000000 0.37500000 + 0.62500000 0.25000000 0.50000000 + 0.62500000 0.25000000 0.62500000 + 0.62500000 0.25000000 0.75000000 + 0.62500000 0.25000000 0.87500000 + 0.62500000 0.37500000 0.00000000 + 0.62500000 0.37500000 0.12500000 + 0.62500000 0.37500000 0.25000000 + 0.62500000 0.37500000 0.37500000 + 0.62500000 0.37500000 0.50000000 + 0.62500000 0.37500000 0.62500000 + 0.62500000 0.37500000 0.75000000 + 0.62500000 0.37500000 0.87500000 + 0.62500000 0.50000000 0.00000000 + 0.62500000 0.50000000 0.12500000 + 0.62500000 0.50000000 0.25000000 + 0.62500000 0.50000000 0.37500000 + 0.62500000 0.50000000 0.50000000 + 0.62500000 0.50000000 0.62500000 + 0.62500000 0.50000000 0.75000000 + 0.62500000 0.50000000 0.87500000 + 0.62500000 0.62500000 0.00000000 + 0.62500000 0.62500000 0.12500000 + 0.62500000 0.62500000 0.25000000 + 0.62500000 0.62500000 0.37500000 + 0.62500000 0.62500000 0.50000000 + 0.62500000 0.62500000 0.62500000 + 0.62500000 0.62500000 0.75000000 + 0.62500000 0.62500000 0.87500000 + 0.62500000 0.75000000 0.00000000 + 0.62500000 0.75000000 0.12500000 + 0.62500000 0.75000000 0.25000000 + 0.62500000 0.75000000 0.37500000 + 0.62500000 0.75000000 0.50000000 + 0.62500000 0.75000000 0.62500000 + 0.62500000 0.75000000 0.75000000 + 0.62500000 0.75000000 0.87500000 + 0.62500000 0.87500000 0.00000000 + 0.62500000 0.87500000 0.12500000 + 0.62500000 0.87500000 0.25000000 + 0.62500000 0.87500000 0.37500000 + 0.62500000 0.87500000 0.50000000 + 0.62500000 0.87500000 0.62500000 + 0.62500000 0.87500000 0.75000000 + 0.62500000 0.87500000 0.87500000 + 0.75000000 0.00000000 0.00000000 + 0.75000000 0.00000000 0.12500000 + 0.75000000 0.00000000 0.25000000 + 0.75000000 0.00000000 0.37500000 + 0.75000000 0.00000000 0.50000000 + 0.75000000 0.00000000 0.62500000 + 0.75000000 0.00000000 0.75000000 + 0.75000000 0.00000000 0.87500000 + 0.75000000 0.12500000 0.00000000 + 0.75000000 0.12500000 0.12500000 + 0.75000000 0.12500000 0.25000000 + 0.75000000 0.12500000 0.37500000 + 0.75000000 0.12500000 0.50000000 + 0.75000000 0.12500000 0.62500000 + 0.75000000 0.12500000 0.75000000 + 0.75000000 0.12500000 0.87500000 + 0.75000000 0.25000000 0.00000000 + 0.75000000 0.25000000 0.12500000 + 0.75000000 0.25000000 0.25000000 + 0.75000000 0.25000000 0.37500000 + 0.75000000 0.25000000 0.50000000 + 0.75000000 0.25000000 0.62500000 + 0.75000000 0.25000000 0.75000000 + 0.75000000 0.25000000 0.87500000 + 0.75000000 0.37500000 0.00000000 + 0.75000000 0.37500000 0.12500000 + 0.75000000 0.37500000 0.25000000 + 0.75000000 0.37500000 0.37500000 + 0.75000000 0.37500000 0.50000000 + 0.75000000 0.37500000 0.62500000 + 0.75000000 0.37500000 0.75000000 + 0.75000000 0.37500000 0.87500000 + 0.75000000 0.50000000 0.00000000 + 0.75000000 0.50000000 0.12500000 + 0.75000000 0.50000000 0.25000000 + 0.75000000 0.50000000 0.37500000 + 0.75000000 0.50000000 0.50000000 + 0.75000000 0.50000000 0.62500000 + 0.75000000 0.50000000 0.75000000 + 0.75000000 0.50000000 0.87500000 + 0.75000000 0.62500000 0.00000000 + 0.75000000 0.62500000 0.12500000 + 0.75000000 0.62500000 0.25000000 + 0.75000000 0.62500000 0.37500000 + 0.75000000 0.62500000 0.50000000 + 0.75000000 0.62500000 0.62500000 + 0.75000000 0.62500000 0.75000000 + 0.75000000 0.62500000 0.87500000 + 0.75000000 0.75000000 0.00000000 + 0.75000000 0.75000000 0.12500000 + 0.75000000 0.75000000 0.25000000 + 0.75000000 0.75000000 0.37500000 + 0.75000000 0.75000000 0.50000000 + 0.75000000 0.75000000 0.62500000 + 0.75000000 0.75000000 0.75000000 + 0.75000000 0.75000000 0.87500000 + 0.75000000 0.87500000 0.00000000 + 0.75000000 0.87500000 0.12500000 + 0.75000000 0.87500000 0.25000000 + 0.75000000 0.87500000 0.37500000 + 0.75000000 0.87500000 0.50000000 + 0.75000000 0.87500000 0.62500000 + 0.75000000 0.87500000 0.75000000 + 0.75000000 0.87500000 0.87500000 + 0.87500000 0.00000000 0.00000000 + 0.87500000 0.00000000 0.12500000 + 0.87500000 0.00000000 0.25000000 + 0.87500000 0.00000000 0.37500000 + 0.87500000 0.00000000 0.50000000 + 0.87500000 0.00000000 0.62500000 + 0.87500000 0.00000000 0.75000000 + 0.87500000 0.00000000 0.87500000 + 0.87500000 0.12500000 0.00000000 + 0.87500000 0.12500000 0.12500000 + 0.87500000 0.12500000 0.25000000 + 0.87500000 0.12500000 0.37500000 + 0.87500000 0.12500000 0.50000000 + 0.87500000 0.12500000 0.62500000 + 0.87500000 0.12500000 0.75000000 + 0.87500000 0.12500000 0.87500000 + 0.87500000 0.25000000 0.00000000 + 0.87500000 0.25000000 0.12500000 + 0.87500000 0.25000000 0.25000000 + 0.87500000 0.25000000 0.37500000 + 0.87500000 0.25000000 0.50000000 + 0.87500000 0.25000000 0.62500000 + 0.87500000 0.25000000 0.75000000 + 0.87500000 0.25000000 0.87500000 + 0.87500000 0.37500000 0.00000000 + 0.87500000 0.37500000 0.12500000 + 0.87500000 0.37500000 0.25000000 + 0.87500000 0.37500000 0.37500000 + 0.87500000 0.37500000 0.50000000 + 0.87500000 0.37500000 0.62500000 + 0.87500000 0.37500000 0.75000000 + 0.87500000 0.37500000 0.87500000 + 0.87500000 0.50000000 0.00000000 + 0.87500000 0.50000000 0.12500000 + 0.87500000 0.50000000 0.25000000 + 0.87500000 0.50000000 0.37500000 + 0.87500000 0.50000000 0.50000000 + 0.87500000 0.50000000 0.62500000 + 0.87500000 0.50000000 0.75000000 + 0.87500000 0.50000000 0.87500000 + 0.87500000 0.62500000 0.00000000 + 0.87500000 0.62500000 0.12500000 + 0.87500000 0.62500000 0.25000000 + 0.87500000 0.62500000 0.37500000 + 0.87500000 0.62500000 0.50000000 + 0.87500000 0.62500000 0.62500000 + 0.87500000 0.62500000 0.75000000 + 0.87500000 0.62500000 0.87500000 + 0.87500000 0.75000000 0.00000000 + 0.87500000 0.75000000 0.12500000 + 0.87500000 0.75000000 0.25000000 + 0.87500000 0.75000000 0.37500000 + 0.87500000 0.75000000 0.50000000 + 0.87500000 0.75000000 0.62500000 + 0.87500000 0.75000000 0.75000000 + 0.87500000 0.75000000 0.87500000 + 0.87500000 0.87500000 0.00000000 + 0.87500000 0.87500000 0.12500000 + 0.87500000 0.87500000 0.25000000 + 0.87500000 0.87500000 0.37500000 + 0.87500000 0.87500000 0.50000000 + 0.87500000 0.87500000 0.62500000 + 0.87500000 0.87500000 0.75000000 + 0.87500000 0.87500000 0.87500000 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/lead.win b/nexus/tests/unit/test_wannier90_input_files/lead.win new file mode 100644 index 0000000000..d9ddfec808 --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/lead.win @@ -0,0 +1,93 @@ +! Lead : Tutorial Example 2 + + num_wann = 4 + num_iter = 20 + +! SYSTEM + +begin unit_cell_cart +bohr +-4.67775 0.00000 4.67775 + 0.00000 4.67775 4.67775 +-4.67775 4.67775 0.00000 + +end unit_cell_cart + +begin atoms_frac +Pb 0.00 0.00 0.00 +end atoms_frac + +begin projections +Pb:sp3 +end projections + +! KPOINTS + +mp_grid : 4 4 4 + +begin kpoints +0.0000 0.0000 0.0000 +0.0000 0.2500 0.0000 +0.0000 0.5000 0.0000 +0.0000 0.7500 0.0000 +0.2500 0.0000 0.0000 +0.2500 0.2500 0.0000 +0.2500 0.5000 0.0000 +0.2500 0.7500 0.0000 +0.5000 0.0000 0.0000 +0.5000 0.2500 0.0000 +0.5000 0.5000 0.0000 +0.5000 0.7500 0.0000 +0.7500 0.0000 0.0000 +0.7500 0.2500 0.0000 +0.7500 0.5000 0.0000 +0.7500 0.7500 0.0000 +0.0000 0.0000 0.2500 +0.0000 0.2500 0.2500 +0.0000 0.5000 0.2500 +0.0000 0.7500 0.2500 +0.2500 0.0000 0.2500 +0.2500 0.2500 0.2500 +0.2500 0.5000 0.2500 +0.2500 0.7500 0.2500 +0.5000 0.0000 0.2500 +0.5000 0.2500 0.2500 +0.5000 0.5000 0.2500 +0.5000 0.7500 0.2500 +0.7500 0.0000 0.2500 +0.7500 0.2500 0.2500 +0.7500 0.5000 0.2500 +0.7500 0.7500 0.2500 +0.0000 0.0000 0.5000 +0.0000 0.2500 0.5000 +0.0000 0.5000 0.5000 +0.0000 0.7500 0.5000 +0.2500 0.0000 0.5000 +0.2500 0.2500 0.5000 +0.2500 0.5000 0.5000 +0.2500 0.7500 0.5000 +0.5000 0.0000 0.5000 +0.5000 0.2500 0.5000 +0.5000 0.5000 0.5000 +0.5000 0.7500 0.5000 +0.7500 0.0000 0.5000 +0.7500 0.2500 0.5000 +0.7500 0.5000 0.5000 +0.7500 0.7500 0.5000 +0.0000 0.0000 0.7500 +0.0000 0.2500 0.7500 +0.0000 0.5000 0.7500 +0.0000 0.7500 0.7500 +0.2500 0.0000 0.7500 +0.2500 0.2500 0.7500 +0.2500 0.5000 0.7500 +0.2500 0.7500 0.7500 +0.5000 0.0000 0.7500 +0.5000 0.2500 0.7500 +0.5000 0.5000 0.7500 +0.5000 0.7500 0.7500 +0.7500 0.0000 0.7500 +0.7500 0.2500 0.7500 +0.7500 0.5000 0.7500 +0.7500 0.7500 0.7500 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/silane.win b/nexus/tests/unit/test_wannier90_input_files/silane.win new file mode 100644 index 0000000000..37a3ebe3a5 --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/silane.win @@ -0,0 +1,28 @@ +num_wann = 4 +num_iter = 20 + +begin atoms_cart + Si 0.000000000 0.000000000 0.000000000 + H 1.056551000 1.056551000 1.056551000 + H 1.056551000 -1.056551000 -1.056551000 + H -1.056551000 1.056551000 -1.056551000 + H -1.056551000 -1.056551000 1.056551000 +end atoms_cart + +begin projections +Si:sp3 +end projections + +begin unit_cell_cart +bohr +12.0 0.0 0.0 + 0.0 12.0 0.0 + 0.0 0.0 12.0 +end unit_cell_cart + +mp_grid : 1 1 1 +gamma_only : true + +begin kpoints +0.0 0.0 0.0 +end kpoints diff --git a/nexus/tests/unit/test_wannier90_input_files/silicon.win b/nexus/tests/unit/test_wannier90_input_files/silicon.win new file mode 100644 index 0000000000..54ce36a02b --- /dev/null +++ b/nexus/tests/unit/test_wannier90_input_files/silicon.win @@ -0,0 +1,135 @@ +num_bands = 12 + +num_iter = 100 +dis_num_iter = 100 + +iprint = 2 +num_dump_cycles = 10 +num_print_cycles = 10 + +length_unit = bohr + + +begin projections +!! !! Bond-centred s-orbitals +f=-0.125,-0.125, 0.375:s +f= 0.375,-0.125,-0.125:s +f=-0.125, 0.375,-0.125:s +f=-0.125,-0.125,-0.125:s +!! !! Atom-centred sp3-orbitals +Si:sp3 +end projections + +!! (1) Valence bands +num_wann = 4 +select_projections : 1 2 3 4 +dis_froz_max = 6.5 +dis_win_max = 6.5 + +!! !! (2) Valence + conduction bands +!! num_wann = 8 +!! select_projections 5-12 +!! dis_froz_max = 6.5 +!! dis_win_max = 17.0 + + +begin unit_cell_cart + bohr +-5.10 0.00 5.10 + 0.00 5.10 5.10 +-5.10 5.10 0.00 +end unit_cell_cart + + +begin atoms_frac +Si -0.25 0.75 -0.25 +Si 0.00 0.00 0.00 +end atoms_frac + + +!! !! To plot the WF interpolated bandstructure +!! restart = plot +!! bands_plot = true +!! begin kpoint_path +!! L 0.50000 0.50000 0.5000 G 0.00000 0.00000 0.0000 +!! G 0.00000 0.00000 0.0000 X 0.50000 0.00000 0.5000 +!! X 0.50000 -0.50000 0.0000 K 0.37500 -0.37500 0.0000 +!! K 0.37500 -0.37500 0.0000 G 0.00000 0.00000 0.0000 +!! end kpoint_path + + +!! !! To plot the WFs +!! restart = plot +!! wannier_plot = true +!! wannier_plot_supercell = 3 +!! wannier_plot_list = 1,5 + + +mp_grid = 4 4 4 + +begin kpoints + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.25000000 + 0.00000000 0.00000000 0.50000000 + 0.00000000 0.00000000 0.75000000 + 0.00000000 0.25000000 0.00000000 + 0.00000000 0.25000000 0.25000000 + 0.00000000 0.25000000 0.50000000 + 0.00000000 0.25000000 0.75000000 + 0.00000000 0.50000000 0.00000000 + 0.00000000 0.50000000 0.25000000 + 0.00000000 0.50000000 0.50000000 + 0.00000000 0.50000000 0.75000000 + 0.00000000 0.75000000 0.00000000 + 0.00000000 0.75000000 0.25000000 + 0.00000000 0.75000000 0.50000000 + 0.00000000 0.75000000 0.75000000 + 0.25000000 0.00000000 0.00000000 + 0.25000000 0.00000000 0.25000000 + 0.25000000 0.00000000 0.50000000 + 0.25000000 0.00000000 0.75000000 + 0.25000000 0.25000000 0.00000000 + 0.25000000 0.25000000 0.25000000 + 0.25000000 0.25000000 0.50000000 + 0.25000000 0.25000000 0.75000000 + 0.25000000 0.50000000 0.00000000 + 0.25000000 0.50000000 0.25000000 + 0.25000000 0.50000000 0.50000000 + 0.25000000 0.50000000 0.75000000 + 0.25000000 0.75000000 0.00000000 + 0.25000000 0.75000000 0.25000000 + 0.25000000 0.75000000 0.50000000 + 0.25000000 0.75000000 0.75000000 + 0.50000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.25000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.00000000 0.75000000 + 0.50000000 0.25000000 0.00000000 + 0.50000000 0.25000000 0.25000000 + 0.50000000 0.25000000 0.50000000 + 0.50000000 0.25000000 0.75000000 + 0.50000000 0.50000000 0.00000000 + 0.50000000 0.50000000 0.25000000 + 0.50000000 0.50000000 0.50000000 + 0.50000000 0.50000000 0.75000000 + 0.50000000 0.75000000 0.00000000 + 0.50000000 0.75000000 0.25000000 + 0.50000000 0.75000000 0.50000000 + 0.50000000 0.75000000 0.75000000 + 0.75000000 0.00000000 0.00000000 + 0.75000000 0.00000000 0.25000000 + 0.75000000 0.00000000 0.50000000 + 0.75000000 0.00000000 0.75000000 + 0.75000000 0.25000000 0.00000000 + 0.75000000 0.25000000 0.25000000 + 0.75000000 0.25000000 0.50000000 + 0.75000000 0.25000000 0.75000000 + 0.75000000 0.50000000 0.00000000 + 0.75000000 0.50000000 0.25000000 + 0.75000000 0.50000000 0.50000000 + 0.75000000 0.50000000 0.75000000 + 0.75000000 0.75000000 0.00000000 + 0.75000000 0.75000000 0.25000000 + 0.75000000 0.75000000 0.50000000 + 0.75000000 0.75000000 0.75000000 +end kpoints From a0f34186c3bef98053709c82c7d49f8314ade4ff Mon Sep 17 00:00:00 2001 From: kayahans Date: Fri, 7 Mar 2025 13:11:25 -0500 Subject: [PATCH 2/7] version wannier90 and add pw2wannier90 --- nexus/lib/pwscf_postprocessors.py | 60 +++++++++++++++++++++++ nexus/lib/wannier90_input.py | 81 +++++++++++++++++++++++++------ 2 files changed, 126 insertions(+), 15 deletions(-) diff --git a/nexus/lib/pwscf_postprocessors.py b/nexus/lib/pwscf_postprocessors.py index 6782be0fff..2bff10f02d 100644 --- a/nexus/lib/pwscf_postprocessors.py +++ b/nexus/lib/pwscf_postprocessors.py @@ -90,6 +90,19 @@ # SimulationInput class for pwexport. # # # # # +# generate_pw2wan90 # +# User-facing function to create pw2wannier90 simulation objects. # +# # +# generate_pw2wan90_input # +# User-facing function to create input for pw2wannier90. # +# # +# Pw2wan90 # +# Simulation class for pw2wannier90. # +# # +# Pw2wan90Input # +# SimulationInput class for pw2wannier90. # +# # +# # # NamelistInput # # Generic SimulationInput class to handle Fortran namelists. # # Base class for all *Input classes listed above. # @@ -1045,6 +1058,52 @@ def generate_hp(**kwargs): +class Pw2wan90Namelist(Namelist): + namelist = 'inputpp' + names = ['prefix','outdir','seedname','spin_component','wan_mode','write_mmn','write_amn', + 'write_unk','write_dmn','read_unk','reduce_unk','reduce_unk_factor','wvfn_formatted', + 'write_unkg','write_uHu','write_uIu','write_spn','spn_formatted','uHu_formatted', + 'uIu_formatted','write_sHu','sHu_formatted','write_sIu','sIu_formatted', + 'regular_mesh','plot_bands','check_complex','irr_bz','read_sym', + 'auto_projections','atom_proj','atom_proj_exclude','atom_proj_ext', + 'atom_proj_dir','atom_proj_ortho','scdm_proj','scdm_entanglement','scdm_mu', + 'scdm_sigma','scdm_depth'] +#end class Pw2wan90Namelist + + +class Pw2wan90Input(NamelistInput): + namelists = ['inputpp'] + namelist_classes = obj( + inputpp = Pw2wan90Namelist + ) +#end class Pw2wan90Input + + +class Pw2wan90(PostProcessSimulation): + input_type = Pw2wan90Input + generic_identifier = 'pw2wan90' + application = 'pw2wannier90.x' +#end class Pw2wan90 + + +def generate_pw2wan90_input(prefix='pwscf',outdir='pwscf_output',seedname='wannier',**vals): + pw2wan90_input = Pw2wan90Input() + pw2wan90_input.inputpp.prefix = prefix + pw2wan90_input.inputpp.outdir = outdir + pw2wan90_input.inputpp.seedname = seedname + pw2wan90_input.inputpp.assign_values('values',**vals) + return pw2wan90_input +#end def generate_pw2wan90_input + + +def generate_pw2wan90(**kwargs): + sim_args,inp_args = separate_inputs(kwargs,copy_args=True) + pw2wan90 = Pw2wan90(**sim_args) + pw2wan90.input = generate_pw2wan90_input(**inp_args) + return pw2wan90 +#end def generate_pw2wan90 + + namelist_classes = [ @@ -1056,6 +1115,7 @@ def generate_hp(**kwargs): CpppInputppNamelist , CpppInput, PwexportInputppNamelist, PwexportInput, HpNamelist , HpInput, + Pw2wan90Namelist , Pw2wan90Input, ] for cls in namelist_classes: cls.class_init() diff --git a/nexus/lib/wannier90_input.py b/nexus/lib/wannier90_input.py index 2e6638a0f8..b4ca910873 100644 --- a/nexus/lib/wannier90_input.py +++ b/nexus/lib/wannier90_input.py @@ -6,11 +6,15 @@ class Wannier90Input(SimulationInput): Based on Wannier90 3.1.0 manual. """ + available_versions = [(3, 1, 0) + # Example of how to add a new version + #, (4, 0, 0) + ] # Required keywords - required = ['num_wann', 'num_bands'] + required_v310 = ['num_wann', 'num_bands'] # All known keywords with their types - integers = [ + integers_v310 = [ 'num_wann', 'num_bands', 'num_iter', 'num_print_cycles', 'num_dump_cycles', 'num_cg_steps', 'conv_window', 'conv_noise_num', 'num_excluded_bands', 'mp_grid', 'kmesh_tol', 'num_spins', @@ -21,7 +25,7 @@ class Wannier90Input(SimulationInput): 'tran_num_cell_ll', 'tran_num_cell_rr', 'tran_num_bandc' ] - floats = [ + floats_v310 = [ 'conv_tol', 'conv_noise_amp', 'conv_noise_amp_global', 'conv_window_threshold', 'dis_win_min', 'dis_win_max', 'dis_froz_min', 'dis_froz_max', 'fermi_energy', @@ -34,7 +38,7 @@ class Wannier90Input(SimulationInput): 'tran_group_threshold', 'ws_distance_tol' ] - bools = [ + bools_v310 = [ 'guiding_centres', 'use_bloch_phases', 'write_xyz', 'gamma_only', 'write_vdw', 'write_hr_diag', 'write_rmn', 'write_bvec', 'write_bstate', 'write_r_pos', 'write_proj_site', 'shell_list', @@ -46,7 +50,7 @@ class Wannier90Input(SimulationInput): 'write_hr', 'write_xyz', 'write_rmn', 'write_tb' ] - strings = [ + strings_v310 = [ 'wannier_mode', 'restart', 'restart_mode', 'iprint', 'length_unit', 'wvfn_formatted', 'spin', 'spinors', 'devel_flag', 'optimisation', 'bloch_outer_window', @@ -60,7 +64,7 @@ class Wannier90Input(SimulationInput): ] # Special multi-value parameters - arrays = [ + arrays_v310 = [ 'unit_cell_cart', # Unit cell vectors in Cartesian coordinates 'atoms_cart', # Atomic positions in Cartesian coordinates 'atoms_frac', # Atomic positions in fractional coordinates @@ -76,21 +80,57 @@ class Wannier90Input(SimulationInput): 'nnkpts' # Explicit nearest-neighbor k-points ] - parameters_list = integers + floats + bools + strings - blocks_list = [ + blocks_list_v310 = [ 'unit_cell_cart', 'atoms_cart', 'atoms_frac', 'mp_grid', 'kpoints', + 'projections', ] - def __init__(self): + versioned_inputs = {(3, 1, 0): { + 'required': required_v310, + 'integers': integers_v310, + 'floats': floats_v310, + 'bools': bools_v310, + 'strings': strings_v310, + 'blocks_list': blocks_list_v310 + }, + # Example of how to add a new version + # (4, 0, 0): { + # 'required': required_v400.update(required_v310), + # 'integers': integers_v400.update(integers_v310), + # 'floats': floats_v400.update(floats_v310), + # 'bools': bools_v400.update(bools_v310), + # 'strings': strings_v400.update(strings_v310), + # 'blocks': blocks_list_v400.update(blocks_list_v310) + # } + } + + + def __init__(self, version:str='3.1.0'): """Initialize an empty Wannier90 input.""" self.params = {} self.blocks = {} - + self.version = tuple([int(i) for i in version.split('.')]) + self.check_version() + + def check_version(self): + """Check the version of the Wannier90 input.""" + closest_version = None + for version in self.available_versions: + if self.version >= version: + closest_version = version + + if closest_version is None: + raise ValueError(f"Unsupported version: {self.version}") + else: + self.version = closest_version + for key, value in self.versioned_inputs[closest_version].items(): + self[key] = value + def read(self, filename): """Read a Wannier90 input file.""" with open(filename, 'r') as f: @@ -115,7 +155,7 @@ def read(self, filename): self.blocks[current_block].append(line) else: # Handle parameter lines - # Paramters can be in an interchangeable format: + # Parameters can be in an interchangeable format: # key = value # key : value if '=' in line: @@ -275,13 +315,15 @@ def format_kpoint_path(path): # Handle seekpath format kpath = path['path'] coords = path['point_coords'] - for start, end in zip(kpath[::2], kpath[1::2]): + for i in range(len(kpath)): + start, end = kpath[i][0], kpath[i][1] line = '{:s} {: 8.6f} {: 8.6f} {: 8.6f} {:s} {: 8.6f} {: 8.6f} {: 8.6f}'.format( start, *coords[start], end, *coords[end]) block.append(line) else: # Handle direct format - for start, end in zip(path[::2], path[1::2]): + for i in range(len(path)): + start, end = path[i][0], path[i][1] label1, k1 = start label2, k2 = end line = '{:s} {: 8.6f} {: 8.6f} {: 8.6f} {:s} {: 8.6f} {: 8.6f} {: 8.6f}'.format( @@ -371,7 +413,6 @@ def generate_wannier90_input( win.add_block('atoms_cart', format_atoms_cart(elem, pos, units)) else: # Use provided structure information - import pdb; pdb.set_trace() if unit_cell_cart is not None: win.add_block('unit_cell_cart', format_unit_cell_cart(unit_cell_cart, units)) if atoms_cart is not None: @@ -422,7 +463,17 @@ def generate_wannier90_input( num_wann = 8, num_bands = 12, mp_grid = (4,4,4), - projections = ['Si:sp3'] + projections = ['Si:sp3'], + # kpoints = [[0.0, 0.0, 0.0], + # [0.5, 0.5, 0.5]], + kpoint_path = {'path': [['G', 'X'], # TODO: Check later on with seekpath + ['X', 'K']], + 'point_coords': {'G': [0.0, 0.0, 0.0], + 'X': [0.5, 0.5, 0.5], + 'K': [0.375, 0.375, 0.75]}}, + # kpoint_path = [[('G', [0.0, 0.0, 0.0]), ('X', [0.5, 0.5, 0.5])], + # [('X', [0.5, 0.5, 0.5]), ('K', [0.375, 0.375, 0.75])]], + band_num_points = 100 ) # Get input file contents as string From 1cc65403ac9c5f4b441246003c732eaa7ba2f0f8 Mon Sep 17 00:00:00 2001 From: kayahans Date: Fri, 7 Mar 2025 13:22:55 -0500 Subject: [PATCH 3/7] pw2wan90 input tests are added --- .../unit/test_pwscf_postprocessor_input.py | 90 ++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/nexus/tests/unit/test_pwscf_postprocessor_input.py b/nexus/tests/unit/test_pwscf_postprocessor_input.py index e4e4c8fb5f..c3430846e2 100644 --- a/nexus/tests/unit/test_pwscf_postprocessor_input.py +++ b/nexus/tests/unit/test_pwscf_postprocessor_input.py @@ -9,6 +9,12 @@ / ''' +pw2wan90_in = '''&inputpp + prefix = 'pwscf' + outdir = 'pwscf_output' + seedname = 'wannier' +/ +''' def test_import(): @@ -18,6 +24,7 @@ def test_import(): from pwscf_postprocessors import ProjwfcInput,generate_projwfc_input from pwscf_postprocessors import CpppInput,generate_cppp_input from pwscf_postprocessors import PwexportInput,generate_pwexport_input + from pwscf_postprocessors import Pw2wan90Input,generate_pw2wan90_input #end def test_import @@ -29,7 +36,8 @@ def test_empty_init(): from pwscf_postprocessors import ProjwfcInput,generate_projwfc_input from pwscf_postprocessors import CpppInput,generate_cppp_input from pwscf_postprocessors import PwexportInput,generate_pwexport_input - + from pwscf_postprocessors import Pw2wan90Input,generate_pw2wan90_input + ppi = PPInput() ppi = generate_pp_input() @@ -48,6 +56,9 @@ def test_empty_init(): ppi = PwexportInput() ppi = generate_pwexport_input() + ppi = Pw2wan90Input() + ppi = generate_pw2wan90_input() + #end def test_empty_init @@ -123,3 +134,80 @@ def test_generate(): assert(object_eq(pi.to_obj(),pi_ref)) #end def test_generate + +def test_pw2wan90_generate(): + from generic import obj + from pwscf_postprocessors import generate_pw2wan90_input + + pi = generate_pw2wan90_input( + prefix = 'pwscf', + outdir = 'pwscf_output', + seedname = 'wannier', + ) + + pi_ref = obj( + inputpp = obj( + prefix = 'pwscf', + outdir = 'pwscf_output', + seedname = 'wannier', + ), + ) + + assert(object_eq(pi.to_obj(),pi_ref)) + + +def test_read_pw2wan90_input(): + import os + from generic import obj + from pwscf_postprocessors import Pw2wan90Input + + tpath = testing.setup_unit_test_output_directory('pwscf_postprocessor_input','test_read') + + infile_path = os.path.join(tpath,'pw2wan90.in') + open(infile_path,'w').write(pw2wan90_in) + + pi = Pw2wan90Input(infile_path) + + pi_ref = obj( + inputpp = obj( + prefix = 'pwscf', + outdir = 'pwscf_output', + seedname = 'wannier', + ), + ) + + assert(object_eq(pi.to_obj(),pi_ref)) +#end def test_read + + + +def test_write_pw2wan90_input(): + import os + from generic import obj + from pwscf_postprocessors import Pw2wan90Input + + tpath = testing.setup_unit_test_output_directory('pwscf_postprocessor_input','test_write') + + infile_path = os.path.join(tpath,'pw2wan90.in') + open(infile_path,'w').write(pw2wan90_in) + + write_path = os.path.join(tpath,'pw2wan90_write.in') + pi_write = Pw2wan90Input(infile_path) + + pi_write.write(write_path) + + pi_read = Pw2wan90Input(write_path) + + pi_ref = obj( + inputpp = obj( + prefix = 'pwscf', + outdir = 'pwscf_output', + seedname = 'wannier', + ), + ) + + assert(object_eq(pi_read.to_obj(),pi_ref)) +#end def test_write + +print(test_read_pw2wan90_input()) +print(test_write_pw2wan90_input()) From 2ef26d02d5b095a428f6812443b82900962668fc Mon Sep 17 00:00:00 2001 From: kayahans Date: Fri, 7 Mar 2025 13:48:55 -0500 Subject: [PATCH 4/7] wan90 handles unit change --- nexus/lib/wannier90_input.py | 78 ++++++++++++++++++++++++++++++------ 1 file changed, 66 insertions(+), 12 deletions(-) diff --git a/nexus/lib/wannier90_input.py b/nexus/lib/wannier90_input.py index b4ca910873..6d3f42700d 100644 --- a/nexus/lib/wannier90_input.py +++ b/nexus/lib/wannier90_input.py @@ -244,8 +244,14 @@ def format_unit_cell_cart(axes, units='bohr'): axes : array_like 3x3 array of unit cell vectors units : str, optional - Units for the cell vectors ('bohr' or 'ang') + Units for the cell vectors ('Bohr' or 'A') """ + allowed_units = ['bohr', 'a'] + if units.lower() not in allowed_units: + raise ValueError(f"Invalid units: {units}. Must be one of: {', '.join(allowed_units)}") + else: + units = units.capitalize() + #end if block = [units] for v in axes: block.append('{: 8.6f} {: 8.6f} {: 8.6f}'.format(*v)) @@ -262,8 +268,14 @@ def format_atoms_cart(atoms, positions, units='bohr'): positions : array_like Array of atomic positions units : str, optional - Units for positions ('bohr' or 'ang') + Units for positions ('Bohr' or 'A') """ + allowed_units = ['bohr', 'a'] + if units.lower() not in allowed_units: + raise ValueError(f"Invalid units: {units}. Must be one of: {', '.join(allowed_units)}") + else: + units = units.capitalize() + #end if block = [units] for atom, pos in zip(atoms, positions): block.append('{:2s} {: 8.6f} {: 8.6f} {: 8.6f}'.format(atom, *pos)) @@ -357,7 +369,7 @@ def generate_wannier90_input( kpoints = None, kpoint_path = None, projections = None, - units = 'bohr', + units = None, **kwargs ): """ @@ -390,7 +402,7 @@ def generate_wannier90_input( projections : list, optional Orbital projections, e.g. ['Ga:s,p', 'As:p'] units : str, optional - Units for positions and cell vectors ('bohr' or 'ang') + Units for positions and cell vectors ('bohr' or 'a') **kwargs : dict Additional Wannier90 parameters """ @@ -406,12 +418,21 @@ def generate_wannier90_input( # Handle structure information if system is not None: # Get structure from PhysicalSystem - axes = system.structure.axes - pos = system.structure.pos - elem = system.structure.elem + if units is not None: + system_units = system.change_units(units).copy() + else: + system_units = system + units = system.generation_info.structure.units + + axes = system_units.structure.axes + pos = system_units.structure.pos + elem = system_units.structure.elem win.add_block('unit_cell_cart', format_unit_cell_cart(axes, units)) win.add_block('atoms_cart', format_atoms_cart(elem, pos, units)) else: + available_units = ['Bohr', 'A'] + available_units = [u.lower() for u in available_units] + assert units.lower() in available_units, f'units must be one of: {", ".join(available_units)}' # Use provided structure information if unit_cell_cart is not None: win.add_block('unit_cell_cart', format_unit_cell_cart(unit_cell_cart, units)) @@ -453,6 +474,8 @@ def generate_wannier90_input( if __name__ == "__main__": # Using direct structure input + print('Using direct structure input') + win = generate_wannier90_input( prefix = 'silicon', unit_cell_cart = [[5.43, 0.0, 0.0], @@ -466,16 +489,47 @@ def generate_wannier90_input( projections = ['Si:sp3'], # kpoints = [[0.0, 0.0, 0.0], # [0.5, 0.5, 0.5]], - kpoint_path = {'path': [['G', 'X'], # TODO: Check later on with seekpath + # TODO: Check later on with seekpath + # Seekpath format + kpoint_path = {'path': [['G', 'X'], ['X', 'K']], 'point_coords': {'G': [0.0, 0.0, 0.0], 'X': [0.5, 0.5, 0.5], 'K': [0.375, 0.375, 0.75]}}, - # kpoint_path = [[('G', [0.0, 0.0, 0.0]), ('X', [0.5, 0.5, 0.5])], - # [('X', [0.5, 0.5, 0.5]), ('K', [0.375, 0.375, 0.75])]], - band_num_points = 100 + band_num_points = 100, + units = 'A' ) # Get input file contents as string win_text = win.write_text() - print(win_text) \ No newline at end of file + print(win_text) + + print('Using PhysicalSystem input') + from physical_system import generate_physical_system + from structure import Structure + system = generate_physical_system( + structure = Structure( + axes = [[5.43, 0.0, 0.0], + [0.0, 5.43, 0.0], + [0.0, 0.0, 5.43]], + pos = [(0.0, 0.0, 0.0), (2.715, 2.715, 2.715)], + elem = ['Si', 'Si'], + units = 'A'), + net_charge = 0, + net_spin = 0, + + ) + + win = generate_wannier90_input( + system = system, + num_wann = 8, + num_bands = 12, + mp_grid = (4,4,4), + projections = ['Si:sp3'], + # Direct kpoint path + kpoint_path = [[('G', [0.0, 0.0, 0.0]), ('X', [0.5, 0.5, 0.5])], + [('X', [0.5, 0.5, 0.5]), ('K', [0.375, 0.375, 0.75])]], + band_num_points = 100) + + win_text = win.write_text() + print(win_text) \ No newline at end of file From 10ed010485ebc18d53dbc1cf7f0727e76f83a0ef Mon Sep 17 00:00:00 2001 From: kayahans Date: Fri, 7 Mar 2025 13:52:59 -0500 Subject: [PATCH 5/7] prefix not needed in wannier90 --- nexus/lib/wannier90_input.py | 1 - 1 file changed, 1 deletion(-) diff --git a/nexus/lib/wannier90_input.py b/nexus/lib/wannier90_input.py index 6d3f42700d..be2ceb2953 100644 --- a/nexus/lib/wannier90_input.py +++ b/nexus/lib/wannier90_input.py @@ -358,7 +358,6 @@ def format_projections(projections): def generate_wannier90_input( - prefix = 'wannier', system = None, num_wann = None, num_bands = None, From c4a5c74caf438ce65b6eea0b50c1c13a16277e68 Mon Sep 17 00:00:00 2001 From: kayahans Date: Fri, 7 Mar 2025 13:52:59 -0500 Subject: [PATCH 6/7] prefix not needed in wannier90 --- nexus/lib/wannier90_input.py | 1 - 1 file changed, 1 deletion(-) diff --git a/nexus/lib/wannier90_input.py b/nexus/lib/wannier90_input.py index 6d3f42700d..be2ceb2953 100644 --- a/nexus/lib/wannier90_input.py +++ b/nexus/lib/wannier90_input.py @@ -358,7 +358,6 @@ def format_projections(projections): def generate_wannier90_input( - prefix = 'wannier', system = None, num_wann = None, num_bands = None, From 46bb3957b6e66dc7be961ab9bdb5adb8431b0b36 Mon Sep 17 00:00:00 2001 From: kayahans Date: Fri, 7 Mar 2025 13:54:08 -0500 Subject: [PATCH 7/7] Update wannier90_input.py --- nexus/lib/wannier90_input.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/nexus/lib/wannier90_input.py b/nexus/lib/wannier90_input.py index be2ceb2953..2d66410c7d 100644 --- a/nexus/lib/wannier90_input.py +++ b/nexus/lib/wannier90_input.py @@ -376,8 +376,6 @@ def generate_wannier90_input( Parameters ---------- - prefix : str, optional - Prefix for the Wannier90 calculation system : PhysicalSystem object, optional System containing structure information num_wann : int