From 2dac1b061c6891e35f713062dc0c05ef93d53368 Mon Sep 17 00:00:00 2001 From: Rickard Armiento Date: Fri, 20 Dec 2019 02:40:30 +0100 Subject: [PATCH 1/4] Clarify use of null in lattice_vectors, fixes #196 --- optimade.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/optimade.rst b/optimade.rst index a4f7a8ce5..225e1a042 100644 --- a/optimade.rst +++ b/optimade.rst @@ -1743,7 +1743,8 @@ lattice\_vectors (Therefore, the first index runs over the three lattice vectors and the second index runs over the x, y, z Cartesian coordinates). - For databases that do not define an absolute Cartesian system (e.g., only defining the length and angles between vectors), the first lattice vector SHOULD be set along *x* and the second on the *xy*-plane. - This property MUST be an array of dimensions 3 times 3 regardless of the elements of property `dimension_types`_. The vectors SHOULD by convention be chosen so the determinant of the :property:`lattice_vectors` matrix is different from zero. The vectors in the non-periodic directions have no significance beyond fulfilling these requirements. - + - All three elements of the inner lists of floats MAY be :val:`null` for nonperiodic dimensions, i.e., those dimensions for which :property:`dimension\_types` is 0. + - **Examples**: - :val:`[[4.0,0.0,0.0],[0.0,4.0,0.0],[0.0,1.0,4.0]]` represents a cell, where the first vector is :val:`(4, 0, 0)`, i.e., a vector aligned along the :val:`x` axis of length 4 Å; the second vector is :val:`(0, 4, 0)`; and the third vector is :val:`(0, 1, 4)`. From be515aee86a67f95d4f8b125380476ab26e4e487 Mon Sep 17 00:00:00 2001 From: Rickard Armiento Date: Sat, 21 Dec 2019 23:45:53 +0100 Subject: [PATCH 2/4] Apply suggestions from code review Co-Authored-By: Matthew Evans <7916000+ml-evs@users.noreply.github.com> --- optimade.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/optimade.rst b/optimade.rst index 225e1a042..4414a896b 100644 --- a/optimade.rst +++ b/optimade.rst @@ -1742,8 +1742,8 @@ lattice\_vectors - MUST be a list of three vectors *a*, *b*, and *c*, where each of the vectors MUST BE a list of the vector's coordinates along the x, y, and z Cartesian coordinates. (Therefore, the first index runs over the three lattice vectors and the second index runs over the x, y, z Cartesian coordinates). - For databases that do not define an absolute Cartesian system (e.g., only defining the length and angles between vectors), the first lattice vector SHOULD be set along *x* and the second on the *xy*-plane. - - This property MUST be an array of dimensions 3 times 3 regardless of the elements of property `dimension_types`_. The vectors SHOULD by convention be chosen so the determinant of the :property:`lattice_vectors` matrix is different from zero. The vectors in the non-periodic directions have no significance beyond fulfilling these requirements. - - All three elements of the inner lists of floats MAY be :val:`null` for nonperiodic dimensions, i.e., those dimensions for which :property:`dimension\_types` is 0. + - This property MUST be an array of dimensions 3 times 3 regardless of the elements of :property:`dimension\_types`. The vectors SHOULD by convention be chosen so the determinant of the :property:`lattice_vectors` matrix is different from zero. The vectors in the non-periodic directions have no significance beyond fulfilling these requirements. + - All three elements of the inner lists of floats MAY be :val:`null` for non-periodic dimensions, i.e., those dimensions for which :property:`dimension\_types` is 0. - **Examples**: From 98db6e58ce44b5b18acb0b37ea2c2b9f987c04f4 Mon Sep 17 00:00:00 2001 From: Rickard Armiento Date: Mon, 23 Dec 2019 01:18:56 +0100 Subject: [PATCH 3/4] Apply suggestions from code review Co-Authored-By: Casper Welzel Andersen <43357585+CasperWA@users.noreply.github.com> --- optimade.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/optimade.rst b/optimade.rst index 4414a896b..3b7b44b8d 100644 --- a/optimade.rst +++ b/optimade.rst @@ -1742,8 +1742,10 @@ lattice\_vectors - MUST be a list of three vectors *a*, *b*, and *c*, where each of the vectors MUST BE a list of the vector's coordinates along the x, y, and z Cartesian coordinates. (Therefore, the first index runs over the three lattice vectors and the second index runs over the x, y, z Cartesian coordinates). - For databases that do not define an absolute Cartesian system (e.g., only defining the length and angles between vectors), the first lattice vector SHOULD be set along *x* and the second on the *xy*-plane. - - This property MUST be an array of dimensions 3 times 3 regardless of the elements of :property:`dimension\_types`. The vectors SHOULD by convention be chosen so the determinant of the :property:`lattice_vectors` matrix is different from zero. The vectors in the non-periodic directions have no significance beyond fulfilling these requirements. - - All three elements of the inner lists of floats MAY be :val:`null` for non-periodic dimensions, i.e., those dimensions for which :property:`dimension\_types` is 0. + - This property MUST be an array of dimensions 3 times 3 regardless of the elements of :property:`dimension\_types`. + The vectors SHOULD by convention be chosen so the determinant of the :property:`lattice_vectors` matrix is different from zero. + The vectors in the non-periodic directions have no significance beyond fulfilling these requirements. + - All three elements of the inner lists of floats MAY be :val:`null` for non-periodic dimensions, i.e., those dimensions for which :property:`dimension\_types` is :val:`0`. - **Examples**: From 92a6abc0301e88faaa25eb0c9dc9596d97d7690e Mon Sep 17 00:00:00 2001 From: Rickard Armiento Date: Tue, 24 Dec 2019 00:03:12 +0100 Subject: [PATCH 4/4] Fix indentation Co-Authored-By: Casper Welzel Andersen <43357585+CasperWA@users.noreply.github.com> --- optimade.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/optimade.rst b/optimade.rst index 3b7b44b8d..582778e8b 100644 --- a/optimade.rst +++ b/optimade.rst @@ -1742,9 +1742,9 @@ lattice\_vectors - MUST be a list of three vectors *a*, *b*, and *c*, where each of the vectors MUST BE a list of the vector's coordinates along the x, y, and z Cartesian coordinates. (Therefore, the first index runs over the three lattice vectors and the second index runs over the x, y, z Cartesian coordinates). - For databases that do not define an absolute Cartesian system (e.g., only defining the length and angles between vectors), the first lattice vector SHOULD be set along *x* and the second on the *xy*-plane. - - This property MUST be an array of dimensions 3 times 3 regardless of the elements of :property:`dimension\_types`. - The vectors SHOULD by convention be chosen so the determinant of the :property:`lattice_vectors` matrix is different from zero. - The vectors in the non-periodic directions have no significance beyond fulfilling these requirements. + - This property MUST be an array of dimensions 3 times 3 regardless of the elements of :property:`dimension\_types`. + The vectors SHOULD by convention be chosen so the determinant of the :property:`lattice_vectors` matrix is different from zero. + The vectors in the non-periodic directions have no significance beyond fulfilling these requirements. - All three elements of the inner lists of floats MAY be :val:`null` for non-periodic dimensions, i.e., those dimensions for which :property:`dimension\_types` is :val:`0`. - **Examples**: