deepmodeling / abacus-develop

An electronic structure package based on either plane wave basis or numerical atomic orbitals.
http://abacus.ustc.edu.cn
GNU Lesser General Public License v3.0
152 stars 122 forks source link

cell-relax with `fixed_axes c` of 2D material finally carried out the `ab` vectors not in `xy` plane #3751

Open xdzhu opened 4 months ago

xdzhu commented 4 months ago

Describe the bug

When using ABACUS for cell-relax, the fixed_axes c option was used, and as a result, both lattice vectors a and b have components in the z-direction. How to only relax the xy-components of ab vectors with the z-component constrained? Run ABACUS cell-relax with fixed_axes c : image

The constrain_z implementation is critical in 2D material calculation. I wonder whether ABACUS can provide a similar implementation to VASP's constrain_z. Run VASP cell-relax with constrain_Z compiled vasp_std: image

You can check the result in as below: fixed_c-VS_constarin_z.zip

Expected behavior

More methods in Constrained Optimization

To Reproduce

No response

Environment

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

WHUweiqingzhou commented 4 months ago

It seems that ABACUS lacks an option for fixed lattice angle.

xdzhu commented 3 months ago

It seems that ABACUS lacks an option for fixed lattice angle.

That‘s right. Need more fixed options like: alpha, beta, gamma. OR, just provide a specific way to only relax the in-plane lattice parametes of a slab model?