polymec / polymec-dev

The development "branch" of the polymec HPC libraries.
Mozilla Public License 2.0
2 stars 2 forks source link

License: MPL 2.0 Build Status Coverage Status

Polymec

Copyright (c) 2012-2019, Jeffrey N. Johnson All rights reserved.

Polymec is a set of libraries that can be used to construct models for physical systems. These libraries are designed to allow a computational scientist to construct low-maintenance science applications with robust capabilities.

Features

License

Polymec is licensed under the Mozilla Public License (MPL) version 2.0, which is defined in the LICENSE file, and also available at http://mozilla.org/MPL/2.0/. This license allows you to use Polymec in a commercial code as long as certain requirements are satisfied. Please read or read about the license.

The 3rd-party libraries used by Polymec have their own licenses which are described within the various source trees in the 3rdparty directory. Source files have been minimally modified within these trees; typically they contain files extracted directly from distribution tarballs. You'll find instructions for obtaining each library in its directory.

Installing Polymec

You can use polymec on Linux or macOS systems.

Software Requirements

The polymec libraries require the following software:

The following are helpful, but not required:

You can easily install these using your favorite package manager.

Building

To build polymec on a UNIX-like system, change to your polymec-dev directory and type the following commands:

./bootstrap build_dir

where build_dir is the directory in which you want to build. Then just follow the onscreen directions: you change to that build directory, edit config.sh to define your build, and then start the build using your generator's build process. For the default generator (UNIX makefiles), this is just make. For Ninja (recommended if you have it), it's ninja.

Installing

To install polymec, use the install command for the generator you've selected. For example, if you're using a generator that writes UNIX makefiles, run

make install [-j #threads]

from your build directory.

Other Targets

These targets all work with Make and Ninja.