NAME
Photonic::NonRetarded::OneH
VERSION
version 0.003
SYNOPSIS
use Photonic::NonRetarded::OneH;
my $nr=Photonic::NonRetarded::OneH->new(geometry=>$geometry);
$nr->iterate;
say $nr->iteration;
say $nr->current_a;
say $nr->next_b2;
my $state=$nr->nextState;
DESCRIPTION
Implements calculation of Haydock coefficients and Haydock states for the calculation of the non retarded dielectric function of arbitrary periodic two component systems in arbitrary number of dimentions. One Haydock coefficient at a time.
METHODS
new(geometry=>$g[, small=>$s])
Create a new Ph::NR::OneH object with GeometryG0 $g and optional smallness parameter $s.
ACCESORS (read only)
geometry Photonic::Types::GeometryG0
A Photonic::Geometry object defining the geometry of the system, the charateristic function and the direction of the G=0 vector. Should be given in the initializer.
B dims r G GNorm L scale f
Accesors handled by geometry (see Photonic::Geometry)
small
A small number used as tolerance to end the iteration. Small negative b^2 coefficients are taken to be zero.
previousState currentState nextState
The n-1-th, n-th and n+1-th Haydock states; a complex number for each pixel
current_a
The n-th Haydock coefficient a
current_b2 next_b2 current_b next_b
The n-th and n+1-th b^2 and b Haydock coefficients
iteration
Number of completed iterations
METHODS
iterate
Performs a single Haydock iteration and updates current_a, next_state, next_b2, next_b, shifting the current values where necessary. Returns 0 when unable to continue iterating.