# -*- coding: utf-8 -*-
# -------------------------------------------------------------
# Two-probe Configuration
# -------------------------------------------------------------

# -------------------------------------------------------------
# Left Electrode
# -------------------------------------------------------------

# Set up lattice
vector_a = [23.5682135465, 0.0, 0.0]*Angstrom
vector_b = [0.0, 23.5682135465, 0.0]*Angstrom
vector_c = [0.0, 0.0, 7.38300513133]*Angstrom
left_electrode_lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
left_electrode_elements = [Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon]

# Define coordinates
left_electrode_coordinates = [[ 11.074974517595,   5.037164046737,   0.615250427611],
                              [  9.687702488659,   5.332037819308,   0.615250427611],
                              [ 13.880511057834,   5.332037819308,   0.615250427611],
                              [ 15.17616015987 ,   5.908897965629,   0.615250427611],
                              [  7.244653294461,   6.742532929222,   0.615250427611],
                              [  6.295649102036,   7.796508861955,   0.615250427611],
                              [ 17.272564444457,   7.796508861955,   0.615250427611],
                              [ 17.981696700108,   9.024761958028,   0.615250427611],
                              [  5.148249009873,  10.373611663333,   0.615250427611],
                              [  5.            ,  11.784106773247,   0.615250427611],
                              [ 18.568213546493,  11.784106773247,   0.615250427611],
                              [ 18.41996453662 ,  13.19460188316 ,   0.615250427611],
                              [  5.586516846385,  14.543451588465,   0.615250427611],
                              [  6.295649102036,  15.771704684538,   0.615250427611],
                              [ 17.272564444457,  15.771704684538,   0.615250427611],
                              [ 16.323560252032,  16.825680617271,   0.615250427611],
                              [  8.392053386623,  17.659315580864,   0.615250427611],
                              [  9.687702488659,  18.236175727185,   0.615250427611],
                              [ 13.880511057834,  18.236175727185,   0.615250427611],
                              [ 12.493239028898,  18.531049499756,   0.615250427611],
                              [ 11.784106773247,   5.            ,   1.845751282832],
                              [ 13.19460188316 ,   5.148249009873,   1.845751282832],
                              [  9.024761958028,   5.586516846385,   1.845751282832],
                              [  7.796508861955,   6.295649102036,   1.845751282832],
                              [ 15.771704684538,   6.295649102036,   1.845751282832],
                              [ 16.825680617271,   7.244653294461,   1.845751282832],
                              [  5.908897965629,   8.392053386623,   1.845751282832],
                              [  5.332037819308,   9.687702488659,   1.845751282832],
                              [ 18.236175727185,   9.687702488659,   1.845751282832],
                              [ 18.531049499756,  11.074974517595,   1.845751282832],
                              [  5.037164046737,  12.493239028898,   1.845751282832],
                              [  5.332037819308,  13.880511057834,   1.845751282832],
                              [ 18.236175727185,  13.880511057834,   1.845751282832],
                              [ 17.659315580864,  15.17616015987 ,   1.845751282832],
                              [  6.742532929222,  16.323560252032,   1.845751282832],
                              [  7.796508861955,  17.272564444457,   1.845751282832],
                              [ 15.771704684538,  17.272564444457,   1.845751282832],
                              [ 14.543451588465,  17.981696700108,   1.845751282832],
                              [ 10.373611663333,  18.41996453662 ,   1.845751282832],
                              [ 11.784106773247,  18.568213546493,   1.845751282832],
                              [ 11.074974517595,   5.037164046737,   3.076252138053],
                              [  9.687702488659,   5.332037819308,   3.076252138053],
                              [ 13.880511057834,   5.332037819308,   3.076252138053],
                              [ 15.17616015987 ,   5.908897965629,   3.076252138053],
                              [  7.244653294461,   6.742532929222,   3.076252138053],
                              [  6.295649102036,   7.796508861955,   3.076252138053],
                              [ 17.272564444457,   7.796508861955,   3.076252138053],
                              [ 17.981696700108,   9.024761958028,   3.076252138053],
                              [  5.148249009873,  10.373611663333,   3.076252138053],
                              [  5.            ,  11.784106773247,   3.076252138053],
                              [ 18.568213546493,  11.784106773247,   3.076252138053],
                              [ 18.41996453662 ,  13.19460188316 ,   3.076252138053],
                              [  5.586516846385,  14.543451588465,   3.076252138053],
                              [  6.295649102036,  15.771704684538,   3.076252138053],
                              [ 17.272564444457,  15.771704684538,   3.076252138053],
                              [ 16.323560252032,  16.825680617271,   3.076252138053],
                              [  8.392053386623,  17.659315580864,   3.076252138053],
                              [  9.687702488659,  18.236175727185,   3.076252138053],
                              [ 13.880511057834,  18.236175727185,   3.076252138053],
                              [ 12.493239028898,  18.531049499756,   3.076252138053],
                              [ 11.784106773247,   5.            ,   4.306752993274],
                              [ 13.19460188316 ,   5.148249009873,   4.306752993274],
                              [  9.024761958028,   5.586516846385,   4.306752993274],
                              [  7.796508861955,   6.295649102036,   4.306752993274],
                              [ 15.771704684538,   6.295649102036,   4.306752993274],
                              [ 16.825680617271,   7.244653294461,   4.306752993274],
                              [  5.908897965629,   8.392053386623,   4.306752993274],
                              [  5.332037819308,   9.687702488659,   4.306752993274],
                              [ 18.236175727185,   9.687702488659,   4.306752993274],
                              [ 18.531049499756,  11.074974517595,   4.306752993274],
                              [  5.037164046737,  12.493239028898,   4.306752993274],
                              [  5.332037819308,  13.880511057834,   4.306752993274],
                              [ 18.236175727185,  13.880511057834,   4.306752993274],
                              [ 17.659315580864,  15.17616015987 ,   4.306752993274],
                              [  6.742532929222,  16.323560252032,   4.306752993274],
                              [  7.796508861955,  17.272564444457,   4.306752993274],
                              [ 15.771704684538,  17.272564444457,   4.306752993274],
                              [ 14.543451588465,  17.981696700108,   4.306752993274],
                              [ 10.373611663333,  18.41996453662 ,   4.306752993274],
                              [ 11.784106773247,  18.568213546493,   4.306752993274],
                              [ 11.074974517595,   5.037164046737,   5.537253848495],
                              [  9.687702488659,   5.332037819308,   5.537253848495],
                              [ 13.880511057834,   5.332037819308,   5.537253848495],
                              [ 15.17616015987 ,   5.908897965629,   5.537253848495],
                              [  7.244653294461,   6.742532929222,   5.537253848495],
                              [  6.295649102036,   7.796508861955,   5.537253848495],
                              [ 17.272564444457,   7.796508861955,   5.537253848495],
                              [ 17.981696700108,   9.024761958028,   5.537253848495],
                              [  5.148249009873,  10.373611663333,   5.537253848495],
                              [  5.            ,  11.784106773247,   5.537253848495],
                              [ 18.568213546493,  11.784106773247,   5.537253848495],
                              [ 18.41996453662 ,  13.19460188316 ,   5.537253848495],
                              [  5.586516846385,  14.543451588465,   5.537253848495],
                              [  6.295649102036,  15.771704684538,   5.537253848495],
                              [ 17.272564444457,  15.771704684538,   5.537253848495],
                              [ 16.323560252032,  16.825680617271,   5.537253848495],
                              [  8.392053386623,  17.659315580864,   5.537253848495],
                              [  9.687702488659,  18.236175727185,   5.537253848495],
                              [ 13.880511057834,  18.236175727185,   5.537253848495],
                              [ 12.493239028898,  18.531049499756,   5.537253848495],
                              [ 11.784106773247,   5.            ,   6.767754703716],
                              [ 13.19460188316 ,   5.148249009873,   6.767754703716],
                              [  9.024761958028,   5.586516846385,   6.767754703716],
                              [  7.796508861955,   6.295649102036,   6.767754703716],
                              [ 15.771704684538,   6.295649102036,   6.767754703716],
                              [ 16.825680617271,   7.244653294461,   6.767754703716],
                              [  5.908897965629,   8.392053386623,   6.767754703716],
                              [  5.332037819308,   9.687702488659,   6.767754703716],
                              [ 18.236175727185,   9.687702488659,   6.767754703716],
                              [ 18.531049499756,  11.074974517595,   6.767754703716],
                              [  5.037164046737,  12.493239028898,   6.767754703716],
                              [  5.332037819308,  13.880511057834,   6.767754703716],
                              [ 18.236175727185,  13.880511057834,   6.767754703716],
                              [ 17.659315580864,  15.17616015987 ,   6.767754703716],
                              [  6.742532929222,  16.323560252032,   6.767754703716],
                              [  7.796508861955,  17.272564444457,   6.767754703716],
                              [ 15.771704684538,  17.272564444457,   6.767754703716],
                              [ 14.543451588465,  17.981696700108,   6.767754703716],
                              [ 10.373611663333,  18.41996453662 ,   6.767754703716],
                              [ 11.784106773247,  18.568213546493,   6.767754703716]]*Angstrom

