(git:6a2e663)
mulliken Module Reference

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

Functions/Subroutines

subroutine, public mulliken_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 More...
 
subroutine, public compute_charges (p_matrix, s_matrix, charges, para_env)
 compute the mulliken charges More...
 
subroutine, public compute_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 More...
 
subroutine, public atom_trace (amat, bmat, factor, atrace)
 Compute partial trace of product of two matrices. More...
 

Detailed Description

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

Author
Joost VandeVondele March 2003

Function/Subroutine Documentation

◆ mulliken_restraint()

subroutine, public mulliken::mulliken_restraint ( type(mulliken_restraint_type), intent(in)  mulliken_restraint_control,
type(mp_para_env_type), pointer  para_env,
type(dbcsr_type), pointer  s_matrix,
type(dbcsr_p_type), dimension(:), pointer  p_matrix,
real(kind=dp), optional  energy,
real(kind=dp), optional  order_p,
type(dbcsr_p_type), dimension(:), optional, pointer  ks_matrix,
type(dbcsr_p_type), dimension(:), optional, pointer  w_matrix 
)

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

optional outputs: computes energy (added) contribution to KS matrix (added) contribution to W matrix (added)

Parameters
mulliken_restraint_controladditional parameters needed to control the restraint
para_envpara_env of the matrices
s_matrix,p_matrix: containing the respective quantities
p_matrix...
energy...
order_p...
ks_matrix...
w_matrix...
History
06.2004 created [Joost VandeVondele]
Note
contribution to the KS matrix is derivative wrt P contribution to the W matrix is derivate wrt S (sign?) needed for orbital and ionic forces respectively

Definition at line 71 of file mulliken.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_charges()

subroutine, public mulliken::compute_charges ( type(dbcsr_p_type), dimension(:), pointer  p_matrix,
type(dbcsr_type), pointer  s_matrix,
real(kind=dp), dimension(:, :), pointer  charges,
type(mp_para_env_type), pointer  para_env 
)

compute the mulliken charges

Parameters
p_matrix,s_matrix,para_env...
s_matrix...
chargespreviously allocated with the right size (natom,nspin)
para_env...
History
06.2004 created [Joost VandeVondele]
Note
charges are computed per spin in the LSD case

Definition at line 215 of file mulliken.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_bond_order()

subroutine, public mulliken::compute_bond_order ( type(dbcsr_type)  psmat,
type(dbcsr_type)  spmat,
real(kind=dp), dimension(:, :)  bond_order 
)

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

Parameters
psmat...
spmat...
bond_order...
History
12.2016 created [JGH]

Definition at line 656 of file mulliken.F.

Here is the caller graph for this function:

◆ atom_trace()

subroutine, public mulliken::atom_trace ( type(dbcsr_type), pointer  amat,
type(dbcsr_type), pointer  bmat,
real(kind=dp), intent(in)  factor,
real(kind=dp), dimension(:), pointer  atrace 
)

Compute partial trace of product of two matrices.

Parameters
amat...
bmat...
factor...
atrace...
History
06.2004 created [Joost VandeVondele]
Note
charges are computed per spin in the LSD case

Definition at line 914 of file mulliken.F.

Here is the caller graph for this function: