Documentation for module mulliken

compute mulliken charges we (currently) define them as c_i = 1/2 [ (PS)_{ii} + (SP)_{ii} ]

source: mulliken.F
Loading...

Generic procedures:

mulliken_charges

public Subroutines/Functions:

compute Mayer bond orders for a single spin channel for complete result sum up over all spins and multiply by Nspin
computes the energy and density matrix derivate of a constraint on the mulliken charges

Generic procedure mulliken_charges

print the mulliken charges to scr on ionode

POINTER
:: p_matrix(:) × × ×
:: p_matrix ×
TYPE(dbcsr_type),
POINTER
:: s_matrix × ×
POINTER
:: s_matrix(:) ×
:: s_matrix ×
POINTER
:: para_env × × × × × × ×
POINTER
:: particle_set(:) × ×
POINTER
:: qs_kind_set(:) × ×
INTEGER
:: scr × ×
CHARACTER(*)
:: title × ×
REAL(dp),
POINTER
:: mcharge(:,:) × × × ×
REAL(dp)
:: mcharge(:) ×
REAL(dp),
POINTER
:: dmcharge(:,:) × ×
POINTER
:: p_matrix_kp(:,:) × × ×
POINTER
:: s_matrix_kp(:,:) × × ×

SUBROUTINEcompute_bond_order(psmat, spmat, bond_order)

compute Mayer bond orders for a single spin channel for complete result sum up over all spins and multiply by Nspin

Arguments:
:: psmat ...
:: spmat ...
REAL(dp)
:: bond_order(:,:) ...

SUBROUTINEmulliken_restraint(mulliken_restraint_control, para_env, s_matrix, p_matrix, energy, order_p, ks_matrix, w_matrix)

computes the energy and density matrix derivate of a constraint on the mulliken charges

Arguments:
INTENT(in)
:: mulliken_restraint_control additional parameters needed to control the restraint
POINTER
:: para_env para_env of the matrices
TYPE(dbcsr_type),
POINTER
:: s_matrix containing the respective quantities
POINTER
:: p_matrix(:) containing the respective quantities
REAL(dp),
OPTIONAL
:: energy ...
REAL(dp),
OPTIONAL
:: order_p ...
OPTIONAL, POINTER
:: ks_matrix(:) ...
OPTIONAL, POINTER
:: w_matrix(:) ...

SUBROUTINEmulliken_charges_a(p_matrix, s_matrix, para_env, particle_set, qs_kind_set, scr, title)

print the mulliken charges to scr on ionode

Arguments:
POINTER
:: p_matrix(:) ...
TYPE(dbcsr_type),
POINTER
:: s_matrix ...
POINTER
:: para_env ...
POINTER
:: particle_set(:) (needed for Z)
POINTER
:: qs_kind_set(:) ...
INTEGER
:: scr unit for output
CHARACTER(*)
:: title ...

SUBROUTINEmulliken_charges_b(p_matrix, s_matrix, para_env, mcharge)

...

Arguments:
POINTER
:: p_matrix(:) ...
TYPE(dbcsr_type),
POINTER
:: s_matrix ...
POINTER
:: para_env ...
REAL(dp),
POINTER
:: mcharge(:,:) ...

SUBROUTINEmulliken_charges_c(p_matrix, s_matrix, para_env, mcharge, dmcharge)

...

Arguments:
POINTER
:: p_matrix(:) ...
POINTER
:: s_matrix(:) ...
POINTER
:: para_env ...
REAL(dp),
POINTER
:: mcharge(:,:) ...
REAL(dp),
POINTER
:: dmcharge(:,:) ...

SUBROUTINEmulliken_charges_s(p_matrix, s_matrix, para_env, mcharge)

...

Arguments:
:: p_matrix ...
:: s_matrix ...
POINTER
:: para_env ...
REAL(dp)
:: mcharge(:) ...

SUBROUTINEmulliken_charges_akp(p_matrix_kp, s_matrix_kp, para_env, particle_set, qs_kind_set, scr, title)

print the mulliken charges to scr on ionode

Arguments:
POINTER
:: p_matrix_kp(:,:) ...
POINTER
:: s_matrix_kp(:,:) ...
POINTER
:: para_env ...
POINTER
:: particle_set(:) (needed for Z)
POINTER
:: qs_kind_set(:) ...
INTEGER
:: scr unit for output
CHARACTER(*)
:: title ...

SUBROUTINEmulliken_charges_bkp(p_matrix_kp, s_matrix_kp, para_env, mcharge)

...

Arguments:
POINTER
:: p_matrix_kp(:,:) ...
POINTER
:: s_matrix_kp(:,:) ...
POINTER
:: para_env ...
REAL(dp),
POINTER
:: mcharge(:,:) ...

SUBROUTINEmulliken_charges_ckp(p_matrix_kp, s_matrix_kp, para_env, mcharge, dmcharge)

...

Arguments:
POINTER
:: p_matrix_kp(:,:) ...
POINTER
:: s_matrix_kp(:,:) ...
POINTER
:: para_env ...
REAL(dp),
POINTER
:: mcharge(:,:) ...
REAL(dp),
POINTER
:: dmcharge(:,:) ...