# Set up configuration
left_electrode = BulkConfiguration(
    bravais_lattice=left_electrode_lattice,
    elements=left_electrode_elements,
    cartesian_coordinates=left_electrode_coordinates
    )

# -------------------------------------------------------------
# Right Electrode
# -------------------------------------------------------------

# Set up lattice
vector_a = [23.5682135465, 0.0, 0.0]*Angstrom
vector_b = [0.0, 23.5682135465, 0.0]*Angstrom
vector_c = [0.0, 0.0, 7.38300513133]*Angstrom
right_electrode_lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
right_electrode_elements = [Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                            Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon]

# Define coordinates
right_electrode_coordinates = [[ 11.074974517595,   5.037164046737,   0.615250427611],
                               [  9.687702488659,   5.332037819308,   0.615250427611],
                               [ 13.880511057834,   5.332037819308,   0.615250427611],
                               [ 15.17616015987 ,   5.908897965629,   0.615250427611],
                               [  7.244653294461,   6.742532929222,   0.615250427611],
                               [  6.295649102036,   7.796508861955,   0.615250427611],
                               [ 17.272564444457,   7.796508861955,   0.615250427611],
                               [ 17.981696700108,   9.024761958028,   0.615250427611],
                               [  5.148249009873,  10.373611663333,   0.615250427611],
                               [  5.            ,  11.784106773247,   0.615250427611],
                               [ 18.568213546493,  11.784106773247,   0.615250427611],
                               [ 18.41996453662 ,  13.19460188316 ,   0.615250427611],
                               [  5.586516846385,  14.543451588465,   0.615250427611],
                               [  6.295649102036,  15.771704684538,   0.615250427611],
                               [ 17.272564444457,  15.771704684538,   0.615250427611],
                               [ 16.323560252032,  16.825680617271,   0.615250427611],
                               [  8.392053386623,  17.659315580864,   0.615250427611],
                               [  9.687702488659,  18.236175727185,   0.615250427611],
                               [ 13.880511057834,  18.236175727185,   0.615250427611],
                               [ 12.493239028898,  18.531049499756,   0.615250427611],
                               [ 11.784106773247,   5.            ,   1.845751282832],
                               [ 13.19460188316 ,   5.148249009873,   1.845751282832],
                               [  9.024761958028,   5.586516846385,   1.845751282832],
                               [  7.796508861955,   6.295649102036,   1.845751282832],
                               [ 15.771704684538,   6.295649102036,   1.845751282832],
                               [ 16.825680617271,   7.244653294461,   1.845751282832],
                               [  5.908897965629,   8.392053386623,   1.845751282832],
                               [  5.332037819308,   9.687702488659,   1.845751282832],
                               [ 18.236175727185,   9.687702488659,   1.845751282832],
                               [ 18.531049499756,  11.074974517595,   1.845751282832],
                               [  5.037164046737,  12.493239028898,   1.845751282832],
                               [  5.332037819308,  13.880511057834,   1.845751282832],
                               [ 18.236175727185,  13.880511057834,   1.845751282832],
                               [ 17.659315580864,  15.17616015987 ,   1.845751282832],
                               [  6.742532929222,  16.323560252032,   1.845751282832],
                               [  7.796508861955,  17.272564444457,   1.845751282832],
                               [ 15.771704684538,  17.272564444457,   1.845751282832],
                               [ 14.543451588465,  17.981696700108,   1.845751282832],
                               [ 10.373611663333,  18.41996453662 ,   1.845751282832],
                               [ 11.784106773247,  18.568213546493,   1.845751282832],
                               [ 11.074974517595,   5.037164046737,   3.076252138053],
                               [  9.687702488659,   5.332037819308,   3.076252138053],
                               [ 13.880511057834,   5.332037819308,   3.076252138053],
                               [ 15.17616015987 ,   5.908897965629,   3.076252138053],
                               [  7.244653294461,   6.742532929222,   3.076252138053],
                               [  6.295649102036,   7.796508861955,   3.076252138053],
                               [ 17.272564444457,   7.796508861955,   3.076252138053],
                               [ 17.981696700108,   9.024761958028,   3.076252138053],
                               [  5.148249009873,  10.373611663333,   3.076252138053],
                               [  5.            ,  11.784106773247,   3.076252138053],
                               [ 18.568213546493,  11.784106773247,   3.076252138053],
                               [ 18.41996453662 ,  13.19460188316 ,   3.076252138053],
                               [  5.586516846385,  14.543451588465,   3.076252138053],
                               [  6.295649102036,  15.771704684538,   3.076252138053],
                               [ 17.272564444457,  15.771704684538,   3.076252138053],
                               [ 16.323560252032,  16.825680617271,   3.076252138053],
                               [  8.392053386623,  17.659315580864,   3.076252138053],
                               [  9.687702488659,  18.236175727185,   3.076252138053],
                               [ 13.880511057834,  18.236175727185,   3.076252138053],
                               [ 12.493239028898,  18.531049499756,   3.076252138053],
                               [ 11.784106773247,   5.            ,   4.306752993274],
                               [ 13.19460188316 ,   5.148249009873,   4.306752993274],
                               [  9.024761958028,   5.586516846385,   4.306752993274],
                               [  7.796508861955,   6.295649102036,   4.306752993274],
                               [ 15.771704684538,   6.295649102036,   4.306752993274],
                               [ 16.825680617271,   7.244653294461,   4.306752993274],
                               [  5.908897965629,   8.392053386623,   4.306752993274],
                               [  5.332037819308,   9.687702488659,   4.306752993274],
                               [ 18.236175727185,   9.687702488659,   4.306752993274],
                               [ 18.531049499756,  11.074974517595,   4.306752993274],
                               [  5.037164046737,  12.493239028898,   4.306752993274],
                               [  5.332037819308,  13.880511057834,   4.306752993274],
                               [ 18.236175727185,  13.880511057834,   4.306752993274],
                               [ 17.659315580864,  15.17616015987 ,   4.306752993274],
                               [  6.742532929222,  16.323560252032,   4.306752993274],
                               [  7.796508861955,  17.272564444457,   4.306752993274],
                               [ 15.771704684538,  17.272564444457,   4.306752993274],
                               [ 14.543451588465,  17.981696700108,   4.306752993274],
                               [ 10.373611663333,  18.41996453662 ,   4.306752993274],
                               [ 11.784106773247,  18.568213546493,   4.306752993274],
                               [ 11.074974517595,   5.037164046737,   5.537253848495],
                               [  9.687702488659,   5.332037819308,   5.537253848495],
                               [ 13.880511057834,   5.332037819308,   5.537253848495],
                               [ 15.17616015987 ,   5.908897965629,   5.537253848495],
                               [  7.244653294461,   6.742532929222,   5.537253848495],
                               [  6.295649102036,   7.796508861955,   5.537253848495],
                               [ 17.272564444457,   7.796508861955,   5.537253848495],
                               [ 17.981696700108,   9.024761958028,   5.537253848495],
                               [  5.148249009873,  10.373611663333,   5.537253848495],
                               [  5.            ,  11.784106773247,   5.537253848495],
                               [ 18.568213546493,  11.784106773247,   5.537253848495],
                               [ 18.41996453662 ,  13.19460188316 ,   5.537253848495],
                               [  5.586516846385,  14.543451588465,   5.537253848495],
                               [  6.295649102036,  15.771704684538,   5.537253848495],
                               [ 17.272564444457,  15.771704684538,   5.537253848495],
                               [ 16.323560252032,  16.825680617271,   5.537253848495],
                               [  8.392053386623,  17.659315580864,   5.537253848495],
                               [  9.687702488659,  18.236175727185,   5.537253848495],
                               [ 13.880511057834,  18.236175727185,   5.537253848495],
                               [ 12.493239028898,  18.531049499756,   5.537253848495],
                               [ 11.784106773247,   5.            ,   6.767754703716],
                               [ 13.19460188316 ,   5.148249009873,   6.767754703716],
                               [  9.024761958028,   5.586516846385,   6.767754703716],
                               [  7.796508861955,   6.295649102036,   6.767754703716],
                               [ 15.771704684538,   6.295649102036,   6.767754703716],
                               [ 16.825680617271,   7.244653294461,   6.767754703716],
                               [  5.908897965629,   8.392053386623,   6.767754703716],
                               [  5.332037819308,   9.687702488659,   6.767754703716],
                               [ 18.236175727185,   9.687702488659,   6.767754703716],
                               [ 18.531049499756,  11.074974517595,   6.767754703716],
                               [  5.037164046737,  12.493239028898,   6.767754703716],
                               [  5.332037819308,  13.880511057834,   6.767754703716],
                               [ 18.236175727185,  13.880511057834,   6.767754703716],
                               [ 17.659315580864,  15.17616015987 ,   6.767754703716],
                               [  6.742532929222,  16.323560252032,   6.767754703716],
                               [  7.796508861955,  17.272564444457,   6.767754703716],
                               [ 15.771704684538,  17.272564444457,   6.767754703716],
                               [ 14.543451588465,  17.981696700108,   6.767754703716],
                               [ 10.373611663333,  18.41996453662 ,   6.767754703716],
                               [ 11.784106773247,  18.568213546493,   6.767754703716]]*Angstrom

