# -*- coding: utf-8 -*-
# -------------------------------------------------------------
# Nudged Elastic Band Configuration
# -------------------------------------------------------------

# Setup the configuration list
configuration_list = []

# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
vector_a = [4.74148287577, -0.000127269878148, 0.00783573590836]*Angstrom
vector_b = [-0.000164005204931, 6.08030371318, -0.00256586481387]*Angstrom
vector_c = [0.0172414754673, -0.00445585886655, 10.3479508435]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Iron, Iron, Iron, Iron, Lithium, Lithium, Lithium, Phosphorus,
            Phosphorus, Phosphorus, Phosphorus, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.982041715294,  0.246694062342,  0.275128400535],
                          [ 0.499232444771,  0.751898026286,  0.230531785982],
                          [ 0.017950887429,  0.753300540974,  0.724867117552],
                          [ 0.50077021535 ,  0.248099410177,  0.769464509178],
                          [-0.000000705417,  0.00000232252 , -0.000001274605],
                          [ 0.000000435241,  0.499998607917, -0.000001112076],
                          [ 0.500000391343,  0.499998658146,  0.500004272673],
                          [ 0.426563095801,  0.248011053308,  0.098924216726],
                          [ 0.934070383214,  0.746725600526,  0.400962859703],
                          [ 0.573453092508,  0.751988278932,  0.901094113177],
                          [ 0.065981060678,  0.253279499153,  0.599012866909],
                          [ 0.75683635775 ,  0.247432919907,  0.102997123442],
                          [ 0.259628877817,  0.735009579296,  0.389081843179],
                          [ 0.24315802154 ,  0.752567419257,  0.897001742099],
                          [ 0.740355659143,  0.264987365915,  0.610917451146],
                          [ 0.166751195607,  0.264900714388,  0.456232020591],
                          [ 0.690099646419,  0.753272333843,  0.043947993684],
                          [ 0.833239879416,  0.735098518905,  0.543786153138],
                          [ 0.309884518228,  0.246727551914,  0.956053133658],
                          [ 0.283516792861,  0.042085933704,  0.171213540201],
                          [ 0.795512079857,  0.947265538112,  0.320557178398],
                          [ 0.719012489213,  0.545932671755,  0.83002267256 ],
                          [ 0.229261840211,  0.457106244889,  0.673704581064],
                          [ 0.716503594202,  0.95790453104 ,  0.828787463887],
                          [ 0.204482627218,  0.052708286898,  0.679438208553],
                          [ 0.281007539981,  0.454078859388,  0.169976394731],
                          [ 0.770734143865,  0.542901029895,  0.326290615666]]

# Set up configuration
configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Append to the list of configurations
configuration_list.append(configuration)

# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
vector_a = [4.74148287577, -0.000127269878148, 0.00783573590836]*Angstrom
vector_b = [-0.000164005204931, 6.08030371318, -0.00256586481387]*Angstrom
vector_c = [0.0172414754673, -0.00445585886655, 10.3479508435]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Iron, Iron, Iron, Iron, Lithium, Lithium, Lithium, Phosphorus,
            Phosphorus, Phosphorus, Phosphorus, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.985279801868,  0.249515779892,  0.277463184579],
                          [ 0.499098576302,  0.751165596175,  0.232273644769],
                          [ 0.017228316045,  0.752992767116,  0.725876390248],
                          [ 0.505558731872,  0.24758096822 ,  0.770841132281],
                          [ 0.046995540865, -0.022257524349,  0.064203806974],
                          [ 0.002091860465,  0.499567467695, -0.000042046524],
                          [ 0.500857337175,  0.50002748023 ,  0.501544774017],
                          [ 0.431185553672,  0.254039834089,  0.099857603823],
                          [ 0.933301805397,  0.747411392911,  0.402807382708],
                          [ 0.575043195288,  0.750930798241,  0.900632330321],
                          [ 0.068716192019,  0.252415191319,  0.600686101518],
                          [ 0.758561177756,  0.256433037965,  0.106904792157],
                          [ 0.259367474578,  0.737422962013,  0.392374101483],
                          [ 0.246236284214,  0.748184240351,  0.894220631396],
                          [ 0.742620388442,  0.262275374858,  0.61080055062 ],
                          [ 0.172596162802,  0.262720291638,  0.45821500625 ],
                          [ 0.68208622341 ,  0.747154981714,  0.044465651782],
                          [ 0.828865155265,  0.737745630073,  0.545241720102],
                          [ 0.318994751881,  0.251631637851,  0.95658106194 ],
                          [ 0.306108180145,  0.053218851646,  0.183181621397],
                          [ 0.793832727453,  0.949668502366,  0.324865490903],
                          [ 0.723603914855,  0.544813800218,  0.829837541847],
                          [ 0.229848724622,  0.456596695832,  0.674358304201],
                          [ 0.71791808838 ,  0.956611929561,  0.82820482779 ],
                          [ 0.208668935117,  0.051271268659,  0.679641008314],
                          [ 0.278873811178,  0.457183851954,  0.171858398999],
                          [ 0.772198580685,  0.543661042149,  0.328799352937]]

