-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #12 from Gjacquenot/master
Improve PSCF development
- Loading branch information
Showing
4 changed files
with
156 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
sudo: required | ||
dist: trusty | ||
language: fortran | ||
|
||
matrix: | ||
include: | ||
- os: linux | ||
compiler: clang | ||
env: BTYPE=Debug | ||
- os: linux | ||
compiler: gcc | ||
env: BTYPE=Release | ||
|
||
before_install: | ||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get --yes update; fi | ||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get --yes install gfortran; fi | ||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get --yes install liblapack-dev; fi | ||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get --yes install fftw3; fi | ||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get --yes install libfftw3-dev; fi | ||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get --yes install python; fi | ||
|
||
install: | ||
- mkdir pscf-build && cd pscf-build | ||
# Configure | ||
- cmake $TRAVIS_BUILD_DIR -DCMAKE_Fortran_COMPILER=`which gfortran` -DCMAKE_BUILD_TYPE=$BTYPE -DCMAKE_INSTALL_PREFIX=~/pscf | ||
# Build | ||
- make | ||
|
||
script: | ||
## Test the program | ||
#- make test | ||
# Create package | ||
- make package | ||
# Make sure we can install with no issues. | ||
- make install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# This is the Dockerfile for PSCF. | ||
# | ||
# To build the container, you need docker to be installed on | ||
# your machine (https://www.docker.com) and run the following command | ||
# | ||
# docker build -t pscf . | ||
# | ||
# It will create a Debian-based container that contains everything | ||
# needed to compile pscf | ||
# | ||
# Everything will be installed in /pscf | ||
# | ||
# To run the container interactively | ||
# | ||
# docker run -it pcsf /bin/bash | ||
|
||
FROM debian | ||
|
||
RUN apt-get update && \ | ||
apt-get install -y \ | ||
cmake \ | ||
gfortran \ | ||
liblapack3 \ | ||
libfftw3-dev \ | ||
python | ||
|
||
WORKDIR . | ||
ADD . /pcsf | ||
RUN cd /pcsf_SRC && \ | ||
mkdir -p build && \ | ||
cd build && \ | ||
export FC=`which gfortran` && \ | ||
cmake .. -DCMAKE_BUILD_TYPE=Release \ | ||
-DCMAKE_INSTALL_PREFIX=/pcsf && \ | ||
make && \ | ||
make install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
# PSCF - Polymer Self-Consistent Field Theory | ||
|
||
[![Travis][buildstatus_image_travis]][travisci] | ||
|
||
Copyright (2002-2016) Regents of the University of Minnesota | ||
|
||
PSCF is a Fortran 90 program for numerically solving the polymer | ||
self-consistent field theory for periodic microstructures formed | ||
by incompressible melts or mixtures of linear block copolymers, | ||
linear homopolymers, and small molecule solvents. | ||
|
||
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. A copy of this license is included in | ||
the LICENSE file in the top-level PSCF directory. | ||
|
||
# Contributors | ||
|
||
- David Morse | ||
- Chris Tyler | ||
- Jian Qin | ||
- Amit Ranjan | ||
- Raghuram Thiagarajan | ||
- Akash Arora | ||
|
||
# Dependencies | ||
|
||
PSCF depends upon the FFTW fast Fourier transform library and the | ||
LAPACK linear algebra library. These packages must be installed | ||
before attempting to compile the program from source. | ||
|
||
# User Documentation | ||
|
||
A web user manual is avalaible at: | ||
|
||
https://pscf.readthedocs.io | ||
|
||
Instructions for compiling the program from source, as well as various | ||
ways to install precompiled executables, are given in the user manual. | ||
|
||
The source files for the user manual are text files that are stored in | ||
the doc/user-man directory. The relevant files have file extension .rst. | ||
|
||
# Developer Documentation | ||
|
||
A local copy of the developer API documentation, which includes | ||
documentation for all modules, subroutines and public variables, may | ||
be regenerated by following instructions given in the file doc/README. | ||
The resulting .html page are installed in doc/devel-man. | ||
|
||
# Directory Structure | ||
|
||
src/ - Fortran 90 source files | ||
doc/ - documentation files | ||
doc/user-man - - user manual source files | ||
tools/ - Tools for processing output and source | ||
tools/matlab - - matlab scripts for visualization | ||
tools/python - - python modules | ||
make/ - build directory for make | ||
|
||
An annotated list of source files is given in the file src/SRC_FILES. | ||
Before modifying any fortran files, see the note at the end of that | ||
file regarding the use of preprocessor to generate some files. | ||
|
||
# Examples | ||
|
||
A library of examples is provided in a separate github repository, | ||
located at https://github.com/dmorse/pscf-examples | ||
|
||
|
||
[buildstatus_image_travis]: https://travis-ci.org/Gjacquenot/pscf.svg?branch=master | ||
[travisci]: https://travis-ci.org/Gjacquenot/pscf |