# Set up configuration
right_electrode = BulkConfiguration(
    bravais_lattice=right_electrode_lattice,
    elements=right_electrode_elements,
    cartesian_coordinates=right_electrode_coordinates
    )

# -------------------------------------------------------------
# Central Region
# -------------------------------------------------------------

# Set up lattice
vector_a = [23.5682135465, 0.0, 0.0]*Angstrom
vector_b = [0.0, 23.5682135465, 0.0]*Angstrom
vector_c = [0.0, 0.0, 24.6100171044]*Angstrom
central_region_lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
central_region_elements = [Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon,
                           Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon, Carbon]

# Define coordinates
central_region_coordinates = [[ 11.074974517595,   5.037164046737,   0.615250427611],
                              [  9.687702488659,   5.332037819308,   0.615250427611],
                              [ 13.880511057834,   5.332037819308,   0.615250427611],
                              [ 15.17616015987 ,   5.908897965629,   0.615250427611],
                              [  7.244653294461,   6.742532929222,   0.615250427611],
                              [  6.295649102036,   7.796508861955,   0.615250427611],
                              [ 17.272564444457,   7.796508861955,   0.615250427611],
                              [ 17.981696700108,   9.024761958028,   0.615250427611],
                              [  5.148249009873,  10.373611663333,   0.615250427611],
                              [  5.            ,  11.784106773247,   0.615250427611],
                              [ 18.568213546493,  11.784106773247,   0.615250427611],
                              [ 18.41996453662 ,  13.19460188316 ,   0.615250427611],
                              [  5.586516846385,  14.543451588465,   0.615250427611],
                              [  6.295649102036,  15.771704684538,   0.615250427611],
                              [ 17.272564444457,  15.771704684538,   0.615250427611],
                              [ 16.323560252032,  16.825680617271,   0.615250427611],
                              [  8.392053386623,  17.659315580864,   0.615250427611],
                              [  9.687702488659,  18.236175727185,   0.615250427611],
                              [ 13.880511057834,  18.236175727185,   0.615250427611],
                              [ 12.493239028898,  18.531049499756,   0.615250427611],
                              [ 11.784106773247,   5.            ,   1.845751282832],
                              [ 13.19460188316 ,   5.148249009873,   1.845751282832],
                              [  9.024761958028,   5.586516846385,   1.845751282832],
                              [  7.796508861955,   6.295649102036,   1.845751282832],
                              [ 15.771704684538,   6.295649102036,   1.845751282832],
                              [ 16.825680617271,   7.244653294461,   1.845751282832],
                              [  5.908897965629,   8.392053386623,   1.845751282832],
                              [  5.332037819308,   9.687702488659,   1.845751282832],
                              [ 18.236175727185,   9.687702488659,   1.845751282832],
                              [ 18.531049499756,  11.074974517595,   1.845751282832],
                              [  5.037164046737,  12.493239028898,   1.845751282832],
                              [  5.332037819308,  13.880511057834,   1.845751282832],
                              [ 18.236175727185,  13.880511057834,   1.845751282832],
                              [ 17.659315580864,  15.17616015987 ,   1.845751282832],
                              [  6.742532929222,  16.323560252032,   1.845751282832],
                              [  7.796508861955,  17.272564444457,   1.845751282832],
                              [ 15.771704684538,  17.272564444457,   1.845751282832],
                              [ 14.543451588465,  17.981696700108,   1.845751282832],
                              [ 10.373611663333,  18.41996453662 ,   1.845751282832],
                              [ 11.784106773247,  18.568213546493,   1.845751282832],
                              [ 11.074974517595,   5.037164046737,   3.076252138053],
                              [  9.687702488659,   5.332037819308,   3.076252138053],
                              [ 13.880511057834,   5.332037819308,   3.076252138053],
                              [ 15.17616015987 ,   5.908897965629,   3.076252138053],
                              [  7.244653294461,   6.742532929222,   3.076252138053],
                              [  6.295649102036,   7.796508861955,   3.076252138053],
                              [ 17.272564444457,   7.796508861955,   3.076252138053],
                              [ 17.981696700108,   9.024761958028,   3.076252138053],
                              [  5.148249009873,  10.373611663333,   3.076252138053],
                              [  5.            ,  11.784106773247,   3.076252138053],
                              [ 18.568213546493,  11.784106773247,   3.076252138053],
                              [ 18.41996453662 ,  13.19460188316 ,   3.076252138053],
                              [  5.586516846385,  14.543451588465,   3.076252138053],
                              [  6.295649102036,  15.771704684538,   3.076252138053],
                              [ 17.272564444457,  15.771704684538,   3.076252138053],
                              [ 16.323560252032,  16.825680617271,   3.076252138053],
                              [  8.392053386623,  17.659315580864,   3.076252138053],
                              [  9.687702488659,  18.236175727185,   3.076252138053],
                              [ 13.880511057834,  18.236175727185,   3.076252138053],
                              [ 12.493239028898,  18.531049499756,   3.076252138053],
                              [ 11.784106773247,   5.            ,   4.306752993274],
                              [ 13.19460188316 ,   5.148249009873,   4.306752993274],
                              [  9.024761958028,   5.586516846385,   4.306752993274],
                              [  7.796508861955,   6.295649102036,   4.306752993274],
                              [ 15.771704684538,   6.295649102036,   4.306752993274],
                              [ 16.825680617271,   7.244653294461,   4.306752993274],
                              [  5.908897965629,   8.392053386623,   4.306752993274],
                              [  5.332037819308,   9.687702488659,   4.306752993274],
                              [ 18.236175727185,   9.687702488659,   4.306752993274],
                              [ 18.531049499756,  11.074974517595,   4.306752993274],
                              [  5.037164046737,  12.493239028898,   4.306752993274],
                              [  5.332037819308,  13.880511057834,   4.306752993274],
                              [ 18.236175727185,  13.880511057834,   4.306752993274],
                              [ 17.659315580864,  15.17616015987 ,   4.306752993274],
                              [  6.742532929222,  16.323560252032,   4.306752993274],
                              [  7.796508861955,  17.272564444457,   4.306752993274],
                              [ 15.771704684538,  17.272564444457,   4.306752993274],
                              [ 14.543451588465,  17.981696700108,   4.306752993274],
                              [ 10.373611663333,  18.41996453662 ,   4.306752993274],
                              [ 11.784106773247,  18.568213546493,   4.306752993274],
                              [ 11.074974517595,   5.037164046737,   5.537253848495],
                              [  9.687702488659,   5.332037819308,   5.537253848495],
                              [ 13.880511057834,   5.332037819308,   5.537253848495],
                              [ 15.17616015987 ,   5.908897965629,   5.537253848495],
                              [  7.244653294461,   6.742532929222,   5.537253848495],
                              [  6.295649102036,   7.796508861955,   5.537253848495],
                              [ 17.272564444457,   7.796508861955,   5.537253848495],
                              [ 17.981696700108,   9.024761958028,   5.537253848495],
                              [  5.148249009873,  10.373611663333,   5.537253848495],
                              [  5.            ,  11.784106773247,   5.537253848495],
                              [ 18.568213546493,  11.784106773247,   5.537253848495],
                              [ 18.41996453662 ,  13.19460188316 ,   5.537253848495],
                              [  5.586516846385,  14.543451588465,   5.537253848495],
                              [  6.295649102036,  15.771704684538,   5.537253848495],
                              [ 17.272564444457,  15.771704684538,   5.537253848495],
                              [ 16.323560252032,  16.825680617271,   5.537253848495],
                              [  8.392053386623,  17.659315580864,   5.537253848495],
                              [  9.687702488659,  18.236175727185,   5.537253848495],
                              [ 13.880511057834,  18.236175727185,   5.537253848495],
                              [ 12.493239028898,  18.531049499756,   5.537253848495],
                              [ 11.784106773247,   5.            ,   6.767754703716],
                              [ 13.19460188316 ,   5.148249009873,   6.767754703716],
                              [  9.024761958028,   5.586516846385,   6.767754703716],
                              [  7.796508861955,   6.295649102036,   6.767754703716],
                              [ 15.771704684538,   6.295649102036,   6.767754703716],
                              [ 16.825680617271,   7.244653294461,   6.767754703716],
                              [  5.908897965629,   8.392053386623,   6.767754703716],
                              [  5.332037819308,   9.687702488659,   6.767754703716],
                              [ 18.236175727185,   9.687702488659,   6.767754703716],
                              [ 18.531049499756,  11.074974517595,   6.767754703716],
                              [  5.037164046737,  12.493239028898,   6.767754703716],
                              [  5.332037819308,  13.880511057834,   6.767754703716],
                              [ 18.236175727185,  13.880511057834,   6.767754703716],
                              [ 17.659315580864,  15.17616015987 ,   6.767754703716],
                              [  6.742532929222,  16.323560252032,   6.767754703716],
                              [  7.796508861955,  17.272564444457,   6.767754703716],
                              [ 15.771704684538,  17.272564444457,   6.767754703716],
                              [ 14.543451588465,  17.981696700108,   6.767754703716],
                              [ 10.373611663333,  18.41996453662 ,   6.767754703716],
                              [ 11.784106773247,  18.568213546493,   6.767754703716],
                              [ 11.074974517595,   5.037164046737,   7.998255558938],
                              [  9.687702488659,   5.332037819308,   7.998255558938],
                              [ 13.880511057834,   5.332037819308,   7.998255558938],
                              [ 15.17616015987 ,   5.908897965629,   7.998255558938],
                              [  7.244653294461,   6.742532929222,   7.998255558938],
                              [  6.295649102036,   7.796508861955,   7.998255558938],
                              [ 17.272564444457,   7.796508861955,   7.998255558938],
                              [ 17.981696700108,   9.024761958028,   7.998255558938],
                              [  5.148249009873,  10.373611663333,   7.998255558938],
                              [  5.            ,  11.784106773247,   7.998255558938],
                              [ 18.568213546493,  11.784106773247,   7.998255558938],
                              [ 18.41996453662 ,  13.19460188316 ,   7.998255558938],
                              [  5.586516846385,  14.543451588465,   7.998255558938],
                              [  6.295649102036,  15.771704684538,   7.998255558938],
                              [ 17.272564444457,  15.771704684538,   7.998255558938],
                              [ 16.323560252032,  16.825680617271,   7.998255558938],
                              [  8.392053386623,  17.659315580864,   7.998255558938],
                              [  9.687702488659,  18.236175727185,   7.998255558938],
                              [ 13.880511057834,  18.236175727185,   7.998255558938],
                              [ 12.493239028898,  18.531049499756,   7.998255558938],
                              [ 11.784106773247,   5.            ,   9.228756414159],
                              [ 13.19460188316 ,   5.148249009873,   9.228756414159],
                              [  9.024761958028,   5.586516846385,   9.228756414159],
                              [  7.796508861955,   6.295649102036,   9.228756414159],
                              [ 15.771704684538,   6.295649102036,   9.228756414159],
                              [ 16.825680617271,   7.244653294461,   9.228756414159],
                              [  5.908897965629,   8.392053386623,   9.228756414159],
                              [  5.332037819308,   9.687702488659,   9.228756414159],
                              [ 18.236175727185,   9.687702488659,   9.228756414159],
                              [ 18.531049499756,  11.074974517595,   9.228756414159],
                              [  5.037164046737,  12.493239028898,   9.228756414159],
                              [  5.332037819308,  13.880511057834,   9.228756414159],
                              [ 18.236175727185,  13.880511057834,   9.228756414159],
                              [ 17.659315580864,  15.17616015987 ,   9.228756414159],
                              [  6.742532929222,  16.323560252032,   9.228756414159],
                              [  7.796508861955,  17.272564444457,   9.228756414159],
                              [ 15.771704684538,  17.272564444457,   9.228756414159],
                              [ 14.543451588465,  17.981696700108,   9.228756414159],
                              [ 10.373611663333,  18.41996453662 ,   9.228756414159],
                              [ 11.784106773247,  18.568213546493,   9.228756414159],
                              [ 11.074974517595,   5.037164046737,  10.45925726938 ],
                              [  9.687702488659,   5.332037819308,  10.45925726938 ],
                              [ 13.880511057834,   5.332037819308,  10.45925726938 ],
                              [ 15.17616015987 ,   5.908897965629,  10.45925726938 ],
                              [  7.244653294461,   6.742532929222,  10.45925726938 ],
                              [  6.295649102036,   7.796508861955,  10.45925726938 ],
                              [ 17.272564444457,   7.796508861955,  10.45925726938 ],
                              [ 17.981696700108,   9.024761958028,  10.45925726938 ],
                              [  5.148249009873,  10.373611663333,  10.45925726938 ],
                              [  5.            ,  11.784106773247,  10.45925726938 ],
                              [ 18.568213546493,  11.784106773247,  10.45925726938 ],
                              [ 18.41996453662 ,  13.19460188316 ,  10.45925726938 ],
                              [  5.586516846385,  14.543451588465,  10.45925726938 ],
                              [  6.295649102036,  15.771704684538,  10.45925726938 ],
                              [ 17.272564444457,  15.771704684538,  10.45925726938 ],
                              [ 16.323560252032,  16.825680617271,  10.45925726938 ],
                              [  8.392053386623,  17.659315580864,  10.45925726938 ],
                              [  9.687702488659,  18.236175727185,  10.45925726938 ],
                              [ 13.880511057834,  18.236175727185,  10.45925726938 ],
                              [ 12.493239028898,  18.531049499756,  10.45925726938 ],
                              [ 11.784106773247,   5.            ,  11.689758124601],
                              [ 13.19460188316 ,   5.148249009873,  11.689758124601],
                              [  9.024761958028,   5.586516846385,  11.689758124601],
                              [  7.796508861955,   6.295649102036,  11.689758124601],
                              [ 15.771704684538,   6.295649102036,  11.689758124601],
                              [ 16.825680617271,   7.244653294461,  11.689758124601],
                              [  5.908897965629,   8.392053386623,  11.689758124601],
                              [  5.332037819308,   9.687702488659,  11.689758124601],
                              [ 18.236175727185,   9.687702488659,  11.689758124601],
                              [ 18.531049499756,  11.074974517595,  11.689758124601],
                              [  5.037164046737,  12.493239028898,  11.689758124601],
                              [  5.332037819308,  13.880511057834,  11.689758124601],
                              [ 18.236175727185,  13.880511057834,  11.689758124601],
                              [ 17.659315580864,  15.17616015987 ,  11.689758124601],
                              [  6.742532929222,  16.323560252032,  11.689758124601],
                              [  7.796508861955,  17.272564444457,  11.689758124601],
                              [ 15.771704684538,  17.272564444457,  11.689758124601],
                              [ 14.543451588465,  17.981696700108,  11.689758124601],
                              [ 10.373611663333,  18.41996453662 ,  11.689758124601],
                              [ 11.784106773247,  18.568213546493,  11.689758124601],
                              [ 11.074974517595,   5.037164046737,  12.920258979822],
                              [  9.687702488659,   5.332037819308,  12.920258979822],
                              [ 13.880511057834,   5.332037819308,  12.920258979822],
                              [ 15.17616015987 ,   5.908897965629,  12.920258979822],
                              [  7.244653294461,   6.742532929222,  12.920258979822],
                              [  6.295649102036,   7.796508861955,  12.920258979822],
                              [ 17.272564444457,   7.796508861955,  12.920258979822],
                              [ 17.981696700108,   9.024761958028,  12.920258979822],
                              [  5.148249009873,  10.373611663333,  12.920258979822],
                              [  5.            ,  11.784106773247,  12.920258979822],
                              [ 18.568213546493,  11.784106773247,  12.920258979822],
                              [ 18.41996453662 ,  13.19460188316 ,  12.920258979822],
                              [  5.586516846385,  14.543451588465,  12.920258979822],
                              [  6.295649102036,  15.771704684538,  12.920258979822],
                              [ 17.272564444457,  15.771704684538,  12.920258979822],
                              [ 16.323560252032,  16.825680617271,  12.920258979822],
                              [  8.392053386623,  17.659315580864,  12.920258979822],
                              [  9.687702488659,  18.236175727185,  12.920258979822],
                              [ 13.880511057834,  18.236175727185,  12.920258979822],
                              [ 12.493239028898,  18.531049499756,  12.920258979822],
                              [ 11.784106773247,   5.            ,  14.150759835043],
                              [ 13.19460188316 ,   5.148249009873,  14.150759835043],
                              [  9.024761958028,   5.586516846385,  14.150759835043],
                              [  7.796508861955,   6.295649102036,  14.150759835043],
                              [ 15.771704684538,   6.295649102036,  14.150759835043],
                              [ 16.825680617271,   7.244653294461,  14.150759835043],
                              [  5.908897965629,   8.392053386623,  14.150759835043],
                              [  5.332037819308,   9.687702488659,  14.150759835043],
                              [ 18.236175727185,   9.687702488659,  14.150759835043],
                              [ 18.531049499756,  11.074974517595,  14.150759835043],
                              [  5.037164046737,  12.493239028898,  14.150759835043],
                              [  5.332037819308,  13.880511057834,  14.150759835043],
                              [ 18.236175727185,  13.880511057834,  14.150759835043],
                              [ 17.659315580864,  15.17616015987 ,  14.150759835043],
                              [  6.742532929222,  16.323560252032,  14.150759835043],
                              [  7.796508861955,  17.272564444457,  14.150759835043],
                              [ 15.771704684538,  17.272564444457,  14.150759835043],
                              [ 14.543451588465,  17.981696700108,  14.150759835043],
                              [ 10.373611663333,  18.41996453662 ,  14.150759835043],
                              [ 11.784106773247,  18.568213546493,  14.150759835043],
                              [ 11.074974517595,   5.037164046737,  15.381260690264],
                              [  9.687702488659,   5.332037819308,  15.381260690264],
                              [ 13.880511057834,   5.332037819308,  15.381260690264],
                              [ 15.17616015987 ,   5.908897965629,  15.381260690264],
                              [  7.244653294461,   6.742532929222,  15.381260690264],
                              [  6.295649102036,   7.796508861955,  15.381260690264],
                              [ 17.272564444457,   7.796508861955,  15.381260690264],
                              [ 17.981696700108,   9.024761958028,  15.381260690264],
                              [  5.148249009873,  10.373611663333,  15.381260690264],
                              [  5.            ,  11.784106773247,  15.381260690264],
                              [ 18.568213546493,  11.784106773247,  15.381260690264],
                              [ 18.41996453662 ,  13.19460188316 ,  15.381260690264],
                              [  5.586516846385,  14.543451588465,  15.381260690264],
                              [  6.295649102036,  15.771704684538,  15.381260690264],
                              [ 17.272564444457,  15.771704684538,  15.381260690264],
                              [ 16.323560252032,  16.825680617271,  15.381260690264],
                              [  8.392053386623,  17.659315580864,  15.381260690264],
                              [  9.687702488659,  18.236175727185,  15.381260690264],
                              [ 13.880511057834,  18.236175727185,  15.381260690264],
                              [ 12.493239028898,  18.531049499756,  15.381260690264],
                              [ 11.784106773247,   5.            ,  16.611761545486],
                              [ 13.19460188316 ,   5.148249009873,  16.611761545486],
                              [  9.024761958028,   5.586516846385,  16.611761545486],
                              [  7.796508861955,   6.295649102036,  16.611761545486],
                              [ 15.771704684538,   6.295649102036,  16.611761545486],
                              [ 16.825680617271,   7.244653294461,  16.611761545486],
                              [  5.908897965629,   8.392053386623,  16.611761545486],
                              [  5.332037819308,   9.687702488659,  16.611761545486],
                              [ 18.236175727185,   9.687702488659,  16.611761545486],
                              [ 18.531049499756,  11.074974517595,  16.611761545486],
                              [  5.037164046737,  12.493239028898,  16.611761545486],
                              [  5.332037819308,  13.880511057834,  16.611761545486],
                              [ 18.236175727185,  13.880511057834,  16.611761545486],
                              [ 17.659315580864,  15.17616015987 ,  16.611761545486],
                              [  6.742532929222,  16.323560252032,  16.611761545486],
                              [  7.796508861955,  17.272564444457,  16.611761545486],
                              [ 15.771704684538,  17.272564444457,  16.611761545486],
                              [ 14.543451588465,  17.981696700108,  16.611761545486],
                              [ 10.373611663333,  18.41996453662 ,  16.611761545486],
                              [ 11.784106773247,  18.568213546493,  16.611761545486],
                              [ 11.074974517595,   5.037164046737,  17.842262400707],
                              [  9.687702488659,   5.332037819308,  17.842262400707],
                              [ 13.880511057834,   5.332037819308,  17.842262400707],
                              [ 15.17616015987 ,   5.908897965629,  17.842262400707],
                              [  7.244653294461,   6.742532929222,  17.842262400707],
                              [  6.295649102036,   7.796508861955,  17.842262400707],
                              [ 17.272564444457,   7.796508861955,  17.842262400707],
                              [ 17.981696700108,   9.024761958028,  17.842262400707],
                              [  5.148249009873,  10.373611663333,  17.842262400707],
                              [  5.            ,  11.784106773247,  17.842262400707],
                              [ 18.568213546493,  11.784106773247,  17.842262400707],
                              [ 18.41996453662 ,  13.19460188316 ,  17.842262400707],
                              [  5.586516846385,  14.543451588465,  17.842262400707],
                              [  6.295649102036,  15.771704684538,  17.842262400707],
                              [ 17.272564444457,  15.771704684538,  17.842262400707],
                              [ 16.323560252032,  16.825680617271,  17.842262400707],
                              [  8.392053386623,  17.659315580864,  17.842262400707],
                              [  9.687702488659,  18.236175727185,  17.842262400707],
                              [ 13.880511057834,  18.236175727185,  17.842262400707],
                              [ 12.493239028898,  18.531049499756,  17.842262400707],
                              [ 11.784106773247,   5.            ,  19.072763255928],
                              [ 13.19460188316 ,   5.148249009873,  19.072763255928],
                              [  9.024761958028,   5.586516846385,  19.072763255928],
                              [  7.796508861955,   6.295649102036,  19.072763255928],
                              [ 15.771704684538,   6.295649102036,  19.072763255928],
                              [ 16.825680617271,   7.244653294461,  19.072763255928],
                              [  5.908897965629,   8.392053386623,  19.072763255928],
                              [  5.332037819308,   9.687702488659,  19.072763255928],
                              [ 18.236175727185,   9.687702488659,  19.072763255928],
                              [ 18.531049499756,  11.074974517595,  19.072763255928],
                              [  5.037164046737,  12.493239028898,  19.072763255928],
                              [  5.332037819308,  13.880511057834,  19.072763255928],
                              [ 18.236175727185,  13.880511057834,  19.072763255928],
                              [ 17.659315580864,  15.17616015987 ,  19.072763255928],
                              [  6.742532929222,  16.323560252032,  19.072763255928],
                              [  7.796508861955,  17.272564444457,  19.072763255928],
                              [ 15.771704684538,  17.272564444457,  19.072763255928],
                              [ 14.543451588465,  17.981696700108,  19.072763255928],
                              [ 10.373611663333,  18.41996453662 ,  19.072763255928],
                              [ 11.784106773247,  18.568213546493,  19.072763255928],
                              [ 11.074974517595,   5.037164046737,  20.303264111149],
                              [  9.687702488659,   5.332037819308,  20.303264111149],
                              [ 13.880511057834,   5.332037819308,  20.303264111149],
                              [ 15.17616015987 ,   5.908897965629,  20.303264111149],
                              [  7.244653294461,   6.742532929222,  20.303264111149],
                              [  6.295649102036,   7.796508861955,  20.303264111149],
                              [ 17.272564444457,   7.796508861955,  20.303264111149],
                              [ 17.981696700108,   9.024761958028,  20.303264111149],
                              [  5.148249009873,  10.373611663333,  20.303264111149],
                              [  5.            ,  11.784106773247,  20.303264111149],
                              [ 18.568213546493,  11.784106773247,  20.303264111149],
                              [ 18.41996453662 ,  13.19460188316 ,  20.303264111149],
                              [  5.586516846385,  14.543451588465,  20.303264111149],
                              [  6.295649102036,  15.771704684538,  20.303264111149],
                              [ 17.272564444457,  15.771704684538,  20.303264111149],
                              [ 16.323560252032,  16.825680617271,  20.303264111149],
                              [  8.392053386623,  17.659315580864,  20.303264111149],
                              [  9.687702488659,  18.236175727185,  20.303264111149],
                              [ 13.880511057834,  18.236175727185,  20.303264111149],
                              [ 12.493239028898,  18.531049499756,  20.303264111149],
                              [ 11.784106773247,   5.            ,  21.53376496637 ],
                              [ 13.19460188316 ,   5.148249009873,  21.53376496637 ],
                              [  9.024761958028,   5.586516846385,  21.53376496637 ],
                              [  7.796508861955,   6.295649102036,  21.53376496637 ],
                              [ 15.771704684538,   6.295649102036,  21.53376496637 ],
                              [ 16.825680617271,   7.244653294461,  21.53376496637 ],
                              [  5.908897965629,   8.392053386623,  21.53376496637 ],
                              [  5.332037819308,   9.687702488659,  21.53376496637 ],
                              [ 18.236175727185,   9.687702488659,  21.53376496637 ],
                              [ 18.531049499756,  11.074974517595,  21.53376496637 ],
                              [  5.037164046737,  12.493239028898,  21.53376496637 ],
                              [  5.332037819308,  13.880511057834,  21.53376496637 ],
                              [ 18.236175727185,  13.880511057834,  21.53376496637 ],
                              [ 17.659315580864,  15.17616015987 ,  21.53376496637 ],
                              [  6.742532929222,  16.323560252032,  21.53376496637 ],
                              [  7.796508861955,  17.272564444457,  21.53376496637 ],
                              [ 15.771704684538,  17.272564444457,  21.53376496637 ],
                              [ 14.543451588465,  17.981696700108,  21.53376496637 ],
                              [ 10.373611663333,  18.41996453662 ,  21.53376496637 ],
                              [ 11.784106773247,  18.568213546493,  21.53376496637 ],
                              [ 11.074974517595,   5.037164046737,  22.764265821591],
                              [  9.687702488659,   5.332037819308,  22.764265821591],
                              [ 13.880511057834,   5.332037819308,  22.764265821591],
                              [ 15.17616015987 ,   5.908897965629,  22.764265821591],
                              [  7.244653294461,   6.742532929222,  22.764265821591],
                              [  6.295649102036,   7.796508861955,  22.764265821591],
                              [ 17.272564444457,   7.796508861955,  22.764265821591],
                              [ 17.981696700108,   9.024761958028,  22.764265821591],
                              [  5.148249009873,  10.373611663333,  22.764265821591],
                              [  5.            ,  11.784106773247,  22.764265821591],
                              [ 18.568213546493,  11.784106773247,  22.764265821591],
                              [ 18.41996453662 ,  13.19460188316 ,  22.764265821591],
                              [  5.586516846385,  14.543451588465,  22.764265821591],
                              [  6.295649102036,  15.771704684538,  22.764265821591],
                              [ 17.272564444457,  15.771704684538,  22.764265821591],
                              [ 16.323560252032,  16.825680617271,  22.764265821591],
                              [  8.392053386623,  17.659315580864,  22.764265821591],
                              [  9.687702488659,  18.236175727185,  22.764265821591],
                              [ 13.880511057834,  18.236175727185,  22.764265821591],
                              [ 12.493239028898,  18.531049499756,  22.764265821591],
                              [ 11.784106773247,   5.            ,  23.994766676813],
                              [ 13.19460188316 ,   5.148249009873,  23.994766676813],
                              [  9.024761958028,   5.586516846385,  23.994766676813],
                              [  7.796508861955,   6.295649102036,  23.994766676813],
                              [ 15.771704684538,   6.295649102036,  23.994766676813],
                              [ 16.825680617271,   7.244653294461,  23.994766676813],
                              [  5.908897965629,   8.392053386623,  23.994766676813],
                              [  5.332037819308,   9.687702488659,  23.994766676813],
                              [ 18.236175727185,   9.687702488659,  23.994766676813],
                              [ 18.531049499756,  11.074974517595,  23.994766676813],
                              [  5.037164046737,  12.493239028898,  23.994766676813],
                              [  5.332037819308,  13.880511057834,  23.994766676813],
                              [ 18.236175727185,  13.880511057834,  23.994766676813],
                              [ 17.659315580864,  15.17616015987 ,  23.994766676813],
                              [  6.742532929222,  16.323560252032,  23.994766676813],
                              [  7.796508861955,  17.272564444457,  23.994766676813],
                              [ 15.771704684538,  17.272564444457,  23.994766676813],
                              [ 14.543451588465,  17.981696700108,  23.994766676813],
                              [ 10.373611663333,  18.41996453662 ,  23.994766676813],
                              [ 11.784106773247,  18.568213546493,  23.994766676813]]*Angstrom

