Skip to content

First iteration of Schemas for refernece #327

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 26 commits into
base: dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
3ca33f7
feat: add reusable/material schemas
VsevolodX Mar 25, 2025
34ea4a9
update: fix ids
VsevolodX Mar 25, 2025
396d332
feat: add single material schemas
VsevolodX Mar 25, 2025
c4f28c0
feat: add defects configurations
VsevolodX Mar 25, 2025
cd56209
update: fix terrace defect
VsevolodX Mar 25, 2025
59cfe6f
update: add other defects + clenaup
VsevolodX Mar 25, 2025
e71f58d
feat: add interfaces schemas
VsevolodX Mar 25, 2025
ba1b534
feat: add gb schemas
VsevolodX Mar 25, 2025
a51a184
feat: add passivation schema
VsevolodX Mar 25, 2025
681d415
feat: add perturbation schema
VsevolodX Mar 25, 2025
29297fd
chore: fix a typo
VsevolodX Mar 25, 2025
38bab1e
feat: add slab builder params
VsevolodX Mar 25, 2025
d243b53
update: add interface parameters
VsevolodX Mar 26, 2025
36d0643
update: add interface parameters 2
VsevolodX Mar 26, 2025
52566ab
update: add parameters for defects
VsevolodX Mar 26, 2025
b70eeab
update: add passivation params
VsevolodX Mar 26, 2025
f82028c
chore: add src and dist
VsevolodX Mar 26, 2025
58ad19b
update: add schema to title
VsevolodX Mar 26, 2025
b0ac499
update: add schema to title 2
VsevolodX Mar 26, 2025
563131c
chore: pin codegen version
VsevolodX Mar 26, 2025
8537ad5
chore: generate dist
VsevolodX Mar 26, 2025
36e34e5
chore: generate src
VsevolodX Mar 26, 2025
7ff6d44
update: add default to basis
VsevolodX Mar 29, 2025
67d1b57
chore: update gitignore
VsevolodX Mar 29, 2025
fa42846
update: add a title for lattice units
VsevolodX Apr 2, 2025
e80d897
Merge branch 'dev' into feature/SOF-7570-1
VsevolodX Apr 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions dist/js/schema/material/builders/base/selector_parameters.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$id": "material/builders/base/selector-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Base Selector Parameters Schema",
"description": "Base parameters for all builder selectors",
"type": "object",
"properties": {
"default_index": {
"description": "Default index for the selector",
"type": "integer",
"minimum": 0,
"default": 0
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"$id": "material/builders/defects/point-defect-builder-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Point Defect Builder Parameters Schema",
"description": "Parameters for the point defect builder",
"type": "object",
"properties": {
"center_defect": {
"description": "Whether to center the defect",
"type": "boolean",
"default": false
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"$id": "material/builders/defects/slab-defect-builder-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Slab Defect Builder Parameters Schema",
"description": "Parameters for the slab defect builder",
"type": "object",
"properties": {
"auto_add_vacuum": {
"description": "Whether to automatically add vacuum",
"type": "boolean",
"default": true
},
"vacuum_thickness": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Vacuum Schema",
"description": "Vacuum thickness in Angstroms",
"type": "number",
"minimum": 0,
"default": 5
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"$id": "material/builders/defects/voronoi-interstitial-point-defect-builder-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Voronoi Interstitial Point Defect Builder Parameters Schema",
"description": "Parameters for the Voronoi interstitial point defect builder",
"#comment": "According to https://github.com/materialsproject/pymatgen-analysis-defects/blob/e2cb285de8be07b38912ae1782285ef1f463a9a9/pymatgen/analysis/defects/generators.py#L343",
"type": "object",
"properties": {
"clustering_tol": {
"description": "Clustering tolerance for merging interstitial sites",
"type": "number",
"default": 0.5
},
"min_dist": {
"description": "Minimum distance between interstitial and nearest atom",
"type": "number",
"default": 0.9
},
"ltol": {
"description": "Tolerance for lattice matching",
"type": "number",
"default": 0.2
},
"stol": {
"description": "Tolerance for structure matching",
"type": "number",
"default": 0.3
},
"angle_tol": {
"description": "Angle tolerance for structure matching",
"type": "number",
"default": 5
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$id": "material/builders/multi-material/interfaces/simple/builder-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Simple Interface Builder Parameters Schema",
"description": "Parameters for the simple interface builder",
"type": "object",
"properties": {
"scale_film": {
"description": "Whether to scale the film to match the substrate",
"type": "boolean",
"default": true
},
"create_slabs": {
"description": "Whether to create slabs from the configurations or use the bulk",
"type": "boolean",
"default": true
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"$id": "material/builders/multi-material/interfaces/slab-grain-boundary-builder-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Slab Grain Boundary Builder Parameters Schema",
"description": "Parameters for the slab grain boundary builder",
"type": "object",
"properties": {
"strain_matching_parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "ZSL Strain Matching Parameters Schema",
"description": "Parameters for ZSL strain matching",
"$comment": "Described in https://pymatgen.org/pymatgen.analysis.interfaces.html#pymatgen.analysis.interfaces.zsl.ZSLGenerator",
"type": "object",
"properties": {
"max_area": {
"description": "Maximum area for strain matching",
"type": "number",
"default": 50
},
"max_area_ratio_tol": {
"description": "Maximum area ratio tolerance",
"type": "number",
"default": 0.09
},
"max_length_tol": {
"description": "Maximum length tolerance",
"type": "number",
"default": 0.03
},
"max_angle_tol": {
"description": "Maximum angle tolerance",
"type": "number",
"default": 0.01
}
}
},
"default_index": {
"description": "Default index for the selector",
"type": "integer",
"minimum": 0,
"default": 0
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"$id": "material/builders/multi-material/interfaces/strain-matching/builder-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Strain Matching Interface Builder Parameters Schema",
"description": "Parameters for the strain matching interface builder",
"type": "object",
"properties": {
"strain_matching_parameters": {
"description": "Parameters for strain matching",
"type": [
"object",
"null"
],
"default": null
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"$id": "material/builders/multi-material/interfaces/strain-matching/zsl-strain-matching-interface-builder-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "ZSL Strain Matching Interface Builder Parameters Schema",
"description": "Parameters for the ZSL strain matching interface builder",
"type": "object",
"properties": {
"strain_matching_parameters": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "ZSL Strain Matching Parameters Schema",
"description": "Parameters for ZSL strain matching",
"$comment": "Described in https://pymatgen.org/pymatgen.analysis.interfaces.html#pymatgen.analysis.interfaces.zsl.ZSLGenerator",
"type": "object",
"properties": {
"max_area": {
"description": "Maximum area for strain matching",
"type": "number",
"default": 50
},
"max_area_ratio_tol": {
"description": "Maximum area ratio tolerance",
"type": "number",
"default": 0.09
},
"max_length_tol": {
"description": "Maximum length tolerance",
"type": "number",
"default": 0.03
},
"max_angle_tol": {
"description": "Maximum angle tolerance",
"type": "number",
"default": 0.01
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"$id": "material/builders/multi-material/interfaces/strain-matching/zsl-strain-matching-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "ZSL Strain Matching Parameters Schema",
"description": "Parameters for ZSL strain matching",
"$comment": "Described in https://pymatgen.org/pymatgen.analysis.interfaces.html#pymatgen.analysis.interfaces.zsl.ZSLGenerator",
"type": "object",
"properties": {
"max_area": {
"description": "Maximum area for strain matching",
"type": "number",
"default": 50
},
"max_area_ratio_tol": {
"description": "Maximum area ratio tolerance",
"type": "number",
"default": 0.09
},
"max_length_tol": {
"description": "Maximum length tolerance",
"type": "number",
"default": 0.03
},
"max_angle_tol": {
"description": "Maximum angle tolerance",
"type": "number",
"default": 0.01
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"$id": "material/builders/multi-material/interfaces/surface-grain-boundary-builder-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Surface Grain Boundary Builder Parameters Schema",
"description": "Parameters for creating a grain boundary between two surface phases",
"type": "object",
"properties": {
"edge_inclusion_tolerance": {
"description": "The tolerance to include atoms on the edge of each phase, in angstroms",
"type": "number",
"default": 1
},
"distance_tolerance": {
"description": "The distance tolerance to remove atoms that are too close, in angstroms",
"type": "number",
"default": 1
},
"max_supercell_matrix_int": {
"description": "The maximum integer for the transformation matrices. If not provided, it will be determined based on the target angle and the lattice vectors automatically.",
"type": [
"integer",
"null"
],
"default": null
},
"limit_max_int": {
"description": "The limit for the maximum integer for the transformation matrices when searching",
"type": [
"integer",
"null"
],
"default": 42
},
"angle_tolerance": {
"description": "The tolerance for the angle between the commensurate lattices and the target angle, in degrees.",
"type": "number",
"default": 0.1
},
"return_first_match": {
"description": "Whether to return the first match or all matches.",
"type": "boolean",
"default": false
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"$id": "material/builders/multi-material/interfaces/twisted/commensurate-lattice-twisted-interface-builder-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Commensurate Lattice Twisted Interface Builder Parameters Schema",
"description": "Parameters for the commensurate lattice interface builder",
"type": "object",
"properties": {
"max_supercell_matrix_int": {
"description": "The maximum integer for the transformation matrices. If not provided, it will be determined based on the target angle and the lattice vectors automatically.",
"type": [
"integer",
"null"
],
"default": null
},
"limit_max_int": {
"description": "The limit for the maximum integer for the transformation matrices when searching",
"type": [
"integer",
"null"
],
"default": 42
},
"angle_tolerance": {
"description": "The tolerance for the angle between the commensurate lattices and the target angle, in degrees.",
"type": "number",
"default": 0.1
},
"return_first_match": {
"description": "Whether to return the first match or all matches.",
"type": "boolean",
"default": false
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"$id": "material/builders/passivation/coordination-based/builder-parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Coordination Based Passivation Builder Parameters Schema",
"description": "Parameters for the CoordinationPassivationBuilder",
"type": "object",
"properties": {
"coordination_threshold": {
"description": "The coordination number threshold for an atom to be considered undercoordinated",
"type": "integer",
"default": 3
},
"bonds_to_passivate": {
"description": "The maximum number of bonds to passivate for each undercoordinated atom",
"type": "integer",
"default": 1
},
"symmetry_tolerance": {
"description": "The tolerance for symmetry comparison of vectors for bonds",
"type": "number",
"default": 0.1
},
"shadowing_radius": {
"description": "Radius around each surface atom to exclude underlying atoms from passivation",
"type": "number",
"default": 2.5
},
"depth": {
"description": "Depth from the topmost (or bottommost) atom into the material to consider for passivation, accounting for features like islands, adatoms, and terraces",
"type": "number",
"default": 5
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$id": "material/builders/passivation/surface/builder_parameters",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Surface Passivation Builder Parameters Schema",
"description": "Parameters for the SurfacePassivationBuilder, defining how atoms near the surface are detected and passivated",
"type": "object",
"properties": {
"shadowing_radius": {
"description": "Radius around each surface atom to exclude underlying atoms from passivation",
"type": "number",
"default": 2.5
},
"depth": {
"description": "Depth from the topmost (or bottommost) atom into the material to consider for passivation, accounting for features like islands, adatoms, and terraces",
"type": "number",
"default": 5
}
}
}
Loading
Loading