A Swiss army knife to generate hydrogen-disordered ice structures.
version 1.0.11
- NEWS: Aug. 27, 2020 A sneak preview of GenIce2 on Google Colaboratory is available at https://github.com/vitroid/GenIce/blob/genice2/test.ipynb .
- networkx>=2
- countrings>=0.1.7
- pairlist>=0.2.3
- yaplotlib>=0.1
- numpy
GenIce is registered to PyPI (Python Package Index). Install with pip3.
pip3 install genice
pip3 uninstall genice
usage: genice [-h] [--version] [--rep REP REP REP] [--dens DENS]
[--add_noise percent] [--seed SEED] [--format name]
[--water model] [--guest D=empty] [--Guest 13=me]
[--Group 13=bu-:0] [--anion 3=Cl] [--cation 3=Na]
[--visual visual] [--nodep] [--asis] [--debug] [--quiet]
Type
GenIce is a swiss army knife to generate hydrogen-disordered ice structures.
(version 1.0.11)
positional arguments:
Type Crystal type (1c, 1h, etc. See
https://github.com/vitroid/GenIce for available ice
structures.)
If you want to analyze your own structures, please try
analice tool.
[Available lattice structures]
1. Lattice structures served with GenIce
0, ice0 Metastable ice "0".
11 Ice XI.
12, XII, ice12 Ice XII.
13, XIII, ice13 Ice XIII.
16, CS2, MTN, XVI, ice16, sII Ice XVI.
17, XVII, ice17 Ice XVII.
1c, Ic, ice1c Ice Ic.
1h, Ih, ice1h Ice Ih.
2, II, ice2 Hydrogen-ordered ice II.
2D3 Trilayer honeycomb ice.
2d, ice2d A hydrogen-disordered counterpart of
ice II.
3, III, ice3 Ice III.
4, IV, ice4 Ice IV.
4R Orthogonalized ice IV.
5, V, ice5 Ice V.
5R Orthogonalized ice V.
6, VI, ice6 Ice VI.
6h Half lattice of ice VI.
7, VII, ice7 Ice VII.
8, VIII, ice8 Ice VIII.
9, IX, ice9 Ice IX.
A, iceA Hypothetical ice A.
A15, Struct33 Cubic Structure I of clathrate hydrate.
B, iceB Hypothetical ice B.
DOH, HS3, sH Clathrate type H.
c0te Filled ice C0 by Teeratchanan
(Hydrogen-disordered.) (Positions of
guests are supplied.)
c1te Hydrogen-ordered hydrogen hydrate C1 by
Teeratchanan. (Positions of guests are
supplied.)
c2te Filled ice C2 (cubic ice) by
Teeratchanan (Hydrogen disordered).
(Positions of guests are supplied.)
ice11_19 A candidate for an antiferroelectric
Ice XI #19.
ice1hte Filled ice Ih by Teeratchanan (Hydrogen
disordered). (Positions of guests are
supplied.)
ice2rect Orthogonalized Ice II.
----
(Undocumented) 1h_unit C14 C15 C36 CRN1 CRN2 CRN3 CS1
CS4 EMT FAU FK6layers FK9layers HS1 HS2 Hcomp Kcomp LTA
MEP RHO SOD Struct01 Struct02 Struct03 Struct04
Struct05 Struct06 Struct07 Struct08 Struct09 Struct10
Struct11 Struct12 Struct13 Struct14 Struct15 Struct16
Struct17 Struct18 Struct19 Struct20 Struct21 Struct22
Struct23 Struct24 Struct25 Struct26 Struct27 Struct28
Struct29 Struct30 Struct31 Struct32 Struct34 Struct35
Struct36 Struct37 Struct38 Struct39 Struct40 Struct41
Struct42 Struct43 Struct44 Struct45 Struct46 Struct47
Struct48 Struct49 Struct50 Struct51 Struct52 Struct53
Struct54 Struct55 Struct56 Struct57 Struct58 Struct59
Struct60 Struct61 Struct62 Struct63 Struct64 Struct65
Struct66 Struct67 Struct68 Struct69 Struct70 Struct71
Struct72 Struct73 Struct74 Struct75 Struct76 Struct77
Struct78 Struct79 Struct80 Struct81 Struct82 Struct83
Struct84 T TS1 Z delta dtc i ice1h_unit iceR iceT iceT2
mu prism psigma sI sIII sIV sTprime sV sVII sigma xFAU
xFAU2 zra-d
2. Lattice structures served by plugins
(None)
----
3. Lattice structures served locally
(None)
----
optional arguments:
-h, --help show this help message and exit
--version, -V show program's version number and exit
--rep REP REP REP, -r REP REP REP
Repeat the unit cell along a, b, and c axes. [1,1,1]
--dens DENS, -d DENS Specify the ice density in g/cm3 (Guests are not
included.)
--add_noise percent Add a Gauss noise with given width (SD) to the
molecular positions of water. The value 1 corresponds
to 1 percent of the molecular diameter of water.
--seed SEED, -s SEED Random seed [1000]
--format name, -f name
Specify the output file format. [gromacs]
[Available formatters]
1. Formatters served with GenIce
_KG Kirkworrd G factor.
_ringstat Bond direction statistics.
d, digraph Directed graph of HBs.
e, euler Rigid rotor (Euler angle).
exmol Extended XMol file format.
exyz Extended XYZ format.
g, gromacs Gromacs .gro file.
graph Undirected graph of HBs.
m, mdview MDView file (in Angdtrom).
mdv_au MDView file (in au).
o, openscad OpenSCAD.
p, python, reshape Cell-reshaper.
povray Povray.
q, quaternion Rigid rotor (Quaternion).
rings Show rings in Yaplot.
y, yaplot Yaplot.
----
(Undocumented) bdl c cif cif2 com r rcom towhee xyz
2. Formatters served by plugins
(None)
----
(Undocumented) _RDF png svg twist
3. Formatters served locally
(None)
----
--water model, -w model
Specify water model. (tip3p, tip4p, etc.) [tip3p]
--guest D=empty, -g D=empty
Specify guest(s) in the cage type. (D=empty,
T=co2*0.5+me*0.3, etc.)
--Guest 13=me, -G 13=me
Specify guest in the specific cage. (13=me, 32=co2,
etc.)
--Group 13=bu-:0, -H 13=bu-:0
Specify the group. (-H 13=bu-:0, etc.)
--anion 3=Cl, -a 3=Cl
Specify a monatomic anion that replaces a water
molecule. (3=Cl, 39=F, etc.)
--cation 3=Na, -c 3=Na
Specify a monatomic cation that replaces a water
molecule. (3=Na, 39=NH4, etc.)
--visual visual Specify the yaplot file to store the depolarization
paths. [""]
--nodep No depolarization.
--asis Assumes all given HB pairs to be fixed. No shuffle and
no depolarization.
--debug, -D Output debugging info.
--quiet, -q Do not output progress messages.
Use ./genice.x
instead of genice
if you want to use GenIce without installation.
-
To make a 3x3x3 units of a hydrogen-disordered ice IV (4) of TIP4P water in GROMACS .gro format:
genice --water tip4p --rep 3 3 3 4 > ice4.gro
-
To make a 2x2x4 units of CS2 clathrate hydrate structure of TIP4P water containing THF (united atom with a dummy site) in the large cage in GROMACS .gro format:
genice -g 16=uathf6 --water tip4p --rep 2 2 4 CS2 > cs2-224.gro
The program generates various ice lattice with proton disorder and without defect. Total dipole moment is always set to zero (except the case you specify --nodep
option). The minimal structure (with --rep 1 1 1 option) is not always the unit cell of the lattice because it is difficult to deal with the hydrogen bond network topology of tiny lattice under periodic boundary condition. Note that the generated structure is not optimal according to the potential energy.
-
To get a large repetition of ice Ih in XYZ format,
genice --rep 8 8 8 1h --format xyz > 1hx888.xyz
-
To get a ice V lattice of different hydrogen order in CIF format, use
-s
option to specify the random seed.genice 5 -s 1024 --format cif > 5-1024.cif
-
To obtain a ice VI lattice with different density and with TIP4P water model in gromacs format, use
--dens x
option to specify the density in g cm-3.genice 6 --dens 1.00 --format g --water tip4p > 6d1.00.gro
GenIce is a modular program; it reads a unit cell data from a lattice plugin defined in the lattices folder, put water and guest molecules using a molecule plugin defined in the molecules/ folder, and output in various formats using a format plugin defined in the formats/ folder. You can write your own plugins to extend GenIce. Some plugins also accept options.
For clathrate hydrates, you can prepare the lattice with cages partially occupied by various guest molecules.
-
To make a CS1 clathrate hydrate structure of TIP4P water containing CO2 in GROMACS .gro format: (60% of small cages are filled with co2 and 40% are methane)
genice -g 12=co2*0.6+me*0.4 -g 14=co2 --water tip4p CS1 > cs1.gro
-
To make a CS2 clathrate hydrate structure of TIP5P water containing THF molecules in the large cage, while only one cage is filled with methane molecule, first just run genice without guest specifications:
genice CS2 > CS2.gro
The list of cages will be output as follows:
INFO Cage types: ['12', '16'] INFO Cage type 12: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183} INFO Cage type 16: {136, 137, 138, 139, 140, 141, 142, 143, 16, 17, 18, 19, 20, 21, 22, 23, 160, 161, 162, 163, 164, 165, 166, 167, 40, 41, 42, 43, 44, 45, 46, 47, 184, 185, 186, 187, 188, 189, 190, 191, 64, 65, 66, 67, 68, 69, 70, 71, 88, 89, 90, 91, 92, 93, 94, 95, 112, 113, 114, 115, 116, 117, 118, 119}
This indicates that there are two types of cages named
12
and16
. Fill the16
cages with THF and put a methane molecule in the0
th cage of type12
as follows:genice CS2 -g 16=uathf -G 0=me > CS2.gro
Although only a few kinds of guest molecules are preset, you can easily prepare new guest molecules as a module. Here is an example for the ethlene oxide molecule.
eo.py
import numpy as np
# United-atom EO model with a dummy site
LOC = 0.1436 # nm
LCC = 0.1472 # nm
Y = (LOC**2 - (LCC/2)**2)**0.5
sites = np.array([[ 0., 0., 0. ],
[-LCC/2, Y, 0. ],
[+LCC/2, Y, 0. ],])
mass = np.array([16,14,14])
# center of mass
CoM = np.dot(mass, sites) / np.sum(mass)
sites -= CoM
atoms = ["O","C","C"]
labels = ["Oe","Ce","Ce"]
name = "EO"
Write the code in eo.py. Make a folder named molecules
in the current working directory and put it in.
Note: multiple occupancy is not implemented. If it is required, make a module of a virtual molecule that contains multiple molecules.
Small ions may replace the host molecules. In that case, you can use -a
and -c
options to replace the specified water molecules with anions and cations.
The following example replaces the 0
th water molecule (in the replicated lattice) with Na cation and 1
st water molecule with Cl anion. The hydrogen bonds around the ions are organized appropriately.
genice CS2 --nodep -c 0=Na -a 1=Cl > CS2.gro
Note 1: The numbers of cations and anions must be the same. Otherwise, ice rule is never satisfied and the program does not stop.
Note 2: The option --nodep
is also required because it is impossible to depolarize the structure containing ions.
Note 3: Protonic defects (H3O+ and OH-) are not yet implemented.
Let us assume that the id of the water molecule to be replaced by nitrogen of the TBA as zero. Place the nitrogen as a cation and also replace the water 2 by the counterion Br.
genice HS1 -c 0=N -a 2=Br --nodep > HS1.gro
Then you will see the following info.
INFO Hints:
INFO Cage types: ['12', '14', '15']
INFO Cage type 12: {0, 1, 2, 3, 4, 5, 14, 15, 16, 17, 18, 19, 28, 29, 30, 31, 32, 33, 42, 43, 44, 45, 46, 47, 56, 57, 58, 59, 60, 61, 70, 71, 72, 73, 74, 75, 84, 85, 86, 87, 88, 89, 98, 99, 100, 101, 102, 103}
INFO Cage type 14: {6, 7, 8, 9, 20, 21, 22, 23, 34, 35, 36, 37, 48, 49, 50, 51, 62, 63, 64, 65, 76, 77, 78, 79, 90, 91, 92, 93, 104, 105, 106, 107}
INFO Cage type 15: {10, 11, 12, 13, 24, 25, 26, 27, 38, 39, 40, 41, 52, 53, 54, 55, 66, 67, 68, 69, 80, 81, 82, 83, 94, 95, 96, 97, 108, 109, 110, 111}
INFO Cages adjacent to dopant 2: {9, 2, 28, 97}
INFO Cages adjacent to dopant 0: {9, 2, 28, 7}
It indicates that the nitrogen is surrounded by cages with ids 9, 2, 28, and 7. Types for these cages can also be found in the info. Then, we put the Bu- group (minus does not mean ions) in these cages adjacent dopant 0.
genice HS1 -c 0=N -a 2=Br -H 9=Bu-:0 -H 2=Bu-:0 -H 28=Bu-:0 -H 7=Bu-:0 --nodep > HS1.gro
Here the option -H
specifies the group by -H (cage id)=(group name):(root)
, and root is the nitrogen that is specified by -c
(cation) option.
Under preparation
It is more convenient if the lattice of the semiclathrate hydrate contains molecular ions in the appropriate locations in advance. Here we explain the way to make the special module for semclathrates.
AnalIce is a variant of GenIce. AnalIce reads a Gromacs file and do not modify the molecular orientation or the hydrogen bond network topology. AnalIce is prepared to use it for structure analysis.
For example, if you want to see the ring statistic of a given .gro
file, use like this:
analice input.gro -f _ringstat
If you want to replace water model from the original three-site one (described as OW, HW1, and HW2) to TIP4P-like four-site model, try
analice input.gro -O OW -H HW[12] -w tip4p
All the output formats are also available for AnalIce.
Load every 10 frames from a set of .gro files and output ring statistics in separate files.
analice '%05d.gro' --framerange 0:1000000:10 -O OW -H HW[12] --format _ringstat -o '%04d.rstat'
Make V-structures (removal of quick librational motion of water) from the given set of .gro files.
analice '%05d.gro' -O OW -H HW[12] -w tip3p --avgspan 25 > vstruct.gro
usage: analice [options]
GenIce is a swiss army knife to generate hydrogen-disordered ice structures.
(version 1.0.11)
positional arguments:
File Input file(s). File type is estimated from the suffix.
Files of different types cannot be read at a time. File
type can be specified explicitly with -s option.
[Available input file types]
1. File types served with GenIce
exyz Extended XYZ format.
gro Gromacs .gro file.
mdv MDView file (in Angdtrom).
mdva MDView file (in au).
----
(Undocumented) ar3r nx3a
2. File types served by plugins
(None)
----
3. File types served locally
(None)
----
optional arguments:
-h, --help show this help message and exit
--version, -V show program's version number and exit
--format name, -f name
Specify the output file format. [gromacs]
[Available formatters]
1. Formatters served with GenIce
_KG Kirkworrd G factor.
_ringstat Bond direction statistics.
d, digraph Directed graph of HBs.
e, euler Rigid rotor (Euler angle).
exmol Extended XMol file format.
exyz Extended XYZ format.
g, gromacs Gromacs .gro file.
graph Undirected graph of HBs.
m, mdview MDView file (in Angdtrom).
mdv_au MDView file (in au).
o, openscad OpenSCAD.
p, python, reshape Cell-reshaper.
povray Povray.
q, quaternion Rigid rotor (Quaternion).
rings Show rings in Yaplot.
y, yaplot Yaplot.
----
(Undocumented) bdl c cif cif2 com r rcom towhee xyz
2. Formatters served by plugins
(None)
----
(Undocumented) _RDF png svg twist
3. Formatters served locally
(None)
----
--output %04d.gro, -o %04d.gro
Output in separate files.
--water model, -w model
Replace water model. (tip3p, tip4p, etc.) [tip3p]
--oxygen OW, -O OW Specify atom name of oxygen in input Gromacs file.
("O")
--hydrogen HW[12], -H HW[12]
Specify atom name (regexp) of hydrogen in input
Gromacs file. ("H")
--suffix gro, -s gro Specify the file suffix explicitly. ((None)
--filerange [from:]below[:interval]
Specify the number range for the input filename.
("0:1000000")
--framerange [from:]below[:interval]
Specify the number range for the input frames.
("0:1000000")
--debug, -D Output debugging info.
--quiet, -q Do not output progress messages.
--add_noise percent Add a Gauss noise with given width (SD) to the
molecular positions of water. The value 1 corresponds
to 1 percent of the molecular diameter of water.
--avgspan 1, -v 1 Output mean atomic positions of a given time span so
as to remove fast librational motions and to make a
smooth video. The values 0 and 1 specify no averaging.
Name | Application | extension | water | solute | HB | remarks |
---|---|---|---|---|---|---|
`cif, cif2 | CIF | .cif |
Atomic positions | Atomic positions | none | Experimental |
g , gromacs |
Gromacs | .gro |
Atomic positions | Atomic positions | none | Default format. |
m , mdview |
MDView | .mdv |
Atomic positions | Atomic positions | auto | |
mdv_au |
MDView | .mdv |
Atomic positions | Atomic positions | auto | In atomic unit. |
o , openscad |
OpenSCAD | .scad |
Center of mass | none | o | See tests/art/openscad for usage. |
povray |
Povray | .pov |
Atomic positions | Atomic Positions | o | |
towhee |
TowHee | .coords (?) |
Atomic positions | Atomic positions | none | |
xyz |
XYZ | .xyz |
Atomic positions | Atomic positions | none | Experimental |
exyz |
extended XYZ | .xyz |
Atomic positions | Atomic positions | none | Extended XYZ format defined in Open Babel |
exyz2 |
extended XYZ | .xyz |
Atomic positions | Atomic positions | none | Extended XYZ format defined in QUIP |
y , yaplot |
Yaplot | .yap |
Atomic positions | Atomic positions | o | It renders molecular configurations and the HB network. |
e , euler |
Euler angles | .nx3a |
Rigid rotor | none | none | |
q , quaternion |
Quaternions | .nx4a |
Rigid rotor | none | none | |
d , digraph |
Digraph | .ngph |
none | none | o | |
graph |
Graph | .ngph |
none | none | o | Experimental. |
c , com |
CenterOfMass | .ar3a |
Center of mass | none | none | |
r , rcom |
Relative CoM | .ar3r |
Center of mass | none | none | In fractional coordinate system. |
p , python , reshape |
Python module | .py |
Center of mass | none | none | Under development. |
_ringstat |
Ring phase statistics | Statistical test suite 1: Check the appearance frequencies of the ring phases as a test for the intermediate-range disorder. | ||||
rings |
Yaplot | .yap |
center of mass | none | o | It renders HB rings. |
_KG |
Kirkwood G(r) | Statistical test suite 2: Calculate G(r) for checking long-range disorder in molecular orientations. |
You can prepare your own file formats. Create a folder named formats
in the current working directory and put the plugins in it. GenIce 1.0 no longer refers the files in ~/.genice
folder.
Internally, there are seven stages to generate an ice structure.
- Cell repetition.
- Random graph generation and replication.
- Apply ice rule.
- Depolarize.
- Determine orientations of the water molecules.
- Place atoms in water molecules.
- Place atoms in guests.
In the format plugin, you define the hook functions that are invoked after processing each stage.
Symbol | Description |
---|---|
1h, ice1h, Ih | Most popular Ice I (hexagonal) |
1c, ice1c, Ic | Cubic type of ice I |
2, ice2, II | Hydrogen-ordered ice II |
2d, ice2d | Hypothetical Hydrogen-disordered Ice II.[Nakamura 2015] |
3, ice3, III | Conventional high-pressure ice III.[Lobban 1998] |
4, ice4, IV | Metastable high-pressure ice IV.[Lobban 1998] |
4R | Ice IV with orthogonal unit cell. (testing) |
5, ice5, V | Monoclinic ice V (testing). |
5R | Ice V with orthogonal unit cell. (testing) |
6, ice6, VI | Conventional high-pressure ice VI.[Lobban 1998] |
6h | Half lattice of ice IV. |
7, ice7, VII | Conventional high-pressure ice VII.[Lobban 1998] |
8, ice8, VIII | Ice VIII, a hydrogen-ordered counterpart of ice VII.[Kuhs 1998] |
9, ice9, IX | Ice IX, a hydrogen-ordered counterpart of ice III.[Londono 1993] |
ice11_19 | A candidate for an antiferroelectric ice 11; ice 11 type 19 in Ref. [Fan 2010] |
12, ice12, XII | Metastable high-pressure ice XII.[Lobban 1998] |
13, ice13, XIII | Ice XIII, a hydrogen-ordered counterpart of ice V.[Salzmann 2006] |
16, ice16, XVI | Negative-pressure ice XVI.[Falenty 2014] |
17, ice17, XVII | Negative-pressure ice XVII.[del Rosso 2016] |
0, ice0 | Hypothetical ice "0".[Russo 2014] |
i | Hypothetical ice "i". = Zeolite BCT.[Fennell 2005] |
A, iceA | Hypothetical hydrogen-ordered ices "A" and "B".[Baez 1998] |
B, iceB | Hypothetical hydrogen-ordered ices "A" and "B".[Baez 1998] |
C0, C0-II | Filled ice C0 (Alias of 17).[Smirnov 2013] |
C1 | Filled ice C1 (Alias of 2).[Londono 1988] |
C2 | Filled ice C2 (Alias of 1c).[Vos 1993] |
sTprime | Filled ice "sT'". [Smirnov 2013] |
CS1, CS2, CS4, TS1, HS1, HS2, HS3 | Clathrate hydrates, Kosyakov's nomenclature. [Kosyakov 1999] |
sI, sII, sIII, sIV, sV, sVII, sH | Clathrate hydrates, Jeffrey's nomenclature. [Jeffrey 1984] |
RHO | Hypothetical ice at negative pressure ice "sIII".[Huang 2016] |
FAU | Hypothetical ice at negative pressure ice "sIV". [Huang 2017] |
EMT | Hypothetical ice with a large cavity.[Liu 2019] |
DOH,MEP,MTN,SOD | Aliases of HS3, CS1, CS2, and CS4, respectively. |
CRN1,CRN2,CRN3 | 4-coordinated continuous random network [Mousseau 2005] |
Struct01 .. Struct84 | Space Fullerenes [Dutour Sikiric 2010] |
A15, sigma, Hcomp, Kcomp, Z, mu, zra-d, FK9layers, FK6layers, C36, C15, C14, delta, psigma | Space Fullerenes, Aliases of the Struct?? series. See the data source for their names. [Dutour Sikiric 2010] |
T | Space fullerene type T,[Dutour Sikiric 2010] II+IVa. [Karttunen 2011] |
xFAU[2], xFAU[4], xFAU[16], ... | Aeroices, i.e. extended FAU.[Matsui 2017] |
xFAU2[2], xFAU2[4], xFAU2[16], ... | Aeroices, i.e. extended FAU.[Matsui 2017] (Hydrogen bond orientations are modified.) |
iceR | Partial plastic ice R [Mochizuki 2014]. |
iceT | Partial plastic ice T [Hirata 2017]. |
iceT2 | Partial plastic ice T2 [Yagasaki 2018]. |
dtc | Ultralow-density ice containing cylindrical pores. [Matsui 2019] |
prism[4], prism[5], prism[6], ... | Ice nanotubes. [Koga 2001]. |
Ice names with double quotations are not experimentally verified.
You can prepare your own ice structures. Create a folder named lattices
in the current working directory and put the plugins in it. GenIce 1.0 no longer refers the files in ~/.genice
folder.
cif2ice is a tool to retrieve a cif file of zeolite from IZA structure database and prepare a lattice module in the path above.
Note: Some structures in different frameworks are identical.
CH/FI | CH | ice | FK | Zeo |
---|---|---|---|---|
sI | CS1 | - | A15 | MEP |
sII | CS2 | 16 | C15 | MTN |
sIII | TS1 | - | sigma | - |
sIV | HS1 | - | Z | - |
sV | HS2 | - | * | - |
sVII | CS4 | - | * | SOD |
sH | HS3 | - | * | DOH |
C0 | - | 17 | * | - |
C1 | - | 2 | * | - |
C2 | - | 1c | * | - |
FI: Filled ices; CH: Clathrate hydrates; FK:Frank-Kasper duals; Zeo: Zeolites.
-: No correspondence; *: Non-FK types.
Please ask [email protected] to add new ice structures.
A water model can be chosen with --water
option.
symbol | type |
---|---|
3site , tip3p |
3-site TIP3P (default) |
4site , tip4p |
4-site TIP4P |
ice |
TIP4P/ice |
5site , tip5p |
5-site TIP5P |
6site , NvdE |
6-site NvdE |
symbol | type |
---|---|
co2 |
CO2 |
me |
United atom monatomic methane |
uathf |
United atom 5-site THF |
g12 ,g14 ,g15 ,g16 |
A monatomic dummy site |
empty |
Leave the cage empty. |
You can prepare your own guest molecules. Create a folder named molecules
in the current working directory and put the plugins in it. GenIce 1.0 no longer refers the files in ~/.genice
folder.
suffix | type |
---|---|
gro |
Gromacs |
mdv |
mdview (Angstrom) |
mdva |
mdview (au) |
nx3a |
Rigid rotors (with euler angles) |
You can prepare your own file loaders. Create a folder named loaders
in the current working directory and put the plugins in it. The plugin name is refered as the suffix of the file. (e.g. prepare pdb.py to load a *.pdb file.)
(New in v1.0)
Some extra plugins are available via python package index using pip command.
For example, you can install RDF plugin by the following command,
% pip install genice-rdf
And use it as an output format to get the radial distribution functions.
% genice TS1 -f _RDF > TS1.rdf.txt
Analysis plugin is a kind of output plugin (specified with -f option). They are useful with analice command.
pip name | GenIce option | Description | output format | requirements |
---|---|---|---|---|
genice-cage |
-f _cage |
Detect cages and quasi-polyhedra (vitrites). | text, json | countrings |
genice-rdf |
-f _RDF |
Radial distribution functions. | text | |
genice-svg |
-f svg -f png |
2D graphics in SVG format. ... in PNG format. |
SVG PNG |
svgwrite |
genice-vpython |
-f vpython |
Display the structure in the browser using VPython. | (none) | vpython |
genice-twist |
-f twist |
Calculate the twist order parameter (and visualize) [Matsumoto 2019] | text (@BTWC) SVG PNG yaplot |
twist-op , genice-svg |
Input plugins (a.k.a. lattice plugins) construct a crystal structure on demand.
pip name | GenIce usage | Description | requirements |
---|---|---|---|
genice-cif |
genice cif[ITT.cif] genice zeolite[ITT] |
Read a local CIF file as an ice structure. Read a structure from Zeolite DB. |
cif2ice |
- L.A. Báez, P. Clancy, J. Chem. Phys. 103, 9744–9755 (1998). DOI: 10.1063/1.469938
- L. del Rosso, M. Celli, L. Ulivi, Nat Commun 2016, 7, 13394. DOI: 10.1038/ncomms13394
- M. Dutour Sikirić, O. Delgado-Friedrichs, M. Deza, Acta Crystallogr. A 2010, 66, 602. DOI: 10.1107/S0108767310022932
- A. Falenty, T. C. Hansen, W. F. Kuhs, Nature 2014, 516, 231. DOI: 10.1038/nature14014
- Xiaofeng Fan, Dan Bing, Jingyun Zhang, Zexiang Shen, Jer-Lai Kuo, Computational Materials Science 49 (2010) S170–S175.
- C. J. Fennell, J. D. Gezelter, J. Chem. Theory Comput. 2005, 1, 662. DOI: 10.1021/ct050005s
- M. Hirata, T. Yagasaki, M. Matsumoto, H. Tanaka, Langmuir 33, 42, 11561-11569(2017). DOI: 10.1021/acs.langmuir.7b01764
- Y. Huang, C. Zhu, L. Wang, X. Cao, Y. Su, X. Jiang, S. Meng, J. Zhao, X. C. Zeng, Science Advances 2016, 2, e1501010. DOI: 10.1126/sciadv.1501010
- Y. Huang, C. Zhu, L. Wang, J. Zhao, X. C. Zeng, Chem. Phys. Lett. 2017, 671, 186. DOI: 10.1016/j.cplett.2017.01.035
- G. A. Jeffrey, In Inclusion Compounds; J. L. Atwood, J. E. D. Davies, D. D. MacNicol, Eds.; Academic Press: London, 1984, Vol. 1, Chap. 5.
- A. J. Karttunen, T. F. Fässler, M. Linnolahti, T. A. Pakkanen, Inorg Chem 2011, 50, 1733. DOI: 10.1021/ic102178d
- K Koga, GT Gao, H Tanaka, XC Zeng, Nature 412 (6849), 802-805. DOI:10.1038/35090532
- V.I. Kosyakov, T.M. Polyanskaya, J. Struct. Chem. 1999, 40, 239. DOI:10.1007/BF02903652
- WF Kuhs, JL Finney, C Vettier, DV Bliss, J. Chem. Phys. 81, 3612–3623 (1998). DOI: 10.1063/1.448109
- Y. Liu, Y. Huang, C. Zhu, H. Li, J. Zhao, L. Wang, L. Ojamäe, J.S. Francisco, X.C. Zeng, PNAS 116, 12684-12691 (2019). DOI: 10.1073/pnas.1900739116
- C. Lobban, J.L. Finney, W. F. Kuhs, Nature 1998, 391, 268. DOI: 10.1038/34622
- D. Londono, W.F. Kuhs, J.L. Finney, Nature 1988, 332, 141. DOI: 10.1038/332141a0
- D. Londono, W.F. Kuhs, J.L. Finney, J. Chem. Phys. 98, 4878–4888 (1993). DOI: 10.1063/1.464942
- T. Matsui, M. Hirata, T. Yagasaki, M. Matsumoto, H. Tanaka, J. Chem. Phys. 147, 091101 (2017). DOI: /10.1063/1.4994757
- T. Matsui, T. Yagasaki, M. Matsumoto, H. Tanaka, J. Chem. Phys. 150, 041102 (2019). DOI: 10.1063/1.5083021
- M. Matsumoto, T. Yagasaki, H. Tanaka, J. Chem. Phys. 150, 214504 (2019). DOI: 10.1063/1.5096556
- K. Mochizuki, K. Himoto, M. Matsumoto, Phys. Chem. Chem. Phys. 16, 16419–16425 (2014). DOI: 10.1039/c4cp01616e
- N. Mousseau, G. T. Barkema, Curr. Opin. Solid State Mater. Sci. 2001, 5, 497. DOI: 10.1016/S1359-0286(02)00005-0
- T. Nakamura, M. Matsumoto, T. Yagasaki, H. Tanaka, J. Phys. Chem. B 2015, 120, 1843. DOI: 10.1021/acs.jpcb.5b09544
- J. Russo, F. Romano, H. Tanaka, Nat. Mater. 2014, 13, 733. DOI: 10.1038/NMAT3977
- C.G. Salzmann, P. Radaelli, A. Hallbrucker, E. Mayer, Science 311, 1758–1761 (2006). DOI: 10.1126/science.1123896
- G. S. Smirnov, V. V. Stegailov, J. Phys. Chem. Lett. 2013, 4, 3560. DOI: 10.1021/jz401669d
- W. L. Vos, L. W. Finger, R. J. Hemley, H. Mao, Phys. Rev. Lett. 1993, 71, 3150. DOI: 10.1103/PhysRevLett.71.3150
- T. Yagasaki, M. Matsumoto, H. Tanaka, J. Phys. Chem. B 122, 7718–7725 (2018). DOI: 10.1021/acs.jpcb.8b04441
The algorithm to make a depolarized hydrogen-disordered ice is explained in our recent paper:
M. Masakazu, T. Yagasaki, and H. Tanaka,"GenIce: Hydrogen-Disordered Ice Generator", J. Comput. Chem. 39, 61-64 (2017). DOI: 10.1002/jcc.25077
@article{Matsumoto:2017bk,
author = {Matsumoto, Masakazu and Yagasaki, Takuma and Tanaka, Hideki},
title = {{GenIce: Hydrogen-Disordered Ice Generator}},
journal = {Journal of Computational Chemistry},
volume = {39},
pages = {61-64},
year = {2017}
}
GenIce is served at the GitHub (https://github.com/vitroid/GenIce/) as an open source software since 2015. Feedbacks, proposals for improvements and extensions, and bug fixes are sincerely appreciated. Developers and test users are also welcome. Please let us know if there are ices that have been published but is not in GenIce.