The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Photonic::LE::NP::AllH

VERSION

version 0.017

COPYRIGHT NOTICE

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

Copyright (C) 2016 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

mochan@fis.unam.mx

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

SYNOPSIS

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

DESCRIPTION

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.

WARNING

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

METHODS

  • 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.

ACCESSORS (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