Home > SPlaC v1_0 > README.m

README

PURPOSE ^

SPlaC v1.0

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

 SPlaC v1.0 
 SERS and Plasmonics Codes package for Matlab

 Contact: eric.leru@vuw.ac.nz
          pablo.etchegoin@vuw.ac.nz

 Website: http://www.victoria.ac.nz/raman/book/codes.aspx         
 
 Contents
%%%%%%%%%

 1. License and referencing
 2. Description
 3. Installation
 4. Disclaimer
 5. Feedback 
 6. Getting started
 
%%%%%%%%%%%%%
 1. License
%%%%%%%%%%%%%
 
 Copyright 2008 Eric Le Ru and Pablo Etchegoin.
 
 This package, including all its files and content are under the
 following copyright: 2008 Eric Le Ru and Pablo Etchegoin.
 
 The package may be used freely for research, teaching,
 or personal use. The unmodified complete package
 (including the README files) may be re-distributed
 and freely exchanged for pure research purposes, but cannot
 be commercialized or used for commercial/government purposes. 

 If research results obtained using the package are published
 in the scientific literature (or in any other form), the package
 should be appropriately referenced through its link to the book:

 E. C. Le Ru and P. G. Etchegoin, Principles of Surface-Enhanced
 Raman Spectroscopy and Related Plasmonic Effects
 (Elsevier, Amsterdam, 2009).

 
%%%%%%%%%%%%%%%%
 2. Description
%%%%%%%%%%%%%%%%
 
 This package contains a suite of Matlab codes to carry out various EM
 calculations relevant to SERS and plasmonics. Most of the underlying theory
 and relevant formulae are described in the aforementioned book (see
 license above).
 The relevant equations and sections from the book are referenced when possible
 in the "inline comments" to the codes. However, the codes can also be used
 independently of the book (most of the theory can also be found in standard EM
 textbooks).

 This package includes:

 - 30 self-running MatLab codes (functions)
   to reproduce most of the "theoretical" figures of the book 
   (in directory "BookFigures").

 - Analytical expressions for the optical properties of silver (Ag)
   and gold (Au) in the visible/NIR region
   (in directory "General").

 - Codes to evaluate reflection/refraction at multilayer planar interfaces
   (in directory "Plane").
   These include local-field calculations and example scripts for Surface Plasmon
   Resonances (SPRs) in the Otto and Kretsmann configurations.

 - Ellipsoids in the electrostatics approximation
   (in directory "Ellipsoids").
   These include local-field calculations
   relevant to SERS (average and maximum enhancement factors) for prolate
   and oblate spheroids, and for general ellipsoids.
   
 - Mie theory codes for plane wave excitation
   (in directory "Mie/PWE").
   These include radiation profile and
   local field calculations along with plotting tools for visualization.
 
 - Extension of Mie theory to dipolar emission
   (in directory "Mie/DIP").
   These include radiation profile and radiative and
   non-radiative enhancements calculations,
   along with plotting tools for visualization.

 - Extension of Mie theory to spherical multilayers (e.g. coated sphere)
   (in directory "Mie/MUL").
   These codes reuse many of the codes in "Mie/PWE" and "Mie/DIP".

 - Scripts to obtain useful symbolic expressions related to Mie theory
   (in directory "Mie/SYM").
   The Matlab "symbolic toolbox" is necessary to run these.


%%%%%%%%%%%%%%%%%
 3. Installation
%%%%%%%%%%%%%%%%%
 
 - Unzip the SPlaC.zip file, keeping the subdirectory structure for
   clarity.
 - Then set your Matlab current directory to 'SPlaC' and 
   run the "InitPath.m" function once in Matlab to add all the SPlaC
   subdirectories to your Matlab path. All the SPlaC functions and scripts
   are then accessible from the command line. This allows all codes
   to run and communicate with each other irrespective of the current directory.

 Note that you must run "InitPath.m" each time you restart Matlab.
 To avoid this step, you may add all SPlaC folders to your Matlab path
 permanently or edit the startup.m file to do that (check Matlab
 help for details).


%%%%%%%%%%%%%%%
 4. Disclaimer