# Set up configuration
central_region = BulkConfiguration(
    bravais_lattice=central_region_lattice,
    elements=central_region_elements,
    cartesian_coordinates=central_region_coordinates
    )

device_configuration = DeviceConfiguration(
    central_region,
    [left_electrode, right_electrode]
    )

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = Hancock.C_Basis

#----------------------------------------
# Numerical Accuracy Settings
#----------------------------------------
left_electrode_k_point_sampling = MonkhorstPackGrid(
    nc=100,
    )
left_electrode_numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=left_electrode_k_point_sampling,
    )

right_electrode_k_point_sampling = MonkhorstPackGrid(
    nc=100,
    )
right_electrode_numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=right_electrode_k_point_sampling,
    )

#----------------------------------------
# Iteration Control Settings
#----------------------------------------
left_electrode_iteration_control_parameters = IterationControlParameters(
    tolerance=0.0001,
    )

right_electrode_iteration_control_parameters = IterationControlParameters(
    tolerance=0.0001,
    )

#----------------------------------------
# Poisson Solver Settings
#----------------------------------------
left_electrode_poisson_solver = FastFourier2DSolver(
    boundary_conditions=[[PeriodicBoundaryCondition(),PeriodicBoundaryCondition()],
                         [PeriodicBoundaryCondition(),PeriodicBoundaryCondition()],
                         [PeriodicBoundaryCondition(),PeriodicBoundaryCondition()]]
    )