# Set up configuration
configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Append to the list of configurations
configuration_list.append(configuration)

# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
vector_a = [4.74148287577, -0.000127269878148, 0.00783573590836]*Angstrom
vector_b = [-0.000164005204931, 6.08030371318, -0.00256586481387]*Angstrom
vector_c = [0.0172414754673, -0.00445585886655, 10.3479508435]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Iron, Iron, Iron, Iron, Lithium, Lithium, Lithium, Phosphorus,
            Phosphorus, Phosphorus, Phosphorus, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.988562410274,  0.251707014836,  0.27683584878 ],
                          [ 0.4990702515  ,  0.751485534026,  0.231605806571],
                          [ 0.016177133355,  0.752956655593,  0.726870140152],
                          [ 0.508583052857,  0.247725020901,  0.771763276022],
                          [ 0.084422023963, -0.043388896357,  0.13307617851 ],
                          [ 0.003168664376,  0.500530607366, -0.000651195819],
                          [ 0.501285688915,  0.499955259912,  0.502133725754],
                          [ 0.435621850702,  0.25885339524 ,  0.097884069794],
                          [ 0.932167227918,  0.747919045435,  0.403549270546],
                          [ 0.574836922212,  0.751029924071,  0.900470004867],
                          [ 0.070590581779,  0.252049939157,  0.601375148623],
                          [ 0.761848292394,  0.258265572185,  0.106549433914],
                          [ 0.259338111816,  0.73926389061 ,  0.394071290854],
                          [ 0.246296040067,  0.748154039584,  0.893609010069],
                          [ 0.743889707611,  0.260196283278,  0.610272780761],
                          [ 0.176658348932,  0.260879002766,  0.458867818743],
                          [ 0.68241928381 ,  0.747684722624,  0.043675677407],
                          [ 0.825057325143,  0.74003592956 ,  0.545788704868],
                          [ 0.32067625655 ,  0.2527856326  ,  0.95572917537 ],
                          [ 0.316882892265,  0.059967263342,  0.182853720762],
                          [ 0.791614870883,  0.951682761305,  0.327067754896],
                          [ 0.726003010082,  0.544881099092,  0.8296934939  ],
                          [ 0.229543241128,  0.456549403448,  0.674576829711],
                          [ 0.717870214365,  0.955713551376,  0.827080739144],
                          [ 0.211326367982,  0.050270359852,  0.67920142073 ],
                          [ 0.278000130149,  0.458912474541,  0.171464869306],
                          [ 0.773199072253,  0.543922020082,  0.329657826812]]

# Set up configuration
configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Append to the list of configurations
configuration_list.append(configuration)

# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
vector_a = [4.74148287577, -0.000127269878148, 0.00783573590836]*Angstrom
vector_b = [-0.000164005204931, 6.08030371318, -0.00256586481387]*Angstrom
vector_c = [0.0172414754673, -0.00445585886655, 10.3479508435]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Iron, Iron, Iron, Iron, Lithium, Lithium, Lithium, Phosphorus,
            Phosphorus, Phosphorus, Phosphorus, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.989652842121,  0.252653529641,  0.274196210218],
                          [ 0.497559807715,  0.75132410646 ,  0.229037714729],
                          [ 0.014371091968,  0.752868333436,  0.726958649215],
                          [ 0.510683921609,  0.247864276911,  0.771639691652],
                          [ 0.133449943281, -0.046017691667,  0.202489445676],
                          [ 0.00278415958 ,  0.501516291127, -0.001549479787],
                          [ 0.500961305977,  0.499564863548,  0.501622838073],
                          [ 0.436495000212,  0.260909526087,  0.095476943207],
                          [ 0.929538697863,  0.748030221608,  0.402874104364],
                          [ 0.573941685805,  0.750990919956,  0.899814101438],
                          [ 0.071496496173,  0.251732128128,  0.600957141318],
                          [ 0.762500590312,  0.258560124504,  0.105815102177],
                          [ 0.258178522531,  0.739788859329,  0.394551997159],
                          [ 0.245860550831,  0.747121467385,  0.892156515754],
                          [ 0.744239552569,  0.258239077945,  0.608867794321],
                          [ 0.179025821461,  0.259188670352,  0.458278095092],
                          [ 0.681955373721,  0.747547301628,  0.042626343062],
                          [ 0.820957749342,  0.741999225937,  0.545196054055],
                          [ 0.321956345771,  0.254977041315,  0.954008485931],
                          [ 0.312045001875,  0.059911178031,  0.172718210649],
                          [ 0.787387655781,  0.952668647569,  0.326708273735],
                          [ 0.727525577788,  0.544891056189,  0.828842347844],
                          [ 0.228443996636,  0.456476214232,  0.673821798848],
                          [ 0.71679162206 ,  0.954671822314,  0.825193663211],
                          [ 0.212823875177,  0.049372552547,  0.677849056236],
                          [ 0.275765737926,  0.459438339905,  0.170105084947],
                          [ 0.772909097296,  0.543701224063,  0.329013124844]]

# Set up configuration
configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Append to the list of configurations
configuration_list.append(configuration)

# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
vector_a = [4.74148287577, -0.000127269878148, 0.00783573590836]*Angstrom
vector_b = [-0.000164005204931, 6.08030371318, -0.00256586481387]*Angstrom
vector_c = [0.0172414754673, -0.00445585886655, 10.3479508435]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Iron, Iron, Iron, Iron, Lithium, Lithium, Lithium, Phosphorus,
            Phosphorus, Phosphorus, Phosphorus, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.987455775525,  0.251869767737,  0.271338791296],
                          [ 0.493297213261,  0.749969149175,  0.225989196362],
                          [ 0.012002766701,  0.752573796084,  0.726702553766],
                          [ 0.511993770732,  0.247779288997,  0.771425826109],
                          [ 0.211850222337, -0.022558596723,  0.260312706308],
                          [ 0.001191162276,  0.501517796716, -0.002300936455],
                          [ 0.500084185735,  0.498927307805,  0.5008682811  ],
                          [ 0.433482030253,  0.258854181655,  0.094466592026],
                          [ 0.925765270576,  0.74744405614 ,  0.401501254714],
                          [ 0.57252807183 ,  0.750440177808,  0.89895925751 ],
                          [ 0.071630973348,  0.251299886685,  0.600422984348],
                          [ 0.75937808478 ,  0.258771420011,  0.105612994425],
                          [ 0.255367052274,  0.738217637501,  0.394475138375],
                          [ 0.244997956089,  0.745065485814,  0.890224821511],
                          [ 0.743869171919,  0.256158059898,  0.60731745683 ],
                          [ 0.179761524672,  0.257846509168,  0.45763770913 ],
                          [ 0.678892026474,  0.745675418886,  0.041711645725],
                          [ 0.816567640645,  0.743631273851,  0.544125850822],
                          [ 0.323371460809,  0.257237268217,  0.952693008267],
                          [ 0.293738310469,  0.053251747499,  0.163427831101],
                          [ 0.783844501306,  0.951921875053,  0.324831637812],
                          [ 0.728463109721,  0.544472056974,  0.82785344011 ],
                          [ 0.226867484461,  0.456202167681,  0.672872730184],
                          [ 0.715117167589,  0.953374116344,  0.823190484477],
                          [ 0.213653137524,  0.048358393261,  0.676321843401],
                          [ 0.27192399472 ,  0.458545930054,  0.168856996448],
                          [ 0.771612969374,  0.543144158882,  0.327836174724]]

# Set up configuration
configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Append to the list of configurations
configuration_list.append(configuration)

# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
vector_a = [4.74148287577, -0.000127269878148, 0.00783573590836]*Angstrom
vector_b = [-0.000164005204931, 6.08030371318, -0.00256586481387]*Angstrom
vector_c = [0.0172414754673, -0.00445585886655, 10.3479508435]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Iron, Iron, Iron, Iron, Lithium, Lithium, Lithium, Phosphorus,
            Phosphorus, Phosphorus, Phosphorus, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.986901872997,  0.250676833741,  0.270393392489],
                          [ 0.488351635929,  0.748319260918,  0.224429973311],
                          [ 0.010008687345,  0.752153445198,  0.727591028185],
                          [ 0.51389390387 ,  0.24750321728 ,  0.77278851794 ],
                          [ 0.303861790864,  0.006859907097,  0.31432927112 ],
                          [ 0.000266897831,  0.500611164023, -0.001805580062],
                          [ 0.500414617418,  0.498847889039,  0.501293013353],
                          [ 0.430834192993,  0.255126904319,  0.095679295798],
                          [ 0.92337197972 ,  0.746568182808,  0.400991527308],
                          [ 0.571267587403,  0.749522503784,  0.899217655878],
                          [ 0.072265094714,  0.250829654828,  0.601668275309],
                          [ 0.756991565944,  0.259040444778,  0.106926820999],
                          [ 0.252280444375,  0.735401705883,  0.394755091875],
                          [ 0.244482396569,  0.742514861708,  0.889510220493],
                          [ 0.744126621479,  0.254183131822,  0.607046363119],
                          [ 0.180450045761,  0.257916360696,  0.45855636621 ],
                          [ 0.67517721519 ,  0.743089504221,  0.042002853695],
                          [ 0.812960608772,  0.745534685034,  0.54405457557 ],
                          [ 0.325651458473,  0.25792043249 ,  0.953386048775],
                          [ 0.283509366757,  0.04835492658 ,  0.165900566729],
                          [ 0.785613179241,  0.950539961104,  0.323659162587],
                          [ 0.730136721342,  0.543677068044,  0.828180699311],
                          [ 0.226307918179,  0.456069987575,  0.673223037202],
                          [ 0.713889299923,  0.951719683941,  0.822418402017],
                          [ 0.215402738921,  0.047147804924,  0.676062586877],
                          [ 0.268669730319,  0.457179172085,  0.168754559421],
                          [ 0.771378633921,  0.542684786701,  0.327427722296]]

# Set up configuration
configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Append to the list of configurations
configuration_list.append(configuration)

# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
vector_a = [4.74148287577, -0.000127269878148, 0.00783573590836]*Angstrom
vector_b = [-0.000164005204931, 6.08030371318, -0.00256586481387]*Angstrom
vector_c = [0.0172414754673, -0.00445585886655, 10.3479508435]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Iron, Iron, Iron, Iron, Lithium, Lithium, Lithium, Phosphorus,
            Phosphorus, Phosphorus, Phosphorus, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.989326261096,  0.249427441618,  0.269231315444],
                          [ 0.483677417378,  0.748947049031,  0.222929315803],
                          [ 0.007907688296,  0.751952368528,  0.728084797387],
                          [ 0.515951801832,  0.24739491351 ,  0.773838201209],
                          [ 0.378796837603,  0.01804659604 ,  0.374332526834],
                          [-0.000210782169,  0.500155558662, -0.001564964688],
                          [ 0.500013154117,  0.499323500651,  0.501080220687],
                          [ 0.429501863537,  0.252289666461,  0.096881379897],
                          [ 0.920941228137,  0.746332574835,  0.39984076487 ],
                          [ 0.570330000111,  0.748915019973,  0.899298495774],
                          [ 0.072885270377,  0.250691053932,  0.602275161745],
                          [ 0.755537178475,  0.260091003303,  0.108323752635],
                          [ 0.248601080829,  0.733919071259,  0.393056503168],
                          [ 0.244204925211,  0.740328058883,  0.888416653357],
                          [ 0.744355248374,  0.252288254648,  0.60633959185 ],
                          [ 0.178884001546,  0.259233933449,  0.458740601761],
                          [ 0.671186093926,  0.740945551248,  0.042106319638],
                          [ 0.809375508033,  0.747717320072,  0.543254186907],
                          [ 0.32872770868 ,  0.259138315167,  0.95425315627 ],
                          [ 0.28339082293 ,  0.048379398407,  0.171161765062],
                          [ 0.788543760115,  0.949755518847,  0.321234386279],
                          [ 0.731963102114,  0.543203854892,  0.828181252232],
                          [ 0.2255014597  ,  0.456076770083,  0.673128718392],
                          [ 0.712716903658,  0.950295794446,  0.821321212223],
                          [ 0.217001268857,  0.04617874897 ,  0.675399552484],
                          [ 0.266282455071,  0.456518834944,  0.168717984873],
                          [ 0.771054877691,  0.542450364496,  0.326565352785]]

# Set up configuration
configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Append to the list of configurations
configuration_list.append(configuration)

# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
vector_a = [4.74148287577, -0.000127269878148, 0.00783573590836]*Angstrom
vector_b = [-0.000164005204931, 6.08030371318, -0.00256586481387]*Angstrom
vector_c = [0.0172414754673, -0.00445585886655, 10.3479508435]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Iron, Iron, Iron, Iron, Lithium, Lithium, Lithium, Phosphorus,
            Phosphorus, Phosphorus, Phosphorus, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.991822889732,  0.249013541105,  0.268636514549],
                          [ 0.480211113579,  0.750539526628,  0.222135817762],
                          [ 0.006147558349,  0.75180307636 ,  0.728524746568],
                          [ 0.518287630068,  0.247456072533,  0.7746998867  ],
                          [ 0.441936605549,  0.011460681501,  0.437100920569],
                          [-0.000387977226,  0.499998997236, -0.001295951191],
                          [ 0.499220837582,  0.500083765637,  0.500332256142],
                          [ 0.429481643247,  0.251757149495,  0.097783583829],
                          [ 0.91940054128 ,  0.747537299508,  0.398559121432],
                          [ 0.569688883073,  0.748447587746,  0.899353275864],
                          [ 0.074244647396,  0.250722168281,  0.60195727694 ],
                          [ 0.754891661969,  0.261922323837,  0.110046419526],
                          [ 0.246558199281,  0.737457123517,  0.391480296552],
                          [ 0.244233926672,  0.738216089688,  0.887205527251],
                          [ 0.745385864193,  0.251112348623,  0.605483694849],
                          [ 0.179582715675,  0.258760091878,  0.457469527662],
                          [ 0.667341339611,  0.73896725944 ,  0.042264694599],
                          [ 0.806899544584,  0.749588251884,  0.542396066266],
                          [ 0.332150552882,  0.260874597099,  0.954880141717],
                          [ 0.285736351412,  0.050180267403,  0.175484056209],
                          [ 0.787572755163,  0.950829010467,  0.319724135238],
                          [ 0.734084061893,  0.542855422492,  0.828095622533],
                          [ 0.224975650407,  0.456101133746,  0.672622721075],
                          [ 0.711814561207,  0.949009395723,  0.820168642001],
                          [ 0.218365240504,  0.045711263818,  0.674726038268],
                          [ 0.264311337498,  0.456700998018,  0.169180436927],
                          [ 0.771231674061,  0.542894188567,  0.326161313514]]

# Set up configuration
configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Append to the list of configurations
configuration_list.append(configuration)

# -------------------------------------------------------------
# Bulk Configuration
# -------------------------------------------------------------

# Set up lattice
vector_a = [4.74148287577, -0.000127269878148, 0.00783573590836]*Angstrom
vector_b = [-0.000164005204931, 6.08030371318, -0.00256586481387]*Angstrom
vector_c = [0.0172414754673, -0.00445585886655, 10.3479508435]*Angstrom
lattice = UnitCell(vector_a, vector_b, vector_c)

