HaeffnerLab / IonSim.jl

a simple tool for simulating trapped ion systems
https://ionsim.org
MIT License
70 stars 17 forks source link

Define Configuration Schema for Ion Species #108

Open psktam opened 1 year ago

psktam commented 1 year ago

Currently, ion species are configured directly as Julia code in the src/species/<xxx>.jl files. Prefer encoding the configurations separately as read-only (ie: non-executable) files in their own dedicated location in the repository.

Suggest re-implementing these configurations in a config-only format. YAML is highly attractive as it's a relatively flexible format and is also easy to use, and there seems to be a Julia package available to parse YAML files: https://juliapackages.com/p/yaml

psktam commented 1 year ago

Discussions had while developing for this issue led to additional work being done to remove IonInstance and the species-specific constructors in order to get rid of the constructor boilerplate and to clean up the class structure.