right_electrode_poisson_solver = FastFourier2DSolver(
    boundary_conditions=[[PeriodicBoundaryCondition(),PeriodicBoundaryCondition()],
                         [PeriodicBoundaryCondition(),PeriodicBoundaryCondition()],
                         [PeriodicBoundaryCondition(),PeriodicBoundaryCondition()]]
    )

#----------------------------------------
# Device Algorithm Settings
#----------------------------------------
initial_density_type = EquivalentBulk(
    electrode_constraint_length=10.0*Angstrom,
    )

device_algorithm_parameters = DeviceAlgorithmParameters(
    initial_density_type=initial_density_type,
    )

#----------------------------------------
# Electrode Calculators
#----------------------------------------
left_electrode_calculator = SlaterKosterCalculator(
    basis_set=basis_set,
    numerical_accuracy_parameters=left_electrode_numerical_accuracy_parameters,
    iteration_control_parameters=left_electrode_iteration_control_parameters,
    poisson_solver=left_electrode_poisson_solver,
    )

right_electrode_calculator = SlaterKosterCalculator(
    basis_set=basis_set,
    numerical_accuracy_parameters=right_electrode_numerical_accuracy_parameters,
    iteration_control_parameters=right_electrode_iteration_control_parameters,
    poisson_solver=right_electrode_poisson_solver,
    )

#----------------------------------------
# Device Calculator
#----------------------------------------
calculator = DeviceSlaterKosterCalculator(
    basis_set=basis_set,
    device_algorithm_parameters=device_algorithm_parameters,
    electrode_calculators=
        [left_electrode_calculator, right_electrode_calculator],
    )

device_configuration.setCalculator(calculator)
nlprint(device_configuration)
device_configuration.update()
nlsave('cnt_device.nc', device_configuration)