I believe you are referring to the past post at [1] that mentions uniaxial anisotropy direction.
For that, if I was doing different calculations on the same alloy, I would probably keep the state of the uniaxial anisotropy unchanged by keeping the same uniaxial-anisotropy-direction line in the .mat file for each calculation.
For a different composition of the alloy, if it is known to change or if there is an expectation that the anisotropy will change, then the uniaxial-anisotropy-direction line in the .mat could be adjusted as needed in each calculation for a different composition.
For example:
Co1-xFex
The article [2] states "In hcp cobalt, the uniaxial anisotropy favors c-axis alignment". Assuming also the c-axis is aligned in the z-direction, we could put in the .mat file for x = 0:
material[1]:uniaxial-anisotropy-direction=0,0,1
The article [3] states "We report an observation of uniaxial magnetic anisotropy along the [100] crystallographic direction in crystalline Fe film grown on Ge buffers deposited on a (001) GaAs substrate". Assuming from at Fe (x =1) is aligned in the x-direction, we could put in the .mat file:
material[1]:uniaxial-anisotropy-direction=1,0,0
For other x or alloys, there may be experimental or theoretical papers that have been published for that. I'm not sure of the practically of randomly generating uniaxial anisotropy directions, since you could potentially run into the issue with them not being fabricable in nature.
I'm thinking you could use a shell script if you wanted to do that though:
username@computername:~/Desktop/FM$ ls -l
total 12
-rw-r--r-- 1 username username 711 Mar 20 08:31 FM.mat
-rw-r--r-- 1 username username 1521 Mar 20 08:32 input
-rw-r--r-- 1 username username 1489 Mar 20 13:48 random_uniaxial_anisotropy.sh
username@computername:~/Desktop/FM$ grep uniaxial-anisotropy-direction FM.mat
material[1]:uniaxial-anisotropy-direction=0,1,0
Above, you can see that uniaxial anisotropy direction is in the y direction (0,1,0).
Attached is a script that uses a pseudo random number generator for the uniaxial anisotropy direction. It should run with the following terminal commands:
username@computername:~/Desktop/FM$ chmod +x random_uniaxial_anisotropy.sh
username@computername:~/Desktop/FM$ dos2unix random_uniaxial_anisotropy.sh
dos2unix: converting file random_uniaxial_anisotropy.sh to Unix format...
username@computername:~/Desktop/FM$ ./random_uniaxial_anisotropy.sh
FM.mat should be updated with:
material[1]:uniaxial-anisotropy-direction=0.0419335727,0.0301204902,0.0419335727
The pseudo random number generation used:
x seed: 12345
y seed: 54321
z seed: 12345
username@computername:~/Desktop/FM$ grep uniaxial-anisotropy-direction FM.mat
material[1]:uniaxial-anisotropy-direction=0.0419335727,0.0301204902,0.0419335727
Above you should see that uniaxial anisotropy direction of 0,1,0 was changed to random numbers of 0.0419335727,0.0301204902,0.0419335727.
The pseudo random number generator has seed values that can be changed to get a different random number. The seed values can be changed at the top of the file in a text editor such as gedit. Below, the seed number is changed from 12345 to 11111 for the uniaxial anisotropy direction's z value:
username@computername:~/Desktop/FM$ gedit random_uniaxial_anisotropy.sh
After running the script again, you should see that the z value changed from 0.0419335727 to 0.4664029613:
username@computername:~/Desktop/FM$ ./random_uniaxial_anisotropy.sh
FM.mat should be updated with:
material[1]:uniaxial-anisotropy-direction=0.0419335727,0.0301204902,0.4664029613
The pseudo random number generation used:
x seed: 12345
y seed: 54321
z seed: 11111
username@computername:~/Desktop/FM$ grep uniaxial-anisotropy-direction FM.mat
material[1]:uniaxial-anisotropy-direction=0.0419335727,0.0301204902,0.4664029613
Hope that helps.
Kind Regards,
Gavin
VAMPIRE user