{ "cells": [ { "cell_type": "markdown", "id": "29680e01-8658-4085-aada-eaaa9d8705be", "metadata": {}, "source": [ "# Workflows\n", "To demonstrate the workflows implemented in the `atomistics` package, the [LAMMPS](https://www.lammps.org/) molecular \n", "dynamics simulation code is used in the following demonstrations. Still the same `workflows` can also be used with other\n", "simulation codes:" ] }, { "cell_type": "code", "execution_count": 1, "id": "76ec535d-d9cb-4d68-9208-c9b0c029c402", "metadata": {}, "outputs": [], "source": [ "from atomistics.calculators import evaluate_with_lammps, get_potential_by_name\n", "\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "result_dict = evaluate_with_lammps(\n", " task_dict={},\n", " potential_dataframe=potential_dataframe,\n", ")" ] }, { "cell_type": "markdown", "id": "d813a092-a7d8-49e6-8914-02c1b9e105f6", "metadata": {}, "source": [ "The interatomic potential for Aluminium from Mishin named `1999--Mishin-Y--Al--LAMMPS--ipr1` is used in the evaluation\n", "with [LAMMPS](https://www.lammps.org/) `evaluate_with_lammps()`. " ] }, { "cell_type": "markdown", "id": "70bac169-3b94-486f-afa9-efe5005f1cf0", "metadata": {}, "source": [ "## Elastic Matrix \n", "The elastic constants and elastic moduli can be calculated using the `ElasticMatrixWorkflow`: " ] }, { "cell_type": "code", "execution_count": 2, "id": "f26f2645-e1c7-4b7e-8414-e4632b1439f9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OrderedDict([('SGN', 225), ('v0', 66.43012500000002), ('LC', 'CI'), ('Lag_strain_list', ['01', '08', '23']), ('epss', array([-0.005 , -0.0025, 0. , 0.0025, 0.005 ])), ('e0', -13.439999952539933), ('strain_energy', [[(-0.005, -13.436318571477456), (-0.0025, -13.439078837682322), (0.0, -13.439999952539933), (0.0024999999999999996, -13.439085818358748), (0.005, -13.436366000141689)], [(-0.005, -13.438173590018806), (-0.0025, -13.43954407461901), (0.0, -13.439999952539933), (0.0024999999999999996, -13.439548790708864), (0.005, -13.438205313732144)], [(-0.005, -13.436741916886653), (-0.0025, -13.439195456175232), (0.0, -13.439999952539933), (0.0024999999999999996, -13.439213481749942), (0.005, -13.436885676373926)]]), ('C', array([[114.10393023, 60.51098897, 60.51098897, 0. ,\n", " 0. , 0. ],\n", " [ 60.51098897, 114.10393023, 60.51098897, 0. ,\n", " 0. , 0. ],\n", " [ 60.51098897, 60.51098897, 114.10393023, 0. ,\n", " 0. , 0. ],\n", " [ 0. , 0. , 0. , 51.23931149,\n", " 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. ,\n", " 51.23931149, 0. ],\n", " [ 0. , 0. , 0. , 0. ,\n", " 0. , 51.23931149]])), ('A2', array([2.20131073, 1.0898606 , 1.91886377])), ('BV', 78.37530272473929), ('GV', 41.462175146677424), ('EV', 105.74025607889799), ('nuV', 0.2751412064710683), ('S', array([[ 0.01385713, -0.00480204, -0.00480204, 0. , 0. ,\n", " 0. ],\n", " [-0.00480204, 0.01385713, -0.00480204, 0. , 0. ,\n", " 0. ],\n", " [-0.00480204, -0.00480204, 0.01385713, 0. , 0. ,\n", " 0. ],\n", " [ 0. , 0. , 0. , 0.01951627, 0. ,\n", " 0. ],\n", " [ 0. , 0. , 0. , 0. , 0.01951627,\n", " 0. ],\n", " [ 0. , 0. , 0. , 0. , 0. ,\n", " 0.01951627]])), ('BR', 78.37530272473931), ('GR', 37.54162684596518), ('ER', 97.1183728107761), ('nuR', 0.29347581564934205), ('BH', 78.3753027247393), ('GH', 39.501900996321304), ('EH', 101.46008564559224), ('nuH', 0.2842430754793411), ('AVR', 4.962480541224269), ('C_eigval', EigResult(eigenvalues=array([ 53.59294126, 235.12590817, 53.59294126, 51.23931149,\n", " 51.23931149, 51.23931149]), eigenvectors=array([[-0.81649658, 0.57735027, 0.11541902, 0. , 0. ,\n", " 0. ],\n", " [ 0.40824829, 0.57735027, -0.75771582, 0. , 0. ,\n", " 0. ],\n", " [ 0.40824829, 0.57735027, 0.6422968 , 0. , 0. ,\n", " 0. ],\n", " [ 0. , 0. , 0. , 1. , 0. ,\n", " 0. ],\n", " [ 0. , 0. , 0. , 0. , 1. ,\n", " 0. ],\n", " [ 0. , 0. , 0. , 0. , 0. ,\n", " 1. ]])))])\n" ] } ], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import evaluate_with_lammps, get_potential_by_name\n", "from atomistics.workflows import ElasticMatrixWorkflow\n", "\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "workflow = ElasticMatrixWorkflow(\n", " structure=bulk(\"Al\", cubic=True), \n", " num_of_point=5, \n", " eps_range=0.005, \n", " sqrt_eta=True, \n", " fit_order=2,\n", ")\n", "task_dict = workflow.generate_structures()\n", "result_dict = evaluate_with_lammps(\n", " task_dict=task_dict,\n", " potential_dataframe=potential_dataframe,\n", ")\n", "fit_dict = workflow.analyse_structures(output_dict=result_dict)\n", "print(fit_dict)" ] }, { "cell_type": "markdown", "id": "262aefd1-9cf9-4b35-8d94-03996b21166b", "metadata": {}, "source": [ "The `ElasticMatrixWorkflow` takes an `ase.atoms.Atoms` object as `structure` input as well as the number of points \n", "`num_of_point` for each compression direction. Depending on the symmetry of the input `structure` the number of \n", "calculations required to calculate the elastic matrix changes. The compression and elongation range is defined by the\n", "`eps_range` parameter. Furthermore, `sqrt_eta` and `fit_order` describe how the change in energy over compression and\n", "elongation is fitted to calculate the resulting pressure. " ] }, { "cell_type": "markdown", "id": "dc5356a8-0b07-4a0a-a549-9a20cf3c64cc", "metadata": {}, "source": [ "## Energy Volume Curve\n", "The `EnergyVolumeCurveWorkflow` can be used to calculate the equilibrium properties: equilibrium volume, equilibrium \n", "energy, equilibrium bulk modulus and the pressure derivative of the equilibrium bulk modulus. " ] }, { "cell_type": "code", "execution_count": 3, "id": "720a7662-fdee-496d-b355-ff4881f5c633", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'poly_fit': array([-4.17645808e-05, 1.19746500e-02, -1.03803906e+00, 1.49168639e+01]), 'fit_type': 'polynomial', 'fit_order': 3, 'volume_eq': 66.43019853103964, 'energy_eq': -13.43996804374383, 'bulkmodul_eq': 77.7250135953191, 'b_prime_eq': 1.279502459079921, 'least_square_error': 3.225313797039607e-10, 'volume': [63.10861874999998, 63.77291999999998, 64.43722124999998, 65.1015225, 65.76582375000004, 66.43012500000002, 67.09442624999994, 67.75872750000002, 68.42302874999999, 69.08732999999997, 69.75163125000002], 'energy': [-13.398169481534445, -13.413389552957456, -13.425112589013958, -13.433411420804067, -13.438357630783006, -13.439999952539933, -13.438383476946305, -13.433607982916406, -13.425774537190858, -13.414961805921427, -13.401233093668836]}\n" ] } ], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import evaluate_with_lammps, get_potential_by_name\n", "from atomistics.workflows import EnergyVolumeCurveWorkflow\n", "\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "workflow = EnergyVolumeCurveWorkflow(\n", " structure=bulk(\"Al\", cubic=True), \n", " num_points=11,\n", " fit_type=\"polynomial\",\n", " fit_order=3,\n", " vol_range=0.05,\n", " axes=(\"x\", \"y\", \"z\"),\n", " strains=None,\n", ")\n", "task_dict = workflow.generate_structures()\n", "result_dict = evaluate_with_lammps(\n", " task_dict=task_dict,\n", " potential_dataframe=potential_dataframe,\n", ")\n", "fit_dict = workflow.analyse_structures(output_dict=result_dict)\n", "print(fit_dict)" ] }, { "cell_type": "markdown", "id": "13c95c80-137d-49bf-8016-b3c15279fbcf", "metadata": {}, "source": [ "The input parameters for the `EnergyVolumeCurveWorkflow` in addition to the `ase.atoms.Atoms` object defined \n", "as `structure` are: \n", "\n", "* `num_points` the number of strains to calculate energies and volumes. \n", "* `fit_type` the type of the fit which should be used to calculate the equilibrium properties. This can either be a \n", " `polynomial` fit or a specific equation of state like the Birch equation (`birch`), the Birch-Murnaghan equation \n", " (`birchmurnaghan`) the Murnaghan equation (`murnaghan`), the Pourier Tarnatola eqaution (`pouriertarantola`) or the\n", " Vinet equation (`vinet`). \n", "* `fit_order` for the `polynomial` fit type the order of the polynomial can be set, for the other fit types this \n", " parameter is ignored. \n", "* `vol_range` specifies the amount of compression and elongation to be applied relative to the absolute volume. \n", "* `axes` specifies the axes which are compressed, typically a uniform compression is applied. \n", "* `strains` specifies the strains directly rather than deriving them from the range of volume compression `vol_range`. \n", "\n", "Beyond calculating the equilibrium properties the `EnergyVolumeCurveWorkflow` can also be used to calculate the thermal\n", "properties using the [Moruzzi, V. L. et al.](https://link.aps.org/doi/10.1103/PhysRevB.37.790) model: " ] }, { "cell_type": "code", "execution_count": 4, "id": "8a9a8e77-a6f0-4466-8c3d-fc1ca6ebbaf0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'temperatures': array([ 1, 51, 101, 151, 201, 251, 301, 351, 401, 451, 501,\n", " 551, 601, 651, 701, 751, 801, 851, 901, 951, 1001, 1051,\n", " 1101, 1151, 1201, 1251, 1301, 1351, 1401, 1451, 1501]), 'free_energy': array([ 0.18879418, 0.18840183, 0.18352524, 0.16909367, 0.1440755 ,\n", " 0.10931095, 0.06593656, 0.01498215, -0.04269081, -0.1063728 ,\n", " -0.1754776 , -0.24951635, -0.328077 , -0.41080851, -0.49740877,\n", " -0.58761537, -0.68119851, -0.77795536, -0.87770572, -0.98028844,\n", " -1.08555864, -1.19338539, -1.3036498 , -1.41624343, -1.53106703,\n", " -1.6480294 , -1.76704645, -1.88804043, -2.01093923, -2.13567578,\n", " -2.26218757]), 'entropy': array([ 0.75685476, 5.08219062, 18.62461552, 38.05446426,\n", " 57.6693229 , 75.37710506, 90.99476554, 104.78762778,\n", " 117.06473011, 128.09164494, 138.08127289, 147.20167195,\n", " 155.58579193, 163.33970927, 170.54896552, 177.28330938,\n", " 183.60022562, 189.54757244, 195.16556897, 200.48830826,\n", " 205.54492122, 210.36048158, 214.95671661, 219.35257076,\n", " 223.56465688, 227.60762034, 231.49443548, 235.23664867,\n", " 238.84457908, 242.32748555, 244.0403182 ]), 'heat_capacity': array([8.65067172e-02, 9.11255799e+00, 3.33019964e+01, 5.89575081e+01,\n", " 7.50185080e+01, 8.36468610e+01, 8.85256734e+01, 9.15055757e+01,\n", " 9.34491088e+01, 9.47846079e+01, 9.57412353e+01, 9.64498999e+01,\n", " 9.69896043e+01, 9.74102601e+01, 9.77446368e+01, 9.80149634e+01,\n", " 9.82367471e+01, 9.84210719e+01, 9.85760297e+01, 9.87076399e+01,\n", " 9.88204550e+01, 9.89179695e+01, 9.90029019e+01, 9.90773926e+01,\n", " 9.91431454e+01, 9.92015302e+01, 9.92536586e+01, 9.93004401e+01,\n", " 9.93426247e+01, nan, nan]), 'volumes': array([66.48459155, 66.48492729, 66.48841343, 66.49613572, 66.50654263,\n", " 66.51846055, 66.53126421, 66.5446199 , 66.55833931, 66.57230985,\n", " 66.58646057, 66.6007448 , 66.61513063, 66.6295956 , 66.64412341,\n", " 66.65870199, 66.6733222 , 66.68797701, 66.70266093, 66.71736958,\n", " 66.73209946, 66.74684773, 66.76161205, 66.77639048, 66.79118142,\n", " 66.8059835 , 66.82079558, 66.83561668, 66.85044595, 66.86528267,\n", " 66.88012622])}\n" ] } ], "source": [ "tp_dict = workflow.get_thermal_properties(\n", " t_min=1,\n", " t_max=1500,\n", " t_step=50,\n", " temperatures=None,\n", " constant_volume=False,\n", ")\n", "print(tp_dict)" ] }, { "cell_type": "markdown", "id": "ebebb63f-3897-4028-ad23-708aaaf9cc26", "metadata": {}, "source": [ "Or alternatively directly calculate the thermal expansion:" ] }, { "cell_type": "code", "execution_count": 5, "id": "6e963779-cd59-4985-9a72-9652dd1f1408", "metadata": {}, "outputs": [], "source": [ "temperatures, volumes = workflow.get_thermal_expansion(\n", " output_dict=result_dict, \n", " t_min=1, \n", " t_max=1500, \n", " t_step=50, \n", " temperatures=None,\n", ")" ] }, { "cell_type": "markdown", "id": "e3f4357d-8b81-41bd-a90b-556f231b9766", "metadata": {}, "source": [ "The [Moruzzi, V. L. et al.](https://link.aps.org/doi/10.1103/PhysRevB.37.790) model is a quantum mechanical approximation, so the equilibrium volume at 0K is not\n", "the same as the equilibrium volume calculated by fitting the equation of state. " ] }, { "cell_type": "markdown", "id": "ac4095fb-0e11-46bc-8c8d-54bc97ddfe18", "metadata": {}, "source": [ "## Molecular Dynamics \n", "Just like the structure optimization also the molecular dynamics calculation can either be implemented inside the\n", "simulation code or in the `atomistics` package. The latter has the advantage that it is the same implementation for all\n", "different simulation codes, while the prior has the advantage that it is usually faster and computationally more efficient." ] }, { "cell_type": "markdown", "id": "1cfe604e-1e02-4a64-a49b-eccd1b32c9fc", "metadata": {}, "source": [ "### Implemented in Simulation Code \n", "The [LAMMPS](https://lammps.org/) simulation code implements a wide range of different simulation workflows, this \n", "includes molecular dynamics. In the `atomistics` package these can be directly accessed via the python interface. " ] }, { "cell_type": "markdown", "id": "0e52ed95-1510-4944-a5a6-8ea9d49c906f", "metadata": {}, "source": [ "#### Langevin Thermostat\n", "The Langevin thermostat is currently the only thermostat which is available as both a stand-alone python interface and\n", "an integrated interface inside the [LAMMPS](https://lammps.org/) simulation code. The latter is introduced here:" ] }, { "cell_type": "code", "execution_count": 6, "id": "2e0c22ea-562b-4669-a34b-1d60a8bd1e2c", "metadata": {}, "outputs": [], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import (\n", " calc_molecular_dynamics_langevin_with_lammps, \n", " get_potential_by_name,\n", ")\n", "\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "result_dict = calc_molecular_dynamics_langevin_with_lammps(\n", " structure=bulk(\"Al\", cubic=True).repeat([10, 10, 10]),\n", " potential_dataframe=potential_dataframe,\n", " Tstart=100,\n", " Tstop=100,\n", " Tdamp=0.1,\n", " run=100,\n", " thermo=10,\n", " timestep=0.001,\n", " seed=4928459,\n", " dist=\"gaussian\",\n", " output=(\"positions\", \"cell\", \"forces\", \"temperature\", \"energy_pot\", \"energy_tot\", \"pressure\", \"velocities\"),\n", ")" ] }, { "cell_type": "markdown", "id": "e21267cb-9fb6-4c1f-8912-c281dc899323", "metadata": {}, "source": [ "In addition to the typical LAMMPS input parameters like the atomistic structure `structure` as `ase.atoms.Atoms` object\n", "and the `pandas.DataFrame` for the interatomic potential `potential_dataframe` are: \n", "\n", "* `Tstart` start temperature \n", "* `Tstop` end temperature\n", "* `Tdamp` temperature damping parameter \n", "* `run` number of molecular dynamics steps to be executed during one temperature step\n", "* `thermo` refresh rate for the thermo dynamic properties, this should typically be the same as the number of molecular\n", " dynamics steps. \n", "* `timestep` time step - typically 1fs defined as `0.001`.\n", "* `seed` random seed for the molecular dynamics \n", "* `dist` initial velocity distribution \n", "* `lmp` Lammps library instance as `pylammpsmpi.LammpsASELibrary` object \n", "* `output` the output quantities which are extracted from the molecular dynamics simulation" ] }, { "cell_type": "markdown", "id": "be5d582d-9952-4a5b-b704-1a9acdb8b306", "metadata": {}, "source": [ "#### Nose Hoover Thermostat\n", "Canonical ensemble (nvt) - volume and temperature constraints molecular dynamics:" ] }, { "cell_type": "code", "execution_count": 7, "id": "9717893e-4dea-46f7-9317-bb314bc5bbdd", "metadata": {}, "outputs": [], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import (\n", " calc_molecular_dynamics_nvt_with_lammps, \n", " get_potential_by_name,\n", ")\n", "\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "result_dict = calc_molecular_dynamics_nvt_with_lammps(\n", " structure=bulk(\"Al\", cubic=True).repeat([10, 10, 10]),\n", " potential_dataframe=potential_dataframe,\n", " Tstart=100,\n", " Tstop=100,\n", " Tdamp=0.1,\n", " run=100,\n", " thermo=10,\n", " timestep=0.001,\n", " seed=4928459,\n", " dist=\"gaussian\",\n", " output=(\"positions\", \"cell\", \"forces\", \"temperature\", \"energy_pot\", \"energy_tot\", \"pressure\"),\n", ")" ] }, { "cell_type": "markdown", "id": "72797e59-72f5-4d32-b7cf-5ad806b91909", "metadata": {}, "source": [ "In addition to the typical LAMMPS input parameters like the atomistic structure `structure` as `ase.atoms.Atoms` object\n", "and the `pandas.DataFrame` for the interatomic potential `potential_dataframe` are: \n", "\n", "* `Tstart` start temperature \n", "* `Tstop` end temperature\n", "* `Tdamp` temperature damping parameter \n", "* `run` number of molecular dynamics steps to be executed during one temperature step\n", "* `thermo` refresh rate for the thermo dynamic properties, this should typically be the same as the number of molecular\n", " dynamics steps. \n", "* `timestep` time step - typically 1fs defined as `0.001`.\n", "* `seed` random seed for the molecular dynamics \n", "* `dist` initial velocity distribution \n", "* `lmp` Lammps library instance as `pylammpsmpi.LammpsASELibrary` object \n", "* `output` the output quantities which are extracted from the molecular dynamics simulation" ] }, { "cell_type": "markdown", "id": "8356bf7f-bf7d-40e0-8f3c-02309cd74d92", "metadata": {}, "source": [ "Isothermal-isobaric ensemble (npt) - pressure and temperature constraints molecular dynamics:" ] }, { "cell_type": "code", "execution_count": 8, "id": "1327d554-0df1-45fa-b35c-ec4955ce756f", "metadata": {}, "outputs": [], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import (\n", " calc_molecular_dynamics_npt_with_lammps, \n", " get_potential_by_name,\n", ")\n", "\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "result_dict = calc_molecular_dynamics_npt_with_lammps(\n", " structure=bulk(\"Al\", cubic=True).repeat([10, 10, 10]),\n", " potential_dataframe=potential_dataframe,\n", " Tstart=100,\n", " Tstop=100,\n", " Tdamp=0.1,\n", " run=100,\n", " thermo=100,\n", " timestep=0.001,\n", " Pstart=0.0,\n", " Pstop=0.0,\n", " Pdamp=1.0,\n", " seed=4928459,\n", " dist=\"gaussian\",\n", " output=(\"positions\", \"cell\", \"forces\", \"temperature\", \"energy_pot\", \"energy_tot\", \"pressure\"),\n", ")" ] }, { "cell_type": "markdown", "id": "e6aeb0fe-ace6-4e55-a3c2-06be85aaf05e", "metadata": {}, "source": [ "The input parameters for the isothermal-isobaric ensemble (npt) are the same as for the canonical ensemble (nvt) plus:\n", "\n", "* `Pstart` start pressure \n", "* `Pstop` end pressure \n", "* `Pdamp` pressure damping parameter " ] }, { "cell_type": "markdown", "id": "04f5854b-d803-4023-af04-55efc22ee1e3", "metadata": {}, "source": [ "Isenthalpic ensemble (nph) - pressure and helmholtz-energy constraints molecular dynamics:" ] }, { "cell_type": "code", "execution_count": 9, "id": "5f64f60c-89ce-423b-a487-ea96780b1c20", "metadata": {}, "outputs": [], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import (\n", " calc_molecular_dynamics_nph_with_lammps, \n", " get_potential_by_name,\n", ")\n", "\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "result_dict = calc_molecular_dynamics_nph_with_lammps(\n", " structure=bulk(\"Al\", cubic=True).repeat([10, 10, 10]),\n", " potential_dataframe=potential_dataframe,\n", " run=100,\n", " thermo=100,\n", " timestep=0.001,\n", " Tstart=100,\n", " Pstart=0.0,\n", " Pstop=0.0,\n", " Pdamp=1.0,\n", " seed=4928459,\n", " dist=\"gaussian\",\n", " output=(\"positions\", \"cell\", \"forces\", \"temperature\", \"energy_pot\", \"energy_tot\", \"pressure\"),\n", ")" ] }, { "cell_type": "markdown", "id": "3b4c6022-e1d5-467b-ac1b-d3617670fe67", "metadata": {}, "source": [ "#### Thermal Expansion\n", "One example of a molecular dynamics calculation with the LAMMPS simulation code is the calculation of the thermal \n", "expansion: " ] }, { "cell_type": "code", "execution_count": 10, "id": "d3e4bda7-9aa4-4a82-8c51-9606b0e77f75", "metadata": {}, "outputs": [], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import (\n", " calc_molecular_dynamics_thermal_expansion_with_lammps, \n", " evaluate_with_lammps, \n", " get_potential_by_name,\n", ")\n", "\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "temperatures_md, volumes_md = calc_molecular_dynamics_thermal_expansion_with_lammps(\n", " structure=bulk(\"Al\", cubic=True).repeat([10, 10, 10]),\n", " potential_dataframe=potential_dataframe,\n", " Tstart=100,\n", " Tstop=1000,\n", " Tstep=100,\n", " Tdamp=0.1,\n", " run=100,\n", " thermo=100,\n", " timestep=0.001,\n", " Pstart=0.0,\n", " Pstop=0.0,\n", " Pdamp=1.0,\n", " seed=4928459,\n", " dist=\"gaussian\",\n", " lmp=None,\n", ")" ] }, { "cell_type": "markdown", "id": "08c20c91-9e7c-4770-b01f-1765064797dd", "metadata": {}, "source": [ "In addition to the typical LAMMPS input parameters like the atomistic structure `structure` as `ase.atoms.Atoms` object\n", "and the `pandas.DataFrame` for the interatomic potential `potential_dataframe` are: \n", "\n", "* `Tstart` start temperature \n", "* `Tstop` end temperature \n", "* `Tstep` temperature step \n", "* `Tdamp` temperature damping parameter \n", "* `run` number of molecular dynamics steps to be executed during one temperature step\n", "* `thermo` refresh rate for the thermo dynamic properties, this should typically be the same as the number of molecular\n", " dynamics steps. \n", "* `timestep` time step - typically 1fs defined as `0.001`.\n", "* `Pstart` start pressure \n", "* `Pstop` end pressure \n", "* `Pdamp` pressure damping parameter \n", "* `seed` random seed for the molecular dynamics \n", "* `dist` initial velocity distribution \n", "* `lmp` Lammps library instance as `pylammpsmpi.LammpsASELibrary` object \n", "\n", "These input parameters are based on the LAMMPS fix `nvt/npt`, you can read more about the specific implementation on the\n", "[LAMMPS website](https://docs.lammps.org/fix_nh.html). \n" ] }, { "cell_type": "markdown", "id": "e57a6740-8546-4763-a9b3-140f0cae1543", "metadata": {}, "source": [ "#### Phonons from Molecular Dynamics\n", "The softening of the phonon modes is calculated for Silicon using the [Tersoff interatomic potential](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.38.9902) \n", "which is available via the [NIST potentials repository](https://www.ctcms.nist.gov/potentials/entry/1988--Tersoff-J--Si-c/). \n", "Silicon is chosen based on its diamond crystal lattice which requires less calculation than the face centered cubic (fcc)\n", "crystal of Aluminium. The simulation workflow consists of three distinct steps:\n", "\n", "* Starting with the optimization of the equilibrium structure. \n", "* Followed by the calculation of the 0K phonon spectrum. \n", "* Finally, the finite temperature phonon spectrum is calculated using molecular dynamics. \n", "\n", "The finite temperature phonon spectrum is calculated using the [DynaPhoPy](https://abelcarreras.github.io/DynaPhoPy/)\n", "package, which is integrated inside the `atomistics` package. As a prerequisite the dependencies, imported and the bulk \n", "silicon diamond structure is created and the Tersoff interatomic potential is loaded: " ] }, { "cell_type": "code", "execution_count": 11, "id": "793b72ff-6b0b-46d8-a121-2c93ea6e7a32", "metadata": {}, "outputs": [], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import (\n", " calc_molecular_dynamics_phonons_with_lammps,\n", " evaluate_with_lammps, \n", ")\n", "from atomistics.workflows import optimize_positions_and_volume, PhonopyWorkflow\n", "from dynaphopy import Quasiparticle\n", "import pandas\n", "from phonopy.units import VaspToTHz\n", "import spglib\n", "\n", "structure_bulk = bulk(\"Si\", cubic=True)\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1988--Tersoff-J--Si-c--LAMMPS--ipr1'\n", ")" ] }, { "cell_type": "markdown", "id": "743dce70-a4f0-4063-b353-51d26def4005", "metadata": {}, "source": [ "The first step is optimizing the Silicon diamond structure to match the lattice specifications implemented in the Tersoff \n", "interatomic potential:" ] }, { "cell_type": "code", "execution_count": 12, "id": "e96fb9d9-da43-49cb-8383-5eb93eea9dc1", "metadata": {}, "outputs": [], "source": [ "task_dict = optimize_positions_and_volume(structure=structure_bulk)\n", "result_dict = evaluate_with_lammps(\n", " task_dict=task_dict,\n", " potential_dataframe=potential_dataframe,\n", ")\n", "structure_ase = result_dict[\"structure_with_optimized_positions_and_volume\"]" ] }, { "cell_type": "markdown", "id": "c54c83b5-e710-405f-846b-e270267f8646", "metadata": {}, "source": [ "As a second step the 0K phonons are calculated using the `PhonopyWorkflow` which is explained in more detail below in \n", "the section on [Phonons](https://atomistics.readthedocs.io/en/latest/workflows.html#phonons). " ] }, { "cell_type": "code", "execution_count": 13, "id": "b7532997-2cc3-4404-b108-3c599e4f92e8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "({'qpoints': array([[0.025, 0.025, 0.025],\n", " [0.075, 0.025, 0.025],\n", " [0.125, 0.025, 0.025],\n", " ...,\n", " [0.525, 0.525, 0.425],\n", " [0.475, 0.475, 0.475],\n", " [0.525, 0.475, 0.475]]),\n", " 'weights': array([ 2, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n", " 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12,\n", " 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12,\n", " 12, 12, 6, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 6, 12,\n", " 12, 12, 12, 6, 12, 12, 12, 6, 12, 12, 6, 12, 6, 2, 6, 6, 6,\n", " 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 12, 12,\n", " 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12,\n", " 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12,\n", " 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12,\n", " 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6,\n", " 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12,\n", " 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12,\n", " 12, 6, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 6, 12, 12, 12, 6,\n", " 12, 12, 6, 12, 6, 2, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n", " 6, 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6,\n", " 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12,\n", " 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12,\n", " 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 6,\n", " 12, 12, 12, 12, 6, 12, 12, 12, 6, 12, 12, 6, 12, 6, 2, 6, 6,\n", " 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 12,\n", " 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12,\n", " 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12,\n", " 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12,\n", " 6, 12, 12, 12, 6, 12, 12, 6, 12, 6, 2, 6, 6, 6, 6, 6, 6,\n", " 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 6,\n", " 12, 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 12,\n", " 12, 6, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 6,\n", " 12, 12, 12, 12, 6, 12, 12, 12, 6, 12, 12, 6, 12, 6, 2, 6, 6,\n", " 6, 6, 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 12, 12, 6,\n", " 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, 6, 12, 12,\n", " 12, 12, 12, 6, 12, 12, 12, 6, 12, 12, 6, 12, 6, 2, 6, 6, 6,\n", " 6, 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12,\n", " 6, 12, 12, 12, 12, 6, 12, 12, 6, 12, 6, 2, 6, 6, 6, 6, 6,\n", " 6, 12, 12, 12, 12, 6, 12, 12, 12, 6, 12, 6, 2, 6, 6, 6, 6,\n", " 12, 12, 6, 2, 6]),\n", " 'frequencies': array([[ 0.35167322, 0.35167322, 0.71941397, 16.05999349, 16.06435417,\n", " 16.06435417],\n", " [ 0.7810313 , 1.04550359, 1.76442286, 16.01908158, 16.04238401,\n", " 16.0474694 ],\n", " [ 1.43010566, 1.69629248, 3.13109956, 15.91248433, 15.99513531,\n", " 16.00361669],\n", " ...,\n", " [ 4.89126604, 5.30105813, 11.18409265, 13.02666668, 15.38025565,\n", " 15.46187631],\n", " [ 4.65215064, 4.65215064, 11.21184039, 13.22967807, 15.43087981,\n", " 15.43087981],\n", " [ 4.71432047, 4.84620075, 11.26998698, 13.12729988, 15.41640899,\n", " 15.43613968]]),\n", " 'eigenvectors': None,\n", " 'group_velocities': None},\n", " {'frequency_points': array([-1.21959488e+00, -1.12531879e+00, -1.03104271e+00, -9.36766620e-01,\n", " -8.42490534e-01, -7.48214449e-01, -6.53938363e-01, -5.59662277e-01,\n", " -4.65386192e-01, -3.71110106e-01, -2.76834020e-01, -1.82557935e-01,\n", " -8.82818488e-02, 5.99423689e-03, 1.00270323e-01, 1.94546408e-01,\n", " 2.88822494e-01, 3.83098580e-01, 4.77374665e-01, 5.71650751e-01,\n", " 6.65926837e-01, 7.60202922e-01, 8.54479008e-01, 9.48755094e-01,\n", " 1.04303118e+00, 1.13730727e+00, 1.23158335e+00, 1.32585944e+00,\n", " 1.42013552e+00, 1.51441161e+00, 1.60868769e+00, 1.70296378e+00,\n", " 1.79723987e+00, 1.89151595e+00, 1.98579204e+00, 2.08006812e+00,\n", " 2.17434421e+00, 2.26862029e+00, 2.36289638e+00, 2.45717246e+00,\n", " 2.55144855e+00, 2.64572464e+00, 2.74000072e+00, 2.83427681e+00,\n", " 2.92855289e+00, 3.02282898e+00, 3.11710506e+00, 3.21138115e+00,\n", " 3.30565724e+00, 3.39993332e+00, 3.49420941e+00, 3.58848549e+00,\n", " 3.68276158e+00, 3.77703766e+00, 3.87131375e+00, 3.96558984e+00,\n", " 4.05986592e+00, 4.15414201e+00, 4.24841809e+00, 4.34269418e+00,\n", " 4.43697026e+00, 4.53124635e+00, 4.62552244e+00, 4.71979852e+00,\n", " 4.81407461e+00, 4.90835069e+00, 5.00262678e+00, 5.09690286e+00,\n", " 5.19117895e+00, 5.28545504e+00, 5.37973112e+00, 5.47400721e+00,\n", " 5.56828329e+00, 5.66255938e+00, 5.75683546e+00, 5.85111155e+00,\n", " 5.94538764e+00, 6.03966372e+00, 6.13393981e+00, 6.22821589e+00,\n", " 6.32249198e+00, 6.41676806e+00, 6.51104415e+00, 6.60532024e+00,\n", " 6.69959632e+00, 6.79387241e+00, 6.88814849e+00, 6.98242458e+00,\n", " 7.07670066e+00, 7.17097675e+00, 7.26525284e+00, 7.35952892e+00,\n", " 7.45380501e+00, 7.54808109e+00, 7.64235718e+00, 7.73663326e+00,\n", " 7.83090935e+00, 7.92518544e+00, 8.01946152e+00, 8.11373761e+00,\n", " 8.20801369e+00, 8.30228978e+00, 8.39656586e+00, 8.49084195e+00,\n", " 8.58511804e+00, 8.67939412e+00, 8.77367021e+00, 8.86794629e+00,\n", " 8.96222238e+00, 9.05649846e+00, 9.15077455e+00, 9.24505064e+00,\n", " 9.33932672e+00, 9.43360281e+00, 9.52787889e+00, 9.62215498e+00,\n", " 9.71643106e+00, 9.81070715e+00, 9.90498323e+00, 9.99925932e+00,\n", " 1.00935354e+01, 1.01878115e+01, 1.02820876e+01, 1.03763637e+01,\n", " 1.04706397e+01, 1.05649158e+01, 1.06591919e+01, 1.07534680e+01,\n", " 1.08477441e+01, 1.09420202e+01, 1.10362963e+01, 1.11305723e+01,\n", " 1.12248484e+01, 1.13191245e+01, 1.14134006e+01, 1.15076767e+01,\n", " 1.16019528e+01, 1.16962289e+01, 1.17905049e+01, 1.18847810e+01,\n", " 1.19790571e+01, 1.20733332e+01, 1.21676093e+01, 1.22618854e+01,\n", " 1.23561615e+01, 1.24504375e+01, 1.25447136e+01, 1.26389897e+01,\n", " 1.27332658e+01, 1.28275419e+01, 1.29218180e+01, 1.30160941e+01,\n", " 1.31103701e+01, 1.32046462e+01, 1.32989223e+01, 1.33931984e+01,\n", " 1.34874745e+01, 1.35817506e+01, 1.36760267e+01, 1.37703027e+01,\n", " 1.38645788e+01, 1.39588549e+01, 1.40531310e+01, 1.41474071e+01,\n", " 1.42416832e+01, 1.43359593e+01, 1.44302353e+01, 1.45245114e+01,\n", " 1.46187875e+01, 1.47130636e+01, 1.48073397e+01, 1.49016158e+01,\n", " 1.49958919e+01, 1.50901679e+01, 1.51844440e+01, 1.52787201e+01,\n", " 1.53729962e+01, 1.54672723e+01, 1.55615484e+01, 1.56558245e+01,\n", " 1.57501005e+01, 1.58443766e+01, 1.59386527e+01, 1.60329288e+01,\n", " 1.61272049e+01, 1.62214810e+01, 1.63157571e+01, 1.64100331e+01,\n", " 1.65043092e+01, 1.65985853e+01, 1.66928614e+01, 1.67871375e+01,\n", " 1.68814136e+01, 1.69756897e+01, 1.70699657e+01, 1.71642418e+01,\n", " 1.72585179e+01, 1.73527940e+01, 1.74470701e+01, 1.75413462e+01,\n", " 1.76356223e+01]),\n", " 'total_dos': array([0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00, 3.17526949e-04, 1.35171618e-03, 2.50831797e-03,\n", " 3.78733233e-03, 5.26373813e-03, 6.90328284e-03, 8.78451412e-03,\n", " 1.08845716e-02, 1.31202482e-02, 1.58239881e-02, 1.84817583e-02,\n", " 2.14099537e-02, 2.44295300e-02, 2.78000795e-02, 3.14939706e-02,\n", " 3.52413320e-02, 3.92909859e-02, 4.36423577e-02, 4.83495504e-02,\n", " 5.31903107e-02, 5.81462801e-02, 6.35669356e-02, 6.94844360e-02,\n", " 7.55171874e-02, 8.19720137e-02, 8.86760193e-02, 9.58023138e-02,\n", " 1.03099606e-01, 1.11366958e-01, 1.19969573e-01, 1.28656383e-01,\n", " 1.38210214e-01, 1.48087177e-01, 1.58993039e-01, 1.70577194e-01,\n", " 1.82773665e-01, 1.96102840e-01, 2.10318186e-01, 2.25609695e-01,\n", " 2.42775583e-01, 2.61718244e-01, 2.82966510e-01, 3.07071183e-01,\n", " 3.35572804e-01, 3.71503640e-01, 4.23538191e-01, 5.01245367e-01,\n", " 5.06757340e-01, 5.10673514e-01, 5.13884731e-01, 5.18635687e-01,\n", " 5.22215630e-01, 5.26790868e-01, 5.30317993e-01, 5.33703746e-01,\n", " 5.38149099e-01, 5.41609848e-01, 5.45017573e-01, 5.48177732e-01,\n", " 5.52308667e-01, 5.54935999e-01, 5.58609041e-01, 5.61624143e-01,\n", " 5.64469403e-01, 5.68022742e-01, 5.70890330e-01, 5.72980739e-01,\n", " 5.77439994e-01, 5.83268678e-01, 5.49870464e-01, 4.81961887e-01,\n", " 4.49243839e-01, 4.26254220e-01, 4.10187378e-01, 3.95199652e-01,\n", " 3.98624284e-01, 4.05995249e-01, 4.25103229e-01, 4.54252120e-01,\n", " 4.65563502e-01, 3.65773926e-01, 2.85541037e-01, 2.23526600e-01,\n", " 1.44473263e-01, 1.04439534e-01, 1.08917911e-01, 1.13417776e-01,\n", " 1.18953226e-01, 1.24441198e-01, 1.29621905e-01, 1.36164980e-01,\n", " 1.42605861e-01, 1.49045426e-01, 1.56851391e-01, 1.64582559e-01,\n", " 1.72682584e-01, 1.82141611e-01, 1.91321788e-01, 2.02261449e-01,\n", " 2.13762731e-01, 2.26135950e-01, 2.40393404e-01, 2.55442497e-01,\n", " 2.74046636e-01, 2.93902607e-01, 3.19085171e-01, 3.48960866e-01,\n", " 3.91473391e-01, 4.54354038e-01, 5.99226889e-01, 6.56603266e-01,\n", " 4.43486451e-01, 3.58148235e-01, 2.92612110e-01, 2.34458733e-01,\n", " 1.57664249e-01, 9.44996839e-02, 7.64989495e-02, 6.21782198e-02,\n", " 7.46273535e-02, 8.86461614e-02, 1.06333999e-01, 1.36147948e-01,\n", " 1.87831258e-01, 2.67221370e-01, 2.89615750e-01, 3.09688343e-01,\n", " 3.30425521e-01, 3.30668402e-01, 3.40062237e-01, 3.45284499e-01,\n", " 3.55917538e-01, 3.60077500e-01, 3.69186627e-01, 3.71502854e-01,\n", " 3.72120651e-01, 3.48181936e-01, 3.16317708e-01, 2.98435672e-01,\n", " 2.84862196e-01, 2.74096441e-01, 2.64721157e-01, 2.56360104e-01,\n", " 2.48761334e-01, 2.41852996e-01, 2.35018844e-01, 2.28859604e-01,\n", " 2.22571780e-01, 2.16655364e-01, 2.10807826e-01, 2.04860365e-01,\n", " 1.99221497e-01, 1.93100666e-01, 1.87355107e-01, 2.53244401e-01,\n", " 8.43177422e-01, 1.43196664e+00, 3.18170027e+00, 2.79552678e+00,\n", " 3.13543115e+00, 4.55809708e+00, 2.72396129e+00, 1.52338820e+00,\n", " 1.06733102e+00, 7.67955185e-01, 5.18138351e-01, 2.28096624e-01,\n", " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00])})" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cell = (structure_ase.cell.array, structure_ase.get_scaled_positions(), structure_ase.numbers)\n", "primitive_matrix = spglib.standardize_cell(cell=cell, to_primitive=True)[0] / structure_ase.get_volume() ** (1/3)\n", "workflow = PhonopyWorkflow(\n", " structure=structure_ase,\n", " interaction_range=10,\n", " factor=VaspToTHz,\n", " displacement=0.01,\n", " dos_mesh=20,\n", " primitive_matrix=primitive_matrix,\n", " number_of_snapshots=None,\n", ")\n", "task_dict = workflow.generate_structures()\n", "result_dict = evaluate_with_lammps(\n", " task_dict=task_dict,\n", " potential_dataframe=potential_dataframe,\n", ")\n", "workflow.analyse_structures(output_dict=result_dict)" ] }, { "cell_type": "markdown", "id": "9080af2d-65ef-4710-80c3-66fd5bad9a76", "metadata": {}, "source": [ "The calcualtion of the finite temperature phonons starts by computing the molecular dynamics trajectory using the \n", "`calc_molecular_dynamics_phonons_with_lammps()` function. This function is internally linked to [DynaPhoPy](https://abelcarreras.github.io/DynaPhoPy/)\n", "to return an `dynaphopy.dynamics.Dynamics` object: " ] }, { "cell_type": "code", "execution_count": 14, "id": "f2aada6d-89de-4fc0-a93d-f6fb43e33e8c", "metadata": {}, "outputs": [], "source": [ "trajectory = calc_molecular_dynamics_phonons_with_lammps(\n", " structure_ase=structure_ase,\n", " potential_dataframe=potential_dataframe,\n", " force_constants=workflow.phonopy.get_force_constants(), \n", " phonopy_unitcell=workflow.phonopy.get_unitcell(),\n", " phonopy_primitive_matrix=workflow.phonopy.get_primitive_matrix(),\n", " phonopy_supercell_matrix=workflow.phonopy.get_supercell_matrix(),\n", " total_time=2, # ps\n", " time_step=0.001, # ps\n", " relaxation_time=5, # ps\n", " silent=True,\n", " supercell=[2, 2, 2],\n", " memmap=False,\n", " velocity_only=True,\n", " temperature=600,\n", ")" ] }, { "cell_type": "markdown", "id": "5b533910-8e65-4c57-91bc-ccfa1e49d4ce", "metadata": {}, "source": [ "When a total of 2 picoseconds is selected to compute the finite temperature phonons with a timestep of 1 femto second\n", "then this results in a total of 2000 molecular dynamics steps. While more molecular dynamics steps result in more precise\n", "predictions they also require more computational resources. " ] }, { "cell_type": "markdown", "id": "58cbd845-ad6e-41e1-b37c-dcc426e110c1", "metadata": {}, "source": [ "The postprocessing is executed using the [DynaPhoPy](https://abelcarreras.github.io/DynaPhoPy/) package: " ] }, { "cell_type": "code", "execution_count": 15, "id": "54169376-3978-4c25-b1d6-509030a4cea7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using 2000 steps\n", "Using Fast Fourier transform (Numpy) function\n", "set frequency range: 0.0 - 21.200000000000003\n", "\n", "Q-point: 1 / 32 [ 0.00000 0.00000 0.00000 ]\n", "Harmonic frequencies (THz):\n", "[2.18910938e-06 2.19854601e-06 2.20383682e-06 1.60678991e+01\n", " 1.60678991e+01 1.60678991e+01]\n", "Calculating phonon projection power spectra\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "MD cell size relation: [2 2 2]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "\n", "Peak # 1\n", "----------------------------------------------\n", "Width 0.503412 THz\n", "Position 0.030228 THz\n", "Area (<K>) (Lorentzian) 0.000000 eV\n", "Area (<K>) (Total) 0.000000 eV\n", "<|dQ/dt|^2> 0.000000 eV\n", "Occupation number -0.500000\n", "Fit temperature nan K\n", "Base line -0.000000 eV * ps\n", "Maximum height 0.000000 eV * ps\n", "Fitting global error 779538375233.310425\n", "Frequency shift 0.030226 THz\n", "\n", "Peak # 2\n", "----------------------------------------------\n", "Width 0.503412 THz\n", "Position 0.030228 THz\n", "Area (<K>) (Lorentzian) 0.000000 eV\n", "Area (<K>) (Total) 0.000000 eV\n", "<|dQ/dt|^2> 0.000000 eV\n", "Occupation number -0.500000\n", "Fit temperature nan K\n", "Base line -0.000000 eV * ps\n", "Maximum height 0.000000 eV * ps\n", "Fitting global error 779538375233.310425\n", "Frequency shift 0.030226 THz\n", "\n", "Peak # 3\n", "----------------------------------------------\n", "Width 0.503412 THz\n", "Position 0.030228 THz\n", "Area (<K>) (Lorentzian) 0.000000 eV\n", "Area (<K>) (Total) 0.000000 eV\n", "<|dQ/dt|^2> 0.000000 eV\n", "Occupation number -0.500000\n", "Fit temperature nan K\n", "Base line -0.000000 eV * ps\n", "Maximum height 0.000000 eV * ps\n", "Fitting global error 779538375233.310425\n", "Frequency shift 0.030226 THz\n", "\n", "Peak # 4\n", "----------------------------------------------\n", "Width 0.786715 THz\n", "Position 15.561772 THz\n", "Area (<K>) (Lorentzian) 0.014497 eV\n", "Area (<K>) (Total) 0.013722 eV\n", "<|dQ/dt|^2> 0.028993 eV\n", "Occupation number 2.330539\n", "Fit temperature 332.921389 K\n", "Base line -0.000016 eV * ps\n", "Maximum height 0.011731 eV * ps\n", "Fitting global error 0.033291\n", "Frequency shift -0.506127 THz\n", "\n", "Peak # 5\n", "----------------------------------------------\n", "Width 0.786715 THz\n", "Position 15.561772 THz\n", "Area (<K>) (Lorentzian) 0.014497 eV\n", "Area (<K>) (Total) 0.013722 eV\n", "<|dQ/dt|^2> 0.028993 eV\n", "Occupation number 2.330539\n", "Fit temperature 332.921389 K\n", "Base line -0.000016 eV * ps\n", "Maximum height 0.011731 eV * ps\n", "Fitting global error 0.033291\n", "Frequency shift -0.506127 THz\n", "\n", "Peak # 6\n", "----------------------------------------------\n", "Width 0.786715 THz\n", "Position 15.561772 THz\n", "Area (<K>) (Lorentzian) 0.014497 eV\n", "Area (<K>) (Total) 0.013722 eV\n", "<|dQ/dt|^2> 0.028993 eV\n", "Occupation number 2.330539\n", "Fit temperature 332.921389 K\n", "Base line -0.000016 eV * ps\n", "Maximum height 0.011731 eV * ps\n", "Fitting global error 0.033291\n", "Frequency shift -0.506127 THz\n", "Fixing gamma point 0 frequencies\n", "\n", "Q-point: 2 / 32 [ 0.00000 0.25000 0.25000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Calculating phonon projection power spectra\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "\n", "Peak # 1\n", "----------------------------------------------\n", "Width 0.520811 THz\n", "Position 4.512520 THz\n", "Area (<K>) (Lorentzian) 0.018115 eV\n", "Area (<K>) (Total) 0.016752 eV\n", "<|dQ/dt|^2> 0.036230 eV\n", "Occupation number 11.697748\n", "Fit temperature 420.192477 K\n", "Base line -0.000044 eV * ps\n", "Maximum height 0.022143 eV * ps\n", "Fitting global error 0.016927\n", "Frequency shift -0.151454 THz\n", "\n", "Peak # 2\n", "----------------------------------------------\n", "Width 0.520811 THz\n", "Position 4.512520 THz\n", "Area (<K>) (Lorentzian) 0.018115 eV\n", "Area (<K>) (Total) 0.016752 eV\n", "<|dQ/dt|^2> 0.036230 eV\n", "Occupation number 11.697748\n", "Fit temperature 420.192477 K\n", "Base line -0.000044 eV * ps\n", "Maximum height 0.022143 eV * ps\n", "Fitting global error 0.016927\n", "Frequency shift -0.151454 THz\n", "\n", "Peak # 3\n", "----------------------------------------------\n", "Width 0.884643 THz\n", "Position 6.802090 THz\n", "Area (<K>) (Lorentzian) 0.034381 eV\n", "Area (<K>) (Total) 0.042075 eV\n", "<|dQ/dt|^2> 0.068762 eV\n", "Occupation number 14.858240\n", "Fit temperature 797.669962 K\n", "Base line 0.000413 eV * ps\n", "Maximum height 0.024742 eV * ps\n", "Fitting global error 0.034947\n", "Frequency shift -0.096079 THz\n", "\n", "Peak # 4\n", "----------------------------------------------\n", "Width 0.816224 THz\n", "Position 14.710909 THz\n", "Area (<K>) (Lorentzian) 0.050561 eV\n", "Area (<K>) (Total) 0.056117 eV\n", "<|dQ/dt|^2> 0.101122 eV\n", "Occupation number 9.943370\n", "Fit temperature 1172.575794 K\n", "Base line 0.000331 eV * ps\n", "Maximum height 0.039435 eV * ps\n", "Fitting global error 0.029537\n", "Frequency shift -0.459579 THz\n", "\n", "Peak # 5\n", "----------------------------------------------\n", "Width 0.942499 THz\n", "Position 15.067970 THz\n", "Area (<K>) (Lorentzian) 0.022568 eV\n", "Area (<K>) (Total) 0.024331 eV\n", "<|dQ/dt|^2> 0.045136 eV\n", "Occupation number 4.050999\n", "Fit temperature 521.672324 K\n", "Base line 0.000120 eV * ps\n", "Maximum height 0.015244 eV * ps\n", "Fitting global error 0.020341\n", "Frequency shift -0.487709 THz\n", "\n", "Peak # 6\n", "----------------------------------------------\n", "Width 0.942499 THz\n", "Position 15.067970 THz\n", "Area (<K>) (Lorentzian) 0.022568 eV\n", "Area (<K>) (Total) 0.024331 eV\n", "<|dQ/dt|^2> 0.045136 eV\n", "Occupation number 4.050999\n", "Fit temperature 521.672324 K\n", "Base line 0.000120 eV * ps\n", "Maximum height 0.015244 eV * ps\n", "Fitting global error 0.020341\n", "Frequency shift -0.487709 THz\n", "\n", "Q-point: 3 / 32 [ 0.00000 0.50000 0.50000 ]\n", "Harmonic frequencies (THz):\n", "[ 6.89533567 6.89533567 12.19179039 12.19179039 14.89095524 14.89095524]\n", "Calculating phonon projection power spectra\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 6.89533567 6.89533567 12.19179039 12.19179039 14.89095524 14.89095524]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 6.89533567 6.89533567 12.19179039 12.19179039 14.89095524 14.89095524]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 6.89533567 6.89533567 12.19179039 12.19179039 14.89095524 14.89095524]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Harmonic frequencies (THz):\n", "[ 6.89533567 6.89533567 12.19179039 12.19179039 14.89095524 14.89095524]\n", "\n", "Peak # 1\n", "----------------------------------------------\n", "Width 0.579259 THz\n", "Position 6.561490 THz\n", "Area (<K>) (Lorentzian) 0.025327 eV\n", "Area (<K>) (Total) 0.027369 eV\n", "<|dQ/dt|^2> 0.050654 eV\n", "Occupation number 11.228659\n", "Fit temperature 587.462943 K\n", "Base line 0.000121 eV * ps\n", "Maximum height 0.027835 eV * ps\n", "Fitting global error 0.025639\n", "Frequency shift -0.333845 THz\n", "\n", "Peak # 2\n", "----------------------------------------------\n", "Width 0.579259 THz\n", "Position 6.561490 THz\n", "Area (<K>) (Lorentzian) 0.025327 eV\n", "Area (<K>) (Total) 0.027369 eV\n", "<|dQ/dt|^2> 0.050654 eV\n", "Occupation number 11.228659\n", "Fit temperature 587.462943 K\n", "Base line 0.000121 eV * ps\n", "Maximum height 0.027835 eV * ps\n", "Fitting global error 0.025639\n", "Frequency shift -0.333845 THz\n", "\n", "Peak # 3\n", "----------------------------------------------\n", "Width 0.605260 THz\n", "Position 11.933579 THz\n", "Area (<K>) (Lorentzian) 0.030516 eV\n", "Area (<K>) (Total) 0.034730 eV\n", "<|dQ/dt|^2> 0.061032 eV\n", "Occupation number 7.270035\n", "Fit temperature 707.271379 K\n", "Base line 0.000225 eV * ps\n", "Maximum height 0.032097 eV * ps\n", "Fitting global error 0.023688\n", "Frequency shift -0.258211 THz\n", "\n", "Peak # 4\n", "----------------------------------------------\n", "Width 0.605260 THz\n", "Position 11.933579 THz\n", "Area (<K>) (Lorentzian) 0.030516 eV\n", "Area (<K>) (Total) 0.034730 eV\n", "<|dQ/dt|^2> 0.061032 eV\n", "Occupation number 7.270035\n", "Fit temperature 707.271379 K\n", "Base line 0.000225 eV * ps\n", "Maximum height 0.032097 eV * ps\n", "Fitting global error 0.023688\n", "Frequency shift -0.258211 THz\n", "\n", "Peak # 5\n", "----------------------------------------------\n", "Width 0.634083 THz\n", "Position 14.446261 THz\n", "Area (<K>) (Lorentzian) 0.042334 eV\n", "Area (<K>) (Total) 0.048339 eV\n", "<|dQ/dt|^2> 0.084669 eV\n", "Occupation number 8.404323\n", "Fit temperature 981.504235 K\n", "Base line 0.000327 eV * ps\n", "Maximum height 0.042504 eV * ps\n", "Fitting global error 0.015367\n", "Frequency shift -0.444694 THz\n", "\n", "Peak # 6\n", "----------------------------------------------\n", "Width 0.634083 THz\n", "Position 14.446261 THz\n", "Area (<K>) (Lorentzian) 0.042334 eV\n", "Area (<K>) (Total) 0.048339 eV\n", "<|dQ/dt|^2> 0.084669 eV\n", "Occupation number 8.404323\n", "Fit temperature 981.504235 K\n", "Base line 0.000327 eV * ps\n", "Maximum height 0.042504 eV * ps\n", "Fitting global error 0.015367\n", "Frequency shift -0.444694 THz\n", "\n", "Q-point: 4 / 32 [ 0.00000 0.75000 0.75000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Calculating phonon projection power spectra\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "\n", "Peak # 1\n", "----------------------------------------------\n", "Width 0.513828 THz\n", "Position 4.501741 THz\n", "Area (<K>) (Lorentzian) 0.024073 eV\n", "Area (<K>) (Total) 0.021184 eV\n", "<|dQ/dt|^2> 0.048147 eV\n", "Occupation number 15.748758\n", "Fit temperature 558.542799 K\n", "Base line -0.000110 eV * ps\n", "Maximum height 0.029826 eV * ps\n", "Fitting global error 0.014477\n", "Frequency shift -0.162232 THz\n", "\n", "Peak # 2\n", "----------------------------------------------\n", "Width 0.513828 THz\n", "Position 4.501741 THz\n", "Area (<K>) (Lorentzian) 0.024073 eV\n", "Area (<K>) (Total) 0.021184 eV\n", "<|dQ/dt|^2> 0.048147 eV\n", "Occupation number 15.748758\n", "Fit temperature 558.542799 K\n", "Base line -0.000110 eV * ps\n", "Maximum height 0.029826 eV * ps\n", "Fitting global error 0.014477\n", "Frequency shift -0.162232 THz\n", "\n", "Peak # 3\n", "----------------------------------------------\n", "Width 0.840450 THz\n", "Position 6.833587 THz\n", "Area (<K>) (Lorentzian) 0.047750 eV\n", "Area (<K>) (Total) 0.056965 eV\n", "<|dQ/dt|^2> 0.095499 eV\n", "Occupation number 20.731750\n", "Fit temperature 1108.018837 K\n", "Base line 0.000500 eV * ps\n", "Maximum height 0.036169 eV * ps\n", "Fitting global error 0.027488\n", "Frequency shift -0.064582 THz\n", "\n", "Peak # 4\n", "----------------------------------------------\n", "Width 0.864892 THz\n", "Position 14.761576 THz\n", "Area (<K>) (Lorentzian) 0.036911 eV\n", "Area (<K>) (Total) 0.042399 eV\n", "<|dQ/dt|^2> 0.073823 eV\n", "Occupation number 7.097870\n", "Fit temperature 855.439740 K\n", "Base line 0.000312 eV * ps\n", "Maximum height 0.027169 eV * ps\n", "Fitting global error 0.033172\n", "Frequency shift -0.408912 THz\n", "\n", "Peak # 5\n", "----------------------------------------------\n", "Width 0.693495 THz\n", "Position 15.046973 THz\n", "Area (<K>) (Lorentzian) 0.030097 eV\n", "Area (<K>) (Total) 0.029819 eV\n", "<|dQ/dt|^2> 0.060195 eV\n", "Occupation number 5.577759\n", "Fit temperature 696.952048 K\n", "Base line 0.000023 eV * ps\n", "Maximum height 0.027629 eV * ps\n", "Fitting global error 0.016708\n", "Frequency shift -0.508706 THz\n", "\n", "Peak # 6\n", "----------------------------------------------\n", "Width 0.693495 THz\n", "Position 15.046973 THz\n", "Area (<K>) (Lorentzian) 0.030097 eV\n", "Area (<K>) (Total) 0.029819 eV\n", "<|dQ/dt|^2> 0.060195 eV\n", "Occupation number 5.577759\n", "Fit temperature 696.952048 K\n", "Base line 0.000023 eV * ps\n", "Maximum height 0.027629 eV * ps\n", "Fitting global error 0.016708\n", "Frequency shift -0.508706 THz\n", "\n", "Q-point: 5 / 32 [ 0.25000 0.00000 0.25000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Skipped, equivalent to [0. 0.25 0.25]\n", "\n", "Q-point: 6 / 32 [ 0.25000 0.25000 0.50000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Calculating phonon projection power spectra\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "\n", "Peak # 1\n", "----------------------------------------------\n", "Width 0.528069 THz\n", "Position 4.477183 THz\n", "Area (<K>) (Lorentzian) 0.042227 eV\n", "Area (<K>) (Total) 0.040708 eV\n", "<|dQ/dt|^2> 0.084453 eV\n", "Occupation number 28.158071\n", "Fit temperature 979.942726 K\n", "Base line -0.000024 eV * ps\n", "Maximum height 0.050907 eV * ps\n", "Fitting global error 0.012211\n", "Frequency shift -0.190696 THz\n", "\n", "Peak # 2\n", "----------------------------------------------\n", "Width 0.890764 THz\n", "Position 6.695151 THz\n", "Area (<K>) (Lorentzian) 0.080890 eV\n", "Area (<K>) (Total) 0.093342 eV\n", "<|dQ/dt|^2> 0.161780 eV\n", "Occupation number 36.211198\n", "Fit temperature 1877.262476 K\n", "Base line 0.000706 eV * ps\n", "Maximum height 0.057811 eV * ps\n", "Fitting global error 0.020823\n", "Frequency shift -0.265939 THz\n", "\n", "Peak # 3\n", "----------------------------------------------\n", "Width 0.879866 THz\n", "Position 8.803246 THz\n", "Area (<K>) (Lorentzian) 0.043886 eV\n", "Area (<K>) (Total) 0.052217 eV\n", "<|dQ/dt|^2> 0.087772 eV\n", "Occupation number 14.647678\n", "Fit temperature 1018.178750 K\n", "Base line 0.000449 eV * ps\n", "Maximum height 0.031753 eV * ps\n", "Fitting global error 0.028094\n", "Frequency shift -0.202601 THz\n", "\n", "Peak # 4\n", "----------------------------------------------\n", "Width 0.757650 THz\n", "Position 13.371395 THz\n", "Area (<K>) (Lorentzian) 0.021906 eV\n", "Area (<K>) (Total) 0.026391 eV\n", "<|dQ/dt|^2> 0.043812 eV\n", "Occupation number 4.477924\n", "Fit temperature 506.700042 K\n", "Base line 0.000237 eV * ps\n", "Maximum height 0.018407 eV * ps\n", "Fitting global error 0.037761\n", "Frequency shift -0.353521 THz\n", "\n", "Peak # 5\n", "----------------------------------------------\n", "Width 0.668122 THz\n", "Position 14.983805 THz\n", "Area (<K>) (Lorentzian) 0.023784 eV\n", "Area (<K>) (Total) 0.024310 eV\n", "<|dQ/dt|^2> 0.047568 eV\n", "Occupation number 4.323155\n", "Fit temperature 550.026026 K\n", "Base line 0.000052 eV * ps\n", "Maximum height 0.022663 eV * ps\n", "Fitting global error 0.013903\n", "Frequency shift -0.442641 THz\n", "\n", "Peak # 6\n", "----------------------------------------------\n", "Width 0.793991 THz\n", "Position 15.147433 THz\n", "Area (<K>) (Lorentzian) 0.067893 eV\n", "Area (<K>) (Total) 0.078771 eV\n", "<|dQ/dt|^2> 0.135785 eV\n", "Occupation number 13.119087\n", "Fit temperature 1575.015038 K\n", "Base line 0.000607 eV * ps\n", "Maximum height 0.054436 eV * ps\n", "Fitting global error 0.022076\n", "Frequency shift -0.435323 THz\n", "\n", "Q-point: 7 / 32 [ 0.25000 0.50000 0.75000 ]\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Calculating phonon projection power spectra\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "\n", "Peak # 1\n", "----------------------------------------------\n", "Width 0.906814 THz\n", "Position 7.245967 THz\n", "Area (<K>) (Lorentzian) 0.086091 eV\n", "Area (<K>) (Total) 0.103019 eV\n", "<|dQ/dt|^2> 0.172181 eV\n", "Occupation number 35.601390\n", "Fit temperature 1997.953650 K\n", "Base line 0.000922 eV * ps\n", "Maximum height 0.060439 eV * ps\n", "Fitting global error 0.020747\n", "Frequency shift -0.296529 THz\n", "\n", "Peak # 2\n", "----------------------------------------------\n", "Width 0.906814 THz\n", "Position 7.245967 THz\n", "Area (<K>) (Lorentzian) 0.086091 eV\n", "Area (<K>) (Total) 0.103019 eV\n", "<|dQ/dt|^2> 0.172181 eV\n", "Occupation number 35.601390\n", "Fit temperature 1997.953650 K\n", "Base line 0.000922 eV * ps\n", "Maximum height 0.060439 eV * ps\n", "Fitting global error 0.020747\n", "Frequency shift -0.296529 THz\n", "\n", "Peak # 3\n", "----------------------------------------------\n", "Width 0.632257 THz\n", "Position 11.066196 THz\n", "Area (<K>) (Lorentzian) 0.021718 eV\n", "Area (<K>) (Total) 0.024990 eV\n", "<|dQ/dt|^2> 0.043436 eV\n", "Occupation number 5.463247\n", "Fit temperature 502.867083 K\n", "Base line 0.000174 eV * ps\n", "Maximum height 0.021868 eV * ps\n", "Fitting global error 0.025864\n", "Frequency shift -0.284125 THz\n", "\n", "Peak # 4\n", "----------------------------------------------\n", "Width 0.632257 THz\n", "Position 11.066196 THz\n", "Area (<K>) (Lorentzian) 0.021718 eV\n", "Area (<K>) (Total) 0.024990 eV\n", "<|dQ/dt|^2> 0.043436 eV\n", "Occupation number 5.463247\n", "Fit temperature 502.867083 K\n", "Base line 0.000174 eV * ps\n", "Maximum height 0.021868 eV * ps\n", "Fitting global error 0.025864\n", "Frequency shift -0.284125 THz\n", "\n", "Peak # 5\n", "----------------------------------------------\n", "Width 0.834964 THz\n", "Position 14.801288 THz\n", "Area (<K>) (Lorentzian) 0.039949 eV\n", "Area (<K>) (Total) 0.044302 eV\n", "<|dQ/dt|^2> 0.079898 eV\n", "Occupation number 7.701072\n", "Fit temperature 926.027948 K\n", "Base line 0.000261 eV * ps\n", "Maximum height 0.030459 eV * ps\n", "Fitting global error 0.031087\n", "Frequency shift -0.437050 THz\n", "\n", "Peak # 6\n", "----------------------------------------------\n", "Width 0.834964 THz\n", "Position 14.801288 THz\n", "Area (<K>) (Lorentzian) 0.039949 eV\n", "Area (<K>) (Total) 0.044302 eV\n", "<|dQ/dt|^2> 0.079898 eV\n", "Occupation number 7.701072\n", "Fit temperature 926.027948 K\n", "Base line 0.000261 eV * ps\n", "Maximum height 0.030459 eV * ps\n", "Fitting global error 0.031087\n", "Frequency shift -0.437050 THz\n", "\n", "Q-point: 8 / 32 [ 0.25000 0.75000 0.00000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Calculating phonon projection power spectra\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "\n", "Peak # 1\n", "----------------------------------------------\n", "Width 0.522556 THz\n", "Position 4.483775 THz\n", "Area (<K>) (Lorentzian) 0.037188 eV\n", "Area (<K>) (Total) 0.034635 eV\n", "<|dQ/dt|^2> 0.074376 eV\n", "Occupation number 24.701308\n", "Fit temperature 862.984209 K\n", "Base line -0.000079 eV * ps\n", "Maximum height 0.045305 eV * ps\n", "Fitting global error 0.012393\n", "Frequency shift -0.184104 THz\n", "\n", "Peak # 2\n", "----------------------------------------------\n", "Width 0.898262 THz\n", "Position 6.707279 THz\n", "Area (<K>) (Lorentzian) 0.067887 eV\n", "Area (<K>) (Total) 0.079212 eV\n", "<|dQ/dt|^2> 0.135775 eV\n", "Occupation number 30.254428\n", "Fit temperature 1575.464575 K\n", "Base line 0.000635 eV * ps\n", "Maximum height 0.048114 eV * ps\n", "Fitting global error 0.023773\n", "Frequency shift -0.253812 THz\n", "\n", "Peak # 3\n", "----------------------------------------------\n", "Width 0.835420 THz\n", "Position 8.803037 THz\n", "Area (<K>) (Lorentzian) 0.013150 eV\n", "Area (<K>) (Total) 0.016324 eV\n", "<|dQ/dt|^2> 0.026301 eV\n", "Occupation number 4.039095\n", "Fit temperature 303.968668 K\n", "Base line 0.000166 eV * ps\n", "Maximum height 0.010021 eV * ps\n", "Fitting global error 0.059276\n", "Frequency shift -0.202810 THz\n", "\n", "Peak # 4\n", "----------------------------------------------\n", "Width 0.730369 THz\n", "Position 13.368389 THz\n", "Area (<K>) (Lorentzian) 0.016678 eV\n", "Area (<K>) (Total) 0.021238 eV\n", "<|dQ/dt|^2> 0.033357 eV\n", "Occupation number 3.290872\n", "Fit temperature 384.834116 K\n", "Base line 0.000234 eV * ps\n", "Maximum height 0.014538 eV * ps\n", "Fitting global error 0.045590\n", "Frequency shift -0.356527 THz\n", "\n", "Peak # 5\n", "----------------------------------------------\n", "Width 0.674322 THz\n", "Position 14.951363 THz\n", "Area (<K>) (Lorentzian) 0.036155 eV\n", "Area (<K>) (Total) 0.038613 eV\n", "<|dQ/dt|^2> 0.072311 eV\n", "Occupation number 6.847775\n", "Fit temperature 837.833759 K\n", "Base line 0.000157 eV * ps\n", "Maximum height 0.034134 eV * ps\n", "Fitting global error 0.014619\n", "Frequency shift -0.475083 THz\n", "\n", "Peak # 6\n", "----------------------------------------------\n", "Width 0.902049 THz\n", "Position 15.073779 THz\n", "Area (<K>) (Lorentzian) 0.021209 eV\n", "Area (<K>) (Total) 0.022490 eV\n", "<|dQ/dt|^2> 0.042418 eV\n", "Occupation number 3.775244\n", "Fit temperature 489.986369 K\n", "Base line 0.000094 eV * ps\n", "Maximum height 0.014968 eV * ps\n", "Fitting global error 0.022499\n", "Frequency shift -0.508977 THz\n", "\n", "Q-point: 9 / 32 [ 0.50000 0.00000 0.50000 ]\n", "Harmonic frequencies (THz):\n", "[ 6.89533567 6.89533567 12.19179039 12.19179039 14.89095524 14.89095524]\n", "Skipped, equivalent to [0. 0.5 0.5]\n", "\n", "Q-point: 10 / 32 [ 0.50000 0.25000 0.75000 ]\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Skipped, equivalent to [0.25 0.5 0.75]\n", "\n", "Q-point: 11 / 32 [ 0.50000 0.50000 0.00000 ]\n", "Harmonic frequencies (THz):\n", "[ 6.89533567 6.89533567 12.19179039 12.19179039 14.89095524 14.89095524]\n", "Skipped, equivalent to [0. 0.5 0.5]\n", "\n", "Q-point: 12 / 32 [ 0.50000 0.75000 0.25000 ]\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Skipped, equivalent to [0.25 0.5 0.75]\n", "\n", "Q-point: 13 / 32 [ 0.75000 0.00000 0.75000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Skipped, equivalent to [0. 0.75 0.75]\n", "\n", "Q-point: 14 / 32 [ 0.75000 0.25000 0.00000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Calculating phonon projection power spectra\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "\n", "Peak # 1\n", "----------------------------------------------\n", "Width 0.521991 THz\n", "Position 4.484158 THz\n", "Area (<K>) (Lorentzian) 0.036566 eV\n", "Area (<K>) (Total) 0.033926 eV\n", "<|dQ/dt|^2> 0.073131 eV\n", "Occupation number 24.277431\n", "Fit temperature 848.537722 K\n", "Base line -0.000083 eV * ps\n", "Maximum height 0.044595 eV * ps\n", "Fitting global error 0.012530\n", "Frequency shift -0.183721 THz\n", "\n", "Peak # 2\n", "----------------------------------------------\n", "Width 0.899617 THz\n", "Position 6.704187 THz\n", "Area (<K>) (Lorentzian) 0.061915 eV\n", "Area (<K>) (Total) 0.071943 eV\n", "<|dQ/dt|^2> 0.123830 eV\n", "Occupation number 27.561609\n", "Fit temperature 1436.830955 K\n", "Base line 0.000565 eV * ps\n", "Maximum height 0.043814 eV * ps\n", "Fitting global error 0.025259\n", "Frequency shift -0.256903 THz\n", "\n", "Peak # 3\n", "----------------------------------------------\n", "Width 0.840794 THz\n", "Position 8.777709 THz\n", "Area (<K>) (Lorentzian) 0.009473 eV\n", "Area (<K>) (Total) 0.011919 eV\n", "<|dQ/dt|^2> 0.018945 eV\n", "Occupation number 2.779076\n", "Fit temperature 218.134958 K\n", "Base line 0.000127 eV * ps\n", "Maximum height 0.007172 eV * ps\n", "Fitting global error 0.078651\n", "Frequency shift -0.228137 THz\n", "\n", "Peak # 4\n", "----------------------------------------------\n", "Width 0.814357 THz\n", "Position 13.294667 THz\n", "Area (<K>) (Lorentzian) 0.012215 eV\n", "Area (<K>) (Total) 0.016240 eV\n", "<|dQ/dt|^2> 0.024429 eV\n", "Occupation number 2.291679\n", "Fit temperature 280.431128 K\n", "Base line 0.000205 eV * ps\n", "Maximum height 0.009549 eV * ps\n", "Fitting global error 0.061800\n", "Frequency shift -0.430249 THz\n", "\n", "Peak # 5\n", "----------------------------------------------\n", "Width 0.706639 THz\n", "Position 14.920962 THz\n", "Area (<K>) (Lorentzian) 0.033379 eV\n", "Area (<K>) (Total) 0.034927 eV\n", "<|dQ/dt|^2> 0.066758 eV\n", "Occupation number 6.297384\n", "Fit temperature 773.297147 K\n", "Base line 0.000113 eV * ps\n", "Maximum height 0.030072 eV * ps\n", "Fitting global error 0.021423\n", "Frequency shift -0.505484 THz\n", "\n", "Peak # 6\n", "----------------------------------------------\n", "Width 0.901748 THz\n", "Position 15.110122 THz\n", "Area (<K>) (Lorentzian) 0.021178 eV\n", "Area (<K>) (Total) 0.023049 eV\n", "<|dQ/dt|^2> 0.042356 eV\n", "Occupation number 3.758704\n", "Fit temperature 489.249958 K\n", "Base line 0.000121 eV * ps\n", "Maximum height 0.014951 eV * ps\n", "Fitting global error 0.028888\n", "Frequency shift -0.472634 THz\n", "\n", "Q-point: 15 / 32 [ 0.75000 0.50000 0.25000 ]\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Skipped, equivalent to [0.25 0.5 0.75]\n", "\n", "Q-point: 16 / 32 [ 0.75000 0.75000 0.50000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Calculating phonon projection power spectra\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "\n", "Peak # 1\n", "----------------------------------------------\n", "Width 0.521626 THz\n", "Position 4.484270 THz\n", "Area (<K>) (Lorentzian) 0.040369 eV\n", "Area (<K>) (Total) 0.037483 eV\n", "<|dQ/dt|^2> 0.080738 eV\n", "Occupation number 26.853838\n", "Fit temperature 936.816652 K\n", "Base line -0.000091 eV * ps\n", "Maximum height 0.049268 eV * ps\n", "Fitting global error 0.011912\n", "Frequency shift -0.183609 THz\n", "\n", "Peak # 2\n", "----------------------------------------------\n", "Width 0.898998 THz\n", "Position 6.706088 THz\n", "Area (<K>) (Lorentzian) 0.060155 eV\n", "Area (<K>) (Total) 0.069989 eV\n", "<|dQ/dt|^2> 0.120310 eV\n", "Occupation number 26.756361\n", "Fit temperature 1395.986797 K\n", "Base line 0.000553 eV * ps\n", "Maximum height 0.042598 eV * ps\n", "Fitting global error 0.025425\n", "Frequency shift -0.255003 THz\n", "\n", "Peak # 3\n", "----------------------------------------------\n", "Width 0.847729 THz\n", "Position 8.762397 THz\n", "Area (<K>) (Lorentzian) 0.009423 eV\n", "Area (<K>) (Total) 0.011871 eV\n", "<|dQ/dt|^2> 0.018846 eV\n", "Occupation number 2.767683\n", "Fit temperature 216.985862 K\n", "Base line 0.000127 eV * ps\n", "Maximum height 0.007077 eV * ps\n", "Fitting global error 0.078128\n", "Frequency shift -0.243450 THz\n", "\n", "Peak # 4\n", "----------------------------------------------\n", "Width 0.822505 THz\n", "Position 13.296042 THz\n", "Area (<K>) (Lorentzian) 0.012441 eV\n", "Area (<K>) (Total) 0.016789 eV\n", "<|dQ/dt|^2> 0.024882 eV\n", "Occupation number 2.343156\n", "Fit temperature 285.744350 K\n", "Base line 0.000221 eV * ps\n", "Maximum height 0.009629 eV * ps\n", "Fitting global error 0.060141\n", "Frequency shift -0.428874 THz\n", "\n", "Peak # 5\n", "----------------------------------------------\n", "Width 0.692941 THz\n", "Position 14.927237 THz\n", "Area (<K>) (Lorentzian) 0.037140 eV\n", "Area (<K>) (Total) 0.038953 eV\n", "<|dQ/dt|^2> 0.074280 eV\n", "Occupation number 7.060040\n", "Fit temperature 860.720269 K\n", "Base line 0.000129 eV * ps\n", "Maximum height 0.034121 eV * ps\n", "Fitting global error 0.019502\n", "Frequency shift -0.499209 THz\n", "\n", "Peak # 6\n", "----------------------------------------------\n", "Width 0.873800 THz\n", "Position 15.089642 THz\n", "Area (<K>) (Lorentzian) 0.020289 eV\n", "Area (<K>) (Total) 0.022192 eV\n", "<|dQ/dt|^2> 0.040578 eV\n", "Occupation number 3.585462\n", "Fit temperature 468.522605 K\n", "Base line 0.000120 eV * ps\n", "Maximum height 0.014782 eV * ps\n", "Fitting global error 0.026540\n", "Frequency shift -0.493114 THz\n", "\n", "Q-point: 17 / 32 [ 0.25000 0.25000 0.00000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Skipped, equivalent to [0.25 0. 0.25]\n", "\n", "Q-point: 18 / 32 [ 0.25000 0.50000 0.25000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Skipped, equivalent to [0.25 0.25 0.5 ]\n", "\n", "Q-point: 19 / 32 [ 0.25000 0.75000 0.50000 ]\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Skipped, equivalent to [0.25 0.5 0.75]\n", "\n", "Q-point: 20 / 32 [ 0.25000 0.00000 0.75000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Skipped, equivalent to [0.75 0.75 0.5 ]\n", "\n", "Q-point: 21 / 32 [ 0.50000 0.25000 0.25000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Skipped, equivalent to [0.25 0.5 0.25]\n", "\n", "Q-point: 22 / 32 [ 0.50000 0.50000 0.50000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Calculating phonon projection power spectra\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Projecting into phonon mode\n", "Projecting into wave vector\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Power spectrum resolution requested unavailable, using maximum: 0.500000 THz\n", "If you need higher resolution increase the number of data\n", "FFT: [##############################] 100.00% Done...\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "\n", "Peak # 1\n", "----------------------------------------------\n", "Width 0.531399 THz\n", "Position 4.473542 THz\n", "Area (<K>) (Lorentzian) 0.029344 eV\n", "Area (<K>) (Total) 0.027604 eV\n", "<|dQ/dt|^2> 0.058688 eV\n", "Occupation number 19.431012\n", "Fit temperature 680.898947 K\n", "Base line -0.000048 eV * ps\n", "Maximum height 0.035154 eV * ps\n", "Fitting global error 0.015956\n", "Frequency shift -0.194337 THz\n", "\n", "Peak # 2\n", "----------------------------------------------\n", "Width 0.531399 THz\n", "Position 4.473542 THz\n", "Area (<K>) (Lorentzian) 0.029344 eV\n", "Area (<K>) (Total) 0.027604 eV\n", "<|dQ/dt|^2> 0.058688 eV\n", "Occupation number 19.431012\n", "Fit temperature 680.898947 K\n", "Base line -0.000048 eV * ps\n", "Maximum height 0.035154 eV * ps\n", "Fitting global error 0.015956\n", "Frequency shift -0.194337 THz\n", "\n", "Peak # 3\n", "----------------------------------------------\n", "Width 0.538267 THz\n", "Position 10.993312 THz\n", "Area (<K>) (Lorentzian) 0.062518 eV\n", "Area (<K>) (Total) 0.058145 eV\n", "<|dQ/dt|^2> 0.125036 eV\n", "Occupation number 16.779904\n", "Fit temperature 1450.579466 K\n", "Base line -0.000158 eV * ps\n", "Maximum height 0.073941 eV * ps\n", "Fitting global error 0.008088\n", "Frequency shift -0.317902 THz\n", "\n", "Peak # 4\n", "----------------------------------------------\n", "Width 0.776728 THz\n", "Position 12.855329 THz\n", "Area (<K>) (Lorentzian) 0.017087 eV\n", "Area (<K>) (Total) 0.019549 eV\n", "<|dQ/dt|^2> 0.034174 eV\n", "Occupation number 3.538695\n", "Fit temperature 394.533162 K\n", "Base line 0.000136 eV * ps\n", "Maximum height 0.014005 eV * ps\n", "Fitting global error 0.044153\n", "Frequency shift -0.299509 THz\n", "\n", "Peak # 5\n", "----------------------------------------------\n", "Width 0.632792 THz\n", "Position 14.950742 THz\n", "Area (<K>) (Lorentzian) 0.063192 eV\n", "Area (<K>) (Total) 0.069609 eV\n", "<|dQ/dt|^2> 0.126384 eV\n", "Occupation number 12.342941\n", "Fit temperature 1465.887345 K\n", "Base line 0.000371 eV * ps\n", "Maximum height 0.063574 eV * ps\n", "Fitting global error 0.012098\n", "Frequency shift -0.475704 THz\n", "\n", "Peak # 6\n", "----------------------------------------------\n", "Width 0.632792 THz\n", "Position 14.950742 THz\n", "Area (<K>) (Lorentzian) 0.063192 eV\n", "Area (<K>) (Total) 0.069609 eV\n", "<|dQ/dt|^2> 0.126384 eV\n", "Occupation number 12.342941\n", "Fit temperature 1465.887345 K\n", "Base line 0.000371 eV * ps\n", "Maximum height 0.063574 eV * ps\n", "Fitting global error 0.012098\n", "Frequency shift -0.475704 THz\n", "\n", "Q-point: 23 / 32 [ 0.50000 0.75000 0.75000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Skipped, equivalent to [0.25 0. 0.75]\n", "\n", "Q-point: 24 / 32 [ 0.50000 0.00000 0.00000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Skipped, equivalent to [0.5 0.5 0.5]\n", "\n", "Q-point: 25 / 32 [ 0.75000 0.25000 0.50000 ]\n", "Harmonic frequencies (THz):\n", "[ 7.54249562 7.54249562 11.3503204 11.3503204 15.23833788 15.23833788]\n", "Skipped, equivalent to [0.25 0.5 0.75]\n", "\n", "Q-point: 26 / 32 [ 0.75000 0.50000 0.75000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Skipped, equivalent to [0.25 0. 0.75]\n", "\n", "Q-point: 27 / 32 [ 0.75000 0.75000 0.00000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66397327 4.66397327 6.89816884 15.17048811 15.55567884 15.55567884]\n", "Skipped, equivalent to [0. 0.75 0.75]\n", "\n", "Q-point: 28 / 32 [ 0.75000 0.00000 0.25000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Skipped, equivalent to [0.75 0.5 0.75]\n", "\n", "Q-point: 29 / 32 [ 0.00000 0.25000 0.75000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Skipped, equivalent to [0.75 0.5 0.75]\n", "\n", "Q-point: 30 / 32 [ 0.00000 0.50000 0.00000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Skipped, equivalent to [0.5 0.5 0.5]\n", "\n", "Q-point: 31 / 32 [ 0.00000 0.75000 0.25000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 6.96109048 9.00584683 13.72491589 15.42644585 15.58275543]\n", "Skipped, equivalent to [0.75 0.5 0.75]\n", "\n", "Q-point: 32 / 32 [ 0.00000 0.00000 0.50000 ]\n", "Harmonic frequencies (THz):\n", "[ 4.66787904 4.66787904 11.31121369 13.15483786 15.42644585 15.42644585]\n", "Skipped, equivalent to [0.5 0.5 0.5]\n" ] }, { "data": { "text/plain": [ "array([[[[ 1.47901738e+01, -7.27856474e-04, 8.95058148e-04],\n", " [-7.27856474e-04, 1.47901738e+01, 8.95058148e-04],\n", " [ 8.95058148e-04, 8.95058148e-04, 1.47888052e+01]],\n", "\n", " [[-8.43844610e-03, 7.27856474e-04, -8.95058148e-04],\n", " [ 7.27856474e-04, 7.28656134e-03, 8.95058148e-04],\n", " [-8.95058148e-04, 8.95058148e-04, 8.65518224e-03]],\n", "\n", " [[ 7.28656134e-03, 7.27856474e-04, 8.95058148e-04],\n", " [ 7.27856474e-04, -8.43844610e-03, -8.95058148e-04],\n", " [ 8.95058148e-04, -8.95058148e-04, 8.65518224e-03]],\n", "\n", " ...,\n", "\n", " [[-4.34304104e-03, 1.31864165e-04, -2.95050844e-03],\n", " [ 1.31864165e-04, 3.82031823e-03, 9.26457597e-03],\n", " [-2.95050844e-03, 9.26457597e-03, 2.59330404e-03]],\n", "\n", " [[ 3.82031823e-03, 1.31864165e-04, 9.26457597e-03],\n", " [ 1.31864165e-04, -4.34304104e-03, -2.95050844e-03],\n", " [ 9.26457597e-03, -2.95050844e-03, 2.59330404e-03]],\n", "\n", " [[ 4.40243519e-03, -7.86267323e-04, 7.46626817e-03],\n", " [-7.86267323e-04, 4.40243519e-03, 7.46626817e-03],\n", " [ 7.46626817e-03, 7.46626817e-03, 1.87505791e-03]]],\n", "\n", "\n", " [[[-8.43844610e-03, 7.27856474e-04, -8.95058148e-04],\n", " [ 7.27856474e-04, 7.28656134e-03, 8.95058148e-04],\n", " [-8.95058148e-04, 8.95058148e-04, 8.65518224e-03]],\n", "\n", " [[ 1.47901738e+01, -7.27856474e-04, 8.95058148e-04],\n", " [-7.27856474e-04, 1.47901738e+01, 8.95058148e-04],\n", " [ 8.95058148e-04, 8.95058148e-04, 1.47888052e+01]],\n", "\n", " [[ 5.65686089e-03, -7.27856474e-04, -8.95058148e-04],\n", " [-7.27856474e-04, 5.65686089e-03, -8.95058148e-04],\n", " [-8.95058148e-04, -8.95058148e-04, 1.29289260e-02]],\n", "\n", " ...,\n", "\n", " [[-3.48118608e+00, -2.36179399e+00, 2.36461264e+00],\n", " [-2.36179399e+00, -3.48118608e+00, 2.36461264e+00],\n", " [ 2.36461264e+00, 2.36461264e+00, -3.47995906e+00]],\n", "\n", " [[ 4.40243519e-03, -7.86267323e-04, 7.46626817e-03],\n", " [-7.86267323e-04, 4.40243519e-03, 7.46626817e-03],\n", " [ 7.46626817e-03, 7.46626817e-03, 1.87505791e-03]],\n", "\n", " [[ 3.82031823e-03, 1.31864165e-04, 9.26457597e-03],\n", " [ 1.31864165e-04, -4.34304104e-03, -2.95050844e-03],\n", " [ 9.26457597e-03, -2.95050844e-03, 2.59330404e-03]]],\n", "\n", "\n", " [[[ 7.28656134e-03, 7.27856474e-04, 8.95058148e-04],\n", " [ 7.27856474e-04, -8.43844610e-03, -8.95058148e-04],\n", " [ 8.95058148e-04, -8.95058148e-04, 8.65518224e-03]],\n", "\n", " [[ 5.65686089e-03, -7.27856474e-04, -8.95058148e-04],\n", " [-7.27856474e-04, 5.65686089e-03, -8.95058148e-04],\n", " [-8.95058148e-04, -8.95058148e-04, 1.29289260e-02]],\n", "\n", " [[ 1.47901738e+01, -7.27856474e-04, 8.95058148e-04],\n", " [-7.27856474e-04, 1.47901738e+01, 8.95058148e-04],\n", " [ 8.95058148e-04, 8.95058148e-04, 1.47888052e+01]],\n", "\n", " ...,\n", "\n", " [[ 4.40243519e-03, -7.86267323e-04, 7.46626817e-03],\n", " [-7.86267323e-04, 4.40243519e-03, 7.46626817e-03],\n", " [ 7.46626817e-03, 7.46626817e-03, 1.87505791e-03]],\n", "\n", " [[-3.48118608e+00, -2.36179399e+00, 2.36461264e+00],\n", " [-2.36179399e+00, -3.48118608e+00, 2.36461264e+00],\n", " [ 2.36461264e+00, 2.36461264e+00, -3.47995906e+00]],\n", "\n", " [[-4.34304104e-03, 1.31864165e-04, -2.95050844e-03],\n", " [ 1.31864165e-04, 3.82031823e-03, 9.26457597e-03],\n", " [-2.95050844e-03, 9.26457597e-03, 2.59330404e-03]]],\n", "\n", "\n", " ...,\n", "\n", "\n", " [[[-4.34304104e-03, 1.31864165e-04, -2.95050844e-03],\n", " [ 1.31864165e-04, 3.82031823e-03, 9.26457597e-03],\n", " [-2.95050844e-03, 9.26457597e-03, 2.59330404e-03]],\n", "\n", " [[-3.48118608e+00, -2.36179399e+00, 2.36461264e+00],\n", " [-2.36179399e+00, -3.48118608e+00, 2.36461264e+00],\n", " [ 2.36461264e+00, 2.36461264e+00, -3.47995906e+00]],\n", "\n", " [[ 4.40243519e-03, -7.86267323e-04, 7.46626817e-03],\n", " [-7.86267323e-04, 4.40243519e-03, 7.46626817e-03],\n", " [ 7.46626817e-03, 7.46626817e-03, 1.87505791e-03]],\n", "\n", " ...,\n", "\n", " [[ 1.47901738e+01, -7.27856474e-04, 8.95058148e-04],\n", " [-7.27856474e-04, 1.47901738e+01, 8.95058148e-04],\n", " [ 8.95058148e-04, 8.95058148e-04, 1.47888052e+01]],\n", "\n", " [[ 5.65686089e-03, -7.27856474e-04, -8.95058148e-04],\n", " [-7.27856474e-04, 5.65686089e-03, -8.95058148e-04],\n", " [-8.95058148e-04, -8.95058148e-04, 1.29289260e-02]],\n", "\n", " [[ 7.28656134e-03, 7.27856474e-04, 8.95058148e-04],\n", " [ 7.27856474e-04, -8.43844610e-03, -8.95058148e-04],\n", " [ 8.95058148e-04, -8.95058148e-04, 8.65518224e-03]]],\n", "\n", "\n", " [[[ 3.82031823e-03, 1.31864165e-04, 9.26457597e-03],\n", " [ 1.31864165e-04, -4.34304104e-03, -2.95050844e-03],\n", " [ 9.26457597e-03, -2.95050844e-03, 2.59330404e-03]],\n", "\n", " [[ 4.40243519e-03, -7.86267323e-04, 7.46626817e-03],\n", " [-7.86267323e-04, 4.40243519e-03, 7.46626817e-03],\n", " [ 7.46626817e-03, 7.46626817e-03, 1.87505791e-03]],\n", "\n", " [[-3.48118608e+00, -2.36179399e+00, 2.36461264e+00],\n", " [-2.36179399e+00, -3.48118608e+00, 2.36461264e+00],\n", " [ 2.36461264e+00, 2.36461264e+00, -3.47995906e+00]],\n", "\n", " ...,\n", "\n", " [[ 5.65686089e-03, -7.27856474e-04, -8.95058148e-04],\n", " [-7.27856474e-04, 5.65686089e-03, -8.95058148e-04],\n", " [-8.95058148e-04, -8.95058148e-04, 1.29289260e-02]],\n", "\n", " [[ 1.47901738e+01, -7.27856474e-04, 8.95058148e-04],\n", " [-7.27856474e-04, 1.47901738e+01, 8.95058148e-04],\n", " [ 8.95058148e-04, 8.95058148e-04, 1.47888052e+01]],\n", "\n", " [[-8.43844610e-03, 7.27856474e-04, -8.95058148e-04],\n", " [ 7.27856474e-04, 7.28656134e-03, 8.95058148e-04],\n", " [-8.95058148e-04, 8.95058148e-04, 8.65518224e-03]]],\n", "\n", "\n", " [[[ 4.40243519e-03, -7.86267323e-04, 7.46626817e-03],\n", " [-7.86267323e-04, 4.40243519e-03, 7.46626817e-03],\n", " [ 7.46626817e-03, 7.46626817e-03, 1.87505791e-03]],\n", "\n", " [[ 3.82031823e-03, 1.31864165e-04, 9.26457597e-03],\n", " [ 1.31864165e-04, -4.34304104e-03, -2.95050844e-03],\n", " [ 9.26457597e-03, -2.95050844e-03, 2.59330404e-03]],\n", "\n", " [[-4.34304104e-03, 1.31864165e-04, -2.95050844e-03],\n", " [ 1.31864165e-04, 3.82031823e-03, 9.26457597e-03],\n", " [-2.95050844e-03, 9.26457597e-03, 2.59330404e-03]],\n", "\n", " ...,\n", "\n", " [[ 7.28656134e-03, 7.27856474e-04, 8.95058148e-04],\n", " [ 7.27856474e-04, -8.43844610e-03, -8.95058148e-04],\n", " [ 8.95058148e-04, -8.95058148e-04, 8.65518224e-03]],\n", "\n", " [[-8.43844610e-03, 7.27856474e-04, -8.95058148e-04],\n", " [ 7.27856474e-04, 7.28656134e-03, 8.95058148e-04],\n", " [-8.95058148e-04, 8.95058148e-04, 8.65518224e-03]],\n", "\n", " [[ 1.47901738e+01, -7.27856474e-04, 8.95058148e-04],\n", " [-7.27856474e-04, 1.47901738e+01, 8.95058148e-04],\n", " [ 8.95058148e-04, 8.95058148e-04, 1.47888052e+01]]]])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "calculation = Quasiparticle(trajectory)\n", "calculation.select_power_spectra_algorithm(2) # select FFT algorithm\n", "calculation.get_renormalized_phonon_dispersion_bands()\n", "renormalized_force_constants = calculation.get_renormalized_force_constants().get_array()\n", "renormalized_force_constants" ] }, { "cell_type": "markdown", "id": "2eb26d68-9d7e-45de-9b97-013a8e7e11bb", "metadata": {}, "source": [ "It calculates the re-normalized force constants which can then be used to calculate the finite temperature properties. " ] }, { "cell_type": "markdown", "id": "30bdcd29-a41b-4781-a2cd-6af0ba290883", "metadata": {}, "source": [ "In addition the [DynaPhoPy](https://abelcarreras.github.io/DynaPhoPy/) package can be used to directly compare the \n", "finite temperature phonon spectrum with the 0K phonon spectrum calulated with the finite displacement method: " ] }, { "cell_type": "code", "execution_count": 16, "id": "8d8239ad-30eb-4f7a-a5aa-91e5030fa74d", "metadata": {}, "outputs": [ { "data": { "image/png": "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HDx4UPR6vXzyySdy+vRpmTdvnri4uMi8efNM5y1Xrpx4enrKV199JWfPnpWzZ8/KvHnzxMHBQVq0aCGHDx+WHTt2SJEiRaRly5bStWtX+fvvv2X9+vXi6OgoS5cuNR1rzpw5smnTJjl//rzs3btXnnvuOXnxxRdNjwcHBwsgd+/eFRGRefPmiZeXl+nx8PBwCQ0NldDQULl69ao899xz0rRpUxERiY6OlieeeEL69+8vx48fl5MnT0rPnj2latWqEh8fLyIikydPFi8vL1m5cqWcPHlSBgwYIB4eHmav83/l1KrgeSK5mTFjhpQvX16cnJykbt268scff2R4X/Pkxihngv7KwUgVRckrrh67JYW5ZfpurKU7lvy3UUBkaI2t1g7R5uX15MbOzk7c3NzE2dk5+XsC+eabb0REpEyZMhIYGGi2z8SJE6Vhw4YikprczJ492/T433//LYCcOnVKRER69uwpLVq0MDvG6NGjpXr16qb75cqVk/bt25uVmTdvngBy7tw507bXX39dXF1d5f79+6ZtrVq1ktdffz3N57h//34BTPs8Lrl50LBhw6RcuXISHh4uIlriVLVqVTEajaYy8fHx4uLiIps3bxYRkRIlSsgXX3xhejwxMVFKly5tleTG3irVRZmwbNkyRowYwQ8//EDjxo2ZOXMmL774IidPnqRs2bKZOtbzHod5ooNaQ0pRFChVqwhLp/xFy3cKAzo8JaUjqY7iunCmHg2wZnh5l6srREVZ57yZFBAQwI8//khMTAyzZ8/mzJkzDB06lJs3b3LlyhUGDBjAwIEDTeWTkpLw8vIyO0atWqmjcEuUKAFAeHg41apV49SpU7Rr186sfOPGjZk6dSoGgwE7O61De/369R/xdFypVCl1WaDixYtTvnx53N3dzbY92Ox05MgRJkyYwNGjR7lz5w7G5Om3L1++TPXq1TP8usyaNYs5c+awe/duihXTpk44dOgQ586dw8PDw6xsXFwc58+fJyIigtDQUBo2bGh6zN7envr161ulacrmk5tvvvmGAQMG8L///Q+AqVOnsnnzZn788UcmTZqUiSPdZ95GD6Kjo8222tnZ4ezsbLr/38cfpNfrcXFxyVLZmJiYNP+DdTodrg98MDNTNjY21vQGfhQ3N7cslY2LizNry81OWVdXV1O7bXx8PElJSRYp6+Ligj55xFtCQgKJiYkWKevs7Gy66GSmbGJiYrqdAZ2cnLC3t8902aSkJOLj49Ms6+joiIODQ6bLGgwG4uLi0izr4OCAY/I8UJkpazQaiY2NtUhZe3t7nJycABARYmJiLFI25XPfYuRTjAzcwTeH6nOCikA0IKz46SKx8W4Qr64RaZWNi4sjJiYGo9GIwWAwvwY88LkA7f85vS84vV5v+txnuewj4k7vuCKCq6srFSpoEzZOmzaNF154gY8//tjUqXjmzJk888wzZse0s7MzO46dnZ3puae8domJiRgMhoeeR8prBZi9Xi4uLhgMBrN4HRwczMqIiNm2lLIpz+v+/fu0bNmSFi1asGDBAooVK8bly5dp06bNQ5/dlP+vlHgfPM+OHTsYOnQoS5YsoVatWmbx1q1bl19++cVUVqfTodfrKVasmOm5/ve9IFoLEUaj0XQNTrmfUt5oNBITE2Pa78FrRJZluq4nF8XHx4udnZ0EBQWZbR82bJg8//zzj9wnLi5OIiIiTLcrV66YqhsfdWvTpo3Z/q6urmmW9fPzMytbtGjRNMvWr1/frGy5cuXSLPtgFaWISPXq1dMsW65cObOy9evXT7Ns0aJFzcr6+fmlWdbV1dWsbJs2bdJ93R7UuXPndMtGPVBd3Ldv33TLplSBiogMHjw43bIXLlwwlR01alS6ZU+cOGEqO378+HTL7t+/31T2yy+/TLdscHCwqez333+fbtkNGzaYyqZUO6d1W758uans8uXL0y37YPv9hg0b0i37/fffm8qmVFGndfvyyy9NZVOqt9O6jR8/3lT2xIkT6ZYdNWqUqWxK1X5at8GDB5vKhoeHp1u2b9++prJRUVHplu3cubOpbFJ8Urpl1TVCuz3qGlGuXDn59ddf5cCBAw/dHnTu3LlHlkm5JSUlmcr++++/6ZZNSEgwlb148WK6ZePi4kxlL1++bPZY27Ztxc/Pz3Q/JiZGgoODxdnZWQ4dOiQ+Pj7y+uuvP/K4UVFRpvfuli1bTNu3b98ugPz0009y4MABadWqlQQEBJhiuHHjhvTp00cqVqxo2qdEiRLy9ttvy4EDB8yaizw9Pc3OOXDgQHniiSdM92/fvm3qN3T79m1ZuHChALJ+/XpTmY8//lgA2b59u4ikfua3b98uBw4ckI8++kjc3d1N5YOCgqRQoUIyYcIEERGJjIw0Pfb++++Lp6enBAcHm7aFhoaanltUVJQULVpUhg4danp87969Urx4cfHz85Nr166ZysbExJg9t19//dXs/Z9yjchOs5RNj5a6desWBoOB4sWLm20vXrw4YWFhj9xn0qRJeHl5mW5lyqgF7hRFSZudo93jCykFgr+/PzVq1GD69OmmUUtLlizh0qVLnDt3jnXr1rF48eIMH693797s2LGDiRMncubMGZYtW8by5cvp3bu3xWP39fXFwcGB5cuXc/XqVXbs2MGcOXMyvH9cXBwjR46kRo0aDBo0iLCwMG7cuMGtW7cAePHFF/H29mbUqFEcOXKEa9eusWfPHoYPH87Vq1cB6N69OwsWLCA4OJiLFy8yefJkoqzRRAnoRKw1Tuvxrl+/TqlSpdizZ49ZO95nn33GL7/8wj///PPQPvHx8WbV8pGRkZQpU4br16/j6en5UHlV5fzosqpZSjVLFYRmqRTR0dEsfG0zvtWK0vLdeo8tm5aCdo2IiYkhNDSU8uXLm71GQO43S2WybP/+/bl37x5BQUFmZQMDA3nttdc4ffo0u3btYsqUKZw8eRI3Nzdq1qzJ8OHD6dixI5cuXaJChQocOnSI2rVrA3Dv3j2KFi3K1q1b8ff3B2D16tWMHz+es2fPUqJECYYMGcI777xjiqNSpUoMGzaM4cOHm2KYP38+I0aM4Pbt26ZyH3/8MevWrePQoUOmeF977TXu3bvH6tWrMRqNLF26lA8++IDQ0FCefvpp3n33XTp06MChQ4eoW7cuISEhBAQEcOvWLby9vVmwYAEjR47k9u3bXLx4kcqVKz/ydUy5DoeFhfHee+/x66+/cv/+fUqVKkWzZs34+uuv8fDwICEhgTFjxjB//nz0ej39+vXj9u3bREREsHr16kc2S8XFxXHx4kVKlChh+vymXCMiIyPx8vIiIiLikd/f6bHp5CYhIQFXV1dWrFhBhw4dTNuHDx/O0aNH2bFjx2OPkZ0XR1EURUlbXFwcFy5coEKFCg8lN4qSEem9h7Lz/W3TzVKOjo7Uq1ePLVu2mG3fsmULjRo1slJUiqIoiqLYMpsfLTVy5Ej69OlD/fr1adiwIbNmzeLy5cu88cYb1g5NURRFURQbZPPJTbdu3bh9+zaffPIJoaGh1KxZk02bNlGuXDlrh6YoiqIoig2y+eQGYPDgwVZfzExRFEVRlLzBpvvcKIqiKLbPhselKDYup947KrlRFEVRsiRlWoH0ht0rSnpS3jsp7yVLyRPNUoqiKIrtsbOzw9vb27S+0YPzVClKelLmogoPD8fb29tsXiRLUMmNoiiKkmW+vr4AZgs4KkpGeXt7m95DlqSSG0VRFCXLdDodJUqUwMfHJ93ZvBXlvxwcHCxeY5NCJTeKoihKttnZ2eXYF5WiZJbqUKwoiqIoSr6ikhtFURRFUfIVldwoiqIoipKv5Ps+NykTBEVGRlo5EkVRFEVRMirlezsrE/3l++Tm9u3bAJQpU8bKkSiKoiiKklm3b9/Gy8srU/vk++SmcOHCAFy+fDnTL45iXZGRkZQpU4YrV67g6elp7XDM2HJsStao/1PrUq9/1uTn1y0iIoKyZcuavsczI98nN3q91q3Iy8sr3/3HFxSenp42+39ny7EpWaP+T61Lvf5Zk59ft5Tv8UztkwNxKIqiKIqiWI1KbhRFURRFyVfyfXLj5OTE+PHjcXJysnYoSibZ8v+dLcemZI36P7Uu9fpnTX5+3bLz3HSSlTFWiqIoiqIoNirf19woiqIoilKwqORGURRFUZR8RSU3iqIoiqLkKyq5URRFURQlX8m3yU2/fv3Q6XQP3fr162ft0JQ0GAwGGjVqRKdOncy2R0REUKZMGT744AMrRabkZ+paYV39+vWjffv21g7D5v300094eHiQlJRk2hYVFYWDgwNNmzY1K7tz5050Oh1nzpzJ7TCzzVLfA/k2uQFo3bo1oaGhZrdp06ZZOywlDXZ2dixYsIDffvuNxYsXm7YPHTqUwoUL89FHH+V4DP7+/owYMeKh7WvWrEGn05ltmz9/Ps8991ya+02bNg0nJycCAwNzKlzFQtS1QrF1AQEBREVFcfDgQdO2nTt34uvry4EDB4iJiTFtDwkJoWTJklSpUsUaoWaLpb4H8vXyC05OTvj6+lo7DCUTnnjiCSZNmsTQoUMJCAjgwIEDLF26lP379+Po6Gjt8MysW7eOdu3aPfKx8ePH89VXX7F69WratGmTy5EpmaWuFYqtq1q1KiVLliQkJMT0oyokJIR27doRHBzMnj17aN68uWl7QECANcPNFkt8D+Trmhslbxo6dCi1a9fm1VdfZdCgQXz00UfUqVPH2mGZiYuL4/fff+eVV14x2y4iDB06lGnTpvH777+rxEZRFIvx9/cnODjYdD84OBh/f3/8/PxM2xMSEti7d2+eTm4g+98D+brmRsmbdDodP/74I08++SRPPfUUY8eOtXZID9m2bRu+vr7UqFHDtC0pKYk+ffqwdetWduzYQe3ata0YoaIo+Y2/vz9vv/02SUlJxMbGcuTIEZ5//nkMBgPfffcdAPv27SM2NjbPJzfZ/R5QyY1ik+bOnYurqysXLlzg6tWrlC9f3tohmVm7du1DTVI///wzAMeOHaNatWrWCEtRlHwsICCA6OhoDhw4wN27d6lSpQo+Pj74+fnRp08foqOjCQkJoWzZslSsWNHa4WZbdr4HVLOUYnP27t3Lt99+y9q1a2nYsCEDBgzAllYJERHWr1//UJNUkyZNcHd354MPPjAb0aAoimIJlStXpnTp0gQHBxMcHIyfnx8Avr6+VKhQgd27dxMcHMwLL7xg5UizL7vfAyq5UWxKbGwsffv25fXXX6d58+bMnj2bAwcOMHPmzFw5v6enJxEREQ9tv3fvHp6engDs37+fhIQEmjRpYlbmqaeeYtu2bYSEhNC1a1cSExNzJWZFUQqOgIAAQkJCCAkJwd/f37Tdz8+PzZs3s2/fvjzfJGWJ7wGV3Cg2ZezYsRiNRiZPngxA2bJlmTJlCqNHj+bixYs5fv5q1aqZDbVMceDAAapWrQpoTVJt27bFzs7uoXJ16tRh+/bt7Nq1iy5duqgER1EyICIigqNHj5rdLl++bO2wbFJAQAC7du3i6NGjppob0JKbn3/+mbi4uDyf3Fjie0AlN4rN2LFjBzNmzGD+/Pm4ubmZtg8cOJBGjRrlSvPU4MGDOX/+PEOGDOHYsWOcOXOGGTNmMGfOHEaPHg2kPwQcoFatWgQHB7N37146d+5MQkJCjsasKHldSEgITz/9tNktN+a1yosCAgKIjY2lcuXKFC9e3LTdz8+P+/fvU6lSJcqUKWPFCLPHUt8DOrGlzgyKYgMOHTrEuHHjOHLkCHFxcVSpUoV33nmH7t27c/78eWrUqMGtW7dwd3c37ePv70+dOnWYOnWqadvJkydp1qwZ9evXZ9WqVTY3T4+iKEp+pZIbRcmEb775hq1bt7Jp0yZrh6IoiqKkQTVLKUomlC5dmvfee8/aYSiKoijpUDU3iqIoiqLkK6rmRlEURVGUfEUlN4qiKIqi5CsquVEURVEUJV9RyY2iKIqiKPmKSm4URVEURclXVHKjKIqiKEq+opIbRVEe8tNPP+Hh4WG2unlUVBQODg40bdrUrOzOnTvR6XScOXMmt8PMNf7+/owYMcLaYSiKkkEquVEU5SEBAQFERUWZLSK6c+dOfH19OXDgADExMabtISEhlCxZkipVqlgj1DxFrTOmKLlDJTeKojykatWqlCxZkpCQENO2kJAQ2rVrR6VKldizZ4/Z9pRViBctWkT9+vXx8PDA19eXnj17Eh4eDoDRaKR06dL89NNPZuc6fPgwOp2Of//9F9BWiB40aBA+Pj54enrywgsvcOzYsTRjbdiwIWPHjjXbdvPmTRwcHAgODga0pGLMmDGUKlUKNzc3nn32WbPnBrB79278/PxwdXWlUKFCtGrVirt379KvXz927NjBtGnT0Ol06HQ608rEO3bs4JlnnsHJyYkSJUowduxYs9ouf39/3nrrLUaOHEnRokVp0aJFBl59RVGySyU3iqI8kr+/vyk5AAgODsbf3x8/Pz+zpGHv3r2m5CYhIYGJEydy7Ngx1qxZw4ULF+jXrx8Aer2e7t27s3jxYrPzBAYG0rBhQypWrIiI0LZtW8LCwti0aROHDh2ibt26NGvWjDt37jwyzl69erFkyRKzlYKXLVtG8eLF8fPzA+C1115j9+7dLF26lOPHj9OlSxdat27N2bNnATh69CjNmjWjRo0a7N27l127dvHyyy9jMBiYNm0aDRs2ZODAgYSGhhIaGkqZMmW4du0abdq0oUGDBhw7dowff/yROXPm8Omnn5rFt2DBAuzt7dm9ezczZ87Mxv+IoigZJoqiKI8wa9YscXNzk8TERImMjBR7e3u5ceOGLF26VBo1aiQiIjt27BBAzp8//8hj7N+/XwC5f/++iIgcPnxYdDqdXLx4UUREDAaDlCpVSmbMmCEiItu2bRNPT0+Ji4szO06lSpVk5syZjzxHeHi42Nvbyx9//GHa1rBhQxk9erSIiJw7d050Op1cu3bNbL9mzZrJe++9JyIiPXr0kMaNG6f5Wvj5+cnw4cPNtr3//vtStWpVMRqNpm0zZswQd3d3MRgMpv3q1KmT5nEVRckZquZGUZRHCggIIDo6mgMHDrBz506qVKmCj48Pfn5+HDhwgOjoaEJCQihbtiwVK1YE4MiRI7Rr145y5crh4eGBv78/AJcvXwbg6aefplq1aixZsgTQmnXCw8Pp2rUrAIcOHSIqKooiRYrg7u5uul24cIHz588/Ms5ixYrRokULU43QhQsX2Lt3L7169QK0Zi8RoUqVKmbH3LFjh+mYKTU3mXHq1CkaNmyITqczbWvcuDFRUVFcvXrVtK1+/fqZOq6iKNlnb+0AFEWxTZUrV6Z06dIEBwdz9+5dUxOPr68vFSpUYPfu3QQHB/PCCy8AEB0dTcuWLWnZsiWLFi2iWLFiXL58mVatWpl1pO3VqxeBgYGMHTuWwMBAWrVqRdGiRQGtX06JEiUe6g8D4O3tnWasvXr1Yvjw4UyfPp3AwEBq1KhB7dq1Tce0s7Pj0KFD2NnZme3n7u4OgIuLS6ZfHxExS2xStgFm293c3DJ9bEVRskfV3CiKkqaAgABCQkIICQkx1cIA+Pn5sXnzZvbt22fqb/PPP/9w69YtvvjiC5o2bUq1atVMnYkf1LNnT/766y8OHTrEypUrTTUsAHXr1iUsLAx7e3sqV65sdktJgB6lffv2xMXF8dtvvxEYGEjv3r1Njz399NMYDAbCw8MfOqavry8AtWrVYtu2bWke39HREYPBYLatevXq7Nmzx6yvz549e/Dw8KBUqVJpHktRlFxg3VYxRVFs2dy5c8XFxUXs7e0lLCzMtH3RokXi4eEhgFy+fFlEtL4vjo6OMnr0aDl//rysXbtWqlSpIoAcOXLE7LiNGjWS2rVri7u7u8TExJi2G41GadKkidSuXVt+++03uXDhguzevVvGjRsnBw4cSDfWnj17Su3atUWn08mlS5fMHuvVq5eUL19eVq1aJf/++6/s379fvvjiC9m4caOIiJw+fVocHR3lzTfflGPHjsmpU6fkhx9+kJs3b4qIyMCBA6VBgwZy4cIFuXnzphgMBrl69aq4urrKkCFD5NSpU7JmzRopWrSojB8/3nTeR/XVURQl56nkRlGUNF24cEEAqVatmtn2K1euCCCVKlUy2x4YGCjly5cXJycnadiwoaxbt+6Ryc2MGTMEkFdfffWhc0ZGRsrQoUOlZMmS4uDgIGXKlJFevXqZkqi0bNy4UQB5/vnnH3osISFBPvroIylfvrw4ODiIr6+vdOjQQY4fP24qExISIo0aNRInJyfx9vaWVq1ayd27d0VES36ee+45cXFxEUAuXLhg2qdBgwbi6Ogovr6+8u6770piYqLpmCq5URTr0Ik8UKeqKIqiKIqSx6k+N4qiKIqi5CsquVEURVEUJV9RyY2iKIqiKPmKSm4URVEURclXVHKjKIqiKEq+opIbRVEURVHyFZXcKIqiKIqSr6jkRlEURVGUfEUlN4qiKIqi5CsquVEURVEUJV9RyY2iKIqiKPnK/wHv71mN9k0UPAAAAABJRU5ErkJggg==", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "calculation.plot_renormalized_phonon_dispersion_bands()" ] }, { "cell_type": "markdown", "id": "c5bada5c-706c-4d5c-9141-1d6bd146d445", "metadata": {}, "source": [ "### Langevin Thermostat \n", "In addition to the molecular dynamics implemented in the LAMMPS simulation code, the `atomistics` package also provides\n", "the `LangevinWorkflow` which implements molecular dynamics independent of the specific simulation code. \n" ] }, { "cell_type": "code", "execution_count": 17, "id": "fa69a7f8-940a-4fb9-aae3-1ac68d4255f2", "metadata": {}, "outputs": [], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import evaluate_with_lammps_library, get_potential_by_name\n", "from atomistics.workflows import LangevinWorkflow\n", "from pylammpsmpi import LammpsASELibrary\n", "\n", "steps = 300\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "workflow = LangevinWorkflow(\n", " structure=bulk(\"Al\", cubic=True).repeat([2, 2, 2]), \n", " temperature=1000.0,\n", " overheat_fraction=2.0,\n", " damping_timescale=100.0,\n", " time_step=1,\n", ")\n", "lmp = LammpsASELibrary(\n", " working_directory=None,\n", " cores=1,\n", " comm=None,\n", " logger=None,\n", " log_file=None,\n", " library=None,\n", " diable_log_file=True,\n", ")\n", "eng_pot_lst, eng_kin_lst = [], []\n", "for i in range(steps):\n", " task_dict = workflow.generate_structures()\n", " result_dict = evaluate_with_lammps_library(\n", " task_dict=task_dict,\n", " potential_dataframe=potential_dataframe,\n", " lmp=lmp,\n", " )\n", " eng_pot, eng_kin = workflow.analyse_structures(output_dict=result_dict)\n", " eng_pot_lst.append(eng_pot)\n", " eng_kin_lst.append(eng_kin)\n", "lmp.close()" ] }, { "cell_type": "markdown", "id": "d77f71c6-7afd-496d-a3bf-db517623d159", "metadata": {}, "source": [ "The advantage of this implementation is that the user can directly interact with the simulation between the individual\n", "molecular dynamics simulation steps. This provides a lot of flexibility to prototype new simulation methods. The input\n", "parameters of the `LangevinWorkflow` are:\n", "\n", "* `structure` the `ase.atoms.Atoms` object which is used as initial structure for the molecular dynamics calculation \n", "* `temperature` the temperature of the molecular dynamics calculation given in Kelvin\n", "* `overheat_fraction` the over heating fraction of the Langevin thermostat\n", "* `damping_timescale` the damping timescale of the Langevin thermostat \n", "* `time_step` the time steps of the Langevin thermostat\n" ] }, { "cell_type": "markdown", "id": "6944d8c5-718d-4d87-956c-d456c151c331", "metadata": {}, "source": [ "## Harmonic Approximation \n", "The harmonic approximation is implemented in two variations, once with constant volume and once including the volume \n", "expansion at finite temperature also known as quasi-harmonic approximation. Both of these are based on the [phonopy](https://phonopy.github.io/phonopy/)\n", "package. " ] }, { "cell_type": "markdown", "id": "4f699026-d1a8-47a3-b354-6c8572550a50", "metadata": {}, "source": [ "### Phonons \n", "To calculate the phonons at a fixed volume the `PhonopyWorkflow` is used:" ] }, { "cell_type": "code", "execution_count": 18, "id": "7ac74f80-d613-4a96-b841-5a2973b949a9", "metadata": {}, "outputs": [], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import evaluate_with_lammps, get_potential_by_name\n", "from atomistics.workflows import PhonopyWorkflow\n", "from phonopy.units import VaspToTHz\n", "\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "workflow = PhonopyWorkflow(\n", " structure=bulk(\"Al\", cubic=True), \n", " interaction_range=10,\n", " factor=VaspToTHz,\n", " displacement=0.01,\n", " dos_mesh=20,\n", " primitive_matrix=None,\n", " number_of_snapshots=None,\n", ")\n", "task_dict = workflow.generate_structures()\n", "result_dict = evaluate_with_lammps(\n", " task_dict=task_dict,\n", " potential_dataframe=potential_dataframe,\n", ")\n", "phonopy_dict = workflow.analyse_structures(output_dict=result_dict)" ] }, { "cell_type": "markdown", "id": "0528bcb2-55ea-4df0-a0b6-71c99dbd9f57", "metadata": {}, "source": [ "The `PhonopyWorkflow` takes the following inputs: \n", "\n", "* `structure` the `ase.atoms.Atoms` object to calculate the phonon spectrum\n", "* `interaction_range` the cutoff radius to consider for identifying the interaction between the atoms\n", "* `factor` conversion factor, typically just `phonopy.units.VaspToTHz` \n", "* `displacement` displacement to calculate the forces \n", "* `dos_mesh` mesh for the density of states \n", "* `primitive_matrix` primitive matrix\n", "* `number_of_snapshots` number of snapshots to calculate\n", "\n", "In addition to the phonon properties, the `PhonopyWorkflow` also enables the calculation of thermal properties: " ] }, { "cell_type": "code", "execution_count": 19, "id": "467a9752-e842-43ef-9233-96663b7086dd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'temperatures': array([1.000e+00, 5.100e+01, 1.010e+02, 1.510e+02, 2.010e+02, 2.510e+02,\n", " 3.010e+02, 3.510e+02, 4.010e+02, 4.510e+02, 5.010e+02, 5.510e+02,\n", " 6.010e+02, 6.510e+02, 7.010e+02, 7.510e+02, 8.010e+02, 8.510e+02,\n", " 9.010e+02, 9.510e+02, 1.001e+03, 1.051e+03, 1.101e+03, 1.151e+03,\n", " 1.201e+03, 1.251e+03, 1.301e+03, 1.351e+03, 1.401e+03, 1.451e+03,\n", " 1.501e+03]), 'free_energy': array([ 0.14914132, 0.14837894, 0.13954171, 0.11738723, 0.08264779,\n", " 0.03712237, -0.01759836, -0.08025513, -0.14986079, -0.22563203,\n", " -0.30693668, -0.39325592, -0.48415731, -0.57927552, -0.67829812,\n", " -0.78095507, -0.88701079, -0.99625805, -1.10851315, -1.22361223,\n", " -1.3414082 , -1.46176834, -1.58457228, -1.70971039, -1.8370824 ,\n", " -1.96659625, -2.09816715, -2.23171671, -2.3671723 , -2.5044664 ,\n", " -2.64353611]), 'entropy': array([1.10363972e-08, 5.98829810e+00, 2.96478195e+01, 5.54593816e+01,\n", " 7.80099308e+01, 9.71787932e+01, 1.13608521e+02, 1.27894607e+02,\n", " 1.40492150e+02, 1.51738264e+02, 1.61883985e+02, 1.71119149e+02,\n", " 1.79589851e+02, 1.87410480e+02, 1.94672040e+02, 2.01447985e+02,\n", " 2.07798389e+02, 2.13772961e+02, 2.19413270e+02, 2.24754417e+02,\n", " 2.29826293e+02, 2.34654555e+02, 2.39261386e+02, 2.43666089e+02,\n", " 2.47885561e+02, 2.51934678e+02, 2.55826598e+02, 2.59573021e+02,\n", " 2.63184393e+02, 2.66670075e+02, 2.70038493e+02]), 'heat_capacity': array([1.78544597e-07, 1.73410821e+01, 5.37349237e+01, 7.35976295e+01,\n", " 8.34733324e+01, 8.87978444e+01, 9.19287453e+01, 9.39060819e+01,\n", " 9.52277477e+01, 9.61520364e+01, 9.68225162e+01, 9.73237288e+01,\n", " 9.77079209e+01, 9.80087218e+01, 9.82485402e+01, 9.84427587e+01,\n", " 9.86022130e+01, 9.87347097e+01, 9.88459861e+01, 9.89403338e+01,\n", " 9.90210141e+01, 9.90905402e+01, 9.91508741e+01, 9.92035655e+01,\n", " 9.92498509e+01, 9.92907269e+01, 9.93270039e+01, 9.93593459e+01,\n", " 9.93883017e+01, 9.94143276e+01, 9.94378055e+01]), 'volumes': array([66.430125, 66.430125, 66.430125, 66.430125, 66.430125, 66.430125,\n", " 66.430125, 66.430125, 66.430125, 66.430125, 66.430125, 66.430125,\n", " 66.430125, 66.430125, 66.430125, 66.430125, 66.430125, 66.430125,\n", " 66.430125, 66.430125, 66.430125, 66.430125, 66.430125, 66.430125,\n", " 66.430125, 66.430125, 66.430125, 66.430125, 66.430125, 66.430125,\n", " 66.430125])}\n" ] } ], "source": [ "tp_dict = workflow.get_thermal_properties(\n", " t_min=1, \n", " t_max=1500, \n", " t_step=50, \n", " temperatures=None,\n", " cutoff_frequency=None,\n", " pretend_real=False,\n", " band_indices=None,\n", " is_projection=False,\n", ")\n", "print(tp_dict)" ] }, { "cell_type": "markdown", "id": "d8c4ac48-293a-45f9-bf77-cca3cc275e52", "metadata": {}, "source": [ "The calculation of the thermal properties takes additional inputs: \n", "\n", "* `t_min` minimum temperature\n", "* `t_max` maximum temperature\n", "* `t_step` temperature step \n", "* `temperatures` alternative to `t_min`, `t_max` and `t_step` the array of temperatures can be defined directly\n", "* `cutoff_frequency` cutoff frequency to exclude the contributions of frequencies below a certain cut off\n", "* `pretend_real` use the absolute values of the phonon frequencies\n", "* `band_indices` select bands based on their indices \n", "* `is_projection` multiplies the squared eigenvectors - not recommended\n", "\n", "Furthermore, also the dynamical matrix can be directly calculated with the `PhonopyWorkflow`:\n" ] }, { "cell_type": "code", "execution_count": 20, "id": "0856938b-b1cd-40ce-95b7-4605f10ee7a4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(None, dtype=object)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mat = workflow.get_dynamical_matrix()\n", "mat" ] }, { "cell_type": "markdown", "id": "93bc3fbe-fe43-42d4-aaf9-12ef9994e923", "metadata": {}, "source": [ "Or alternatively the hesse matrix:" ] }, { "cell_type": "code", "execution_count": 21, "id": "c3154b6d-50c1-4327-b7cc-00f48b31fd37", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 4.50127147e-02, -1.92714960e-33, 8.52306995e-33, ...,\n", " -6.63514216e-05, 8.82979633e-06, 5.93920137e-05],\n", " [-5.07378488e-34, 4.50127147e-02, 5.07378488e-34, ...,\n", " 8.82979633e-06, -6.63514216e-05, 5.93920137e-05],\n", " [ 5.07378488e-34, -5.07378488e-34, 4.50127147e-02, ...,\n", " 5.93659141e-05, 5.93659141e-05, 1.73512126e-05],\n", " ...,\n", " [-6.63514216e-05, 8.82979633e-06, 5.93920137e-05, ...,\n", " 4.50127147e-02, -1.92714960e-33, 8.52306995e-33],\n", " [ 8.82979633e-06, -6.63514216e-05, 5.93920137e-05, ...,\n", " -5.07378488e-34, 4.50127147e-02, 5.07378488e-34],\n", " [ 5.93659141e-05, 5.93659141e-05, 1.73512126e-05, ...,\n", " 5.07378488e-34, -5.07378488e-34, 4.50127147e-02]])" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mat = workflow.get_hesse_matrix()\n", "mat" ] }, { "cell_type": "markdown", "id": "ebc0a064-af95-42e4-854e-67bdb1065ac6", "metadata": {}, "source": [ "Finally, also the function to calculate the band structure is directly available on the `PhonopyWorkflow`: " ] }, { "cell_type": "code", "execution_count": 22, "id": "a9655fa5-bf39-47f2-ae30-0450b40bf252", "metadata": {}, "outputs": [], "source": [ "band_structure = workflow.get_band_structure(\n", " npoints=101, \n", " with_eigenvectors=False, \n", " with_group_velocities=False\n", ")" ] }, { "cell_type": "markdown", "id": "e8d2dcce-a5c6-4301-8c0e-bf0ca11043e9", "metadata": {}, "source": [ "This band structure can also be visualised using the built-in plotting function: " ] }, { "cell_type": "code", "execution_count": 23, "id": "4ad1f1e4-9496-4e99-afa0-fd67c72c26f4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<Axes: title={'center': 'Bandstructure'}, xlabel='Bandpath', ylabel='Frequency [THz]'>" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "workflow.plot_band_structure()" ] }, { "cell_type": "markdown", "id": "ae251474-875a-4af2-9290-74e9785490cd", "metadata": {}, "source": [ "Just like the desnsity of states which can be plotted using:" ] }, { "cell_type": "code", "execution_count": 24, "id": "82da60b3-3930-4ff1-879e-65895112aecb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<Axes: title={'center': 'Phonon DOS vs Energy'}, xlabel='Frequency [THz]', ylabel='DOS'>" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABz+ElEQVR4nO3deXhTdfY/8HeWNt13utEWWpayyo6WHcEiKIiow7iCjuMXd+0wKurMOPob66COjKIwjAgyuKCDC64DyibKvsu+tLSULnRNm7ZJk9zfH8m9bejeJrm56fv1PH0em9ykn4banJ5zPuejEgRBABEREZGXUMu9ACIiIiJnYnBDREREXoXBDREREXkVBjdERETkVRjcEBERkVdhcENERERehcENEREReRUGN0RERORVGNwQERGRV2FwQ+Qiq1evhkqlkj60Wi0SEhJw7733Ii8vr9F1+/btk3G1rrV161aH18LX1xfdunXD2LFj8dxzz+HChQvNPnbXrl247bbbEBcXB19fX8TGxuLWW2/Fzp07m7x+9+7duPnmm5GUlASdToeYmBikpaXhD3/4g6u+vTabP3++w+tw5QcROYdW7gUQebtVq1ahX79+qKmpwfbt25GZmYlt27bh6NGjCAwMlHt5bvXyyy9j8uTJsFgsKCkpwe7du/Hee+/hjTfewL///W/ceeedDte/9dZbeOKJJzB69GgsXrwYPXr0QE5ODt5++22MGzcO//znP/HII49I13/zzTeYNWsWJk2ahMWLFyMuLg75+fnYt28fPv74Y7z++uvu/pYb8ff3x+bNm+VeBpF3E4jIJVatWiUAEPbu3etw+5/+9CcBgLB27doWr/MmW7ZsEQAIn376aaP7SkpKhGHDhglarVY4cuSIdPuOHTsEtVot3HjjjUJdXZ3DY+rq6oQbb7xRUKvVwo4dO6TbJ0yYIPTq1avR9YIgCBaLxYnfUcfMmzdPCAwMlHsZEoPBIPcSiFyCZSkiN7vmmmsAoFEpprKyEg8++CCioqIQGRmJOXPm4NKlSw7XWK1WLF68GP369YNOp0N0dDTuueceXLx40eG6SZMmYdCgQdi7dy/Gjx+PgIAApKSk4JVXXoHVanW4NicnB3fddReio6Oh0+nQv39/vP766w7XZWdnQ6VS4bXXXsM//vEPJCcnIygoCGlpadi1a1enXo+IiAj861//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dgKVIAiCTHEVERERkdOx54aIiIi8CoMbIiIi8ioMboiIiMirMLghIiIir8LghoiIiLwKgxsiIiLyKgxuiIiIyKswuCEiasX8+fOhUqmgUqnwxRdfdLmvT6Q0DG6IuqCGb5YNPxqOaSdH119/PfLz8zF9+nSsXr26ydev4cfWrVuxevVqhIWFNfl87QlU/vnPfyI/P9953wyRl+PZUkRd1PXXX49Vq1Y53NatW7dG15lMJvj6+rprWR5Lp9NJpyjPnTsX119/vXTfnDlzMGjQILz44ovSbREREcjOznbK1w4NDUVoaKhTnouoK2DmhqiLEt+sG35oNBpMmjQJjzzyCDIyMhAVFYXrrrsOAHD8+HHMmDEDQUFBiImJwd13343i4mLp+QwGA+655x4EBQUhLi4Or7/+OiZNmoQnnnhCuqapbEVYWBhWr14tfZ6Xl4e5c+ciPDwckZGRuOmmmxyChPnz52P27Nl47bXXEBcXh8jISDz88MOoq6uTrjEajXjqqaeQmJgInU6HPn36YOXKlRAEAb1798Zrr73msIZff/0VarUa586da9Nr5+/v7/C6+fr6IiAgoNFtbfXCCy80mf1p+LoQUdsxuCGiRt5//31otVr8/PPP+Ne//oX8/HxMnDgRQ4cOxb59+/D999+jsLAQv/nNb6TH/PGPf8SWLVvw+eefY+PGjdi6dSv279/frq9bXV2NyZMnIygoCNu3b8eOHTsQFBSE66+/HiaTSbpuy5YtOHfuHLZs2YL3338fq1evdggE7rnnHnz88cd48803ceLECSxfvhxBQUFQqVS47777GmWs3nvvPYwfPx69evXq2AvWSQsXLkR+fr708dprryEgIAAjR46UZT1ESseyFFEX9fXXXyMoKEj6fPr06fj0008BAL1798bixYul+/785z9j+PDhePnll6Xb3nvvPSQmJuL06dOIj4/HypUrsWbNGinT8/777yMhIaFda/r444+hVqvx7rvvQqVSAQBWrVqFsLAwbN26Fenp6QCA8PBwLF26FBqNBv369cMNN9yAH3/8Eb///e9x+vRpfPLJJ9i0aROmTp0KAEhJSZG+xr333os///nP2LNnD0aPHo26ujqsXbsWr776arvW2lYVFRUOr3NTgoKCpGt27dqF559/Hu+//z4GDRrkkjUReTsGN0Rd1OTJk7Fs2TLp88DAQOm/r8wY7N+/H1u2bGnyTfrcuXOoqamByWRCWlqadHtERARSU1Pbtab9+/fj7NmzCA4Odri9trbWoWQ0cOBAaDQa6fO4uDgcPXoUAHDo0CFoNBpMnDixya8RFxeHG264Ae+99x5Gjx6Nr7/+GrW1tbjtttvatda2Cg4OxoEDBxrd3qdPn0a35eTkYPbs2Vi4cKFDVoyI2ofBDVEXFRgYiN69ezd7X0NWqxUzZ87E3//+90bXxsXF4cyZM236miqVCoIgONzWsFfGarVixIgR+OCDDxo9tmGzs4+PT6PntVqtAGz9MK25//77cffdd+ONN97AqlWrMHfuXAQEBLTpe2gvtVrd7OvckMFgwKxZs5CWlubQmExE7cfghohaNXz4cKxfvx49e/aEVtv410bv3r3h4+ODXbt2ISkpCQBQVlaG06dPO2RQunXr5rCl+cyZM6iurnb4OuvWrUN0dDRCQkI6tNbBgwfDarVi27ZtUlnqSjNmzEBgYCCWLVuG7777Dtu3b+/Q13IWQRBw1113wWq14j//+Y9UkiOijmFDMRG16uGHH0ZpaSluv/127NmzB+fPn8fGjRtx3333wWKxICgoCL/73e/wxz/+ET/++CN+/fVXzJ8/H2q146+Ya6+9FkuXLsWBAwewb98+LFiwwCELc+eddyIqKgo33XQTfvrpJ2RlZWHbtm14/PHHcfHixTattWfPnpg3bx7uu+8+fPHFF8jKysLWrVvxySefSNdoNBrMnz8fixYtQu/evR3KaXJ44YUX8MMPP+Bf//oXqqqqUFBQgIKCAtTU1Mi6LiKlYnBDRK2Kj4/Hzz//DIvFgmnTpmHQoEF4/PHHERoaKgUwr776KiZMmIBZs2Zh6tSpGDduHEaMGOHwPK+//joSExMxYcIE3HHHHVi4cKFDOSggIADbt29HUlIS5syZg/79++O+++5DTU1NuzI5y5Ytw6233oqHHnoI/fr1w+9//3sYDAaHa373u9/BZDLhvvvu68Qr4xzbtm1DVVUVxowZg7i4OOlj3bp1ci+NSJFUwpUFcCIiJ5k0aRKGDh2KJUuWyL2URn7++WdMmjQJFy9eRExMTIvXzp8/H+Xl5bIffaBSqfD5559j9uzZsq6DyNMxc0NEXYrRaMTZs2fxpz/9Cb/5zW9aDWxE4tb5r7/+2sUrbGzBggWtbicnonrM3BCRy3hi5mb16tX43e9+h6FDh2LDhg3o3r17q48pKiqCXq8HYNsdduVuMleT++sTKQ2DGyIiIvIqLEsRERGRV2FwQ0RERF6FwQ0RERF5FQY3RERE5FUY3BAREZFXYXBDREREXoXBDREREXkVBjdERETkVRjcEBERkVf5/zo08WksLTeaAAAAAElFTkSuQmCC", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "workflow.plot_dos()" ] }, { "cell_type": "markdown", "id": "93e6fb35-cc50-4235-9885-406c41c6a486", "metadata": {}, "source": [ "### Quasi-harmonic Approximation \n", "To include the volume expansion with finite temperature the `atomistics` package implements the `QuasiHarmonicWorkflow`:" ] }, { "cell_type": "code", "execution_count": 25, "id": "9387e3aa-b349-49a9-b7b9-0ac1d7f209d5", "metadata": {}, "outputs": [], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import evaluate_with_lammps, get_potential_by_name\n", "from atomistics.workflows import QuasiHarmonicWorkflow\n", "\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "workflow = QuasiHarmonicWorkflow(\n", " structure=bulk(\"Al\", cubic=True), \n", " num_points=11,\n", " vol_range=0.05,\n", " interaction_range=10,\n", " factor=VaspToTHz,\n", " displacement=0.01,\n", " dos_mesh=20,\n", " primitive_matrix=None,\n", " number_of_snapshots=None,\n", ")\n", "task_dict = workflow.generate_structures()\n", "result_dict = evaluate_with_lammps(\n", " task_dict=task_dict,\n", " potential_dataframe=potential_dataframe,\n", ")\n", "fit_dict = workflow.analyse_structures(output_dict=result_dict)" ] }, { "cell_type": "markdown", "id": "b5167f8d-c90f-4bf0-a7c0-fd4dfdd35667", "metadata": {}, "source": [ "The `QuasiHarmonicWorkflow` is a combination of the `EnergyVolumeCurveWorkflow` and the `PhonopyWorkflow`. Consequently, \n", "the inputs are a superset of the inputs of these two workflows. " ] }, { "cell_type": "markdown", "id": "169ddaf9-7f5d-4126-babf-9f2de3793128", "metadata": {}, "source": [ "Based on the `QuasiHarmonicWorkflow` the thermal properties can be calculated:" ] }, { "cell_type": "code", "execution_count": 26, "id": "07cc0818-15a8-4508-ba97-c3a95eaa72b1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'temperatures': array([1.000e+00, 5.100e+01, 1.010e+02, 1.510e+02, 2.010e+02, 2.510e+02,\n", " 3.010e+02, 3.510e+02, 4.010e+02, 4.510e+02, 5.010e+02, 5.510e+02,\n", " 6.010e+02, 6.510e+02, 7.010e+02, 7.510e+02, 8.010e+02, 8.510e+02,\n", " 9.010e+02, 9.510e+02, 1.001e+03, 1.051e+03, 1.101e+03, 1.151e+03,\n", " 1.201e+03, 1.251e+03, 1.301e+03, 1.351e+03, 1.401e+03, 1.451e+03,\n", " 1.501e+03]), 'free_energy': array([ 0.1490366 , 0.14826761, 0.13934538, 0.11699115, 0.08193384,\n", " 0.03597288, -0.01929866, -0.08261783, -0.15299316, -0.22963661,\n", " -0.31191108, -0.39929276, -0.49134426, -0.58769537, -0.68802891,\n", " -0.7920703 , -0.89957955, -1.01034525, -1.12417973, -1.24091537,\n", " -1.36040152, -1.48250213, -1.6070937 , -1.73406366, -1.86330899,\n", " -1.99473507, -2.12825469, -2.26378725, -2.40125802, -2.54059753,\n", " -2.68174106]), 'entropy': array([1.36944221e-05, 5.98139595e+00, 2.96871756e+01, 5.55859383e+01,\n", " 7.82416454e+01, 9.75225732e+01, 1.14066300e+02, 1.28465948e+02,\n", " 1.41175404e+02, 1.52531113e+02, 1.62783732e+02, 1.72122876e+02,\n", " 1.80694518e+02, 1.88612990e+02, 1.95969277e+02, 2.02836853e+02,\n", " 2.09275827e+02, 2.15335964e+02, 2.21058900e+02, 2.26479810e+02,\n", " 2.31628669e+02, 2.36531221e+02, 2.41209738e+02, 2.45683613e+02,\n", " 2.49969835e+02, 2.54083369e+02, 2.58037467e+02, 2.61843913e+02,\n", " 2.65513240e+02, 2.69054894e+02, 2.72477381e+02]), 'heat_capacity': array([6.93153576e-05, 1.73540236e+01, 5.38037703e+01, 7.36871467e+01,\n", " 8.35644373e+01, 8.88841670e+01, 9.20085314e+01, 9.39792226e+01,\n", " 9.52946943e+01, 9.62133949e+01, 9.68788949e+01, 9.73756860e+01,\n", " 9.77559502e+01, 9.80532531e+01, 9.82899461e+01, 9.84813617e+01,\n", " 9.86382928e+01, 9.87685099e+01, 9.88777194e+01, 9.89701870e+01,\n", " 9.90491514e+01, 9.91171071e+01, 9.91759998e+01, 9.92273650e+01,\n", " 9.92724271e+01, 9.93121723e+01, 9.93474015e+01, 9.93787710e+01,\n", " 9.94068222e+01, 9.94320052e+01, 9.94546965e+01]), 'volumes': [66.7171076313667, 66.72177243343418, 66.75880349778612, 66.82252096053044, 66.89849531395458, 66.9796341067605, 67.06260761039168, 67.14571326277367, 67.22800273919441, 67.30891229729374, 67.38809258770314, 67.46532342705305, 67.5404676964542, 67.61344459222596, 67.6842130824627, 67.75276107005782, 67.81909792596628, 67.88324911963028, 67.94525222117329, 68.00515384392953, 68.06300725960926, 68.11887051273405, 68.17280491720088, 68.22487385247723, 68.27514179905809, 68.32367356749006, 68.37053368537661, 68.41578591403304, 68.45949287183225, 68.50171574542424, 68.54251407326704]}\n" ] } ], "source": [ "tp_dict = workflow.get_thermal_properties(\n", " t_min=1, \n", " t_max=1500, \n", " t_step=50, \n", " temperatures=None,\n", " cutoff_frequency=None,\n", " pretend_real=False,\n", " band_indices=None,\n", " is_projection=False,\n", " quantum_mechanical=True,\n", ")\n", "print(tp_dict)" ] }, { "cell_type": "markdown", "id": "1fb5c6e3-83a4-4503-a0f1-4958ebc6361c", "metadata": {}, "source": [ "This requires the same inputs as the calculation of the thermal properties `get_thermal_properties()` with the \n", "`PhonopyWorkflow`. The additional parameter `quantum_mechanical` specifies whether the classical harmonic oscillator or \n", "the quantum mechanical harmonic oscillator is used to calculate the free energy. " ] }, { "cell_type": "markdown", "id": "3e6cc3bd-5f7c-4462-8083-5111dc5d4577", "metadata": {}, "source": [ "And finally also the thermal expansion can be calculated:" ] }, { "cell_type": "code", "execution_count": 27, "id": "76426cc0-38c8-480e-9fd1-fbcb41c8afec", "metadata": {}, "outputs": [], "source": [ "temperatures, volumes = workflow.get_thermal_expansion(\n", " output_dict=result_dict, \n", " t_min=1, \n", " t_max=1500, \n", " t_step=50, \n", " temperatures=None,\n", " cutoff_frequency=None,\n", " pretend_real=False,\n", " band_indices=None,\n", " is_projection=False,\n", " quantum_mechanical=True,\n", ")" ] }, { "cell_type": "markdown", "id": "3cf34091-d7f5-464a-b386-9b81c1fa853a", "metadata": {}, "source": [ "## Structure Optimization \n", "In analogy to the molecular dynamics calculation also the structure optimization could in principle be defined inside \n", "the simulation code or on the python level. Still currently the `atomistics` package only supports the structure \n", "optimization defined inside the simulation codes. " ] }, { "cell_type": "markdown", "id": "e58b5d2e-8839-48c6-b72e-0fa09ace20ce", "metadata": {}, "source": [ "### Volume and Positions \n", "To optimize both the volume of the supercell as well as the positions inside the supercell the `atomistics` package\n", "implements the `optimize_positions_and_volume()` workflow:" ] }, { "cell_type": "code", "execution_count": 28, "id": "a7f38a78-11b9-41c2-82c9-7c30b3a9b005", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Atoms(symbols='Al4', pbc=True, cell=[[4.05000466219724, 2.4799126230458533e-16, 2.4799126230458533e-16], [0.0, 4.05000466219724, 2.4799126230458533e-16], [0.0, 0.0, 4.05000466219724]])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import evaluate_with_lammps, get_potential_by_name\n", "from atomistics.workflows import optimize_positions_and_volume\n", "\n", "structure = bulk(\"Al\", a=4.0, cubic=True)\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "result_dict = evaluate_with_lammps(\n", " task_dict=optimize_positions_and_volume(structure=structure),\n", " potential_dataframe=potential_dataframe,\n", ")\n", "structure_opt = result_dict[\"structure_with_optimized_positions_and_volume\"]\n", "structure_opt" ] }, { "cell_type": "markdown", "id": "c375f310-78c2-426a-8f77-669e9bec855f", "metadata": {}, "source": [ "The result is the optimized atomistic structure as part of the result dictionary. " ] }, { "cell_type": "markdown", "id": "6d4ef070-f0f1-4f56-afff-ff6322d3729a", "metadata": {}, "source": [ "### Positions \n", "The optimization of the positions inside the supercell without the optimization of the supercell volume is possible with\n", "the `optimize_positions()` workflow:" ] }, { "cell_type": "code", "execution_count": 29, "id": "9a50125b-a97a-4445-b140-b8019c035902", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Atoms(symbols='Al4', pbc=True, cell=[4.0, 4.0, 4.0])" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from ase.build import bulk\n", "from atomistics.calculators import evaluate_with_lammps, get_potential_by_name\n", "from atomistics.workflows import optimize_positions\n", "\n", "structure = bulk(\"Al\", a=4.0, cubic=True)\n", "potential_dataframe = get_potential_by_name(\n", " potential_name='1999--Mishin-Y--Al--LAMMPS--ipr1'\n", ")\n", "result_dict = evaluate_with_lammps(\n", " task_dict=optimize_positions(structure=structure),\n", " potential_dataframe=potential_dataframe,\n", ")\n", "structure_opt = result_dict[\"structure_with_optimized_positions\"]\n", "structure_opt" ] }, { "cell_type": "markdown", "id": "d027161c-abd3-4267-a10f-cb404c3ebbfd", "metadata": {}, "source": [ "The result is the optimized atomistic structure as part of the result dictionary. " ] }, { "cell_type": "code", "execution_count": null, "id": "a84ef4fc-a9a7-4386-921f-7b77af81a166", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.6" } }, "nbformat": 4, "nbformat_minor": 5 }