PSCF v1.4.0
PSCF - Polymer Self-Consistent Field

PSCF is a software package for field-theoretic simulation of inhomogeneous equilibrium structures formed by polymer liquids with constituents that tend to phase separate, including block polymer materials. The current version of PSCF can perform either self-consistent field theory (SCFT) calculations or stochastic field theoretic simulation (FTS) calculations that use a partial saddle-point approximation.

PSCF is written primarily in C++, supplemented by CUDA to use a NVIDIA graphics processing unit if one is available. The package is only distributed in source code form, and so must be compiled by the user. PSCF is designed for a unix-like environment, and is regularly tested on Linux and Mac OS X operating systems.

PSCF is free, open source software. It is distributed under the terms of the GNU General Public License as (GPL) published by the Free Software Foundation, either version 3 of the License or (at your option) any later version. See the LICENSE file or the gnu web page for details.

The web manual for the most recent tagged release of PSCF is available online at https://dmorse.github.io/pscfpp-man .

Table of contents:

  1. About
    1. Methods: SCFT and FTS
    2. Package History
    3. Programs
    4. Features
    5. Contributors and Support
    6. Citation
  2. Installation
    1. System Requirements
    2. Installing Dependencies: GSL and FFTW
    3. Getting the Source Code
    4. Installation Overview
    5. Environment Variables
    6. Configure Script
    7. Compilation
    8. Out-of-Source and In-Source Builds
    9. Compile Time Options
    10. Makefile targets
    11. Generating Documentation
  3. User Introduction
    1. Model and Parameters
    2. Input Files
    3. Running a Program
    4. Types of Calculation
    5. Examples
    6. Parameter Files
    7. Command Files
    8. Field Files
  4. Self-Consistent Field Theory
    1. Self-Consistent Field Theory
    2. Iteration Algorithms
    3. Parameter Sweeps
    4. Parameter Files
    5. Command Files
    6. Thermodynamic Properties
    7. Environments – Confinement and External Fields
    8. Thin-Film Confinement
    9. Appendix: Modified Diffusion Equations
  5. Partial Saddle-Point Field Theoretic Simulation (PS-FTS)
    1. Fully Fluctuating Field Theory - Incompressible Systems
    2. Partial Saddle-Point Approximation
    3. Thermodynamic Integration
    4. Algorithms
    5. Parameter File
    6. Command File
    7. Field Trajectory Files
    8. Parameter Ramps
    9. Perturbations
  6. Data Analysis Tools
    1. Visualization
    2. Python Tools
  7. Periodic Systems
    1. Crystal Unit Cells
    2. Space Groups
    3. Periodic Functions and Fourier Series
    4. Space Group Symmetry
    5. Symmetry-Adapted Fourier Bases
  8. Developer Information
    1. Directory Structure
    2. File Types
    3. Build System
    4. Coding Standards
    5. C++ Templates
    6. Periodic Systems: CPU vs. GPU
    7. Parameter File I/O
    8. Unit Tests

Manual Organization:

This web manual is designed to provide both a user manual for users who may never look at the source code, and complete technical documentation aimed at developers.

Users: Information for users about how to install and run PSCF is provided in chapters 1-7 of the web manual, as outlined above, and via links that are accessible there.

Developers : General information about the package for developers and others who inspect the source code is given in chapter 8 of the web manual, entitled Developer Information. Detailed application programming interface (API) documentation that is extracted from formatted comments in the source code is accessible via the "Topics", "Namespaces", "Classes", and "Files" tabs that appear at the top of every web manual page. The "Topics" tab provides a hierarchical grouping of C++ classes and functions, organized into C++ namespaces and then, within each namespace, into groups of closely related classes. Clicking on a highlighted name of a class, class template, or other named entity anywhere in the web manual usually opens a page of API documentation for that entity.