Golem is hosted by Hepforge, IPPP Durham

src/module/s_matrix_type [ Modules ]

[ Top ] [ Modules ]

NAME

  Module s_matrix_type

USAGE

  use s_matrix_type

DESCRIPTION

  This module contains a type definition for the kinematic s_matrix, 
  intended to mimic a run-time polymorphism.

OUTPUT

  This module exports the derived type:
  * s_matrix_poly 

  One function:
  * assign_s_matrix -- associates the pointers in the s_matrix to a given real or complex matrix
   
  Subroutines:
  * nullify_s_matrix -- nullifies the pointers
  * set_s_matrix_bits -- sets an integer which describes the positions of complex masses in the s matrix.
                         sets an integer which describes the positions of zero mass entries.
  * fill_s_matrix -- fills the real array associated with a complex array.

USES

  * precision_golem (src/module/preci_double.f90)
  * sortie_erreur (src/module/sortie_erreur.f90)
  * equal (src/module/equal.f90)
  * constante (src/module/constante.f90)

src/module/s_matrix_type/assign_s_matrix [ Functions ]

[ Top ] [ Functions ]

NAME

  assign_s_matrix

USAGE

  assign_s_matrix(s_mat_r)
  assign_s_matrix(s_mat_c,s_mat_r)

DESCRIPTION

  This function associates the global (type s_matrix_poly) s_mat_p
  with the given real or complex input matrix. In the case a complex
  matrix is given, a real matrix, which will contain the real part of the 
  complex matrix, has also be given as an argument.

INPUTS

  A real and a complex matrix. Or just a real matrix.

RETURN VALUE

  a type (s_matrix_poly) is returned.

src/module/s_matrix_type/fill_s_matrix [ Functions ]

[ Top ] [ Functions ]

NAME

  Subroutine fill_s_matrix

USAGE

  call fill_s_matrix(s_mat_p)

DESCRIPTION

  This procedure fills the associated real array with the
  real entries of a complex s_matrix if the corresponding
  pointer to the complex array is associated.

INPUTS

  *  a type (s_matrix_poly) object

RETURN VALUE

  none

src/module/s_matrix_type/nullify_s_matrix [ Functions ]

[ Top ] [ Functions ]

NAME

  Subroutine nullify_s_matrix

USAGE

  nullify_s_matrix(s_mat_p)

DESCRIPTION

  This procedure nullifies the pointers in the input object.

INPUTS

  *  type (s_matrix_poly) object

RETURN VALUE

  none

src/module/s_matrix_type/s_matrix_poly [ Types ]

[ Top ] [ Types ]

NAME

   s_matrix_poly

SYNOPSIS

  !   type s_matrix_poly

SOURCE

  type s_matrix_poly
     !
     real(ki), dimension(:,:), pointer :: pt_real
     complex(ki), dimension(:,:), pointer :: pt_cmplx
     integer :: b_cmplx, b_zero
     !
  end type s_matrix_poly

NOTES

   * pt_real points to a real array (s_mat_r) if associated.
   * pt_cmplx points to a complex array (s_mat_c) if associated
   * b_cmplx is a bit-integer encoding the positions of 
     complex mass entries in the S matrix.
   * b_zero is a bit-integer encoding the positions of
     vanishing masses.

src/module/s_matrix_type/set_s_matrix_bits [ Functions ]

[ Top ] [ Functions ]

NAME

  Subroutine set_s_matrix_bits

USAGE

  call set_s_matrix_bits(s_mat_p,set_ref)

DESCRIPTION

  This procedure checks the diagonal of the given matrix for complex
  entries with non-vanishing imaginary part and vanishing masses as well.
  The results are encoded in bit-integers included in the derived type s_mat_p. 

INPUTS

  *  a type (s_matrix_poly) object
  *  a reference set of numbers associated with the diagonal entries.
     (typically an array (/1,2,...,n/) ).

RETURN VALUE

  none