Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extensible lists? #10

Open
nautolycus opened this issue Apr 24, 2024 · 1 comment
Open

Extensible lists? #10

nautolycus opened this issue Apr 24, 2024 · 1 comment

Comments

@nautolycus
Copy link
Contributor

The original cif_rho.dic enumerated several lists of multipole coefficients, e.g.

_atom_rho_multipole_kappa.base
_atom_rho_multipole_kappa.prime0
_atom_rho_multipole_kappa.prime1
_atom_rho_multipole_kappa.prime2
_atom_rho_multipole_kappa.prime3
_atom_rho_multipole_kappa.prime4

Now there is an aggregator, _atom_rho_multipole_kappa.list, which allows all the values to be given compactly in list form. In working on a draft of the associated commentary chapter for ITG, I wrote "The list item _atom_rho_multipole_kappa.list can be used instead of the individual coefficients, and is in principle extensible to larger values of l." But then I noticed that _atom_rho_multipole_kappa.list has a dREL method

    With k  as  atom_rho_multipole_kappa

    atom_rho_multipole_kappa.list = [ k.base,
                    k.prime0, k.prime1, k.prime2, k.prime3, k.prime4]

that explicitly names the discrete set of "prime l" data names already defined.

My question is: can we write in the definition that the list can be extended to include arbitrary values of l? My reasoning is that a list value that is actually written to the CIF should be parsed for however many members it has. If the list value is absent from a CIF, but the processing application needs to generate it, the method will return only 6 members - but, only 6 members are actually defined in the current version of the dictionary anyway. Of course, in a later version of the dictionary higher-order coefficients might be specifically defined, but then the dREL method should be updated at the same time to accommodate them.

Pinging @jamesrhester and @vaitkus specifically on this as a cif_rho query, but the question would be applicable to any dictionary.

@jamesrhester
Copy link
Contributor

Yes, most definitely the list value is extensible. If data names for higher-order coefficients are defined they would be added to the dREL construction. If the list-valued data name appears without the individual data names, there is no issue. If both appear, validation software must be prepared for the dREL value to not equal the list value where extra members are present in the list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants