unit cell file

577 views
Skip to first unread message

Yelda Kadıoglu

unread,
Feb 5, 2021, 11:55:18 PM2/5/21
to Vampire Users
Hello, i tried the test examples and got the results for Cobalt. Now im trying to do my 2D structure (monolayer). For unitcell file im confused. I have two atoms in unitcell.
Firstly, Do i have to make supercell, i mean can i take the interactions just in unitcell atoms?

1)  It is said that on 8th and 9th lines of .ucf file are
"num_atoms_in_unit_cell number_of_materials
 atom_id cx cy cz [mat_id cat_id hcat_id]"
but in the example writen like 
"1
0 0.5 0.5 0.5 0 1 2"
Here there is no number for "number_of_materials" (near 1 at 8th line). 
Also I dont understand what i should write to "mat lc hc" columns. 

2) Total number of interactions and the expected type of exchange line it has been written a number and zero. Is zero means isotropic? What can i write if it is not isotropic?



milton...@gmail.com

unread,
Feb 11, 2021, 8:49:51 AM2/11/21
to Vampire Users
For a 2D structure I think you should still make the ucf file as if it's gonna be 3D, and then set the thickness in the input file to that of one monolayer.

1) If you don't write anything for number_of_materials then it defaults to 1. For "mat" you write the material id, so if you have 2 materials then you write '0' for the atoms of material 1 and '1' for the atoms of material 2.
I honestly don't know what lc and hc are but it seems you can usually set them to zero. I don't think they actually affect the simulation. Instead they are for output specifications. They describe them briefly in the manual but call them 'cat_id' and 'hcat_id' (page 23).

2) Yes '0' means isotropic. The types of interactions are listed in the manual: isotropic, vectorial, tensorial, normalized-isotropic, normalized-vectorial, normalized-tensorial.

Vampire has a youtube channel and in at least two of the videos there they go into some detail about the construction of unit cells. I found "Introduction to Anti-Ferromagnets" to be pretty helpful. They also have a video about visualization, "Using the VAMPIRE Data Converter", which you could use to ensure you're getting the monolayer you want.

Another thing that could be helpful for understanding the ucf files is to uncomment lines 159 to 167 in vampire/src/unitcell/interactions.cpp, and replace "std::err" with "std::cout" (otherwise it will print it three times for some reason). Then run "make clean" and "make all" in the vampire folder. When you run a "normal" simulation the interaction list will be shown in the terminal, together with another quantity in the second last column 'rij', which I assume is the distance between the atoms normalized by the lattice constant. You can tell by the variable names in the code what the other quantities are.

Try adding some lines before and after:
   std::cout << std::endl;
   std::cout << "::::: 'Output interactions to screen' (unitcell/interactions.cpp) :::::" << std::endl;
   std::cout << "IID\ti\tj\tdx\tdy\tdz\tRij/a\tJij/J" << std::endl;
   for(int i=0; i<unit_cell.interaction.size(); i++){
      std::cout << i << "\t" << unit_cell.interaction[i].i << "\t"
                << unit_cell.interaction[i].j << "\t"
                << unit_cell.interaction[i].dx << "\t"
                << unit_cell.interaction[i].dy << "\t"
                << unit_cell.interaction[i].dz << "\t"
                << unit_cell.interaction[i].rij << "\t"
                << unit_cell.interaction[i].Jij[0][0] << std::endl;
   }
   std::cout << "::::: ----------------------------------------------------------- :::::" << std::endl;
   std::cout << std::endl;


Be careful with changing the code though, and make back-ups of the files. My vdc doesn't work any more.

Yelda Kadıoglu

unread,
Feb 11, 2021, 8:35:35 PM2/11/21
to milton...@gmail.com, Vampire Users
Thank you very much Milton
Best
Yelda

milton...@gmail.com <milton...@gmail.com>, 11 Şub 2021 Per, 08:49 tarihinde şunu yazdı:
--
You received this message because you are subscribed to a topic in the Google Groups "Vampire Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/vampire-users/NmQD7WFDHSY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to vampire-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vampire-users/cb97f8a0-c014-45ee-8c18-9da9c17e2014n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages