wavefunction_analysis.dynamics package

Submodules

wavefunction_analysis.dynamics.dimers_in_crystal module

add_molecule(ix, iy, iz, inverse, abc, angles, elements, scales)[source]
add_molecules_cell(n_images, abc, angles, elements, scales)[source]
cal_dipole_interactions(dipoles, coords)[source]
dipole_dipole_interaction(d1, d2, r1, r2)[source]

d1, d2: dipoles (x,y,z) r1, r2: dipole center coordinates (x, y, z)

get_center_of_mass(atmsym, coords)[source]
read_unit_cell_info(ciff)[source]
translate_molecule(ix, iy, iz, abc, angles, elements, coords0)[source]
write_eda_files(elements, coordinates, mol)[source]
write_xyz_files(elements, coordinates, mol)[source]

wavefunction_analysis.dynamics.electronic_dynamics_gs module

class CurvyElectronicDynamicsStep(key)[source]

Bases: ElectronicDynamicsStep

refer: Herbert 2004 JCP 10.1063/1.1814934

cal_electronic_energy_force(F, P, Z)[source]
cy_get_mass_on_basis(F)[source]
cy_orbital_response()[source]
cy_update_delta(G, mass_bas)[source]
cy_update_density(P, Z)[source]
euler_step(G, mass_bas)[source]
get_electronic_kinetic_energy(velocities, mass)[source]
init_electronic_density_static(coords)[source]
leapfrog_step(G, mass_bas)[source]
update_electronic_density_static(coords)[source]
update_electronic_density_static2(coords)[source]
velocity_verlet_step(G, mass_bas, half)[source]
class ElectronicDynamicsStep(key, **kwargs)[source]

Bases: object

cal_electronic_force()[source]
get_ortho_basis(ovlp=None)[source]
init_electronic_density_static(coords, *args, **kwargs)
setup_electronic_basis(coords, *args, **kwargs)[source]
update_electronic_density_dynamics(coords)[source]
update_electronic_density_static(coords, *args, **kwargs)[source]
class ExtendedLagElectronicDynamicsStep(key)[source]

Bases: ElectronicDynamicsStep

refer: Niklasson 2009 JCP 10.1063/1.3148075

Niklasson 2017 JCP 10.1063/1.4985893 Niklasson 2020 JCP 10.1063/1.5143270

init_electronic_density_static(coords)[source]
init_xl_variables()[source]
static_extended_lagrange()[source]
update_electronic_density_static(coords)[source]
xl_auxiliary_density_dotdot()[source]
xl_build_fock(coords)[source]
xl_build_fock_init(coords, k)[source]
class GrassmannElectronicDynamicsStep(key)[source]

Bases: ElectronicDynamicsStep

init_electronic_density_static(coords)[source]
interpolation(coords)[source]
update_electronic_density_static(coords)[source]
update_gamma_lagrange(coords)[source]
cal_electronic_energy1(mf, P1, Z=None, method='lowdin')[source]

normal energy

cal_electronic_energy2(mf, P1, Z=None, method='lowdin')[source]

extended lagrange energy

cal_electronic_force(mf, P1, P2=None, P3=None, F=None, Z=None, method='lowdin')[source]
cal_idempotency(P, S=None)[source]
cal_pulay_force(mf, F, P, Fao, Pao, Z, method='lowdin')[source]
density_purification(P, S=None)[source]
run_pyscf_gs(scf_method, mol, functional, *args, **kwargs)[source]

wavefunction_analysis.dynamics.exciton_dynamics module

class Dynamics(key, **kwargs)[source]

Bases: object

kernel()[source]
plot_time_variables(fig_name=None)[source]
class ExcitonDynamicsStep(key={}, **kwargs)[source]

Bases: object

analyze_wf_property(coefficients=None, c2=None)[source]
cal_energy(hamiltonian=None, coefficients=None)[source]
cal_force(coordinate, coefficients=None)[source]
cal_ipr_value(coefficients=None, c2=None)[source]
cal_r_correlation(coefficients=None, c2=None)[source]
check_sanity()[source]

check the input parameters

convert_parameter_units(unit_dict)[source]
get_exciton_couplings(coordinate)[source]
get_exciton_diagonal(coordinate)[source]
get_exciton_hamiltonian(coordinate)[source]
get_exciton_hamiltonian0()[source]
get_exciton_hamiltonian1(coordinate)[source]
get_exciton_hamiltonian2(coordinate)[source]
get_initial_coefficients(coordinate)[source]
get_unit_cell_info(cif)[source]
process_parameters()[source]
update_coefficients(coordinate, coordinate1=None, dt=None)[source]
class ExcitonDynamicsStep3D(key={}, **kwargs)[source]

Bases: ExcitonDynamicsStep

cal_force(coordinate, coefficients=None)[source]
get_exciton_couplings(coordinate)[source]
process_parameters()[source]
class OscillatorDynamicsStep(key={}, **kwargs)[source]

Bases: harmonic_oscillator

convert_parameter_units(unit_dict)[source]
required input:

mass in amu frequency in meV

get_phonon_hamiltonian(velocity=None, coordinate=None, mass=None, omega2=None)[source]
get_boltzmann_beta(temperature)[source]

wavefunction_analysis.dynamics.molecular_dynamics module

class MolecularDynamics(key, ed_key={}, ph_key={}, **kwargs)[source]

Bases: object

plot_time_variables(fig_name=None)[source]
run_dynamics()[source]
set_electronic_step(key, **kwargs)[source]
set_nuclear_step(key)[source]
set_photon_step(key, **kwargs)[source]
plot_time_variables(total_time, nsteps, dists, energies)[source]

wavefunction_analysis.dynamics.oscillator_dynamics module

class NuclearDynamicsStep(key={}, **kwargs)[source]

Bases: harmonic_oscillator

convert_parameter_units(unit_dict)[source]
get_potential_energy(mass=None, coordinate=None, omega2=None)[source]
init_coordinate_velocity(init_method=None)[source]

generate the initial oscillator coordinate and velocities n_site: number of total molecular sites

init_velocity_random(etrans=None, sigma=0.0001, scale=0.1, seed=12345)[source]

random kinetic energy for atoms at three directions

init_velocity_thermo(temp=None, seed=1385448536)[source]

random velocity following Boltzmann distribution

project_force(force, mass=None, coords=None)[source]
project_velocity(velocity, mass=None, coords=None)[source]
update_coordinate_velocity(force, half=1, **kwargs)[source]
angular_property(mass, coords, props)[source]
get_boltzmann_beta(temperature)[source]
class harmonic_oscillator(key={}, **kwargs)[source]

Bases: object

euler_step(force)[source]
get_energy(velocity, mass=None, coordinate=None, omega2=None)[source]
get_kinetic_energy(velocity, mass=None)[source]
get_potential_energy(mass=None, coordinate=None, omega2=None)[source]
init_coordinate_velocity(n_site=None, init_method=None)[source]

generate the initial oscillator coordinate and velocities n_site: number of total molecular sites

leapfrog_step(force)[source]
recursive_exploration_step(force, force_func, **kwargs)[source]
update_coordinate_velocity(force, half=1, **kwargs)[source]
velocity_verlet_step(force, half)[source]
remove_trans_rotat_force(force, mass, coords)[source]
remove_trans_rotat_velocity(velocity, mass, coords)[source]

wavefunction_analysis.dynamics.photon_dynamics module

class PhotonDynamicsStep(key, **kwargs)[source]

Bases: object

get_initial_density(ntot, ns)[source]
update_density(molecular_dipole, dt, half=1)[source]
class PhotonDynamicsStep2(key={}, **kwargs)[source]

Bases: harmonic_oscillator

convert_parameter_units(unit_dict)[source]
get_minimim_displacement(molecular_dipole)[source]
update_density(molecular_dipole, dt, half=1)[source]
get_trans_amplitude(ntot, coupling=1.0, energy=None, vector=False)[source]

Module contents