Roughness-seed points and circular geometry-issues

66 views
Skip to first unread message

Vinod Naik Bhukya

unread,
Jan 17, 2026, 10:24:28 PMJan 17
to Vampire Users
Hi all,

1. I have created a structure with 5 layers (CoFeB Bulk + CoFeB Interface + MgO (non-magnetic) + CoFeB Interface + CoFeB Bulk). 

2. I have created two structures. One is the usual structure without any geometry file which is 2.86nm x 2.86nm x 2.15 nm in x, y and z directions( A square shape). The second structure is with same dimensions but i used a geometry file of circular shape. 
I used the command create:select-material-by-geometry in input file
And used material[x]:geometry-file=circle.geom for all materials, where 'x' is the material number. 

3. I performed simulation for the above two structures for two cases 
    a. seed points =0   
    b. seed points =10k 

4. I have attached an excel document which has 4 sheets corresponding to square-seed0k, square-seed-10k , circular-seed0k and circular-seed10. 

5. In each sheet, there is atoms.coords data, then I showed for each Magnetic material with the total number of atoms, followed by atoms in each atomic layer for that material.

6. In sheet square-seed-10k, for which roughness is introduced, we can see atoms of Material 1 moved to Material 0 as well as Material 2. Please read the description in the excel sheet. 

7. I have included images from rasmol, where we can see roughness created in the sheet  square-seed-10k. This is fine up to now.

8. Now look at sheets circular-seed-0k, if you look at first column which is the material index, look for index 2(highlighted in blue) . Why are non-magnetic material atoms are appearing in atoms.coords.data file? 

9. Look at sheet circular-seed-10k, And I see, there is no roughness created at Material 0 and Material 1 interface, similarly there is no roughness created at Material 3 and Material 4 interface. (see the images in the sheet).
And in the top view, why non-magnetic atoms are not following circular shape?? ( I have applied the patch given Gavin earlier and compiled serial and parallel versions). And when seed points=0, this issue was not there ( you can see the top view in circular-seed-0k sheet)

10. When circular geometry is used, roughness is created in non-magnetic atoms and not in the magnetic atoms, and circular shape is not perfectly applied. 

11. There is sheet 'STT' where i showed an image of magnetization switching for different seed points. we can see the curve is shifting to left as the number of seed points are increased. This simulation is for circular shape of an MTJ. From the atoms.coords file, I see no roughness at interface between material 0 and material 1 and similarly between material 3 and material 4, but the switching is getting affected because of change in seed points. 

12. When geometry file is used along with seed points ,  only non magnetic atoms are disturbed and no roughness is being created at the interface of magnetic layers. And also the geometry shape is not implemented perfectly. 

Any sort of clarification regarding this is truly appreciated. 
Thank you

Roughness_comparison.xlsx

Vinod Naik Bhukya

unread,
Jan 19, 2026, 5:57:47 AMJan 19
to Vampire Users
There is new issue. When I have do not have any roughness (seed points=0, or without any roughness related commands), for a square structure ( without any geometry files), the simulation is generating only atoms.coords file which has both magnetic and non-magnetic atoms coordinates, and the non-magnetic-atoms file is not getting generated. This is so strange. Is this because of the patch??

Vinod Naik Bhukya 在 2026年1月18日 星期日上午11:24:28 [UTC+8] 的信中寫道:

gabo...@gmail.com

unread,
Jan 19, 2026, 7:37:03 AMJan 19
to Vampire Users
In the directory ~/vampire/src/create where you applied the patch, if you did it with:
patch -b system_type.cpp system_type.patch

The -b switch should have created a copy of the original file (system_type.cpp.orig).

You may remove the new file system_type.cpp, then rename system_type.cpp.orig back to system_type.cpp.  After you recompile, it should take you back to what you had without the patch.  That way you may try the simulation again to see if the patch caused the issue or not.

Kind Regards,
Gavin
VAMPIRE user

Vinod Naik Bhukya

unread,
Jan 19, 2026, 12:26:36 PMJan 19
to Vampire Users
Thank you. But the point i raised in the first message is existing even before applying a patch. i.e. when i have a circular geometry and with roughness introduced through seed points, there is no roughness being created between cofeb bulk and cofeb interface, only the MgO atoms are getting disturbed, which i shown in the excel sheet.

gabo...@gmail.com 在 2026年1月19日 星期一晚上8:37:03 [UTC+8] 的信中寫道:

Vinod Naik Bhukya

unread,
Jan 19, 2026, 3:11:19 PMJan 19
to Vampire Users
The issue what i have mentioned in first message where roughness is not created even though interfacial roughness is specified for a structure with geometry file. And I have tested, instead of a geometry file, If i used dimensions:particle-size and create:cylinder , the issue is still the same. No matter we use a geometry file or use create:cylinder option, when interfacial roughness is introduced through seed points, no roughness is created in magnetic layers, only the non-magnetic atoms are getting disturbed. Please address this issue. 

Vinod Naik Bhukya 在 2026年1月20日 星期二凌晨1:26:36 [UTC+8] 的信中寫道:

Richard Evans

unread,
Jan 19, 2026, 3:26:44 PMJan 19
to Vinod Naik Bhukya, Vampire Users
Hi Vinod, Gavin,

