307 lines
9.8 KiB
JSON
307 lines
9.8 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://download.lammps.org/json/molecule-schema.json",
|
|
"title": "JSON schema for LAMMPS 'molecule' files and objects",
|
|
"description": "Version 0.1; last updated 2025-06-12",
|
|
"type": "object",
|
|
"properties": {
|
|
"application": {
|
|
"type": "string",
|
|
"const": "LAMMPS"
|
|
},
|
|
"format": {
|
|
"type": "string",
|
|
"const": "molecule"
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 1
|
|
},
|
|
"title": {"type": "string"},
|
|
"schema": {"type": "string"},
|
|
"units": {
|
|
"enum": ["lj", "real", "metal", "si", "cgs", "electron", "micro", "nano" ]
|
|
},
|
|
"com": {"type": "array",
|
|
"items": { "type": "number"},
|
|
"minItems": 3,
|
|
"maxItems": 3
|
|
},
|
|
"masstotal": {"type": "number"},
|
|
"body": {"type": "array",
|
|
"items": { "type": "integer"},
|
|
"minItems": 2,
|
|
"maxItems": 2
|
|
},
|
|
"inertia": {"type": "array",
|
|
"items": { "type": "number"},
|
|
"minItems": 6,
|
|
"maxItems": 6
|
|
},
|
|
"coords": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["atom-id", "x", "y", "z"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{"type": "integer"},
|
|
{"type": "number"},
|
|
{"type": "number"},
|
|
{"type": "number"}
|
|
],
|
|
"items": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"types": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["atom-id", "type"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{"type": "number"},
|
|
{"type": ["number", "string"]}
|
|
],
|
|
"items": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"molecules": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["atom-id", "molecule-id"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
},
|
|
"minItems": 2,
|
|
"maxItems": 2
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"fragments": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["fragment-id", "atom-id-list"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": ["string", "array"],
|
|
"minItems": 2,
|
|
"maxItems": 2
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"charges": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["atom-id", "charge"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{"type": "integer"},
|
|
{"type": "number"}
|
|
],
|
|
"items": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"dipoles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["atom-id", "mux", "muy", "muz"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{"type": "integer"},
|
|
{"type": "number"},
|
|
{"type": "number"},
|
|
{"type": "number"}
|
|
],
|
|
"items": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"diameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["atom-id", "diameter"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{"type": "integer"},
|
|
{"type": "number"}
|
|
],
|
|
"items": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"masses": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["atom-id", "mass"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{"type": "integer"},
|
|
{"type": "number"}
|
|
],
|
|
"items": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"bonds": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["bond-type", "atom1", "atom2"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{"type": ["integer", "string"]},
|
|
{"type": "integer"},
|
|
{"type": "integer"}
|
|
],
|
|
"items": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"angles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["angle-type", "atom1", "atom2", "atom3"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{"type": ["integer", "string"]},
|
|
{"type": "integer"},
|
|
{"type": "integer"},
|
|
{"type": "integer"}
|
|
],
|
|
"items": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"dihedrals": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["dihedral-type", "atom1", "atom2", "atom3", "atom4"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{"type": ["integer", "string"]},
|
|
{"type": "integer"},
|
|
{"type": "integer"},
|
|
{"type": "integer"},
|
|
{"type": "integer"}
|
|
],
|
|
"items": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
},
|
|
"impropers": {
|
|
"type": "object",
|
|
"properties": {
|
|
"format": {
|
|
"type": "array",
|
|
"const": ["improper-type", "atom1", "atom2", "atom3", "atom4"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{"type": ["integer", "string"]},
|
|
{"type": "integer"},
|
|
{"type": "integer"},
|
|
{"type": "integer"},
|
|
{"type": "integer"}
|
|
],
|
|
"items": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["format", "data"]
|
|
}
|
|
},
|
|
"required": ["application", "format", "revision", "types"]
|
|
}
|