@mat3ra/esse 2025.4.26-0 → 2025.5.13-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +3 -9
- package/.prettierrc +2 -1
- package/dist/js/example/material/reusable/repetitions.json +5 -0
- package/dist/js/example/material/reusable/slab/miller_indices.json +5 -0
- package/dist/js/example/material/reusable/slab/number_of_layers.json +1 -0
- package/dist/js/example/material/reusable/slab/termination.json +4 -0
- package/dist/js/example/material/reusable/slab/vacuum.json +1 -0
- package/dist/js/example/material/reusable/supercell_matrix_2d.json +10 -0
- package/dist/js/example/material/reusable/supercell_matrix_3d.json +17 -0
- package/dist/js/example/materials_category/single_material/two_dimensional/slab/configuration.json +150 -0
- package/dist/js/schema/core/abstract/coordinate_2d.json +11 -0
- package/dist/js/schema/material/reusable/repetitions.json +18 -0
- package/dist/js/schema/material/reusable/slab/enums.json +11 -0
- package/dist/js/schema/material/reusable/slab/miller_indices.json +17 -0
- package/dist/js/schema/material/reusable/slab/number_of_layers.json +9 -0
- package/dist/js/schema/material/reusable/slab/termination.json +23 -0
- package/dist/js/schema/material/reusable/slab/vacuum.json +9 -0
- package/dist/js/schema/material/reusable/supercell_matrix_2d.json +27 -0
- package/dist/js/schema/material/reusable/supercell_matrix_3d.json +34 -0
- package/dist/js/schema/materials_category/single_material/two_dimensional/slab/configuration.json +709 -0
- package/dist/js/schemas.json +1 -1
- package/dist/js/types.d.ts +360 -0
- package/example/material/reusable/repetitions.json +1 -0
- package/example/material/reusable/slab/miller_indices.json +5 -0
- package/example/material/reusable/slab/number_of_layers.json +1 -0
- package/example/material/reusable/slab/termination.json +4 -0
- package/example/material/reusable/slab/vacuum.json +1 -0
- package/example/material/reusable/supercell_matrix_2d.json +10 -0
- package/example/material/reusable/supercell_matrix_3d.json +5 -0
- package/example/materials_category/single_material/two_dimensional/slab/configuration.json +25 -0
- package/package.json +10 -4
- package/schema/core/abstract/coordinate_2d.json +11 -0
- package/schema/material/reusable/repetitions.json +18 -0
- package/schema/material/reusable/slab/enums.json +11 -0
- package/schema/material/reusable/slab/miller_indices.json +17 -0
- package/schema/material/reusable/slab/number_of_layers.json +9 -0
- package/schema/material/reusable/slab/termination.json +23 -0
- package/schema/material/reusable/slab/vacuum.json +9 -0
- package/schema/material/reusable/supercell_matrix_2d.json +27 -0
- package/schema/material/reusable/supercell_matrix_3d.json +34 -0
- package/schema/materials_category/single_material/two_dimensional/slab/configuration.json +42 -0
package/dist/js/types.d.ts
CHANGED
|
@@ -1600,6 +1600,12 @@ export interface DimensionalGridSchema {
|
|
|
1600
1600
|
*/
|
|
1601
1601
|
shifts: [number, number, number];
|
|
1602
1602
|
}
|
|
1603
|
+
/** Schema dist/js/schema/core/abstract/coordinate_2d.json */
|
|
1604
|
+
/**
|
|
1605
|
+
* @minItems 2
|
|
1606
|
+
* @maxItems 2
|
|
1607
|
+
*/
|
|
1608
|
+
export type Coordinate2DSchema = [number, number];
|
|
1603
1609
|
/** Schema dist/js/schema/core/abstract/coordinate_3d.json */
|
|
1604
1610
|
/**
|
|
1605
1611
|
* @minItems 3
|
|
@@ -6151,6 +6157,64 @@ export interface MaterialConsistencyCheckSchema {
|
|
|
6151
6157
|
export interface MaterialConventionalSchema {
|
|
6152
6158
|
conventional?: {};
|
|
6153
6159
|
}
|
|
6160
|
+
/** Schema dist/js/schema/material/reusable/repetitions.json */
|
|
6161
|
+
/**
|
|
6162
|
+
* Number of unit cells to repeat in each direction for a crystal structure.
|
|
6163
|
+
*
|
|
6164
|
+
* @minItems 3
|
|
6165
|
+
* @maxItems 3
|
|
6166
|
+
*/
|
|
6167
|
+
export type CrystalRepetitionsSchema = [number, number, number];
|
|
6168
|
+
/** Schema dist/js/schema/material/reusable/slab/enums.json */
|
|
6169
|
+
export type SurfaceTypesEnum = "top" | "bottom" | "both";
|
|
6170
|
+
/** Schema dist/js/schema/material/reusable/slab/miller_indices.json */
|
|
6171
|
+
/**
|
|
6172
|
+
* Miller indices for crystallographic plane designation
|
|
6173
|
+
*
|
|
6174
|
+
* @minItems 3
|
|
6175
|
+
* @maxItems 3
|
|
6176
|
+
*/
|
|
6177
|
+
export type MillerIndicesSchema = [number, number, number];
|
|
6178
|
+
/** Schema dist/js/schema/material/reusable/slab/number_of_layers.json */
|
|
6179
|
+
/**
|
|
6180
|
+
* Number of atomic layers in a structural component
|
|
6181
|
+
*/
|
|
6182
|
+
export type NumberOfLayersSchema = number;
|
|
6183
|
+
/** Schema dist/js/schema/material/reusable/slab/termination.json */
|
|
6184
|
+
/**
|
|
6185
|
+
* Defines a specific termination of a slab
|
|
6186
|
+
*/
|
|
6187
|
+
export interface TerminationSchema {
|
|
6188
|
+
/**
|
|
6189
|
+
* Chemical elements at the termination
|
|
6190
|
+
*/
|
|
6191
|
+
chemical_elements: string;
|
|
6192
|
+
/**
|
|
6193
|
+
* Space group symmetry designation for the termination
|
|
6194
|
+
*/
|
|
6195
|
+
space_group_symmetry_label: string;
|
|
6196
|
+
}
|
|
6197
|
+
/** Schema dist/js/schema/material/reusable/slab/vacuum.json */
|
|
6198
|
+
/**
|
|
6199
|
+
* Vacuum thickness in Angstroms
|
|
6200
|
+
*/
|
|
6201
|
+
export type VacuumSchema = number;
|
|
6202
|
+
/** Schema dist/js/schema/material/reusable/supercell_matrix_2d.json */
|
|
6203
|
+
/**
|
|
6204
|
+
* Supercell matrix for xy plane transformations
|
|
6205
|
+
*
|
|
6206
|
+
* @minItems 2
|
|
6207
|
+
* @maxItems 2
|
|
6208
|
+
*/
|
|
6209
|
+
export type SupercellMatrix2DSchema = [[number, number], [number, number]];
|
|
6210
|
+
/** Schema dist/js/schema/material/reusable/supercell_matrix_3d.json */
|
|
6211
|
+
/**
|
|
6212
|
+
* 3x3 matrix of integers for transforming a unit cell into a supercell
|
|
6213
|
+
*
|
|
6214
|
+
* @minItems 3
|
|
6215
|
+
* @maxItems 3
|
|
6216
|
+
*/
|
|
6217
|
+
export type SupercellMatrix3DSchema = [[number, number, number], [number, number, number], [number, number, number]];
|
|
6154
6218
|
/** Schema dist/js/schema/material.json */
|
|
6155
6219
|
export interface MaterialSchema {
|
|
6156
6220
|
/**
|
|
@@ -6408,6 +6472,302 @@ export interface MaterialSchema {
|
|
|
6408
6472
|
isDefault?: boolean;
|
|
6409
6473
|
metadata?: {};
|
|
6410
6474
|
}
|
|
6475
|
+
/** Schema dist/js/schema/materials_category/single_material/two_dimensional/slab/configuration.json */
|
|
6476
|
+
/**
|
|
6477
|
+
* Configuration for creating a slab from a bulk material
|
|
6478
|
+
*/
|
|
6479
|
+
export interface SlabConfigurationSchema {
|
|
6480
|
+
bulk?: {
|
|
6481
|
+
/**
|
|
6482
|
+
* reduced chemical formula
|
|
6483
|
+
*/
|
|
6484
|
+
formula?: string;
|
|
6485
|
+
/**
|
|
6486
|
+
* chemical formula based on the number of atoms of each element in the supercell
|
|
6487
|
+
*/
|
|
6488
|
+
unitCellFormula?: string;
|
|
6489
|
+
basis: {
|
|
6490
|
+
/**
|
|
6491
|
+
* atomic elements schema
|
|
6492
|
+
*/
|
|
6493
|
+
elements: {
|
|
6494
|
+
/**
|
|
6495
|
+
* value of this entry
|
|
6496
|
+
*/
|
|
6497
|
+
value: string;
|
|
6498
|
+
/**
|
|
6499
|
+
* integer id of this entry
|
|
6500
|
+
*/
|
|
6501
|
+
id: number;
|
|
6502
|
+
}[];
|
|
6503
|
+
/**
|
|
6504
|
+
* atomic coordinates schema
|
|
6505
|
+
*/
|
|
6506
|
+
coordinates: {
|
|
6507
|
+
/**
|
|
6508
|
+
* value of this entry
|
|
6509
|
+
*
|
|
6510
|
+
* @minItems 3
|
|
6511
|
+
* @maxItems 3
|
|
6512
|
+
*/
|
|
6513
|
+
value: [number, number, number];
|
|
6514
|
+
/**
|
|
6515
|
+
* integer id of this entry
|
|
6516
|
+
*/
|
|
6517
|
+
id: number;
|
|
6518
|
+
}[];
|
|
6519
|
+
units?: "crystal" | "cartesian";
|
|
6520
|
+
/**
|
|
6521
|
+
* atomic labels schema
|
|
6522
|
+
*/
|
|
6523
|
+
labels?: {
|
|
6524
|
+
/**
|
|
6525
|
+
* value of this entry
|
|
6526
|
+
*/
|
|
6527
|
+
value: (number | string | number) | number;
|
|
6528
|
+
/**
|
|
6529
|
+
* integer id of this entry
|
|
6530
|
+
*/
|
|
6531
|
+
id: number;
|
|
6532
|
+
}[];
|
|
6533
|
+
};
|
|
6534
|
+
lattice: {
|
|
6535
|
+
/**
|
|
6536
|
+
* length of the first lattice vector
|
|
6537
|
+
*/
|
|
6538
|
+
a: number;
|
|
6539
|
+
/**
|
|
6540
|
+
* length of the second lattice vector
|
|
6541
|
+
*/
|
|
6542
|
+
b: number;
|
|
6543
|
+
/**
|
|
6544
|
+
* length of the third lattice vector
|
|
6545
|
+
*/
|
|
6546
|
+
c: number;
|
|
6547
|
+
/**
|
|
6548
|
+
* angle between first and second lattice vector
|
|
6549
|
+
*/
|
|
6550
|
+
alpha: number;
|
|
6551
|
+
/**
|
|
6552
|
+
* angle between second and third lattice vector
|
|
6553
|
+
*/
|
|
6554
|
+
beta: number;
|
|
6555
|
+
/**
|
|
6556
|
+
* angle between first and third lattice vector
|
|
6557
|
+
*/
|
|
6558
|
+
gamma: number;
|
|
6559
|
+
vectors?: {
|
|
6560
|
+
/**
|
|
6561
|
+
* @minItems 3
|
|
6562
|
+
* @maxItems 3
|
|
6563
|
+
*/
|
|
6564
|
+
a: [number, number, number];
|
|
6565
|
+
/**
|
|
6566
|
+
* @minItems 3
|
|
6567
|
+
* @maxItems 3
|
|
6568
|
+
*/
|
|
6569
|
+
b: [number, number, number];
|
|
6570
|
+
/**
|
|
6571
|
+
* @minItems 3
|
|
6572
|
+
* @maxItems 3
|
|
6573
|
+
*/
|
|
6574
|
+
c: [number, number, number];
|
|
6575
|
+
/**
|
|
6576
|
+
* lattice parameter for fractional coordinates
|
|
6577
|
+
*/
|
|
6578
|
+
alat?: number;
|
|
6579
|
+
units?: "angstrom" | "bohr";
|
|
6580
|
+
};
|
|
6581
|
+
type?: "CUB" | "BCC" | "FCC" | "TET" | "MCL" | "ORC" | "ORCC" | "ORCF" | "ORCI" | "HEX" | "BCT" | "TRI" | "MCLC" | "RHL";
|
|
6582
|
+
units?: {
|
|
6583
|
+
length?: "angstrom" | "bohr";
|
|
6584
|
+
angle?: "degree" | "radian";
|
|
6585
|
+
};
|
|
6586
|
+
};
|
|
6587
|
+
derivedProperties?: ({
|
|
6588
|
+
name?: "volume";
|
|
6589
|
+
units?: "angstrom^3";
|
|
6590
|
+
value: number;
|
|
6591
|
+
} | {
|
|
6592
|
+
name?: "density";
|
|
6593
|
+
units?: "g/cm^3";
|
|
6594
|
+
value: number;
|
|
6595
|
+
} | {
|
|
6596
|
+
/**
|
|
6597
|
+
* point group symbol in Schoenflies notation
|
|
6598
|
+
*/
|
|
6599
|
+
pointGroupSymbol?: string;
|
|
6600
|
+
/**
|
|
6601
|
+
* space group symbol in Hermann–Mauguin notation
|
|
6602
|
+
*/
|
|
6603
|
+
spaceGroupSymbol?: string;
|
|
6604
|
+
/**
|
|
6605
|
+
* tolerance used for symmetry calculation
|
|
6606
|
+
*/
|
|
6607
|
+
tolerance?: {
|
|
6608
|
+
units?: "angstrom";
|
|
6609
|
+
value: number;
|
|
6610
|
+
};
|
|
6611
|
+
name?: "symmetry";
|
|
6612
|
+
} | {
|
|
6613
|
+
name?: "elemental_ratio";
|
|
6614
|
+
value: number;
|
|
6615
|
+
/**
|
|
6616
|
+
* the element this ratio is for
|
|
6617
|
+
*/
|
|
6618
|
+
element?: string;
|
|
6619
|
+
} | {
|
|
6620
|
+
name?: "p-norm";
|
|
6621
|
+
/**
|
|
6622
|
+
* degree of the dimensionality of the norm
|
|
6623
|
+
*/
|
|
6624
|
+
degree?: number;
|
|
6625
|
+
value: number;
|
|
6626
|
+
} | {
|
|
6627
|
+
name?: "inchi";
|
|
6628
|
+
value: string;
|
|
6629
|
+
} | {
|
|
6630
|
+
name?: "inchi_key";
|
|
6631
|
+
value: string;
|
|
6632
|
+
})[];
|
|
6633
|
+
/**
|
|
6634
|
+
* information about a database source
|
|
6635
|
+
*/
|
|
6636
|
+
external?: {
|
|
6637
|
+
/**
|
|
6638
|
+
* ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32
|
|
6639
|
+
*/
|
|
6640
|
+
id: string | number;
|
|
6641
|
+
/**
|
|
6642
|
+
* Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.
|
|
6643
|
+
*/
|
|
6644
|
+
source: string;
|
|
6645
|
+
/**
|
|
6646
|
+
* Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).
|
|
6647
|
+
*/
|
|
6648
|
+
origin: boolean;
|
|
6649
|
+
/**
|
|
6650
|
+
* Original response from external source.
|
|
6651
|
+
*/
|
|
6652
|
+
data?: {};
|
|
6653
|
+
/**
|
|
6654
|
+
* Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506
|
|
6655
|
+
*/
|
|
6656
|
+
doi?: string;
|
|
6657
|
+
/**
|
|
6658
|
+
* The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers
|
|
6659
|
+
*/
|
|
6660
|
+
url?: string;
|
|
6661
|
+
};
|
|
6662
|
+
/**
|
|
6663
|
+
* file source with the information inside
|
|
6664
|
+
*/
|
|
6665
|
+
src?: {
|
|
6666
|
+
/**
|
|
6667
|
+
* file extension
|
|
6668
|
+
*/
|
|
6669
|
+
extension?: string;
|
|
6670
|
+
/**
|
|
6671
|
+
* file name without extension
|
|
6672
|
+
*/
|
|
6673
|
+
filename: string;
|
|
6674
|
+
/**
|
|
6675
|
+
* file content as raw text
|
|
6676
|
+
*/
|
|
6677
|
+
text: string;
|
|
6678
|
+
/**
|
|
6679
|
+
* MD5 hash based on file content
|
|
6680
|
+
*/
|
|
6681
|
+
hash: string;
|
|
6682
|
+
};
|
|
6683
|
+
/**
|
|
6684
|
+
* Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
6685
|
+
*/
|
|
6686
|
+
scaledHash?: string;
|
|
6687
|
+
/**
|
|
6688
|
+
* Corresponding ICSD id of the material
|
|
6689
|
+
*/
|
|
6690
|
+
icsdId?: number;
|
|
6691
|
+
/**
|
|
6692
|
+
* Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
6693
|
+
*/
|
|
6694
|
+
isNonPeriodic?: boolean;
|
|
6695
|
+
consistencyChecks?: {
|
|
6696
|
+
/**
|
|
6697
|
+
* Name of the consistency check that is performed, which is listed in an enum.
|
|
6698
|
+
*/
|
|
6699
|
+
name: "default" | "atomsTooClose" | "atomsOverlap";
|
|
6700
|
+
/**
|
|
6701
|
+
* Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
6702
|
+
*/
|
|
6703
|
+
key: string;
|
|
6704
|
+
/**
|
|
6705
|
+
* Severity level of the problem, which is used in UI to differentiate.
|
|
6706
|
+
*/
|
|
6707
|
+
severity: "info" | "warning" | "error";
|
|
6708
|
+
/**
|
|
6709
|
+
* Message generated by the consistency check describing the problem.
|
|
6710
|
+
*/
|
|
6711
|
+
message: string;
|
|
6712
|
+
}[];
|
|
6713
|
+
/**
|
|
6714
|
+
* entity identity
|
|
6715
|
+
*/
|
|
6716
|
+
_id?: string;
|
|
6717
|
+
/**
|
|
6718
|
+
* entity slug
|
|
6719
|
+
*/
|
|
6720
|
+
slug?: string;
|
|
6721
|
+
systemName?: string;
|
|
6722
|
+
/**
|
|
6723
|
+
* entity's schema version. Used to distinct between different schemas.
|
|
6724
|
+
*/
|
|
6725
|
+
schemaVersion?: string;
|
|
6726
|
+
/**
|
|
6727
|
+
* entity name
|
|
6728
|
+
*/
|
|
6729
|
+
name?: string;
|
|
6730
|
+
/**
|
|
6731
|
+
* Identifies that entity is defaultable
|
|
6732
|
+
*/
|
|
6733
|
+
isDefault?: boolean;
|
|
6734
|
+
metadata?: {};
|
|
6735
|
+
};
|
|
6736
|
+
/**
|
|
6737
|
+
* Miller indices for crystallographic plane designation
|
|
6738
|
+
*
|
|
6739
|
+
* @minItems 3
|
|
6740
|
+
* @maxItems 3
|
|
6741
|
+
*/
|
|
6742
|
+
miller_indices?: [number, number, number];
|
|
6743
|
+
/**
|
|
6744
|
+
* Number of atomic layers in a structural component
|
|
6745
|
+
*/
|
|
6746
|
+
number_of_layers?: number;
|
|
6747
|
+
/**
|
|
6748
|
+
* Vacuum thickness in Angstroms
|
|
6749
|
+
*/
|
|
6750
|
+
vacuum?: number;
|
|
6751
|
+
/**
|
|
6752
|
+
* Supercell matrix for xy plane transformations
|
|
6753
|
+
*
|
|
6754
|
+
* @minItems 2
|
|
6755
|
+
* @maxItems 2
|
|
6756
|
+
*/
|
|
6757
|
+
xy_supercell_matrix?: [[number, number], [number, number]];
|
|
6758
|
+
/**
|
|
6759
|
+
* Whether to use conventional cell
|
|
6760
|
+
*/
|
|
6761
|
+
use_conventional_cell?: boolean;
|
|
6762
|
+
/**
|
|
6763
|
+
* Whether to make z-axis orthogonal
|
|
6764
|
+
*/
|
|
6765
|
+
use_orthogonal_z?: boolean;
|
|
6766
|
+
/**
|
|
6767
|
+
* Whether to make the slab primitive
|
|
6768
|
+
*/
|
|
6769
|
+
make_primitive?: boolean;
|
|
6770
|
+
}
|
|
6411
6771
|
/** Schema dist/js/schema/method/categorized_method.json */
|
|
6412
6772
|
export interface CategorizedMethod {
|
|
6413
6773
|
units: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[1, 2, 3]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
15.0
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"bulk": {
|
|
3
|
+
"...": "include(../../../../material.json)"
|
|
4
|
+
},
|
|
5
|
+
"miller_indices": [
|
|
6
|
+
0,
|
|
7
|
+
0,
|
|
8
|
+
1
|
|
9
|
+
],
|
|
10
|
+
"number_of_layers": 3,
|
|
11
|
+
"vacuum": 15.0,
|
|
12
|
+
"xy_supercell_matrix": [
|
|
13
|
+
[
|
|
14
|
+
1,
|
|
15
|
+
0
|
|
16
|
+
],
|
|
17
|
+
[
|
|
18
|
+
0,
|
|
19
|
+
1
|
|
20
|
+
]
|
|
21
|
+
],
|
|
22
|
+
"use_conventional_cell": true,
|
|
23
|
+
"use_orthogonal_z": true,
|
|
24
|
+
"make_primitive": true
|
|
25
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mat3ra/esse",
|
|
3
|
-
"version": "2025.
|
|
3
|
+
"version": "2025.5.13-0",
|
|
4
4
|
"description": "Mat3ra's Excellent Source of Schemas and Examples (ESSE) for Digital Materials R&D",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"transpile": "tsc -p tsconfig-transpile.json",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"homepage": "https://github.com/Exabyte-io/esse",
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@exabyte-io/eslint-config": "
|
|
30
|
+
"@exabyte-io/eslint-config": "2025.5.13-0",
|
|
31
31
|
"@mat3ra/tsconfig": "^2024.6.3-0",
|
|
32
32
|
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
33
33
|
"@typescript-eslint/parser": "^5.62.0",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"eslint-import-resolver-node": "^0.3.9",
|
|
41
41
|
"eslint-plugin-import": "^2.31.0",
|
|
42
42
|
"eslint-plugin-jsdoc": "^50.6.9",
|
|
43
|
+
"eslint-plugin-jsonc": "^2.20.0",
|
|
43
44
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
44
45
|
"eslint-plugin-mui-path-imports": "0.0.15",
|
|
45
46
|
"eslint-plugin-prettier": "^4.2.1",
|
|
@@ -83,8 +84,13 @@
|
|
|
83
84
|
"node": ">=14.0.0"
|
|
84
85
|
},
|
|
85
86
|
"lint-staged": {
|
|
86
|
-
"
|
|
87
|
-
|
|
87
|
+
"src/**/*.js": [
|
|
88
|
+
"eslint --cache --fix",
|
|
89
|
+
"prettier --write"
|
|
90
|
+
],
|
|
91
|
+
"src/**/*.css": "prettier --write",
|
|
92
|
+
"schemas/**/*.json": "eslint --cache --fix --no-ignore",
|
|
93
|
+
"example/**/*.json": "eslint --cache --fix --no-ignore"
|
|
88
94
|
},
|
|
89
95
|
"exports": {
|
|
90
96
|
"./dist/js/schema/*.json": "./dist/js/schema/*.json",
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "material/reusable/repetitions",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Crystal Repetitions Schema",
|
|
5
|
+
"description": "Number of unit cells to repeat in each direction for a crystal structure.",
|
|
6
|
+
"type": "array",
|
|
7
|
+
"items": {
|
|
8
|
+
"type": "integer",
|
|
9
|
+
"minimum": 1
|
|
10
|
+
},
|
|
11
|
+
"minItems": 3,
|
|
12
|
+
"maxItems": 3,
|
|
13
|
+
"default": [
|
|
14
|
+
1,
|
|
15
|
+
1,
|
|
16
|
+
1
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "material/reusable/slab/enums",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Surface Types Enum",
|
|
5
|
+
"$comment": "The surface types used by passivation and surface analysis",
|
|
6
|
+
"enum": [
|
|
7
|
+
"top",
|
|
8
|
+
"bottom",
|
|
9
|
+
"both"
|
|
10
|
+
]
|
|
11
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "material/reusable/slab/miller-indices",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Miller Indices Schema",
|
|
5
|
+
"description": "Miller indices for crystallographic plane designation",
|
|
6
|
+
"type": "array",
|
|
7
|
+
"items": {
|
|
8
|
+
"type": "integer"
|
|
9
|
+
},
|
|
10
|
+
"minItems": 3,
|
|
11
|
+
"maxItems": 3,
|
|
12
|
+
"default": [
|
|
13
|
+
0,
|
|
14
|
+
0,
|
|
15
|
+
1
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "material/reusable/slab/number-of-layers",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "number_of_layers Schema",
|
|
5
|
+
"description": "Number of atomic layers in a structural component",
|
|
6
|
+
"type": "integer",
|
|
7
|
+
"minimum": 1,
|
|
8
|
+
"default": 1
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "material/reusable/slab/termination",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Termination Schema",
|
|
5
|
+
"description": "Defines a specific termination of a slab",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"chemical_elements",
|
|
9
|
+
"space_group_symmetry_label"
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"chemical_elements": {
|
|
13
|
+
"title": "Chemical Elements",
|
|
14
|
+
"description": "Chemical elements at the termination",
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"space_group_symmetry_label": {
|
|
18
|
+
"title": "Space Group Symmetry Label",
|
|
19
|
+
"description": "Space group symmetry designation for the termination",
|
|
20
|
+
"type": "string"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "material/reusable/supercell-matrix-2d",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Supercell Matrix 2D Schema",
|
|
5
|
+
"description": "Supercell matrix for xy plane transformations",
|
|
6
|
+
"type": "array",
|
|
7
|
+
"items": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "integer"
|
|
11
|
+
},
|
|
12
|
+
"minItems": 2,
|
|
13
|
+
"maxItems": 2
|
|
14
|
+
},
|
|
15
|
+
"minItems": 2,
|
|
16
|
+
"maxItems": 2,
|
|
17
|
+
"default": [
|
|
18
|
+
[
|
|
19
|
+
1,
|
|
20
|
+
0
|
|
21
|
+
],
|
|
22
|
+
[
|
|
23
|
+
0,
|
|
24
|
+
1
|
|
25
|
+
]
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "material/reusable/supercell-matrix-3d",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Supercell Matrix 3D Schema",
|
|
5
|
+
"description": "3x3 matrix of integers for transforming a unit cell into a supercell",
|
|
6
|
+
"type": "array",
|
|
7
|
+
"items": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "integer"
|
|
11
|
+
},
|
|
12
|
+
"minItems": 3,
|
|
13
|
+
"maxItems": 3
|
|
14
|
+
},
|
|
15
|
+
"minItems": 3,
|
|
16
|
+
"maxItems": 3,
|
|
17
|
+
"default": [
|
|
18
|
+
[
|
|
19
|
+
1,
|
|
20
|
+
0,
|
|
21
|
+
0
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
0,
|
|
25
|
+
1,
|
|
26
|
+
0
|
|
27
|
+
],
|
|
28
|
+
[
|
|
29
|
+
0,
|
|
30
|
+
0,
|
|
31
|
+
1
|
|
32
|
+
]
|
|
33
|
+
]
|
|
34
|
+
}
|