# Define elements
elements = [Iron, Iron, Iron, Iron, Lithium, Lithium, Lithium, Phosphorus,
            Phosphorus, Phosphorus, Phosphorus, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen, Oxygen,
            Oxygen, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.994374486269,  0.248911063776,  0.270519164479],
                          [ 0.477323057755,  0.752745732953,  0.224081294517],
                          [ 0.005627569329,  0.75109037747 ,  0.729478717178],
                          [ 0.522675438265,  0.247255287626,  0.775918977665],
                          [ 0.499999853404,  0.000000028184,  0.499999582496],
                          [ 0.000000515359,  0.500000228157, -0.00000077856 ],
                          [ 0.499999980085,  0.500000968339,  0.500000250172],
                          [ 0.42993998031 ,  0.25235841892 ,  0.09970452612 ],
                          [ 0.920610002509,  0.751029450454,  0.399117662743],
                          [ 0.570030090374,  0.74764152102 ,  0.900288379352],
                          [ 0.079387995759,  0.248970665348,  0.600882374142],
                          [ 0.754778163699,  0.2645633358  ,  0.113623679634],
                          [ 0.250772576988,  0.751776898216,  0.395947709443],
                          [ 0.245240982117,  0.735436155721,  0.886380142612],
                          [ 0.749226335757,  0.248223361223,  0.604048367921],
                          [ 0.196440884367,  0.247188796284,  0.457487740081],
                          [ 0.662871148901,  0.736835381566,  0.043711579228],
                          [ 0.803560062475,  0.752811204276,  0.542506370299],
                          [ 0.337127049354,  0.26316368212 ,  0.956293563836],
                          [ 0.287936677492,  0.052758331539,  0.180377896533],
                          [ 0.776486499811,  0.95597494917 ,  0.326289657601],
                          [ 0.737567862373,  0.54221042937 ,  0.828561978752],
                          [ 0.225658379873,  0.45492742171 ,  0.67199062097 ],
                          [ 0.71206266616 ,  0.947243055031,  0.819623457461],
                          [ 0.223513874618,  0.044026128373,  0.673708098908],
                          [ 0.262433550752,  0.457786500109,  0.171439349271],
                          [ 0.774343424817,  0.545072534695,  0.32800658851 ]]

# Set up configuration
configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

# Append to the list of configurations
configuration_list.append(configuration)

# Construct the Nudged Elastic Band object
neb_configuration = NudgedElasticBand(
    configuration_list,
    generate_images=False)

# Unreference the temporary configuration variable
del configuration




# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
#----------------------------------------
# Basis Set
#----------------------------------------
basis_set = [
    GGABasis.Lithium_DoubleZetaPolarized,
    GGABasis.Oxygen_DoubleZetaPolarized,
    GGABasis.Phosphorus_DoubleZetaPolarized,
    GGABasis.Iron_DoubleZetaPolarized,
    ]

#----------------------------------------
# Exchange-Correlation
#----------------------------------------
exchange_correlation = GGA.PBE

k_point_sampling = MonkhorstPackGrid(
    na=7,
    nb=5,
    nc=3,
    )
numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=k_point_sampling,
    )

calculator = LCAOCalculator(
    basis_set=basis_set,
    exchange_correlation=exchange_correlation,
    numerical_accuracy_parameters=numerical_accuracy_parameters,
    )

neb_configuration.setCalculator(calculator)
neb_configuration.update()
nlsave('neb_C.nc', neb_configuration)

# -------------------------------------------------------------
# Optimize Geometry
# -------------------------------------------------------------
neb_configuration = OptimizeNudgedElasticBand(
    neb_configuration,
    max_forces=0.05*eV/Ang,
    max_steps=200,
    max_step_length=0.2*Ang,
    trajectory_filename='neb_C_traj.nc',
    optimizer_method=LBFGS(),
    preoptimization=False,
    climbing_image=True,
)
nlsave('neb_C.nc', neb_configuration)
nlprint(neb_configuration)