Twisted Help

170 views
Skip to first unread message

yiwei zhao

unread,
Aug 5, 2022, 2:23:11 AM8/5/22
to Twister Help
Hi~
I wonder how to get a bigger angle-structure (double layer MoS2) by using the Twister.py. I see that in the hex.table the angles are so small. I want to get a bigger angle, sch as ~40 degree or ~50 degree.
Thank you very much!

Twister Help

unread,
Aug 5, 2022, 5:57:53 AM8/5/22
to Twister Help
Hi Yiweide,

There are two ways to do this:


1. If you want to scan many structures quickly: See /path-to-Twister/FFRelaxation/mos2/. Take a look at near_0/near_60 folders.

--> In the no_relax/relax folder, you will find a script called "homo.sh".
Within the script homo.sh, uncomment the "printf "$latcon" | python $aux_files/hex_table_generic.py" line and comment out ""printf "$latcon" | python $aux_files/hex_table_least.py"".

--> In the aux_files/ folder set the angle range in hex_table_generic.py (change the line "sort_angles(100, 100, 40, 50, 'hex.table', 200)" to something like this) and run "python3 /path-to-aux-files/hex_table_generic.py". You will generate hex.table.

--> use the preferred indices from hex.table and run homo.sh. You can generate multiple structures with arbitrary twist angles. change "init" and "end" indices in homo.sh.

****
In simple words, the hex.table is generated with the general formula (np.arccos((m**2 + 4*n*m + n**2)/(2*(m**2 + n*m + n**2)))*180./np.pi, m and n can be any integer) rather than the specific one where |m-n|=1 is enforced. 
****

2. With get_ang.py. See for example :/path-to-Twister/examples/Homobilayer_hex/Mos2_withGetAng folder. Change the "strain_per" to a minimum and "theta_range" to the desired value.

Please let us know if this works for you.

Best regards,
Indrajit

yiwei zhao

unread,
Aug 11, 2022, 2:26:11 AM8/11/22
to Twister Help
Dear Indrajit,

Thank you so much for helping me solve this problem. And I have got the twisted structure  I want.

By the way, I have a question: Begin with the AB stacking basis_pos_crys and basis_pos_crys_layer2, I get a double layer MoTe2 with the twisted angle equals to 0 degree.  But I find that the generated POSCAR.vasp is three times to unitcell. Why is this?
Are the generated structures not the smallest structural units? This will be time-consuming in the process of optimizing the structure by DFT.

Bset.

Yiwei
POSCAR.vasp
basis_pos_crys_layer2
get_ang.inp
basis_pos_crys

Indrajit Maity

unread,
Aug 11, 2022, 10:09:22 AM8/11/22
to yiwei zhao, Twister Help
Hi Yiwei,

Typically we use the basis_pos* files obtained from first principles calculations and I have mostly used it to construct twisted bilayers (i.e. whenever there's a moiré pattern). Note that when you construct double layer MoTe2 with a twist angle of 0 degrees, you are simulating a bilayer (and not a twisted bilayer).

The moiré pattern you construct using the get_ang or FFRelaxations agrees with each other and gives a minimum area moiré lattice. You can compare yourself with MoS2 as an example.

Nevertheless, I will take a look sometime at the bilayer case that you pointed out.

Thanks,
Indrajit
 




--
You received this message because you are subscribed to the Google Groups "Twister Help" group.
To unsubscribe from this group and stop receiving emails from it, send an email to twister-help...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/twister-help/738ad808-20e7-4c31-832a-ae7b84858112n%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages