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
mochan@fis.unam.mx Instituto de Ciencias Físicas, UNAM Apartado Postal 48-3 62251 Cuernavaca, Morelos México
Photonic::Roles::Geometry
version 0.013
use Photonic::Geometry::FromB; $g=Photonic::Geometry->new(B=>$pdl); $B=$g->B; $G=$g->G;
package Photonic::Geometry::FromB; $Photonic::Geometry::Geometry::VERSION = '0.013'; use namespace::autoclean; use Moose; has 'B' =>(is=>'ro', isa=>'PDL', required=>1, documentation=>'charateristic function'); with 'Photonic::Roles::Geometry';
Roles consumed by geometry objects to be used in a Photonic calculation. See also the specific implementations under Photonic::Geometry.
B
The characteristic function as PDL
Direction0
Direction of the zero length wavevector
L
Unit cell sizes as a ndims pdl.
units
Basis e_i of basis vectors for the lattice
e
dims
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
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.
Test if Direction0 has been set.
To install Photonic, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Photonic
CPAN shell
perl -MCPAN -e shell install Photonic
For more information on module installation, please visit the detailed CPAN module installation guide.