This definitely qualifies under advanced usage of undocumented features of VAMPIRE. If you can share inputs and material files I can have a look and see if we can modify the code to do what you expect. However, this was written a long time ago and also there is no tutorial for this. Any contributions to this or a manual entry would be very welcome once it’s working.

All the best,

Richard

--
You received this message because you are subscribed to the Google Groups "Vampire Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vampire-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/vampire-users/a392bc34-a867-47c2-afd7-42939235731dn%40googlegroups.com.

Message has been deleted

Vinod Naik Bhukya

unread,
Jan 24, 2026, 3:32:26 AM (12 days ago) Jan 24
to Vampire Users
I have simulated 3 cases

case 1. The code as it is given by Gavin, which is not having any roughness related code in the input file.
Note that we have 3 atomic layers (numbered 18,19, and 20) of MgO.
case1.pngcase1_2.png

case 2. With roughness related code added in the input file . The following lines are added

create:interfacial-roughness=true
create:material-interfacial-roughness=true
#create:interfacial-roughness-type=troughs
create:interfacial-roughness-random-seed=27255000000
create:interfacial-roughness-number-of-seed-points=10000
create:interfacial-roughness-height-field-resolution=0.1
create:interfacial-roughness-seed-radius=0.9
create:interfacial-roughness-seed-radius-variance=0.5
create:interfacial-roughness-mean-height=1.43
create:interfacial-roughness-maximum-height=2.5
case2.pngcase2_2.png
We can see the the circular geometry is not properly implemented for MgO when roughness is introduced. 
We have the actual 3 atomic layers of MgO and apart from that some MgO atoms  moved to the top and bottom layers, and the atoms of magnetic layers did not move into the MgO. 

case 3. Remove the command "create:select-material-by-geometry" from the input file .
Now the circular geometry issue for MgO still exists, but roughness issue is not there. we can see some of the green atoms moved to the atomic layer 18 which actually belongs to MgO. And we can see some MgO atoms moved to atomic layer 17 which belongs to Ni(green).

case3.pngcase3_2.png
This is the same I notice in my code too. 
richard....@gmail.com 在 2026年1月20日 星期二凌晨4:26:44 [UTC+8] 的信中寫道:

Richard Evans

unread,
Jan 26, 2026, 6:53:11 AM (9 days ago) Jan 26
to Vinod Naik Bhukya, Vampire Users
Hi Vinod, all,

Actually it looks like you are trying to do intermixing (diffusion between layers), rather than roughness (slow changes in thickness over a film area). Intermixing is much more flexible for this kind of task, where you can specify how far and into which materials mixing is done. Below is an example of how this works. 

I have two materials, and want to mix them at the interface. I can mix 2 into 1 using:

material[1]:intermixing[2] = 0.05

And (optionally) 1 into 2 using 

material[2]:intermixing[1] = 0.05

Here the number L = 0.05 represents the diffusion distance as a fraction of total system height, using the function

P(z) = tanh(pi*(z-z0)/L) 

where z0 is the interface between the materials, and z is the height of the atom, and P(z) is the probability of finding an atom of that material at that location (z). This can be asymmetric, allowing diffusion of 1->2 but not 2->1, or different diffusion widths, L. AS L is a fraction of total height, if I have a 10nm tall system, and L = 0.05, this is a 0.5 nm characteristic diffusion between layers. 

All the best,

Richard




On 24 Jan 2026, at 08:32, Vinod Naik Bhukya <vinod...@nycu.edu.tw> wrote:

I have simulated 3 cases

case 1. The code as it is given by Gavin, which is not having any roughness related code in the input file.
Note that we have 3 atomic layers (numbered 18,19, and 20) of MgO.
<case1.png><case1_2.png>

case 2. With roughness related code added in the input file . The following lines are added

create:interfacial-roughness=true
create:material-interfacial-roughness=true
#create:interfacial-roughness-type=troughs
create:interfacial-roughness-random-seed=27255000000
create:interfacial-roughness-number-of-seed-points=10000
create:interfacial-roughness-height-field-resolution=0.1
create:interfacial-roughness-seed-radius=0.9
create:interfacial-roughness-seed-radius-variance=0.5
create:interfacial-roughness-mean-height=1.43
create:interfacial-roughness-maximum-height=2.5
<case2.png><case2_2.png>
We can see the the circular geometry is not properly implemented for MgO when roughness is introduced. 
We have the actual 3 atomic layers of MgO and apart from that some MgO atoms  moved to the top and bottom layers, and the atoms of magnetic layers did not move into the MgO. 

case 3. Remove the command "create:select-material-by-geometry" from the input file .
Now the circular geometry issue for MgO still exists, but roughness issue is not there. we can see some of the green atoms moved to the atomic layer 18 which actually belongs to MgO. And we can see some MgO atoms moved to atomic layer 17 which belongs to Ni(green).

<case3.png><case3_2.png>
To view this discussion visit https://groups.google.com/d/msgid/vampire-users/4749a083-773e-4f41-b644-fade148f389dn%40googlegroups.com.
<case1.png><case2_2.png><case2.png><case3.png><case1_2.png><case3_2.png>

Reply all
Reply to author
Forward
0 new messages