NAME
Photonic::Geometry
VERSION
version 0.003
SYNOPSIS
use Photonic::Geometry;
$g=Photonic::Geometry->new(B=>$pdl);
$B=$g->B;
$G=$g->G;
DESCRIPTION
Create a geometry object to be used in a Photonic calculation.
You might want to use the related package Photonic::Geometry::FromImage2D
METHODS
new(B=>$pdl[, L=>$L][, units=>$units])
Creates a new Ph::G object
$pdl is a boolean array with 1's and 0's representing the characteriztic function within the unit cell. Its dimensions must be odd. Its number of dimensions is the dimension of space
$L is the size of the unit cell along the cartesian axes. By default, it is the number of pixels.
$units is an arrayref of pdl's, one for each basis vector of the lattice. It defaults to cartesian unit vectors. Note: Non-default $units are not yet implemented.
Vec2LC_G($v_G)
Returns the longitudinal component of a 'complex' vector field $v_G in reciprocal space
LC2Vec_G($s_G)
longitudinal vector field from its longitudinal components in reciprocal space. Scalar field to vector field.
ACCESORS (read only)
B
The characteristic function as PDL
L
Unit cell sizes as a B->ndims pdl.
units
Basis
e
_i of basis vectors for the latticedims
The dimensions [$X, $Y...] of the PDL B
ndims
The number of dimensions of the PDL B, i.e., the dimensionality of space.
npoints
Number of points within unit cell.
scale
The distance between neighbor pixels along the axes.
r
The position coordinates. In 2D, a 2,$X,$Y pdl. In 3D, a 3,$X,$Y,$Z pdl.
G
The reciprocal lattice. In 2D, a 2, $X, $Y pdl. G.R=multiple of 2\pi.
GNorm
The reciprocal lattice, normalized to 1. In 2D, a 2, $X, $Y pdl.
f
Filling fraction of B region
unitPairs
Normalized sum of pairs of unit vectors u_{(ij)}=normalized e_ i+e_j.
unitDyads
Matrix of dyads of unit vector pairs d^{ij}_{kl}=u^{i}_{kl}u^{j}_{kl} as 2d matrix, adjusted for symmetry
unitDyadsLU
LU decomposition of unitDyads. Used to obtain cartesian components of dielectric tensor from longitudinal dielectric functions along the directions given by unitPairs
ACCESORS (read write)
- Direction0
-
Direction of the zero length wavevector
PREDICATES
- has_Direction0
-
Test if Direction0 has been set.