How to get the POSCAR file that Materials Project used for calculating the properties?

Hi everyone.
Recently I was using pymatgen and MPI conducting some VASP calculations. I used the method get_structure_by_material_id to get the structure of a certain metal but it seemed the structure I got by this method is different from the POSCAR file downloaded from the the Materials Project websites(see pic below).

image

Take Ir (mp-101) as an example, I used the code below to generate POSCAR file for VASP calculation:

with MPRester() as mpr:
    material = mpr.get_data('Ir')
    for item in material:
        if item['formation_energy_per_atom'] == 0.0:
            print(item['material_id'])    # result is 'mp-101'
            struc = mpr.get_structure_by_material_id(item['material_id'])
            struc.to(fmt='poscar', filename='POSCAR')

I got the one single atom Ir structure by this way, which is different from the POSCAR file downloaded from the Materials Project (four Ir atoms structure )

How could I get the POSCAR file (or the structure that could produce the same POSCAR ) that Materials Project used for calculating the properties? Any clue would be appreciated!

Hi @Steven_Chu, you can use struc.get_primitive_structure() to express the same crystal structure in its primitive setting (1 atom/cell). Both representations are equivalent.

Hi @mkhorton Thanks for replying.

Actually get_structure_by_material_id() gives me the primitive setting (1 atom/cell) in this case. Maybe I didn’t express myself clearly. I can get primitive setting structure, but what I want is not the primitive cell structure, but the structure that Materials Project used for VASP calculation(the POSCAR file downloaded from website, see the pic in my first post). Maybe there is a certain way to transform the primitive cell structure to a structure with more iatoms (e.g. transform the primitive setting the one single atom Ir structure to four Ir atoms structure)?

Most of the cases taking primitive setting as POSCAR file is OK, but sometimes (e.g. Ir mp-101) the primitive setting POSCAR file leads to VASP calculation failure (and change the ALGO to Old VeryFast in INCAR file can solve this issue, but it’s not feasible to me because I have to make sure the parameter to be consistence with other calculations which have to stick to the default ALGO ). And that’s why I want to get the four Ir atoms structure that Materials Project used for VASP calculation (no VASP failure), but not the primitive setting structure.
Is it possible to get the four Ir atoms structure or POSCAR file using API ?
Thanks for replying again!

Hi @mkhorton , I find get_conventional_standard_structure() is what I want, to transform a primitive structure to a conventional structure.

But I’m still wondering how the POSCAR file (conventional_standard_structure) in Materials Project was generated. Just out of curiosity.

Anyway, thanks for your warm reply and suggestion!