Executables

The intended primary distribution method of Xyce™ is as open-source source code. However, as a convenience to users, executables for selected platforms are available here. These executables are available only for the platforms below, and the Xyce™ team is unable to provide executable versions for any other systems or configurations.

Note: The installers do not include documentation. Download the documentation separately from the “Documentation and Tutorials” section of the site.

Note: The provided executables are the “XyceNF” version of the code, rather than the open-source version.  These binaries include proprietary models that we cannot release in source form, but that we can distribute as executable code. The team no longer provides open-source binaries—users desiring a purely open-source build of Xyce will need to build it from source code themselves.

Note that these executables, like the source code, are provided with no warranty, express or implied, even for merchantability or fitness for a particular purpose. See the license below for details.

RedHat Enterprise Linux  7, 64-bit

Xyce™ for RedHat Enterprise Linux 7 is provided in RPM format. The RPM installer may also work on other variants of Linux that use the rpm package management system such as CentOS, but are known not to work on Fedora due to shared library naming issues. They will not work on systems such as Debian or Ubuntu.

Install the binary using the command:

sudo yum install <filename>.rpm

where <filename>.rpm is replaced with the name of the file actually downloaded above.  This command will install Xyce™ and any other dependent packages. Xyce™ will be installed into a directory /usr/local/Xyce-Release-7.8-NORAD/. Add /usr/local/Xyce-Release-7.8-NORAD/bin to your PATH variable to simplify running the code. Xyce™ is run via the command “Xyce”, followed by a netlist name.

The version of Open MPI supplied with RHEL7 results in random hangs when Xyce is run; therefore, we do not supply a parallel binary. It is recommended to build Xyce™ from source on RHEL7, also installing Open MPI from source, version 2 or later.

Xyce XDM

For the Xyce XDM netlist translator binary installation, see the XDM User Guide.

Microsoft Windows

Xyce™ for Windows is provided in an NSIS “.exe” installer, and is only available in serial.

Double click the installer and follow on-screen instructions to install it.  A desktop shortcut and Start menu shortcut to a “Command Prompt” will be created.  Launching this shortcut will open a command prompt with the PATH variable correctly set to locate the Xyce executable with no further set-up needed.  The properties of these shortcuts to the command prompt may be edited to change their default start-up directory as needed, and may be copied to provide multiple working environments.  Xyce™ itself will be installed into C:/Program Files/Xyce 7.8 NORAD/, with the executable in the “bin” subdirectory; this information is useful primarily for users who wish to execute the code through a different command prompt window or through a Cygwin shell.

Xyce XDM

For the Xyce XDM netlist translator binary installation, see the XDM User Guide.

MacOS, 64-bit

Executables for MacOS (Intel processor only, version 11 or later) are delivered as compressed “tar” files.

The operating system will decompress the files through a double-click. The folders will be named Xyce-Release-7.8-NORAD in the serial case, and Xyce-Release-7.8-OPENMPI-NORAD in the parallel case. You may run them from any location, but we recommend they be placed in the /usr/local/ directory. To do so, you must use “sudo”, as in

sudo mv Xyce-Release-7.8-NORAD /usr/local

for the serial build. In that case, you should add /usr/local/Xyce-Release-7.8-NORAD/bin to your PATH for access to the serial build, and /usr/local/Xyce-Release-7.8-OPENMPI-NORAD/bin for the parallel build.  Xyce™ is run via the command “Xyce” in serial, or using the full MPI command line “mpirun -np <number of processors> Xyce” in parallel,  followed by a netlist name.

Before running Xyce™ in parallel on a Mac, it is necessary to install Open MPI. This can be done using Homebrew, or another package management system like Fink or MacPorts. Unfortunately, the Xyce team has discovered that the current version of OpenMPI available in many of these package management systems has a bug that can lead to random hangs when Xyce completes.  To avoid this, it is necessary to obtain an older version of OpenMPI, version 1.8.8, and build it from source code.  Basic instructions for doing this with Homebrew follow.

From the Homebrew homepage, install Homebrew by pasting the “ruby” command into a terminal. The installation script will run and OS X will install the “command-line tools” as part of the process. Next, use Homebrew to install  the GNU compiler suite, and then build OpenMPI from source:

brew update
brew install gcc

Download the 1.8.8 source code from the OpenMPI web site, unpack, configure, and install it:

tar xzf openmpi-1.8.8.tar.gz
cd openmpi-1.8.8
./configure --prefix=/opt/openmpi/1.8.8 CC=gcc-9 CXX=g++-9 FC=gfortran-9
make && sudo make install

It is essential that you build OpenMPI using all three compilers from the GNU compiler collection as specified above. Substituting the stock Clang compiler on OS X for the C or C++ compilers will disable the double complex data type that Xyce depends on, and throw runtime errors if you attempt to use such an OpenMPI build with Xyce. We have seen that Homebrew’s precompiled build of OpenMPI 1.10 is built in that way, and cannot be used with Xyce.  Note that homebrew updates GCC very often, and while we have assumed that GCC version 9 is installed by installing the “gcc” package, this document could be out of date by the time you read it.  The important thing is to use the gcc that homebrew installed, and not the one that is in “/usr/bin” — that one isn’t really gcc, it’s an alias for Clang.

With OS X Yosemite and earlier:

Add the new OpenMPI directories to your PATH and DYLD_LIBRARY_PATH variables:

export PATH=/opt/openmpi/1.8.8/bin:$PATH
export DYLD_LIBRARY_PATH=/opt/openmpi/1.8.8/lib:$PATH

You should now be able to use the OpenMPI-enabled binaries of Xyce.

With OS X El Capitan and later:

In El Capitan and later, System Integrity Protection restricts the use of DYLD_LIBRARY_PATH. The following work-around seems to work for Xyce. First, add the new OpenMPI bin directory to your PATH variable:

export PATH=/opt/openmpi/1.8.8/bin:$PATH

Next, type the following to make symbolic links to the proper libraries:

sudo mkdir -p /opt/openmpi/x86_64-icc-16.0/1.8.8/lib/
sudo ln -s /opt/openmpi/1.8.8/lib/libmpi_cxx.1.dylib /opt/openmpi/x86_64-icc-16.0/1.8.8/lib/
sudo ln -s /opt/openmpi/1.8.8/lib/libmpi.1.dylib /opt/openmpi/x86_64-icc-16.0/1.8.8/lib/

You should now be able to use the OpenMPI-enabled binaries of Xyce.

Xyce XDM

For the Xyce XDM netlist translator binary installation, see the XDM User Guide.

Running the Test Suite

The executables provided here may be run through the regression test suite as described in the Running the Xyce Regression Tests page, with a few modifications.  Rather than giving the location of the “Xyce” executable under the build directory (`pwd`/src/Xyce) in the “run_xyce_regression” command line, use the full path of the “Xyce” or a full quote-delimited “mpirun” command line that references the binary installed above (e.g. /usr/local/Xyce-Release-7.4-OPENSOURCE/bin/Xyce or “mpirun -np 2 /usr/local/Xyce-Release-7.4-OPENMPI-OPENSOURCE/bin/Xyce”).  Further, these executable packages cannot run some of the tests that involve linking a Xyce™ library to another executable, and so the “tagslist” must have the tag “-library”added  to the list given in the test suite instructions; this will exclude those tests.

Trademark and Copyright Notice

Xyce Electronic Simulator™ and Xyce™ are trademarks of National Technology & Engineering Solutions of Sandia, LLC (NTESS).

Xyce™ Parallel Electrical Simulator
Copyright © 2002-2023 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.

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 3 of the License, 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.