1 /* Copyright (C) 2015 Atsushi Togo */ 2 /* All rights reserved. */ 3 4 /* These codes were originally parts of spglib, but only develped */ 5 /* and used for phono3py. Therefore these were moved from spglib to */ 6 /* phono3py. This file is part of phonopy. */ 7 8 /* Redistribution and use in source and binary forms, with or without */ 9 /* modification, are permitted provided that the following conditions */ 10 /* are met: */ 11 12 /* * Redistributions of source code must retain the above copyright */ 13 /* notice, this list of conditions and the following disclaimer. */ 14 15 /* * Redistributions in binary form must reproduce the above copyright */ 16 /* notice, this list of conditions and the following disclaimer in */ 17 /* the documentation and/or other materials provided with the */ 18 /* distribution. */ 19 20 /* * Neither the name of the phonopy project nor the names of its */ 21 /* contributors may be used to endorse or promote products derived */ 22 /* from this software without specific prior written permission. */ 23 24 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ 25 /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ 26 /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ 27 /* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */ 28 /* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */ 29 /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */ 30 /* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */ 31 /* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */ 32 /* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */ 33 /* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */ 34 /* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */ 35 /* POSSIBILITY OF SUCH DAMAGE. */ 36 37 #ifndef __triplet_kpoint_H__ 38 #define __triplet_kpoint_H__ 39 40 #include <stddef.h> 41 #include "mathfunc.h" 42 #include "triplet.h" 43 44 size_t tpk_get_ir_triplets_at_q(size_t *map_triplets, 45 size_t *map_q, 46 int (*grid_address)[3], 47 const int grid_point, 48 const int mesh[3], 49 const int is_time_reversal, 50 const MatINT * rotations, 51 const int swappable); 52 size_t tpk_get_BZ_triplets_at_q(size_t (*triplets)[3], 53 const size_t grid_point, 54 TPLCONST int (*bz_grid_address)[3], 55 const size_t *bz_map, 56 const size_t *map_triplets, 57 const size_t num_map_triplets, 58 const int mesh[3]); 59 60 #endif 61