Skip to content
Stanford Stratified Structure Solver - Electromagnetic simulator for layered periodic structures
C++ C HTML Makefile Lua CMake Other
Branch: devel
Clone or download
Pull request Compare This branch is 24 commits ahead of soamaven:devel.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Eigen
RCWA Changed R interface to not use external pointers, making it more like… Oct 23, 2015
S4
S4r
doc Moved doc builds from VC. Added CVF to normalized vector field implem… Aug 31, 2018
docold Python extension is at feature-parity with Lua. Switched to Sphinx do… Jan 5, 2014
examples example figure Feb 11, 2019
modules Create Makefile.osx Jan 20, 2015
testing Comitting version 1.0.0 Dec 7, 2011
.gitignore Moved doc builds from VC. Added CVF to normalized vector field implem… Aug 31, 2018
AUTHORS
COPYING
COPYRIGHT Python extension is at feature-parity with Lua. Switched to Sphinx do… Jan 5, 2014
ChangeLog Python extension is at feature-parity with Lua. Switched to Sphinx do… Jan 5, 2014
INSTALL Committing miscellaneous build related changes due to new configure s… May 30, 2013
Makefile makefile with notes about using a conda environment and mkl Feb 25, 2019
Makefile.mingw32 Added missing config.h, updated Makefiles, and added html docs. Jan 5, 2014
Makefile.osx
MakefileHPC
PythonTest.py
README.md
TODO Python extension is at feature-parity with Lua. Switched to Sphinx do… Jan 5, 2014
compile_commands.json
gensetup.py.sh
gensetupHPC.py.sh
pretty_trace.pl

README.md

Detailed installation instructions (64-bit Ubuntu 16 or 18):

Key steps:

git clone https://github.com/phoebe-p/S4
cd S4
make boost
make S4_pyext

Installing relevant libraries etc.:

sudo apt install make
sudo apt install git
sudo apt install python3-pip
sudo pip3 install numpy matplotlib scipy
sudo apt-get install python3-tk
sudo apt-get install libopenblas-dev
sudo apt-get install libfftw3-dev
sudo apt-get install libsuitesparse-dev
  • libopenblas installs OpenBLAS, to satisfy the LAPACK and BLAS requirements
  • lib fftw3 install FFTW3, to satisfy the FFTW requirements
  • libsuitesparse install libraries to satisdy CHOLMOD & related requirements

If you have multiple Python versions, you make need to modify the S4_pyext part of the Makefile:

pip3 install --upgrade ./

to e.g.:

[path of target python or virtual environment] setup.py install

S4: Stanford Stratified Structure Solver (http://fan.group.stanford.edu/S4/)

A program for computing electromagnetic fields in periodic, layered structures, developed by Victor Liu (victorliu@alumni.stanford.edu) of the Fan group in the Stanford Electrical Engineering Department.

See the S4 manual, in doc/index.html, for a complete description of the package and its user interface, as well as installation instructions, the license and copyright, contact addresses, and other important information.


sajidmc: The MakefileHPC is created to compile the S4 in HPC environment without root access. Also added an example for python extension testing:

Check Wiki for details: https://github.com/sajidmc/S4/wiki Example result: https://raw.githubusercontent.com/sajidmc/S4/master/examples/bontempi_et_al_Nanoscale_2017.png

You can’t perform that action at this time.