io_dyn_mat2 Module

  • Uses:

  • iotk_module
  • kinds
  • mp_images
  • io_global
module~~io_dyn_mat2~~UsesGraph module~io_dyn_mat2 io_dyn_mat2 iotk_module iotk_module iotk_module->module~io_dyn_mat2 mp_images mp_images mp_images->module~io_dyn_mat2 io_global io_global io_global->module~io_dyn_mat2 kinds kinds kinds->module~io_dyn_mat2
 This module contains methods to read and write the dynamical
 matrix and the interatomic force constants files in xml format.

Used By

module~~io_dyn_mat2~~UsedByGraph module~io_dyn_mat2 io_dyn_mat2 proc~readmat_shuffle2 readmat_shuffle2 module~io_dyn_mat2->proc~readmat_shuffle2 proc~read_ifc read_ifc module~io_dyn_mat2->proc~read_ifc


TypeVisibility AttributesNameInitial
integer, private :: iunout
character(len=iotk_attlenx), private :: attr


public subroutine read_dyn_mat_param(fildyn, ntyp, nat)

Read paramters from the dynamical matrix


Type IntentOptional AttributesName
character(len=256), intent(in) :: fildyn

Name of the file to read

integer, intent(out) :: ntyp

Number of type of atoms

integer, intent(out) :: nat

Number of atoms

public subroutine read_dyn_mat_header(ntyp, nat, ibrav, nspin_mag, celldm, at, bg, omega, atm, amass, tau, ityp, m_loc, nqs, lrigid, epsil, zstareu, lraman, ramtns)

Read the dynamical matrix


Type IntentOptional AttributesName
integer, intent(in) :: ntyp

Number of type of atoms

integer, intent(in) :: nat

Number of atoms

integer, intent(out) :: ibrav
integer, intent(out) :: nspin_mag
real(kind=DP), intent(out) :: celldm(6)
real(kind=DP), intent(out) :: at(3,3)

Real-space lattice

real(kind=DP), intent(out) :: bg(3,3)

Reciprocal-space latrice

real(kind=DP), intent(out) :: omega
character(len=3), intent(out) :: atm(ntyp)
real(kind=DP), intent(out) :: amass(ntyp)
real(kind=DP), intent(out) :: tau(3,nat)
integer, intent(out) :: ityp(nat)
real(kind=DP), intent(out) :: m_loc(3,nat)
integer, intent(out) :: nqs
logical, intent(out), optional :: lrigid
real(kind=DP), intent(out), optional :: epsil(3,3)
real(kind=DP), intent(out), optional :: zstareu(3,3,nat)
logical, intent(out), optional :: lraman
real(kind=DP), intent(out), optional :: ramtns(3,3,3,nat)

public subroutine read_dyn_mat(nat, iq, xq, dyn)

This routine reads the dynamical matrix file. The file is assumed to be already opened. iq is the number of the dynamical matrix to read.


Type IntentOptional AttributesName
integer, intent(in) :: nat
integer, intent(in) :: iq
real(kind=DP), intent(out) :: xq(3)
complex(kind=DP), intent(out) :: dyn(3,3,nat,nat)

public subroutine read_ifc_param(nr1, nr2, nr3)


Type IntentOptional AttributesName
integer, intent(out) :: nr1
integer, intent(out) :: nr2
integer, intent(out) :: nr3

public subroutine read_ifc_xml(nr1, nr2, nr3, nat, phid)


Type IntentOptional AttributesName
integer, intent(in) :: nr1
integer, intent(in) :: nr2
integer, intent(in) :: nr3
integer, intent(in) :: nat
real(kind=DP), intent(out) :: phid(nr1*nr2*nr3,3,3,nat,nat)