version 0.012


Photonic - A perl package for calculations on photonics and metamaterials.

Copyright (C) 1916 by W. Luis Mochán

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA

    Instituto de Ciencias Físicas, UNAM
    Apartado Postal 48-3
    62251 Cuernavaca, Morelos


   use Photonic::LE::NP::AllH;
   my $iter=Photonic::LE::NP::AllH->new(
       epsilon=>$e, geometry=>$geometry, nh=>$Nh, keepStates=>$save);
   my $haydock_as=$iter->as;
   my $haydock_bs=$iter->bs;
   my $haydock_b2s=$iter->b2s;
   my $haydock_states=$iter->states;


Iterates the calculation of Haydock coefficients and (optionally) states and saves them for later retrieval. This class corresponds to the nonretarded longitudinal dielectric function calculation for possibly more than two phases.


This class only works for the default macroscopic initial state. firstState should not be modified.


  • new(epsilon=>$e, geometry=>$g, nh=>$nh, keepStates=>$k)

    Initializes an Ph::NR::NP::AllH object. $nh is the maximum number of desired coefficients, $k is a flag, non zero to save the Haydock states. All other arguments are as in Photonic::LE::NP::OneH.

  • run

    Runs the iteration to completion.

  • All the Photonic::LE::NP::OneH methods

    Implements calculation of Haydock coefficients and states. See implementation documentation.

  • All the Photonic::Roles::AllH methods

    Iterates the calculation of one Haydock coefficient and state for non-retarded system at a time and saves them to later retrival.

ACCESORS (read only)

  • nh

    Maximum number of desired Haydock 'a' coefficients and states. The number of b coefficients is one less.

  • keepStates

    Flag to keep (1) or discard (0) Haydock states

  • states

    Array of Haydock states

  • as

    Array of Haydock a coefficients

  • bs

    Array of Haydock b coefficients

  • b2s

    Array of Haydock b coefficients squared