Download here: http://gg.gg/ofob3
*Instructions For How To Download Meep Onto Macos High Sierra
*Instructions For How To Download Meep Onto Macos Mac
*Instructions For How To Download Meep Onto Macos Windows 10
*Instructions For How To Download Meep Onto Macos Catalina
*SQLite Tutorial
*Advanced SQLite
Now, install the Harminv, libctl, MPB, and Meep packages from source. Download Harminv and, in the harminv directory, do./configure && make && make install Use the same commands for libctl, MPB, and Meep. For more detailed information, see Build From Source. You are done, and can now run Meep (Scheme interface) just by typing meep. One you download the Apache OpenOffice tar.gz package, you should be able to decompress typing. Tar Apache-OpenOfficeX.X.X.tar.gz package or using programs such as Ark, or File-Roller. Cd into the DEBS subdirectory of the installation directory. You should see a lot of debs here and one sub-directory called ’desktop-integration’. Google Chrome is a lightweight browser that is free to download for Windows, Mac OS X, Linux, Android, and iOS. Follow this guide to get it downloaded and in. Hackintosh.com links to everything you need to build a Hackintosh and get macOS Big Sur (macOS 11) as well as many earlier versions of Mac OS X running on an unsupported computer - instructions, step-by-step ’how to’ guides, and tutorials - in addition to installation videos, lists of compatible computers and parts, and communities for support.
*SQLite Interfaces
*SQLite Useful Resources
*Selected Reading
SQLite is famous for its great feature zero-configuration, which means no complex setup or administration is needed. This chapter will take you through the process of setting up SQLite on Windows, Linux and Mac OS X.Install SQLite on Windows
*
Step 1 − Go to SQLite download page, and download precompiled binaries from Windows section.
*
Step 2 − Download sqlite-shell-win32-*.zip and sqlite-dll-win32-*.zip zipped files.
*
Step 3 − Create a folder C:>sqlite and unzip above two zipped files in this folder, which will give you sqlite3.def, sqlite3.dll and sqlite3.exe files.
*
Step 4 − Add C:>sqlite in your PATH environment variable and finally go to the command prompt and issue sqlite3 command, which should display the following result.Install SQLite on Linux
Today, almost all the flavours of Linux OS are being shipped with SQLite. So you just issue the following command to check if you already have SQLite installed on your machine.
If you do not see the above result, then it means you do not have SQLite installed on your Linux machine. Following are the following steps to install SQLite −
*
Step 1 − Go to SQLite download page and download sqlite-autoconf-*.tar.gz from source code section.
*
Step 2 − Run the following command −
The above command will end with SQLite installation on your Linux machine. Which you can verify as explained above.Install SQLite on Mac OS X
Though the latest version of Mac OS X comes pre-installed with SQLite but if you do not have installation available then just follow these following steps −
*
Step 1 − Go to SQLite download page, and download sqlite-autoconf-*.tar.gz from source code section.
*
Step 2 − Run the following command −
The above procedure will end with SQLite installation on your Mac OS X machine. Which you can verify by issuing the following command −
Finally, you have SQLite command prompt where you can issue SQLite commands for your exercises.From AbInitioJump to: navigation, searchMeepDownloadRelease notesFAQMeep manualIntroductionInstallationTutorialReferenceC++ TutorialC++ ReferenceAcknowledgementsLicense and Copyright
Much like MPB, the main effort in installing Meep lies in installing the various prerequisite packages. This requires some understanding of how to install software on Unix systems.
It is also possible to install Meep on Windows systems by using a free Unix-compatibility environment such as Cygwin. For more information, see these step-by-step instructions.
For those installing Meep on a parallel supercomputer, a note of caution: most supercomputers have more than one different compiler installed, and different versions of libraries compiled with different compilers. Meep is written in C++, and it is almost impossible to mix C++ code compiled by different compilers—pick one set of compilers by one vendor and stick with it consistently!
Note: The latest, pre-installed versions of Meep and MPB running on Ubuntu can also be accessed on Amazon Web Services (AWS) Elastic Compute Cloud (EC2) as a free Amazon Machine Image (AMI). To access this AMI, follow these instructions.Contents
*3Unix Installation Basics
*3.1Installation Paths
*4BLAS and LAPACK (recommended)Installation on GNU/Linux
For most GNU/Linux distributions, there should be precompiled packages for most of Meep’s prerequisites below, and we highly recommend installing those prerequisites using the available packages for your system whenever possible. Using precompiled packages means that you don’t have to worry about how to install things manually, you are using packages which have already been tweaked to work well with your system, and (usually) your packages will be automatically upgraded when you upgrade the rest of your system.
BLAS and LAPACK (possibly as part of a package for Atlas BLAS), Guile, MPI, and HDF5 are all almost certain to be available as precompiled packages. One thing to be careful of is that many distributions split packages into two parts: one main package for the libraries and programs, and a ’devel’ package for header files and other things needed to compile software using those libraries. You will need to install both. So, for example, you will probably need both a guile package (probably installed by default) and a guile-dev or guile-devel package (probably not installed by default), and similarly for HDF5 etcetera. You will probably also want to install a libpng-dev or libpng-devel package in order to compile the h5topng utility in H5utils.
The easiest installation is on Debian GNU/Linux (and Ubuntu), which has precompiled packages for Meep. On Debian, just do:
to install everything. (See also Meep Download.)[edit]Installation on MacOS X
Since MacOS X is, at its heart, a Unix system, one can, in principle compile and install Meep and all its prerequisites just as on any other Unix system. However, life will be much easier if you use the Homebrew package to install most of the prerequisites, since it will handle dependencies and other details for you. (You will need administrator privileges on your Mac.)
The first steps are:
* Install Xcode, the development/compiler package from Apple, free from the Apple Xcode web page.
* Install Homebrew: download from the Homebrew web site and follow the instructions there.
* Run the following commands in the terminal to compile and install Meep prerequisites (this may take a while to complete because it will install lots of other stuff first)
Now, install the Harminv, Libctl, MPB, and Meep packages from source. Download Harminv and, in the harminv directory, do:
Use the same commands for Libctl, then MPB, then Meep.
Note: Meep currently does not compile on OSX 10.9, due to conflicts with the latest C++ standard. We hope to fix this with a new release shortly.
You are done, and can now run Meep just by typing meep. You can run make check in the meep directory if you want to perform a self-test. Unix Installation Basics [edit] Installation Paths
First, let’s review some important information about installing software on Unix systems, especially in regards to installing software in non-standard locations. (None of these issues are specific to this software, but they’ve caused a lot of confusion among our beloved users.)
Most of the software below, including this software, installs under /usr/localby default; that is, libraries go in /usr/local/lib, programs in /usr/local/bin, etc. If you don’t have root privileges on your machine, you may need to install somewhere else, e.g. under $HOME/install (the install/ subdirectory of your home directory). Most of the programs below use a GNU-style configure script, which means that all you would do to install there would be:
when configuring the program; the directories $HOME/install/lib etc. are created automatically as needed. Paths for Configuring
There are two further complications. First, if you install in a non-standard location (and /usr/local is considered non-standard by some proprietary compilers), you will need to tell the compilers where to find the libraries and header files that you dutifully installed. You do this by setting two environment variables:
Of course, substitute whatever installation directory you used. Do this before you run the configure scripts, etcetera. You may need to include multiple -L and -I flags (separated by spaces) if your machine has stuff installed in several non-standard locations. Bourne shell users (e.g. bash or ksh) should use the ’export FOO=bar’ syntax instead of csh’s ’setenv FOO bar’, of course.
You might also need to update your PATH so that you can run the executables you installed (although /usr/local/bin is in the default PATH on many systems). e.g. if we installed in our home directory as described above, we would do:[edit] Paths for Running (Shared Libraries)
Second, many of the packages installed below (e.g. Guile) are installed as shared libraries. You need to make sure that your runtime linker knows where to find these shared libraries. The bad news is that every operating system does this in a slightly different way. The good news is that, when you run make install for the packages involving shared libraries, the output includes the necessary instructions specific to your system, so pay close attention! It will say something like ’add LIBDIR to the foobar environment variable,’ where LIBDIR will be your library installation directory (e.g. /usr/local/lib) and foobar is some environment variable specific to your system (e.g. LD_LIBRARY_PATH on some systems, including Linux). For example, you might do:
Note that we just add to the library path variable, and don’t replace it in case it contains stuff already. If you use Linux and have root privileges, you can instead simply run /sbin/ldconfig, first making sure that a line ’/usr/local/lib’ (or whatever) is in /etc/ld.so.conf.
If you don’t want to type these commands every time you log in, you can put them in your ~/.cshrc file (or ~/.profile, or ~/.bash_profile, depending on your shell). Fun with Fortran
Our software, along with many of the libraries it calls, is written in C or C++, but it also calls libraries such as BLAS and LAPACK (see below) that are usually compiled from Fortran. This can cause some added difficulty because of the various linking schemes used by Fortran compilers. Our configure script attempts to detect the Fortran linking scheme automatically, but in order for this to work you must use the same Fortran compiler and options with our software as were used to compile BLAS/LAPACK.
By default, our software looks for a vendor Fortran compiler first (f77, xlf, etcetera) and then looks for GNU g77. In order to manually specify a Fortran compiler foobar you would configure it with ’./configure F77=foobar ...’.
If, when you compiled BLAS/LAPACK, you used compiler options that alter the linking scheme (e.g. g77’s -fcase-upper or -fno-underscoring), you will need to pass the same flags to our software via ’./configure FFLAGS=’...flags...’ ...’.[edit] Picking a compiler
It is often important to be consistent about which compiler you employ. This is especially true for C++ software. To specify a particular C compiler foo, configure with ./configure CC=foo; to specify a particular C++ compiler foo++, configure with ./configure CXX=foo++; to specify a particular Fortran compiler foo90, configure with ./configure F77=foo90.Instructions For How To Download Meep Onto Macos High Sierra GNU/Linux and BSD binary packages
If you are installing on your personal GNU/Linux or BSD machine, then precompiled binary packages are likely to be available for many of these packages, and may even have been included with your system. On Debian systems, the packages are in .deb format and the built-in apt-get program can fetch them from a central repository. On Red Hat, SuSE, and most other Linux-based systems, binary packages are in RPM format and can be fetched (if they did not come with your system) from places like rpmfind.net. OpenBSD has its ’ports’ system, and so on.
Do not compile something from source if an official binary package is available. For one thing, you’re just creating pain for yourself. Worse, the binary package may already be installed, in which case installing a different version from source will just cause trouble.
One thing to watch out for is that libraries like LAPACK, Guile, HDF5, etcetera, will often come split up into two (or more) packages: e.g. a guile package and a guile-devel package. You need to install both of these to compile software using the library.[edit]BLAS and LAPACK (recommended)
BLAS and LAPACK libraries are required in order to install Harminv. Harminv is not required for Meep, but is strongly recommended for use in resonant-mode computation.
Note also that Meep’s usage of BLAS/LAPACK, via Harminv, is not generally performance-critical. So, it doesn’t matter too much whether you install an especially optimized BLAS library. (It makes a big difference if you also use MPB, though.) BLAS
The first thing you must have on your system is a BLAS implementation. ’BLAS’ stands for ’Basic Linear Algebra Subroutines,’ and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)
You can find more BLAS information, as well as a basic implementation, on the BLAS Homepage. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the Intel MKL, HP CXML, IBM ESSL, SGI sgimath, and other libraries. An excellent, high-performance, free-software BLAS implementation is OpenBLAS; another is ATLAS.
Note that the generic BLAS does not come with a Makefile; compile it with something like:
(Replace -O3 with your favorite optimization options. On Linux, I use g77 -O3 -fomit-frame-pointer -funroll-loops, with -malign-double -mcpu=i686 on a Pentium II.) Note that MPB looks for the standard BLAS library with -lblas, so the library file should be called libblas.a and reside in a standard directory like /usr/local/lib. (See also below for the --with-blas=lib option to MPB’s configure script, to manually specify a library location.)[edit] LAPACK
LAPACK, the Linear Algebra PACKage, is a standard collection of routines, built on BLAS, for more-complicated (dense) linear algebra operations like matrix inversion and diagonalization. You can download LAPACK from the LAPACK Home Page.
Note that our software looks for LAPACK by linking with -llapack. This means that the library must be called liblapack.a and be installed in a standard directory like /usr/local/lib (alternatively, you can specify another directory via the LDFLAGS environment variable as described earlier). (See also below for the --with-lapack=lib option to our configure script, to manually specify a library location.)
I currently recommend installing OpenBLAS, which includes LAPACK so you do not need to install it separately.Harminv (recommended)
To use Meep to extract resonant frequencies and decay rates, you must install Harminv (which requires BLAS and LAPACK).
See the Harminv installation instructions.[edit]GNU Guile (recommended)
Guile is required in order to use the ordinary libctl-based front-end to Meep, and is strongly recommended. (If you don’t install it, you can only use the C++ interface to Meep.)
GNU Guile is an extension/scripting language implementation based on Scheme, and we use it to provide a rich, fully-programmable user interface with minimal effort. It’s free, of course, and you can download it from the Guile Home Page. (Guile is typically included with GNU/Linux systems.)
*Important: Most Linux distributions come with Guile already installed (check by seeing whether you can run guile --version from the command line). In that case, do not install your own version of Guile from source — having two versions of Guile on the same system will cause problems. However, by default most distributions install only the Guile libraries and not the programming headers — to compile libctl and MPB, you should install the ’guile-devel’ or ’guile-dev’ package (e.g. with RPM) that came with your system.
*Important: Meep currently requires Guile version 1.6 or later. You can see which version of Guile you have by running guile --version.libctl (recommended)
libctl, which requires Guile, is required to use the ordinary libctl-based front-end to Meep, and is strongly recommended. (If you don’t install it, you can only use the C++ interface to Meep.) Meep requires version 3.2 or later of libctl.
Instead of using Guile directly, we separated much of the user interface code into a package called libctl, in the hope that this might be more generally useful. libctl automatically handles the communication between the program and Guile, converting complicated data structures and so on, to make it even easier to use Guile to control scientific applications. Download libctl from the libctl page, unpack it, and run the usual configure, make, make install sequence. You’ll also want to browse the libctl manual, as this will give you a general overview of what the user interface will be like.
If you are not the system administrator of your machine, and/or want to install libctl somewhere else (like your home directory), you can do so with the standard --prefix=dir option to configure (the default prefix is /usr/local). In this case, however, you’ll need to specify the location of the libctl shared files for the MPB or Meep package, using the --with-libctl=dir/share/libctl option to our configure script.[edit]MPI (parallel machines)
Optionally, Meep is able to run on a distributed-memory parallel machine, and to do this we use the standard MPI message-passing interface. You can learn about MPI from the MPI Home Page. Most commercial supercomputers already have an MPI implementation installed; two free MPI implementations that you can install yourself are MPICH and LAM; a promising new implementation is Open MPI. MPI is not required to compile the ordinary, uniprocessor version of our software.
In order for the MPI version of our libctl/Scheme front-end to
https://diarynote.indered.space
*Instructions For How To Download Meep Onto Macos High Sierra
*Instructions For How To Download Meep Onto Macos Mac
*Instructions For How To Download Meep Onto Macos Windows 10
*Instructions For How To Download Meep Onto Macos Catalina
*SQLite Tutorial
*Advanced SQLite
Now, install the Harminv, libctl, MPB, and Meep packages from source. Download Harminv and, in the harminv directory, do./configure && make && make install Use the same commands for libctl, MPB, and Meep. For more detailed information, see Build From Source. You are done, and can now run Meep (Scheme interface) just by typing meep. One you download the Apache OpenOffice tar.gz package, you should be able to decompress typing. Tar Apache-OpenOfficeX.X.X.tar.gz package or using programs such as Ark, or File-Roller. Cd into the DEBS subdirectory of the installation directory. You should see a lot of debs here and one sub-directory called ’desktop-integration’. Google Chrome is a lightweight browser that is free to download for Windows, Mac OS X, Linux, Android, and iOS. Follow this guide to get it downloaded and in. Hackintosh.com links to everything you need to build a Hackintosh and get macOS Big Sur (macOS 11) as well as many earlier versions of Mac OS X running on an unsupported computer - instructions, step-by-step ’how to’ guides, and tutorials - in addition to installation videos, lists of compatible computers and parts, and communities for support.
*SQLite Interfaces
*SQLite Useful Resources
*Selected Reading
SQLite is famous for its great feature zero-configuration, which means no complex setup or administration is needed. This chapter will take you through the process of setting up SQLite on Windows, Linux and Mac OS X.Install SQLite on Windows
*
Step 1 − Go to SQLite download page, and download precompiled binaries from Windows section.
*
Step 2 − Download sqlite-shell-win32-*.zip and sqlite-dll-win32-*.zip zipped files.
*
Step 3 − Create a folder C:>sqlite and unzip above two zipped files in this folder, which will give you sqlite3.def, sqlite3.dll and sqlite3.exe files.
*
Step 4 − Add C:>sqlite in your PATH environment variable and finally go to the command prompt and issue sqlite3 command, which should display the following result.Install SQLite on Linux
Today, almost all the flavours of Linux OS are being shipped with SQLite. So you just issue the following command to check if you already have SQLite installed on your machine.
If you do not see the above result, then it means you do not have SQLite installed on your Linux machine. Following are the following steps to install SQLite −
*
Step 1 − Go to SQLite download page and download sqlite-autoconf-*.tar.gz from source code section.
*
Step 2 − Run the following command −
The above command will end with SQLite installation on your Linux machine. Which you can verify as explained above.Install SQLite on Mac OS X
Though the latest version of Mac OS X comes pre-installed with SQLite but if you do not have installation available then just follow these following steps −
*
Step 1 − Go to SQLite download page, and download sqlite-autoconf-*.tar.gz from source code section.
*
Step 2 − Run the following command −
The above procedure will end with SQLite installation on your Mac OS X machine. Which you can verify by issuing the following command −
Finally, you have SQLite command prompt where you can issue SQLite commands for your exercises.From AbInitioJump to: navigation, searchMeepDownloadRelease notesFAQMeep manualIntroductionInstallationTutorialReferenceC++ TutorialC++ ReferenceAcknowledgementsLicense and Copyright
Much like MPB, the main effort in installing Meep lies in installing the various prerequisite packages. This requires some understanding of how to install software on Unix systems.
It is also possible to install Meep on Windows systems by using a free Unix-compatibility environment such as Cygwin. For more information, see these step-by-step instructions.
For those installing Meep on a parallel supercomputer, a note of caution: most supercomputers have more than one different compiler installed, and different versions of libraries compiled with different compilers. Meep is written in C++, and it is almost impossible to mix C++ code compiled by different compilers—pick one set of compilers by one vendor and stick with it consistently!
Note: The latest, pre-installed versions of Meep and MPB running on Ubuntu can also be accessed on Amazon Web Services (AWS) Elastic Compute Cloud (EC2) as a free Amazon Machine Image (AMI). To access this AMI, follow these instructions.Contents
*3Unix Installation Basics
*3.1Installation Paths
*4BLAS and LAPACK (recommended)Installation on GNU/Linux
For most GNU/Linux distributions, there should be precompiled packages for most of Meep’s prerequisites below, and we highly recommend installing those prerequisites using the available packages for your system whenever possible. Using precompiled packages means that you don’t have to worry about how to install things manually, you are using packages which have already been tweaked to work well with your system, and (usually) your packages will be automatically upgraded when you upgrade the rest of your system.
BLAS and LAPACK (possibly as part of a package for Atlas BLAS), Guile, MPI, and HDF5 are all almost certain to be available as precompiled packages. One thing to be careful of is that many distributions split packages into two parts: one main package for the libraries and programs, and a ’devel’ package for header files and other things needed to compile software using those libraries. You will need to install both. So, for example, you will probably need both a guile package (probably installed by default) and a guile-dev or guile-devel package (probably not installed by default), and similarly for HDF5 etcetera. You will probably also want to install a libpng-dev or libpng-devel package in order to compile the h5topng utility in H5utils.
The easiest installation is on Debian GNU/Linux (and Ubuntu), which has precompiled packages for Meep. On Debian, just do:
to install everything. (See also Meep Download.)[edit]Installation on MacOS X
Since MacOS X is, at its heart, a Unix system, one can, in principle compile and install Meep and all its prerequisites just as on any other Unix system. However, life will be much easier if you use the Homebrew package to install most of the prerequisites, since it will handle dependencies and other details for you. (You will need administrator privileges on your Mac.)
The first steps are:
* Install Xcode, the development/compiler package from Apple, free from the Apple Xcode web page.
* Install Homebrew: download from the Homebrew web site and follow the instructions there.
* Run the following commands in the terminal to compile and install Meep prerequisites (this may take a while to complete because it will install lots of other stuff first)
Now, install the Harminv, Libctl, MPB, and Meep packages from source. Download Harminv and, in the harminv directory, do:
Use the same commands for Libctl, then MPB, then Meep.
Note: Meep currently does not compile on OSX 10.9, due to conflicts with the latest C++ standard. We hope to fix this with a new release shortly.
You are done, and can now run Meep just by typing meep. You can run make check in the meep directory if you want to perform a self-test. Unix Installation Basics [edit] Installation Paths
First, let’s review some important information about installing software on Unix systems, especially in regards to installing software in non-standard locations. (None of these issues are specific to this software, but they’ve caused a lot of confusion among our beloved users.)
Most of the software below, including this software, installs under /usr/localby default; that is, libraries go in /usr/local/lib, programs in /usr/local/bin, etc. If you don’t have root privileges on your machine, you may need to install somewhere else, e.g. under $HOME/install (the install/ subdirectory of your home directory). Most of the programs below use a GNU-style configure script, which means that all you would do to install there would be:
when configuring the program; the directories $HOME/install/lib etc. are created automatically as needed. Paths for Configuring
There are two further complications. First, if you install in a non-standard location (and /usr/local is considered non-standard by some proprietary compilers), you will need to tell the compilers where to find the libraries and header files that you dutifully installed. You do this by setting two environment variables:
Of course, substitute whatever installation directory you used. Do this before you run the configure scripts, etcetera. You may need to include multiple -L and -I flags (separated by spaces) if your machine has stuff installed in several non-standard locations. Bourne shell users (e.g. bash or ksh) should use the ’export FOO=bar’ syntax instead of csh’s ’setenv FOO bar’, of course.
You might also need to update your PATH so that you can run the executables you installed (although /usr/local/bin is in the default PATH on many systems). e.g. if we installed in our home directory as described above, we would do:[edit] Paths for Running (Shared Libraries)
Second, many of the packages installed below (e.g. Guile) are installed as shared libraries. You need to make sure that your runtime linker knows where to find these shared libraries. The bad news is that every operating system does this in a slightly different way. The good news is that, when you run make install for the packages involving shared libraries, the output includes the necessary instructions specific to your system, so pay close attention! It will say something like ’add LIBDIR to the foobar environment variable,’ where LIBDIR will be your library installation directory (e.g. /usr/local/lib) and foobar is some environment variable specific to your system (e.g. LD_LIBRARY_PATH on some systems, including Linux). For example, you might do:
Note that we just add to the library path variable, and don’t replace it in case it contains stuff already. If you use Linux and have root privileges, you can instead simply run /sbin/ldconfig, first making sure that a line ’/usr/local/lib’ (or whatever) is in /etc/ld.so.conf.
If you don’t want to type these commands every time you log in, you can put them in your ~/.cshrc file (or ~/.profile, or ~/.bash_profile, depending on your shell). Fun with Fortran
Our software, along with many of the libraries it calls, is written in C or C++, but it also calls libraries such as BLAS and LAPACK (see below) that are usually compiled from Fortran. This can cause some added difficulty because of the various linking schemes used by Fortran compilers. Our configure script attempts to detect the Fortran linking scheme automatically, but in order for this to work you must use the same Fortran compiler and options with our software as were used to compile BLAS/LAPACK.
By default, our software looks for a vendor Fortran compiler first (f77, xlf, etcetera) and then looks for GNU g77. In order to manually specify a Fortran compiler foobar you would configure it with ’./configure F77=foobar ...’.
If, when you compiled BLAS/LAPACK, you used compiler options that alter the linking scheme (e.g. g77’s -fcase-upper or -fno-underscoring), you will need to pass the same flags to our software via ’./configure FFLAGS=’...flags...’ ...’.[edit] Picking a compiler
It is often important to be consistent about which compiler you employ. This is especially true for C++ software. To specify a particular C compiler foo, configure with ./configure CC=foo; to specify a particular C++ compiler foo++, configure with ./configure CXX=foo++; to specify a particular Fortran compiler foo90, configure with ./configure F77=foo90.Instructions For How To Download Meep Onto Macos High Sierra GNU/Linux and BSD binary packages
If you are installing on your personal GNU/Linux or BSD machine, then precompiled binary packages are likely to be available for many of these packages, and may even have been included with your system. On Debian systems, the packages are in .deb format and the built-in apt-get program can fetch them from a central repository. On Red Hat, SuSE, and most other Linux-based systems, binary packages are in RPM format and can be fetched (if they did not come with your system) from places like rpmfind.net. OpenBSD has its ’ports’ system, and so on.
Do not compile something from source if an official binary package is available. For one thing, you’re just creating pain for yourself. Worse, the binary package may already be installed, in which case installing a different version from source will just cause trouble.
One thing to watch out for is that libraries like LAPACK, Guile, HDF5, etcetera, will often come split up into two (or more) packages: e.g. a guile package and a guile-devel package. You need to install both of these to compile software using the library.[edit]BLAS and LAPACK (recommended)
BLAS and LAPACK libraries are required in order to install Harminv. Harminv is not required for Meep, but is strongly recommended for use in resonant-mode computation.
Note also that Meep’s usage of BLAS/LAPACK, via Harminv, is not generally performance-critical. So, it doesn’t matter too much whether you install an especially optimized BLAS library. (It makes a big difference if you also use MPB, though.) BLAS
The first thing you must have on your system is a BLAS implementation. ’BLAS’ stands for ’Basic Linear Algebra Subroutines,’ and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)
You can find more BLAS information, as well as a basic implementation, on the BLAS Homepage. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the Intel MKL, HP CXML, IBM ESSL, SGI sgimath, and other libraries. An excellent, high-performance, free-software BLAS implementation is OpenBLAS; another is ATLAS.
Note that the generic BLAS does not come with a Makefile; compile it with something like:
(Replace -O3 with your favorite optimization options. On Linux, I use g77 -O3 -fomit-frame-pointer -funroll-loops, with -malign-double -mcpu=i686 on a Pentium II.) Note that MPB looks for the standard BLAS library with -lblas, so the library file should be called libblas.a and reside in a standard directory like /usr/local/lib. (See also below for the --with-blas=lib option to MPB’s configure script, to manually specify a library location.)[edit] LAPACK
LAPACK, the Linear Algebra PACKage, is a standard collection of routines, built on BLAS, for more-complicated (dense) linear algebra operations like matrix inversion and diagonalization. You can download LAPACK from the LAPACK Home Page.
Note that our software looks for LAPACK by linking with -llapack. This means that the library must be called liblapack.a and be installed in a standard directory like /usr/local/lib (alternatively, you can specify another directory via the LDFLAGS environment variable as described earlier). (See also below for the --with-lapack=lib option to our configure script, to manually specify a library location.)
I currently recommend installing OpenBLAS, which includes LAPACK so you do not need to install it separately.Harminv (recommended)
To use Meep to extract resonant frequencies and decay rates, you must install Harminv (which requires BLAS and LAPACK).
See the Harminv installation instructions.[edit]GNU Guile (recommended)
Guile is required in order to use the ordinary libctl-based front-end to Meep, and is strongly recommended. (If you don’t install it, you can only use the C++ interface to Meep.)
GNU Guile is an extension/scripting language implementation based on Scheme, and we use it to provide a rich, fully-programmable user interface with minimal effort. It’s free, of course, and you can download it from the Guile Home Page. (Guile is typically included with GNU/Linux systems.)
*Important: Most Linux distributions come with Guile already installed (check by seeing whether you can run guile --version from the command line). In that case, do not install your own version of Guile from source — having two versions of Guile on the same system will cause problems. However, by default most distributions install only the Guile libraries and not the programming headers — to compile libctl and MPB, you should install the ’guile-devel’ or ’guile-dev’ package (e.g. with RPM) that came with your system.
*Important: Meep currently requires Guile version 1.6 or later. You can see which version of Guile you have by running guile --version.libctl (recommended)
libctl, which requires Guile, is required to use the ordinary libctl-based front-end to Meep, and is strongly recommended. (If you don’t install it, you can only use the C++ interface to Meep.) Meep requires version 3.2 or later of libctl.
Instead of using Guile directly, we separated much of the user interface code into a package called libctl, in the hope that this might be more generally useful. libctl automatically handles the communication between the program and Guile, converting complicated data structures and so on, to make it even easier to use Guile to control scientific applications. Download libctl from the libctl page, unpack it, and run the usual configure, make, make install sequence. You’ll also want to browse the libctl manual, as this will give you a general overview of what the user interface will be like.
If you are not the system administrator of your machine, and/or want to install libctl somewhere else (like your home directory), you can do so with the standard --prefix=dir option to configure (the default prefix is /usr/local). In this case, however, you’ll need to specify the location of the libctl shared files for the MPB or Meep package, using the --with-libctl=dir/share/libctl option to our configure script.[edit]MPI (parallel machines)
Optionally, Meep is able to run on a distributed-memory parallel machine, and to do this we use the standard MPI message-passing interface. You can learn about MPI from the MPI Home Page. Most commercial supercomputers already have an MPI implementation installed; two free MPI implementations that you can install yourself are MPICH and LAM; a promising new implementation is Open MPI. MPI is not required to compile the ordinary, uniprocessor version of our software.
In order for the MPI version of our libctl/Scheme front-end to
https://diarynote.indered.space
コメント