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
NAME
Photonic::Roles::Geometry
VERSION
version 0.023
SYNOPSIS
use Photonic::Geometry::FromB;
$g=Photonic::Geometry->new(B=>$pdl);
$B=$g->B;
$G=$g->G;
- (for developers)
-
package Photonic::Geometry::FromB; $Photonic::Geometry::Geometry::VERSION = '0.023'; use namespace::autoclean; use Moo; has 'B' =>(is=>'ro', isa=>PDLObj, required=>1, documentation=>'characteristic function'); with 'Photonic::Roles::Geometry';
DESCRIPTION
Roles consumed by geometry objects to be used in a Photonic calculation. See also the specific implementations under Photonic::Geometry.
ACCESSORS (defined by the implementation)
B
The characteristic function as PDL
ACCESSORS (read write)
Direction0
Direction of the zero length wavevector
ACCESSORS (read only)
L
Unit cell sizes as a 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
METHODS
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.
PREDICATES
- has_Direction0
-
Test if Direction0 has been set.