Build Initial HII Phase Configurations¶
Classes¶
-
class
hexagonal_build.BuildHexagonal(name, npores, p2p, pore_alpha, pore_radius, tilt=0)¶ Bases:
object-
__init__(name, npores, p2p, pore_alpha, pore_radius, tilt=0)¶ Initialize geometry of columnar pore structure
Parameters: - name (str) – name of monomer with which the system will be built.
- npores (int) – number of pores in the system
- p2p (float) – absolute pore-to-pore distance
- pore_alpha (float) – angle between x and y box vector. For example if pore_alpha = 120 or 60, you’ll get hexagonally packed pores
- pore_radius (float) – distance from pore center to place monomer head groups (nm)
- tilt (float) – tilt monomer head group with respect to xy plane
-
build_column(pore, z, theta, correlation=True, var=0, correlation_length=0, pd=0, random_shift=True, mole_fraction=(1.0, ))¶ Place a column at angle theta on xy plane with respect to a pore center
Parameters: - pore – pore number (0 : npores - 1)
- z – mean z-positions of monomers in column
- theta – angle, with respect to pore center where column should be placed (degrees)
- correlation – adjust z positions so there is a correlation length
- var – variance in multivariate normal distribution used to make correlated points
- correlation_length – length for which correlation between stacked monomers to persist
- pd – Angle of wedge created between vertically adjacent monomers. Defined by angle between vectors extending from pore center to monomer head groups.
- random_shift – if True, randomly shift columns in z-direction by choosing a displacement from a uniform distribution bounded by (0, d), where d is the vertical distance between stacked monomers
- seed – random seed if you want to reproduce randomly displaced structures
- mole_fraction – mol fraction of each type of monomer. This only has meaning if the system is built with a
mixture of monomers.
-
reorder()¶ reorder coordinate, residues and atom names so that all residues are separated. Some scripts (might) still rely on this ordering.
-
write_gro(out, ucell)¶ Write coordinate file in .gro format
Parameters: - out (str) – name of output .gro file
- ucell (np.ndarray, shape(3,3)) – unitcell vectors
-
Functions¶
-
hexagonal_build.z_correlation(z, L, v=0.1)¶ Calculate where to place monomers on the z-axis so that a given correlation length is obtained
Parameters: - z (np.array) – mean z-positions where monomers will be placed with gaussian probability
- L (float) – desired correlation length
- v (float) – variance in z position of monomer head groups
Returns: locations [np.array[nlayers])