140 lines
4.0 KiB
JSON
140 lines
4.0 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "file:project.schema.json",
|
|
"title": "PMSCO Project",
|
|
"description": "PMSCO Project",
|
|
"type": "object",
|
|
"properties": {
|
|
"__module__": {
|
|
"type": "string",
|
|
"title": "name of project module",
|
|
"examples": ["projects.twoatom.twoatom"]
|
|
},
|
|
"__class__": {
|
|
"type": "string",
|
|
"title": "name of project class",
|
|
"examples": ["TwoatomProject"]
|
|
},
|
|
"job_tags": {
|
|
"type": "object"
|
|
},
|
|
"description": {"type": "string"},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["genetic", "grid", "single", "swarm", "table", "test", "validate"]
|
|
},
|
|
"directories": {"type": "object"},
|
|
"db_file": {"type": "string"},
|
|
"keep_files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["all", "cluster", "atomic", "input", "output", "report",
|
|
"region", "emitter", "scan", "domain", "model", "log", "debug", "population", "rfac"]
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"keep_best": {"type": "integer"},
|
|
"keep_levels": {"type": "integer"},
|
|
"time_limit": {
|
|
"type": "number",
|
|
"title": "time limit in hours",
|
|
"minimum": 0
|
|
},
|
|
"log_level": {
|
|
"type": "string",
|
|
"enum": ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
|
|
},
|
|
"cluster_generator": {
|
|
"type": "object",
|
|
"description": "class name and initial values of cluster generator attributes",
|
|
"examples": ["TwoatomCluster"],
|
|
"properties": {
|
|
"__class__": {
|
|
"type": "string",
|
|
"description": "class name of cluster generator"
|
|
}
|
|
},
|
|
"required": ["__class__"]
|
|
},
|
|
"atomic_scattering_factory": {
|
|
"type": "string",
|
|
"enum": ["InternalAtomicCalculator", "PhagenCalculator"]
|
|
},
|
|
"multiple_scattering_factory": {
|
|
"type": "string",
|
|
"enum": ["EdacCalculator", "TestCalculator"]
|
|
},
|
|
"model_space": {
|
|
"type": "object"
|
|
},
|
|
"domains": {"type": "array",
|
|
"items": {"type": "object"},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"scans": {"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"__class__": {
|
|
"type": "string",
|
|
"enum": ["ScanCreator", "ScanKey", "ScanLoader", "HoloScanCreator"]
|
|
},
|
|
"key": {"type": "string"},
|
|
"filename": {"type": "string"},
|
|
"emitter": {"type": "string"},
|
|
"initial_state": {"type": "string"},
|
|
"positions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"e": {"type": ["number", "string"]},
|
|
"t": {"type": ["number", "string"]},
|
|
"p": {"type": ["number", "string"]},
|
|
"a": {"type": ["number", "string"]}
|
|
}
|
|
},
|
|
"patch": {
|
|
"type": "object",
|
|
"properties": {
|
|
"e": {"type": ["number", "string"]},
|
|
"t": {"type": ["number", "string"]},
|
|
"p": {"type": ["number", "string"]},
|
|
"a": {"type": ["number", "string"]}
|
|
}
|
|
},
|
|
"generator": {"type": "string"},
|
|
"generator_params": {"type": "object"},
|
|
"other_positions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"e": {"type": ["number", "string"]},
|
|
"t": {"type": ["number", "string"]},
|
|
"p": {"type": ["number", "string"]},
|
|
"a": {"type": ["number", "string"]}
|
|
}
|
|
},
|
|
"is_modf": {"type": "boolean"}
|
|
},
|
|
"required": ["__class__"]
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"optimizer_params": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pop_size": {"type": "integer"},
|
|
"seed_file": {"type": "string"},
|
|
"seed_limit": {"type": "integer"},
|
|
"recalc_seed": {"type": "boolean"},
|
|
"table_source": {"type": "string"}
|
|
}
|
|
},
|
|
"reports": {
|
|
"$ref": "file:reports.schema.json"
|
|
}
|
|
},
|
|
"required": ["__class__", "__module__"]
|
|
}
|