Question about mn2au unit cell

27 views
Skip to first unread message

Ratthaphong Rangngoen

unread,
Oct 6, 2025, 12:57:52 PM (12 days ago) Oct 6
to Vampire Users
Hi everyone,

I am constructing  Mn2Au structure. I found that in mn2au.cpp has unit_cell.dimensions[2] = 3.0; I'm not sure that when I set unit cell size like below material file. Is this correct? because I think from 
 unit_cell.dimensions[0] *= unitcell::internal::unit_cell_size_x;    
unit_cell.dimensions[1] *= unitcell::internal::unit_cell_size_y;    
unit_cell.dimensions[2] *= unitcell::internal::unit_cell_size_z;

the unit cell in z direction will be three times right? Could you please explain this to me ?
Thank you in advance.

#------------------------------------------
# Creation attributes:
#------------------------------------------
dimensions:unit-cell-size-x = 3.328 !A
dimensions:unit-cell-size-y = 3.328 !A
dimensions:unit-cell-size-z = 8.539 !A
dimensions:system-size-x = 5.0 !nm
dimensions:system-size-y = 5.0 !nm
dimensions:system-size-z = 6.85 !nm 

gabo...@gmail.com

unread,
Oct 11, 2025, 11:33:05 AM (7 days ago) Oct 11
to Vampire Users
Hi,

Maybe a developer or another user can confirm, but I suspect mn2au.cpp (1) was designed to use in the input file the line

dimensions:unit-cell-size = 3.33 !A

instead of

dimensions:unit-cell-size-x
dimensions:unit-cell-size-y
dimensions:unit-cell-size-z

Tetragonal Mn2Au (I4/mmm) has lattice constants a = b = 3.33 Å and c = 8.54 Å (2).

The c/a ratio is:

c/a = 8.54 Å/3.33 Å ≅ 2.56 ≈ 3

Rounding 2.56 to 3.0 might be where that comes from for:

unit_cell.dimensions[2] = 3.0

If you don't like the rounding error associated with that, without modifying mn2au.cpp, you could probably use:

dimensions:unit-cell-size-x = 3.33 !A
dimensions:unit-cell-size-y = 3.33 !A
dimensions:unit-cell-size-z = 2.85 !A

where dimensions:unit-cell-size-z is 8.54 Å / 3 ≅  2.85 Å.

Of note, Nd2Fe14B has lattice constants a = b = 8.8 Å and c = 12.2 Å (3).

In nd2fe14b.cpp (4), I see the line:

unit_cell.dimensions[2] = 12.2 / 8.8;

Alternatively, you should be able to address the rounding error by modifying mn2au.cpp.  For example, you could probably modify mn2au.cpp to be similar to nd2fe14b.cpp by changing "unit_cell.dimensions[2] = 3.0" to:

unit_cell.dimensions[2] = 8.54 / 3.33;

Hope that can help.

nd2fe14b.cpp

Kind Regards,
Gavin
VAMPIRE user

Ratthaphong Rangngoen

unread,
Oct 14, 2025, 12:46:57 AM (5 days ago) Oct 14
to gabo...@gmail.com, vampir...@googlegroups.com
Thank you very much for your response. I will try it.

Kind Regards,
Book


On Tue, Oct 14, 2025 at 11:45 AM Ratthaphong Rangngoen <65010...@msu.ac.th> wrote:

Thank you for your response. I will try it.

Kind Regards,
Book


--
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/c63f8ded-d88a-4027-9288-636a305c5f7fn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages