So far, amorphouspy has no dependency on a workflow manager (except one test that uses executorlib - perhaps we should drop it there).
This is great, since users can easily integrate the package into their workflow system of choice.
At the same time, this means the full pipeline "composition" -> "properties" (which uses executorlib) currently lives somewhat hidden inside the API in the folder below
|
STEPS: dict[str, AnalysisFn] = { |
|
"structure_generation": generate_structure, |
|
"melt_quench": run_melt_quench, |
|
"structure": run_structural_analysis, |
|
"viscosity": run_viscosity, |
|
"cte": run_cte, |
|
"elastic": run_elastic, |
|
} |
So far, the pipeline does not do much besides chaining the individual steps in a sensible parallel way and preparing data for plots, but I suspect that over time more and more logic will build up there (e.g. around error recovery). I suspect this will be valuable not only for users of the API but also for users of amorphouspy who want to screen a bunch of compositions.
I would suggest we leave this question open until we've had some feedback on this question from users.
In the meanwhile, we should try whenever possible to add logic concerning choosing sensible defaults, and even error recovery at LAMMPS level inside amorphouspy rather than at the workflow level in the API.
So far,
amorphouspyhas no dependency on a workflow manager (except one test that uses executorlib - perhaps we should drop it there).This is great, since users can easily integrate the package into their workflow system of choice.
At the same time, this means the full pipeline "composition" -> "properties" (which uses
executorlib) currently lives somewhat hidden inside the API in the folder belowamorphouspy/amorphouspy_api/src/amorphouspy_api/workflows/__init__.py
Lines 13 to 20 in b73ea7f
So far, the pipeline does not do much besides chaining the individual steps in a sensible parallel way and preparing data for plots, but I suspect that over time more and more logic will build up there (e.g. around error recovery). I suspect this will be valuable not only for users of the API but also for users of
amorphouspywho want to screen a bunch of compositions.I would suggest we leave this question open until we've had some feedback on this question from users.
In the meanwhile, we should try whenever possible to add logic concerning choosing sensible defaults, and even error recovery at LAMMPS level inside
amorphouspyrather than at the workflow level in the API.