mirror of https://github.com/phonopy/phonopy.git
Update spglib to 1.8
This commit is contained in:
parent
6f36bbfa11
commit
d9727125ff
|
@ -1,5 +1,36 @@
|
|||
/* cell.c */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* debug.c */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifdef SPGDEBUG
|
||||
#include <stdio.h>
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* hall_symbol.c */
|
||||
/* Copyright (C) 2010 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include "lattice.h"
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* kpoint.c */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* lattice.c */
|
||||
/* Copyright (C) 2010 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -121,7 +152,7 @@ static Centering get_centering(double correction_mat[3][3],
|
|||
}
|
||||
}
|
||||
if (det == 3) {
|
||||
/* hR (a=b) but not hP (a=b=c) */
|
||||
/* hP (a=b) but not hR (a=b=c) */
|
||||
centering = R_CENTER;
|
||||
mat_multiply_matrix_id3(trans_corr_mat, transform_mat, rhombo_obverse);
|
||||
if (mat_is_int_matrix(trans_corr_mat, INT_PREC)) {
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* mathfunc.c */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
|
@ -1,4 +1,36 @@
|
|||
/* niggli.c */
|
||||
/* Copyright (C) 2015 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* pointgroup.c */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* primitive.c */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -11,26 +42,40 @@
|
|||
|
||||
#include "debug.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#define INCREASE_RATE 2.0
|
||||
#define REDUCE_RATE 0.95
|
||||
|
||||
static double A_mat[3][3] = {{ 1, 0, 0},
|
||||
{ 0, 1./2,-1./2},
|
||||
{ 0, 1./2, 1./2}};
|
||||
static double C_mat[3][3] = {{ 1./2, 1./2, 0},
|
||||
{-1./2, 1./2, 0},
|
||||
{ 0, 0, 1}};
|
||||
static double R_mat[3][3] = {{ 2./3,-1./3,-1./3 },
|
||||
{ 1./3, 1./3,-2./3 },
|
||||
{ 1./3, 1./3, 1./3 }};
|
||||
static double I_mat[3][3] = {{-1./2, 1./2, 1./2 },
|
||||
{ 1./2,-1./2, 1./2 },
|
||||
{ 1./2, 1./2,-1./2 }};
|
||||
static double F_mat[3][3] = {{ 0, 1./2, 1./2 },
|
||||
{ 1./2, 0, 1./2 },
|
||||
{ 1./2, 1./2, 0 }};
|
||||
|
||||
static Primitive * get_primitive(SPGCONST Cell * cell, const double symprec);
|
||||
static int set_primitive_positions(Cell * primitive_cell,
|
||||
static void set_primitive_positions(Cell * primitive_cell,
|
||||
const VecDBL * position,
|
||||
const Cell * cell,
|
||||
int * const * table);
|
||||
static VecDBL * get_positions_primitive(SPGCONST Cell * cell,
|
||||
const int * mapping_table,
|
||||
const int * overlap_table);
|
||||
static VecDBL *
|
||||
translate_atoms_in_primitive_lattice(SPGCONST Cell * cell,
|
||||
SPGCONST double prim_lat[3][3]);
|
||||
static int get_overlap_table(int ** table,
|
||||
SPGCONST Cell *primitive_cell,
|
||||
static int * get_overlap_table(SPGCONST Cell *primitive_cell,
|
||||
const VecDBL * position,
|
||||
const int *types,
|
||||
const double symprec);
|
||||
static int check_overlap_table(SPGCONST int **overlap_table,
|
||||
const int cell_size,
|
||||
const int ratio);
|
||||
static void free_overlap_table(int ** table, const int size);
|
||||
static int ** allocate_overlap_table(const int size);
|
||||
static Cell * get_cell_with_smallest_lattice(SPGCONST Cell * cell,
|
||||
const double symprec);
|
||||
static Cell * get_primitive_cell(int * mapping_table,
|
||||
|
@ -103,10 +148,69 @@ Primitive * prm_get_primitive(SPGCONST Cell * cell, const double symprec)
|
|||
return get_primitive(cell, symprec);
|
||||
}
|
||||
|
||||
/* Return NULL if failed */
|
||||
Primitive * prm_transform_to_primitive(SPGCONST Cell * cell,
|
||||
SPGCONST double trans_mat_Bravais[3][3],
|
||||
const Centering centering,
|
||||
const double symprec)
|
||||
{
|
||||
int multi;
|
||||
double tmat[3][3];
|
||||
Primitive * primitive;
|
||||
|
||||
if ((primitive = prm_alloc_primitive(cell->size)) == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
switch (centering) {
|
||||
case NO_CENTER:
|
||||
mat_copy_matrix_d3(tmat, trans_mat_Bravais);
|
||||
break;
|
||||
case A_FACE:
|
||||
mat_multiply_matrix_d3(tmat, trans_mat_Bravais, A_mat);
|
||||
break;
|
||||
case C_FACE:
|
||||
mat_multiply_matrix_d3(tmat, trans_mat_Bravais, C_mat);
|
||||
break;
|
||||
case FACE:
|
||||
mat_multiply_matrix_d3(tmat, trans_mat_Bravais, F_mat);
|
||||
break;
|
||||
case BODY:
|
||||
mat_multiply_matrix_d3(tmat, trans_mat_Bravais, I_mat);
|
||||
break;
|
||||
case R_CENTER:
|
||||
mat_multiply_matrix_d3(tmat, trans_mat_Bravais, R_mat);
|
||||
break;
|
||||
default:
|
||||
goto err;
|
||||
}
|
||||
|
||||
multi = mat_Nint(1.0 / mat_get_determinant_d3(tmat));
|
||||
if ((primitive->cell = cel_alloc_cell(cell->size / multi)) == NULL) {
|
||||
goto err;
|
||||
}
|
||||
|
||||
mat_multiply_matrix_d3(primitive->cell->lattice,
|
||||
cell->lattice,
|
||||
tmat);
|
||||
|
||||
if (trim_cell(primitive->cell,
|
||||
primitive->mapping_table,
|
||||
cell,
|
||||
symprec)) {
|
||||
return primitive;
|
||||
}
|
||||
|
||||
err:
|
||||
prm_free_primitive(primitive);
|
||||
primitive = NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Return NULL if failed */
|
||||
static Primitive * get_primitive(SPGCONST Cell * cell, const double symprec)
|
||||
{
|
||||
int i, attempt, is_found = 0;
|
||||
int i, attempt;
|
||||
double tolerance;
|
||||
Primitive *primitive;
|
||||
VecDBL * pure_trans;
|
||||
|
@ -123,32 +227,27 @@ static Primitive * get_primitive(SPGCONST Cell * cell, const double symprec)
|
|||
tolerance = symprec;
|
||||
for (attempt = 0; attempt < 100; attempt++) {
|
||||
if ((pure_trans = sym_get_pure_translation(cell, tolerance)) == NULL) {
|
||||
printf("***** hoge ******\n");
|
||||
goto cont;
|
||||
}
|
||||
|
||||
if (pure_trans->size == 1) {
|
||||
if ((primitive->cell = get_cell_with_smallest_lattice(cell, tolerance))
|
||||
== NULL) {
|
||||
mat_free_VecDBL(pure_trans);
|
||||
goto cont;
|
||||
}
|
||||
|
||||
!= NULL) {
|
||||
for (i = 0; i < cell->size; i++) {
|
||||
primitive->mapping_table[i] = i;
|
||||
}
|
||||
goto found;
|
||||
}
|
||||
} else {
|
||||
if ((primitive->cell = get_primitive_cell(primitive->mapping_table,
|
||||
cell,
|
||||
pure_trans,
|
||||
tolerance)) == NULL) {
|
||||
mat_free_VecDBL(pure_trans);
|
||||
goto cont;
|
||||
tolerance)) != NULL) {
|
||||
goto found;
|
||||
}
|
||||
}
|
||||
|
||||
is_found = 1;
|
||||
break;
|
||||
mat_free_VecDBL(pure_trans);
|
||||
|
||||
cont:
|
||||
tolerance *= REDUCE_RATE;
|
||||
|
@ -156,14 +255,12 @@ static Primitive * get_primitive(SPGCONST Cell * cell, const double symprec)
|
|||
warning_print("(line %d, %s).\n", __LINE__, __FILE__);
|
||||
}
|
||||
|
||||
mat_free_VecDBL(pure_trans);
|
||||
|
||||
if (is_found) {
|
||||
primitive->tolerance = tolerance;
|
||||
} else {
|
||||
prm_free_primitive(primitive);
|
||||
}
|
||||
return NULL;
|
||||
|
||||
found:
|
||||
primitive->tolerance = tolerance;
|
||||
mat_free_VecDBL(pure_trans);
|
||||
return primitive;
|
||||
}
|
||||
|
||||
|
@ -269,140 +366,98 @@ static int trim_cell(Cell * primitive_cell,
|
|||
{
|
||||
int i, index_prim_atom;
|
||||
VecDBL * position;
|
||||
int **overlap_table;
|
||||
int *overlap_table;
|
||||
|
||||
position = NULL;
|
||||
overlap_table = NULL;
|
||||
|
||||
if ((overlap_table = allocate_overlap_table(cell->size)) == NULL) {
|
||||
goto err;
|
||||
}
|
||||
|
||||
if ((position = get_positions_primitive(cell, primitive_cell->lattice))
|
||||
if ((position =
|
||||
translate_atoms_in_primitive_lattice(cell, primitive_cell->lattice))
|
||||
== NULL) {
|
||||
free_overlap_table(overlap_table, cell->size);
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (! get_overlap_table(overlap_table,
|
||||
primitive_cell,
|
||||
if ((overlap_table = get_overlap_table(primitive_cell,
|
||||
position,
|
||||
cell->types,
|
||||
symprec)) {goto err_with_free;}
|
||||
symprec)) == NULL) {
|
||||
mat_free_VecDBL(position);
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
||||
index_prim_atom = 0;
|
||||
for (i = 0; i < cell->size; i++) {
|
||||
if (overlap_table[i][0] == i) {
|
||||
if (overlap_table[i] == i) {
|
||||
mapping_table[i] = index_prim_atom;
|
||||
primitive_cell->types[index_prim_atom] = cell->types[i];
|
||||
index_prim_atom++;
|
||||
} else {
|
||||
mapping_table[i] = mapping_table[overlap_table[i][0]];
|
||||
mapping_table[i] = mapping_table[overlap_table[i]];
|
||||
}
|
||||
}
|
||||
|
||||
if (! set_primitive_positions(primitive_cell,
|
||||
set_primitive_positions(primitive_cell,
|
||||
position,
|
||||
cell,
|
||||
overlap_table)) {goto err_with_free;}
|
||||
mapping_table,
|
||||
overlap_table);
|
||||
|
||||
mat_free_VecDBL(position);
|
||||
free_overlap_table(overlap_table, cell->size);
|
||||
/* free_overlap_table(overlap_table, cell->size); */
|
||||
free(overlap_table);
|
||||
return 1;
|
||||
|
||||
err_with_free:
|
||||
mat_free_VecDBL(position);
|
||||
free_overlap_table(overlap_table, cell->size);
|
||||
err:
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Return 0 if failed */
|
||||
static int set_primitive_positions(Cell * primitive_cell,
|
||||
static void set_primitive_positions(Cell * primitive_cell,
|
||||
const VecDBL * position,
|
||||
const Cell * cell,
|
||||
int * const * table)
|
||||
const int * mapping_table,
|
||||
const int * overlap_table)
|
||||
{
|
||||
int i, j, k, ratio, index_prim_atom;
|
||||
int *is_equivalent;
|
||||
|
||||
is_equivalent = NULL;
|
||||
|
||||
if ((is_equivalent = (int*) malloc(cell->size * sizeof(int))) == NULL) {
|
||||
warning_print("spglib: Memory could not be allocated ");
|
||||
goto err;
|
||||
}
|
||||
|
||||
for (i = 0; i < cell->size; i++) {
|
||||
is_equivalent[i] = 0;
|
||||
}
|
||||
ratio = cell->size / primitive_cell->size;
|
||||
|
||||
/* Copy positions. Positions of overlapped atoms are averaged. */
|
||||
index_prim_atom = 0;
|
||||
for (i = 0; i < cell->size; i++) {
|
||||
|
||||
if (! is_equivalent[i]) {
|
||||
primitive_cell->types[index_prim_atom] = cell->types[i];
|
||||
int i, j, k, l, multi;
|
||||
|
||||
for (i = 0; i < primitive_cell->size; i++) {
|
||||
for (j = 0; j < 3; j++) {
|
||||
primitive_cell->position[index_prim_atom][j] = 0;
|
||||
primitive_cell->position[i][j] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for (j = 0; j < ratio; j++) { /* Loop for averaging positions */
|
||||
is_equivalent[table[i][j]] = 1;
|
||||
|
||||
for (k = 0; k < 3; k++) {
|
||||
/* Positions of overlapped atoms are averaged. */
|
||||
for (i = 0; i < cell->size; i++) {
|
||||
j = mapping_table[i];
|
||||
k = overlap_table[i];
|
||||
for (l = 0; l < 3; l++) {
|
||||
/* boundary treatment */
|
||||
/* One is at right and one is at left or vice versa. */
|
||||
if (mat_Dabs(position->vec[table[i][0]][k] -
|
||||
position->vec[table[i][j]][k]) > 0.5) {
|
||||
if (position->vec[table[i][j]][k] < 0) {
|
||||
primitive_cell->position[index_prim_atom][k] =
|
||||
primitive_cell->position[index_prim_atom][k] +
|
||||
position->vec[table[i][j]][k] + 1;
|
||||
if (mat_Dabs(position->vec[k][l] - position->vec[i][l]) > 0.5) {
|
||||
if (position->vec[i][l] < 0) {
|
||||
primitive_cell->position[j][l] += position->vec[i][l] + 1;
|
||||
} else {
|
||||
primitive_cell->position[index_prim_atom][k] =
|
||||
primitive_cell->position[index_prim_atom][k] +
|
||||
position->vec[table[i][j]][k] - 1;
|
||||
primitive_cell->position[j][l] += position->vec[i][l] - 1;
|
||||
}
|
||||
|
||||
} else {
|
||||
primitive_cell->position[index_prim_atom][k] =
|
||||
primitive_cell->position[index_prim_atom][k] +
|
||||
position->vec[table[i][j]][k];
|
||||
primitive_cell->position[j][l] += position->vec[i][l];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
for (j = 0; j < 3; j++) { /* take average and reduce */
|
||||
primitive_cell->position[index_prim_atom][j] =
|
||||
primitive_cell->position[index_prim_atom][j] / ratio;
|
||||
primitive_cell->position[index_prim_atom][j] =
|
||||
primitive_cell->position[index_prim_atom][j] -
|
||||
mat_Nint(primitive_cell->position[index_prim_atom][j]);
|
||||
}
|
||||
index_prim_atom++;
|
||||
multi = cell->size / primitive_cell->size;
|
||||
for (i = 0; i < primitive_cell->size; i++) {
|
||||
for (j = 0; j < 3; j++) {
|
||||
primitive_cell->position[i][j] /= multi;
|
||||
primitive_cell->position[i][j] -= mat_Nint(primitive_cell->position[i][j]);
|
||||
}
|
||||
}
|
||||
|
||||
free(is_equivalent);
|
||||
is_equivalent = NULL;
|
||||
|
||||
if (! (index_prim_atom == primitive_cell->size)) {
|
||||
warning_print("spglib: Atomic positions of primitive cell could not be determined ");
|
||||
warning_print("(line %d, %s).\n", __LINE__, __FILE__);
|
||||
goto err;
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
||||
err:
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Return NULL if failed */
|
||||
static VecDBL * get_positions_primitive(SPGCONST Cell * cell,
|
||||
static VecDBL *
|
||||
translate_atoms_in_primitive_lattice(SPGCONST Cell * cell,
|
||||
SPGCONST double prim_lat[3][3])
|
||||
{
|
||||
int i, j;
|
||||
|
@ -434,29 +489,27 @@ static VecDBL * get_positions_primitive(SPGCONST Cell * cell,
|
|||
|
||||
/* If overlap_table is correctly obtained, */
|
||||
/* shape of overlap_table will be (cell->size, cell->size / primitive->size). */
|
||||
/* Return 0 if failed */
|
||||
static int get_overlap_table(int **overlap_table,
|
||||
SPGCONST Cell *primitive_cell,
|
||||
/* Return NULL if failed */
|
||||
static int * get_overlap_table(SPGCONST Cell *primitive_cell,
|
||||
const VecDBL * position,
|
||||
const int *types,
|
||||
const double symprec)
|
||||
{
|
||||
int i, j, attempt, num_overlap, ratio, cell_size;
|
||||
int i, j, attempt, num_overlap, ratio, cell_size, count;
|
||||
double trim_tolerance;
|
||||
int *overlap_table;
|
||||
|
||||
cell_size = position->size;
|
||||
ratio = cell_size / primitive_cell->size;
|
||||
trim_tolerance = symprec;
|
||||
|
||||
for (attempt = 0; attempt < 100; attempt++) {
|
||||
/* Each value of -1 has to be overwritten by 0 or positive numbers. */
|
||||
for (i = 0; i < cell_size; i++) {
|
||||
for (j = 0; j < cell_size; j++) {
|
||||
overlap_table[i][j] = -1;
|
||||
}
|
||||
if ((overlap_table = (int*)malloc(sizeof(int) * cell_size)) == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for (attempt = 0; attempt < 100; attempt++) {
|
||||
for (i = 0; i < cell_size; i++) {
|
||||
overlap_table[i] = -1;
|
||||
num_overlap = 0;
|
||||
for (j = 0; j < cell_size; j++) {
|
||||
if (types[i] == types[j]) {
|
||||
|
@ -464,106 +517,57 @@ static int get_overlap_table(int **overlap_table,
|
|||
position->vec[j],
|
||||
primitive_cell->lattice,
|
||||
trim_tolerance)) {
|
||||
overlap_table[i][num_overlap] = j;
|
||||
num_overlap++;
|
||||
if (overlap_table[i] == -1) {
|
||||
overlap_table[i] = j;
|
||||
assert(j <= i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (check_overlap_table(overlap_table, cell_size, ratio)) {
|
||||
goto found;
|
||||
if (num_overlap == ratio) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (num_overlap < ratio) {
|
||||
trim_tolerance *= INCREASE_RATE;
|
||||
warning_print("spglib: Increase tolerance to %f ", trim_tolerance);
|
||||
} else {
|
||||
warning_print("(line %d, %s).\n", __LINE__, __FILE__);
|
||||
goto cont;
|
||||
}
|
||||
if (num_overlap > ratio) {
|
||||
trim_tolerance *= REDUCE_RATE;
|
||||
warning_print("spglib: Reduce tolerance to %f ", trim_tolerance);
|
||||
}
|
||||
warning_print("(line %d, %s).\n", __LINE__, __FILE__);
|
||||
goto cont;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < cell_size; i++) {
|
||||
if (overlap_table[i] != i) {
|
||||
continue;
|
||||
}
|
||||
count = 0;
|
||||
for (j = 0; j < cell_size; j++) {
|
||||
if (i == overlap_table[j]) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
assert(count == ratio);
|
||||
}
|
||||
|
||||
goto found;
|
||||
|
||||
cont:
|
||||
;
|
||||
}
|
||||
|
||||
warning_print("spglib: Could not trim cell into primitive ");
|
||||
warning_print("(line %d, %s).\n", __LINE__, __FILE__);
|
||||
return 0;
|
||||
return NULL;
|
||||
|
||||
found:
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
/* Retrun 0 if failed */
|
||||
static int check_overlap_table(SPGCONST int **overlap_table,
|
||||
const int cell_size,
|
||||
const int ratio) {
|
||||
int i, j, index_compared, all_ok;
|
||||
|
||||
all_ok = 1;
|
||||
for (i = 0; i < cell_size; i++) {
|
||||
index_compared = overlap_table[i][0];
|
||||
for (j = 0; j < cell_size; j++) {
|
||||
if (! (overlap_table[i][j] == overlap_table[index_compared][j])) {
|
||||
all_ok = 0;
|
||||
break;
|
||||
}
|
||||
if (j < ratio) {
|
||||
if (overlap_table[i][j] == -1) {
|
||||
all_ok = 0;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (overlap_table[i][j] > -1) {
|
||||
all_ok = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (! all_ok) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return all_ok;
|
||||
}
|
||||
|
||||
static void free_overlap_table(int **table, const int size)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
free(table[i]);
|
||||
table[i] = NULL;
|
||||
}
|
||||
free(table);
|
||||
table = NULL;
|
||||
}
|
||||
|
||||
static int ** allocate_overlap_table(const int size)
|
||||
{
|
||||
int i, j;
|
||||
int **table;
|
||||
|
||||
table = NULL;
|
||||
|
||||
if ((table = (int**)malloc(size * sizeof(int*))) == NULL) {
|
||||
warning_print("spglib: Memory could not be allocated ");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
if ((table[i] = (int*)malloc(size * sizeof(int))) == NULL) {
|
||||
warning_print("spglib: Memory could not be allocated ");
|
||||
for (j = 0; j < i; j++) {
|
||||
free(table[j]);
|
||||
table[j] = NULL;
|
||||
}
|
||||
free(table);
|
||||
table = NULL;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
return table;
|
||||
return overlap_table;
|
||||
}
|
||||
|
||||
/* Return 0 if failed */
|
||||
|
|
|
@ -1,3 +1,36 @@
|
|||
/* Copyright (C) 2011 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
/* refinement.c */
|
||||
/* Copyright (C) 2011 Atsushi Togo */
|
||||
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* site_symmetry.c */
|
||||
/* Copyright (C) 2011 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* sitesym_database.c */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* Copyright (C) 2011 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
static const int position_wyckoff[] =
|
||||
{ 0, /* The first element is dummy. */
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* spacegroup.c */
|
||||
/* Copyright (C) 2010 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* spg_database.c */
|
||||
/* Copyright (C) 2010 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include "spg_database.h"
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* spglib.c */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -64,6 +95,15 @@ static int find_primitive(double lattice[3][3],
|
|||
int types[],
|
||||
const int num_atom,
|
||||
const double symprec);
|
||||
static int find_standardized_primitive(double lattice[3][3],
|
||||
double position[][3],
|
||||
int types[],
|
||||
const int num_atom,
|
||||
const double symprec);
|
||||
static void set_primitive(double lattice[3][3],
|
||||
double position[][3],
|
||||
int types[],
|
||||
Primitive * primitive);
|
||||
static int get_international(char symbol[11],
|
||||
SPGCONST double lattice[3][3],
|
||||
SPGCONST double position[][3],
|
||||
|
@ -393,6 +433,39 @@ int spgat_find_primitive(double lattice[3][3],
|
|||
symprec);
|
||||
}
|
||||
|
||||
/* Return 0 if failed */
|
||||
int spg_find_standardized_primitive(double lattice[3][3],
|
||||
double position[][3],
|
||||
int types[],
|
||||
const int num_atom,
|
||||
const double symprec)
|
||||
{
|
||||
sym_set_angle_tolerance(-1.0);
|
||||
|
||||
return find_standardized_primitive(lattice,
|
||||
position,
|
||||
types,
|
||||
num_atom,
|
||||
symprec);
|
||||
}
|
||||
|
||||
/* Return 0 if failed */
|
||||
int spgat_find_standardized_primitive(double lattice[3][3],
|
||||
double position[][3],
|
||||
int types[],
|
||||
const int num_atom,
|
||||
const double symprec,
|
||||
const double angle_tolerance)
|
||||
{
|
||||
sym_set_angle_tolerance(angle_tolerance);
|
||||
|
||||
return find_standardized_primitive(lattice,
|
||||
position,
|
||||
types,
|
||||
num_atom,
|
||||
symprec);
|
||||
}
|
||||
|
||||
/* Return 0 if failed */
|
||||
int spg_get_international(char symbol[11],
|
||||
SPGCONST double lattice[3][3],
|
||||
|
@ -628,7 +701,7 @@ int spg_get_stabilized_reciprocal_mesh(int grid_address[][3],
|
|||
qpoints);
|
||||
}
|
||||
|
||||
void spg_get_grid_points_by_rotations(int rot_grid_points[],
|
||||
int spg_get_grid_points_by_rotations(int rot_grid_points[],
|
||||
const int address_orig[3],
|
||||
const int num_rot,
|
||||
SPGCONST int rot_reciprocal[][3][3],
|
||||
|
@ -638,7 +711,12 @@ void spg_get_grid_points_by_rotations(int rot_grid_points[],
|
|||
int i;
|
||||
MatINT *rot;
|
||||
|
||||
rot = mat_alloc_MatINT(num_rot);
|
||||
rot = NULL;
|
||||
|
||||
if ((rot = mat_alloc_MatINT(num_rot)) == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < num_rot; i++) {
|
||||
mat_copy_matrix_i3(rot->mat[i], rot_reciprocal[i]);
|
||||
}
|
||||
|
@ -648,9 +726,11 @@ void spg_get_grid_points_by_rotations(int rot_grid_points[],
|
|||
mesh,
|
||||
is_shift);
|
||||
mat_free_MatINT(rot);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void spg_get_BZ_grid_points_by_rotations(int rot_grid_points[],
|
||||
int spg_get_BZ_grid_points_by_rotations(int rot_grid_points[],
|
||||
const int address_orig[3],
|
||||
const int num_rot,
|
||||
SPGCONST int rot_reciprocal[][3][3],
|
||||
|
@ -661,7 +741,12 @@ void spg_get_BZ_grid_points_by_rotations(int rot_grid_points[],
|
|||
int i;
|
||||
MatINT *rot;
|
||||
|
||||
rot = mat_alloc_MatINT(num_rot);
|
||||
rot = NULL;
|
||||
|
||||
if ((rot = mat_alloc_MatINT(num_rot)) == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < num_rot; i++) {
|
||||
mat_copy_matrix_i3(rot->mat[i], rot_reciprocal[i]);
|
||||
}
|
||||
|
@ -672,6 +757,8 @@ void spg_get_BZ_grid_points_by_rotations(int rot_grid_points[],
|
|||
is_shift,
|
||||
bz_map);
|
||||
mat_free_MatINT(rot);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int spg_relocate_BZ_grid_address(int bz_grid_address[][3],
|
||||
|
@ -1154,7 +1241,7 @@ static int find_primitive(double lattice[3][3],
|
|||
const int num_atom,
|
||||
const double symprec)
|
||||
{
|
||||
int i, num_prim_atom;
|
||||
int num_prim_atom;
|
||||
Cell *cell;
|
||||
Primitive *primitive;
|
||||
|
||||
|
@ -1175,12 +1262,8 @@ static int find_primitive(double lattice[3][3],
|
|||
}
|
||||
|
||||
num_prim_atom = primitive->cell->size;
|
||||
if (num_prim_atom < num_atom && num_prim_atom > 0 ) {
|
||||
mat_copy_matrix_d3(lattice, primitive->cell->lattice);
|
||||
for (i = 0; i < primitive->cell->size; i++) {
|
||||
types[i] = primitive->cell->types[i];
|
||||
mat_copy_vector_d3(position[i], primitive->cell->position[i]);
|
||||
}
|
||||
if (num_prim_atom < num_atom) {
|
||||
set_primitive(lattice, position, types, primitive);
|
||||
}
|
||||
|
||||
prm_free_primitive(primitive);
|
||||
|
@ -1189,6 +1272,104 @@ static int find_primitive(double lattice[3][3],
|
|||
return num_prim_atom;
|
||||
}
|
||||
|
||||
static int find_standardized_primitive(double lattice[3][3],
|
||||
double position[][3],
|
||||
int types[],
|
||||
const int num_atom,
|
||||
const double symprec)
|
||||
{
|
||||
int num_prim_atom;
|
||||
Centering centering;
|
||||
SpglibDataset *dataset;
|
||||
SpacegroupType spgtype;
|
||||
Primitive *primitive;
|
||||
Cell *cell;
|
||||
|
||||
num_prim_atom = 0;
|
||||
dataset = NULL;
|
||||
primitive = NULL;
|
||||
cell = NULL;
|
||||
|
||||
if ((cell = cel_alloc_cell(num_atom)) == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
cel_set_cell(cell, lattice, position, types);
|
||||
|
||||
if ((dataset = get_dataset(lattice,
|
||||
position,
|
||||
types,
|
||||
num_atom,
|
||||
0,
|
||||
symprec)) == NULL) {
|
||||
cel_free_cell(cell);
|
||||
return 0;
|
||||
}
|
||||
|
||||
spgtype = spgdb_get_spacegroup_type(dataset->hall_number);
|
||||
|
||||
switch (spgtype.international_full[0]) {
|
||||
case 'P':
|
||||
centering = NO_CENTER;
|
||||
break;
|
||||
case 'A':
|
||||
centering = A_FACE;
|
||||
break;
|
||||
case 'C':
|
||||
centering = C_FACE;
|
||||
break;
|
||||
case 'F':
|
||||
centering = FACE;
|
||||
break;
|
||||
case 'I':
|
||||
centering = BODY;
|
||||
break;
|
||||
case 'R':
|
||||
if (spgtype.setting[0] == 'H') {
|
||||
centering = R_CENTER;
|
||||
} else {
|
||||
centering = NO_CENTER;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
spg_free_dataset(dataset);
|
||||
cel_free_cell(cell);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((primitive = prm_transform_to_primitive(cell,
|
||||
dataset->transformation_matrix,
|
||||
centering,
|
||||
symprec)) == NULL) {
|
||||
spg_free_dataset(dataset);
|
||||
cel_free_cell(cell);
|
||||
return 0;
|
||||
}
|
||||
|
||||
set_primitive(lattice, position, types, primitive);
|
||||
num_prim_atom = primitive->cell->size;
|
||||
|
||||
prm_free_primitive(primitive);
|
||||
spg_free_dataset(dataset);
|
||||
cel_free_cell(cell);
|
||||
|
||||
return num_prim_atom;
|
||||
}
|
||||
|
||||
static void set_primitive(double lattice[3][3],
|
||||
double position[][3],
|
||||
int types[],
|
||||
Primitive * primitive)
|
||||
{
|
||||
int i;
|
||||
|
||||
mat_copy_matrix_d3(lattice, primitive->cell->lattice);
|
||||
for (i = 0; i < primitive->cell->size; i++) {
|
||||
types[i] = primitive->cell->types[i];
|
||||
mat_copy_vector_d3(position[i], primitive->cell->position[i]);
|
||||
}
|
||||
}
|
||||
|
||||
static int get_international(char symbol[11],
|
||||
SPGCONST double lattice[3][3],
|
||||
SPGCONST double position[][3],
|
||||
|
@ -1204,7 +1385,10 @@ static int get_international(char symbol[11],
|
|||
primitive = NULL;
|
||||
spacegroup.number = 0;
|
||||
|
||||
cell = cel_alloc_cell(num_atom);
|
||||
if ((cell = cel_alloc_cell(num_atom)) == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
cel_set_cell(cell, lattice, position, types);
|
||||
|
||||
if ((primitive = spa_get_spacegroup(&spacegroup, cell, symprec)) != NULL) {
|
||||
|
@ -1234,7 +1418,10 @@ static int get_schoenflies(char symbol[10],
|
|||
primitive = NULL;
|
||||
spacegroup.number = 0;
|
||||
|
||||
cell = cel_alloc_cell(num_atom);
|
||||
if ((cell = cel_alloc_cell(num_atom)) == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
cel_set_cell(cell, lattice, position, types);
|
||||
|
||||
if ((primitive = spa_get_spacegroup(&spacegroup, cell, symprec)) != NULL) {
|
||||
|
@ -1308,7 +1495,12 @@ static int get_ir_reciprocal_mesh(int grid_address[][3],
|
|||
num_atom,
|
||||
0,
|
||||
symprec);
|
||||
rotations = mat_alloc_MatINT(dataset->n_operations);
|
||||
|
||||
if ((rotations = mat_alloc_MatINT(dataset->n_operations)) == NULL) {
|
||||
spg_free_dataset(dataset);
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < dataset->n_operations; i++) {
|
||||
mat_copy_matrix_i3(rotations->mat[i], dataset->rotations[i]);
|
||||
}
|
||||
|
@ -1337,7 +1529,12 @@ static int get_stabilized_reciprocal_mesh(int grid_address[][3],
|
|||
MatINT *rot_real;
|
||||
int i, num_ir;
|
||||
|
||||
rot_real = mat_alloc_MatINT(num_rot);
|
||||
rot_real = NULL;
|
||||
|
||||
if ((rot_real = mat_alloc_MatINT(num_rot)) == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < num_rot; i++) {
|
||||
mat_copy_matrix_i3(rot_real->mat[i], rotations[i]);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* spin.c */
|
||||
/* Copyright (C) 2012 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* symmetry.c */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
|
|
|
@ -1,3 +1,36 @@
|
|||
/* Copyright (C) 2014 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
/* tetrahedron_method.c */
|
||||
/* Copyright (C) 2014 Atsushi Togo */
|
||||
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* cell.h */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __cell_H__
|
||||
#define __cell_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* debug.h */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __debug_H__
|
||||
#define __debug_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* hall_symbol.h */
|
||||
/* Copyright (C) 2010 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __hall_symbol_H__
|
||||
#define __hall_symbol_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* kpoint.h */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __kpoint_H__
|
||||
#define __kpoint_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* lattice.h */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* Copyright (C) 2010 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __lattice_H__
|
||||
#define __lattice_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* mathfunc.h */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __mathfunc_H__
|
||||
#define __mathfunc_H__
|
||||
|
|
|
@ -1,4 +1,37 @@
|
|||
/* niggli.h */
|
||||
/* Copyright (C) 2015 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __NIGGLI_H__
|
||||
#define __NIGGLI_H__
|
||||
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* pointgroup.h */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __pointgroup_H__
|
||||
#define __pointgroup_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* primitive.h */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __primitive_H__
|
||||
#define __primitive_H__
|
||||
|
@ -17,4 +48,9 @@ typedef struct {
|
|||
Primitive * prm_alloc_primitive(const int size);
|
||||
void prm_free_primitive(Primitive * primitive);
|
||||
Primitive * prm_get_primitive(SPGCONST Cell * cell, const double symprec);
|
||||
Primitive * prm_transform_to_primitive(SPGCONST Cell * cell,
|
||||
SPGCONST double trans_mat_Bravais[3][3],
|
||||
const Centering centering,
|
||||
const double symprec);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* bravais.h */
|
||||
/* Copyright (C) 2011 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __refinement_H__
|
||||
#define __refinement_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* site_symmetry.h */
|
||||
/* Copyright (C) 2011 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __site_symmetry_H__
|
||||
#define __site_symmetry_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* sitesym_database.h */
|
||||
/* Copyright (C) 2011 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __sitesym_database_H__
|
||||
#define __sitesym_database_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* spacegroup.h */
|
||||
/* Copyright (C) 2010 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __spacegroup_H__
|
||||
#define __spacegroup_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* spg_database.h */
|
||||
/* Copyright (C) 2010 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __spg_database_H__
|
||||
#define __spg_database_H__
|
||||
|
|
|
@ -1,5 +1,38 @@
|
|||
/* spglib.h version 1.8 */
|
||||
/* version 1.8 */
|
||||
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __spglib_H__
|
||||
#define __spglib_H__
|
||||
|
@ -209,6 +242,19 @@ int spgat_find_primitive(double lattice[3][3],
|
|||
const double symprec,
|
||||
const double angle_tolerance);
|
||||
|
||||
int spg_find_standardized_primitive(double lattice[3][3],
|
||||
double position[][3],
|
||||
int types[],
|
||||
const int num_atom,
|
||||
const double symprec);
|
||||
|
||||
int spgat_find_standardized_primitive(double lattice[3][3],
|
||||
double position[][3],
|
||||
int types[],
|
||||
const int num_atom,
|
||||
const double symprec,
|
||||
const double angle_tolerance);
|
||||
|
||||
/* Space group is found in international table symbol (``symbol``) and */
|
||||
/* number (return value). 0 is returned when it fails. */
|
||||
int spg_get_international(char symbol[11],
|
||||
|
@ -343,15 +389,15 @@ int spg_get_stabilized_reciprocal_mesh(int grid_address[][3],
|
|||
|
||||
/* Rotation operations in reciprocal space ``rot_reciprocal`` are applied */
|
||||
/* to a grid address ``address_orig`` and resulting grid points are stored in */
|
||||
/* ``rot_grid_points``. */
|
||||
void spg_get_grid_points_by_rotations(int rot_grid_points[],
|
||||
/* ``rot_grid_points``. Return 0 if failed. */
|
||||
int spg_get_grid_points_by_rotations(int rot_grid_points[],
|
||||
const int address_orig[3],
|
||||
const int num_rot,
|
||||
SPGCONST int rot_reciprocal[][3][3],
|
||||
const int mesh[3],
|
||||
const int is_shift[3]);
|
||||
|
||||
void spg_get_BZ_grid_points_by_rotations(int rot_grid_points[],
|
||||
int spg_get_BZ_grid_points_by_rotations(int rot_grid_points[],
|
||||
const int address_orig[3],
|
||||
const int num_rot,
|
||||
SPGCONST int rot_reciprocal[][3][3],
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* spin.h */
|
||||
/* Copyright (C) 2012 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __spin_H__
|
||||
#define __spin_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* symmetry.h */
|
||||
/* Copyright (C) 2008 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __symmetry_H__
|
||||
#define __symmetry_H__
|
||||
|
|
|
@ -1,5 +1,36 @@
|
|||
/* tetrahedron_method.h */
|
||||
/* Copyright (C) 2014 Atsushi Togo */
|
||||
/* All rights reserved. */
|
||||
|
||||
/* This file is part of spglib. */
|
||||
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in */
|
||||
/* the documentation and/or other materials provided with the */
|
||||
/* distribution. */
|
||||
|
||||
/* * Neither the name of the phonopy project nor the names of its */
|
||||
/* contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
|
||||
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
||||
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
||||
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
|
||||
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
|
||||
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, */
|
||||
/* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */
|
||||
/* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER */
|
||||
/* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT */
|
||||
/* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN */
|
||||
/* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
|
||||
/* POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#ifndef __tetrahedron_method_H__
|
||||
#define __tetrahedron_method_H__
|
||||
|
|
Loading…
Reference in New Issue