Package: thunder-ase
Thunder ASEDescriptionThe interface of ASE for FIREBALL.FIREBALLis an open source and high efficiency DFT software based on local-orbital ab-initio method, allows for the simulation very large supercells of thousands of atoms.ASEis a popular python package for atomic structure modeling. ASE provide interfaces with many QM and MM software. Thisthunder-asepackage is not only the ASE interface for FIREBALL, but also provides many other useful functions.Installationpip install -U thunder-aseRequirementsasespglibdftd4 and dftd4-python for DFT-D4 (optional)TutorialSimple examplefromthunder_ase.fireballimportFireballfromase.buildimportmoleculeatoms=molecule('C6H6')Fdata_path='YOUR_FDATA_PATH'kwargs={'iwriteout_charges':1,# Writing out the charges.'efermi_T':200.0,'ipi':1,# use i-PI socket protocol. Default is 0. Recommended for optimization and MD.}calc=Fireball(command='YOUR_PATH for fireball-ase.x',Fdata_path=Fdata_path,**kwargs)atoms.calc=calce0=atoms.get_potential_energy()efermi=atoms.calc.get_fermi_level()print("The energy is{:.3f}eV.".format(e0))print("The Fermi Level is{:.3f}eV.".format(efermi))# Optimization the Structurefromase.optimize.bfgsimportBFGSdyn=BFGS(atoms,trajectory='opt.traj')calc.dynamics(dyn,fmax=0.05)# This function uses i-PI socket to speed up the calculation. The original ASE way still works, but without socket supported.Grimme's DFT-D3 and DFT-D4 combinationSeeDFDT-D3 exampleDFDT-D4 example.More info:DFT-D3 manualDFT-D3 in ASEDFT-D4 with ASE supportBasic Parametersqstate: The charge state of the system. Default is 0. Positive values mean add extra electrons, negatives mean remove electrons.efermi_t: Smearing temperature at Fermi level. Default is 100.0, which is about 0.0086 eV. For metal system, larger value is recommended.max_scf_iterations_set: Scf steps maximum. Default is 50.scf_tolerance_set: Scf tolerance of charge. Default is 1.0E-6. Smaller value is recommended for higher precision, e.g. 1.0E-8.beta_set: Broyden’s mix factor of charges. Default is 0.08.ecut_set: To control mesh grid density. Default is 200.0.iwriteout_charges: Write out charges. Default is  0 (False).The following keywords only for Thunder-ASEkpt_size: Size of k point sampling. Default is None for molecules and [1, 1, 1] for crystals.kpt_offset: Offset for k point sampling. Default is None for molecules and [0., 0., 0.] for crystals.kpt_interval: Define kpoint sampling by the interval. Default is None.kpt_path: K points path to obtain band structure. Default is None. See more inase.dft.kpoints.BandPath.nkpt: Number of kpoints on path. Default is None. Used ifkpt_pathis defined by string.kpt_reduced: Whether reduce the k points. Default is True.kpt_gamma: . Gamma centre mesh. Default is True.Advanced Parametersiconstraint_rcm: Whether shifts molecule to center of mass (COM) before the simulation. Default is 1 (True).ifix_neighbors: Fix the neighbor list of the system to initial structure. Default is  0 (False).ifix_charges: Fix the charges of the system to initial structure. Default is  0 (False). This is useful sometimes for very unreasonable initial structures.iwriteout_me_sandh: Write out overlap (S) and Hamiltonian (H) matrix. Default is 0 (False).iwriteout_cdcoeffs: Write out orbital coefficients. Default is 0 (False).iwriteout_density: Write out density matrix. Default is  0 (False).iwriteout_energies: Write out all energy terms. Default is  0 (False).iwriteout_populations: Measure the localization by the entropic quantity W. Default is  0 (False). W is the number of accessible atoms for the given electronic energy and which describes the spatial extent of the electronic state. See more in Refs. H. Wang and J. P. Lewis, J. Phys.: Condens. Matter 18, 421–434 (2005) and  H. Wang and J. P. Lewis, J. Phys.: Condens. Matter 17, L209–L213 (2005).iwriteout_forces: Write out all force terms. Default is  0 (False).iwriteout_neighbors: Write out all neighbors. Default is  0 (False).iwriteout_abs: Write out absorption spectra. Default is  0 (False).iwriteout_ewf: Write out wave functions. Default is  0 (False).iwriteout_dos: Write out  density of states. Default is  0 (False).ipi: open I-PI socket. Default is 0.inet: socket protocol, 0: unixsocket, 1: port. Default is 0(unixsocket). inet=1 is under-developing.host: name for unixsocket. Default is 'thunder-ase-xxxx', xxxx is random string.Deprecated ParametersThe following parameters are deprecated due to the usage of thunder-ase. In the future, they will be removed from FIREBALL. Most parameters are for MD simulations.nstepi: Initial step number. Default is 1.iconstraint_rcm: Shift COM to [0,0,0] before simulation. Default is 0 (False).iconstraint_vcm: Constraining the velocities about the COM, it means whether fix  the COM during simulation. Default is 1 (True).iconstraint_l: Angular momentum constraint of the whole system. Default is  1 (True).iconstraint_ke: Kinetic energy constraint of the whole system. Default is  0 (False).nstepf: Final step number. Default is 1.nstepf - nstepiis the required MD steps.t_initial: Initial temperature of MD simulation. Default is 300.0.t_final: Final temperature of MD simulation. Default is 0.0.iquench: Quench method. Default is 0.iquench = n: quench the velocities on every n’th step;iquench = -1: quench whenever the instantaneous temperatureT_instantaneousis lower than the instantaneous temperature on the previous stepT_previous;iquench = -2: annealing simulation.T_wantis the desired annealing temperature andtaurelaxis for specifies how rapidly of quench;iquench = -3: Coordinate power quench, quench velocities one coordinate at a time.t_want: Annealing temperature to reach.  Default is 300.0 K.taurelax: Quench rate. Default is 5.0 fs.dt: Time step of MD simulation. Default is 0.25 fs.iensemble: Thermodynamic ensemble. Default is 0.iensemble = 1: Constant temperature ensembleRoadmapv0.1: run basic fireball calculation and read basic result from it.jupyter-notebook for examplesmultiple atoms for one calculatorread fireball input to construct calculatorv0.2: band structure calculation.DOS calculation.v0.3: fit basis to gaussian basis set, write orbitals to mwfn.interface to multiwfn.v0.4: Read charges and support charged system.add MD simulation examplesadd Fukui function calculation examplesv0.5: interactive running with socket.v0.6: combination with Grimme's DFT-D4 correction.v0.7: new calc.dynamics() function for easy running optimization and MD with socket.vx.x: set ipi = 1 as defaultvx.x: Use RMS as convergence criteria replace fmax and/or new optimizer for noisy forcevx.x: Fdata management. Maybe not in this repository.vx.x: support more functionals, add keywordsxc.vx.x: interface with LODESTAR to do open quantum system simulation.vx.x: support XingChen Liu's nano-reactor