/**
 * @brief Functions for making antimonene primitive cell.
 *
 * @author Yunhai Li (liyunhai1016@hotmail.com)
 *
 * @copyright Copyright (c) 2024, TBPLaS develop team.
 *
 * @note Functions are converted from Python version by calling print_cxx().
 */

#ifndef TBPLAS_MATERIALS_ANTIMONENE_H

#include "base/datatypes.h"
#include "builder/primitive.h"

namespace tbplas::materials {
using tbplas::base::complex_t;
using tbplas::builder::PrimitiveCell;

/**
 * @brief Make antimonene primitive cell.
 *
 * @param[in] with_soc whether to include spin-orbital coupling in
 * constructing the model
 * @param[in] soc_lambda strength of spin-orbital coupling
 * @param[in] c length of lattice vector along c direction in NANOMETER
 * @return antimonene primitive cell
 */
[[nodiscard]] PrimitiveCell<complex_t>
make_antimonene(
    bool with_soc = true,
    double soc_lambda = 0.34,
    double c = 1.0);

} // namespace tbplas::materials

#define TBPLAS_MATERIALS_ANTIMONENE_H
#endif