%%%%%%%%%%%%%%%

 These codes have been developed and tested with Matlab 7.5.0 (R2007b) 
 on a PC running Microsoft Windows XP Pro SP2.
 Slight changes may be necessary to run them on older (or newer!) version
 of Matlab.

 Although every efforts have been made to get rid of bugs (programming
 bugs, or even incorrect physical formulae), some may (must, we could say)
 still be present. We hope the users will help us identify them and we
 will try to update the codes when necessary.

 Note also in this context that these codes do not implement a strict
 error checking of the user inputs, i.e. following the famous English 
 proverb "garbage in, garbage out" (also known as "GIGO" in computer 
 science), if the parameters are incorrect during a function call, 
 errors will occur.

 The authors do not accept any responsibility for improper use of the 
 codes, accidental errors that might still be present in them, or 
 improper interpretation of their limitations and/or results derived 
 therefrom. It is the responsibility of the user to check the validity 
 of the inputs/outputs, their physical interpretation, and their 
 suitability for his/her specific problem.

%%%%%%%%%%%%%%%
 5. Feedback
%%%%%%%%%%%%%%%

 We would like to hear from the users of these codes to improve them.
 This includes simple issues of layouts and organization
 of the information or plain errors.
 Please feel free to send us any feedback (good or bad), bug reports,
 questions, comments, or suggestions to:
 eric.leru@vuw.ac.nz and/or pablo.etchegoin@vuw.ac.nz

 
%%%%%%%%%%%%%%%%%%%%
 6. Getting started
%%%%%%%%%%%%%%%%%%%%

 The easiest way (perhaps) to start realizing the extent of the codes, 
 and what can be done with them, is to try to reproduce the figures from 
 the book in the directory "BookFigures". From this latter directory, 
 each individual m-file (a MatLab function) reproduces a specific 
 figure  shown in the book and its accompanying calculations.
 
 The reason for trying to gain familiarity with the codes by reproducing 
 figures is twofold. First of all, the codes run by themselves and, 
 therefore, the inexperienced user is spared the work of having to 
 decide which parameters he/she needs to start the calculation. In 
 addition, the figures and the results can (and should) be used in 
 conjunction with the book itself. In that manner, a lengthy explanation 
 of the physical meaning of the calculation (which would be impossible 
 to include in the code itself) is readily available. Moreover, the reader
 can also adapt the figure to his/her specific needs, or "play with the
 parameters" to get a deeper understanding.
 
 Once the is user familiar with the meaning of the calculation,
 the codes producing the figures can be inspected. 
 The most important programming lines are accompanied by a suitable comment 
 or remark. We believe any user with a minimum of experience in MatLab 
 can easily follow the logic of the calculation. The main exception
 to this are the lines of code used for plotting and visualization, which
 are not explained in as much detail, but can be understood using the
 Matlab help.
 For example, the MatLab script “MakeFig6_11.m”, to reproduce Figure 11 
 of Chapter 6, contains under close inspection a call to the routine: 
 “PweSolveSingleSphere”, which solves the Mie scattering problem for a 
 single sphere. This code therefore provides a hands-on example of how 
 to call this routine.
 In this way, a potential user can learn without much effort and through examples 
 how the different routines can be pieced together to produce a specific 
 outcome. This can then be potentially be used for different needs or 
 applications beyond the ones shown in the book. 
 
 In the case of the codes for Mie theory, two functions, "tt PweFullMonty" and
 "DipFullMonty" are also provided
 to give an illustration of the possibilities of the codes by producing
 a number of representative figures. These are a good starting point to
 browse and understand the codes. These can be called simply by running the scripts
 "PweFullMonty" for Mie theory for plane wave excitation, and
 "DipFullMonty" for Mie theory for dipole emission.

 Finally, the codes can be browsed in HTML format in the SPlaC online
 help. Thanks to the cross-linking of all functions and scripts, this
 provides a relatively easy and efficient way to navigate the codes.
 The SPlaC online help can be found at:
 http://www.victoria.ac.nz/raman/book/Codes/helpstart.html
 from where it can also be downloaded as a zip file for local browsing.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 
0002 
0003 disp ' '
0004 disp 'Please type "help README" in Matlab'
0005 disp 'or open README.m or README.txt in any text editor'
0006 disp 'to view the content.'
0007 disp ' '

This web page is part of the SPlaC package © 2008. Contact: Eric Le Ru
Generated on Wed 03-Dec-2008 11:10:14 by m2html © 2003 (adapted)