Welcome to gyroid — gyroid 0.3 documentation

### Navigation

- index
- modules |
- next |
- gyroid 0.3 documentation »

# Welcome to gyroid

Welcome to gyroid’s documentation.

## About gyroid

gyroid is a python package that generates symmetry adapted basis functions (SABF) based on the point group of a unit cell.

It was originally implemented in the spirit of creating ordered structures from SABF as the initial guess for polymer self-consistent field theory (SCFT) calculations. Many of the algorithms are adopted from the software package pscf authored by David Morse, etc. written in Fortran.

## Quick Start

### 1. Install

    $ easy_install gyroid

or

    $ tar -xvf gyroid-xxx.tar.gz
    $ cd gyroid-xxx
    $ python setup.py install

Required packages:

- numpy: it should be installed before installing gyroid.
- scipy: use it to save data in Matlab mat format.
- matplotlib: 2D Graphic plotting.
- mayavi: it depends on many packages, e.g. VTK (compiled with python wrapper and shared library on). If you do not need the render_structure_3d functionality, simply ignore it.

### 2. Usage

Following is a typical usange of the package. It will produce a set of SABFs with point group Ia-3d (#230) in a cubic unit cell. The last line will syntheses a gyroid structure with all coefficients for SABF equal to 1.0, save the structure data into a Matlab mat file, show a screenshot of the rendered image and save the image in a file.

    >>> import gyroid as gy
    >>> import numpy as np
    >>> N1,N2,N3 = 32,32,32
    number of grids in each dimension of a unit cell
    >>> uc = gy.UnitCell(3)
    create a standard cubic unit cell with side length 1.0
    >>> group = gy.Group(3,gy.BRAVAIS,uc.shape,"Ia-3d")
    create a Ia-3d point group
    >>> grid = gy.Grid(np.array([N1,N2,N3]),group)
    create a collection of waves that are not canceled
    >>> basis = gy.Basis(group,grid)
    create the SABFs
    >>> gy.render_structure_3d(basis,grid,N1,N2,N3,1.0)
    create the gyroid structure and render it

## API Reference

For advanced usage of this package, or if you want to modify the package yourself (e.g. you can add unsupported piont group into the package by modifying gyroid.space_group.py module.), please refer to the full API documentation.

- API
  - `gyroid` Package
  - `basis` Module
  - `common` Module
  - `grid` Module
  - `group` Module
  - `space_group` Module
  - `symmetry` Module
  - `unitcell` Module
  - `util` Module

## Indices

- Index
- Search Page

## Ask for Help

- You can directly contact me at liuyxpp@gmail.com.
- You can join the mailinglist by sending an email to gyroid@librelist.com and replying to the confirmation mail. To unsubscribe, send a mail to gyroid-unsubscribe@librelist.com and reply to the confirmation mail.

## Links

- Documentation
- Website
- Development version