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
email@example.com Instituto de Ciencias Físicas, UNAM Apartado Postal 48-3 62251 Cuernavaca, Morelos México
use Photonic::Geometry::FromEpsilon; $g=Photonic::Geometry::FromEpsilon->new(epsilon=>$pdl); $epsilon=$g->epsilon;
Creates a geometry object to be used in a Photonic calculation from a dielectric function which specifies a complex dielectric function for each pixel or voxel within the unit cell.
Creates a new Ph::G::FromEpsilon object
$pdl is a 2:nx,ny,nz complex pdl whose value is the complex dielectric function for each point (nx,ny,nz) within the unit cell. The number of dimensions of its real and imaginary parts are the dimension of space, and each dimension is the number of voxels of the unit cell along the corresponding direction.
$L is the size of the unit cell along the cartesian axes. By default, it is the number of voxels or pixels.
The characteristic function as a PDL. Note: this is not the true characteristic function, but just a PDL with the appropriate shape.
The dielectric function as PDL
Unit cell sizes as a B->ndims pdl.