Open s9105947 opened 2 years ago
The answer for this is similar to https://github.com/openPMD/openPMD-standard/issues/260#issuecomment-1006464841:
We don't have a use case with a committed chemistry code yet and leave this open to the first one(s) that would like to adopt openPMD. I like your suggestion, but would not standardize it until we have a concrete use case/adopter.
Note for the future reader: @s9105947 works on PIConGPU, which is an electromagnetic particle-in-cel code in laser-plasma physics (keV to MeV range physics, while molecules are eV physics and not covered by em. PIC.)
In this case I would suggest to remove the paragraph about molecules alltogether:
"The base standard does not encode molecules. However, an implementation MAY support molecules with an implementation-defined syntax."
In my opinion the current "use standard chemical notation" is not sufficiently clear.
The current version of the species type extension demands for molecule syntax: "Use standard chemical notation, e.g.: H2O."
What is "standard chemical notation" specifically?
Notable cases:
OH-
[NiCN]+
C2O5OH
,CH3COOH
, maybe evenCH3-COOH
,CH3-CH2-CH3
SO2(OH)2
(admittedly non-standard)(H2)O
andH2O
considered equal?This is a bottomless hole, so I'd like to suggest as a minimal version:
OOH
.")"^" *DIGIT ("+" / "-")
, e.g.HCO^-
,SO4^2-
HCO^1-
andHCO^-
are equivalent.2H^+
is invalid.Note: Depending on if an isotope is also an atom maybe use "atom or isotope" repectively.
Note: Potentially replace the charge separator character.