aiida-sssp
This project is archived and has been fully superseded by aiida-pseudo
which you can find here:
AiiDA plugin for the Standard Solid State Pseudopotentials library
License: MIT License
aiida-sssp
This project is archived and has been fully superseded by aiida-pseudo
which you can find here:
This will be possible with the new functionality that will be shipped with aiida-core==1.2.0
This should allow the user to project additional or other properties of the UpfData
nodes contained within a family, such as the number of electrons
Currently aiida-sssp
only allows installing an SSSP configuration by downloading it from the Materials Cloud archive. This can be quite limiting for example when the resources are not available or the machine does not have internet connection. We should look into providing the option to install from resources already on disk. The question is what level of validation we implement. Do we allow non-official SSSP configurations and just any UPF family? Should we make a separate Group
subclass for these, i.e. a UpfFamily
with the SsspFamily
being a subclass of this adding additional restrictions and validations?
On May 27th, the Materials Cloud Archive migrated to a new backend and the current URL that we use for the SSSP archive entry is no longer valid.
Hi,
See the following:
aiida-core 1.1.1 has requirement click==7.0
aiida-sssp 0.1.0 has requirement click~=7.1
So the two packages are incompatible. But if I change the version config in setup.json of aiida-core for this package to the following:
click~=7.1
This problem will disappear, but I still not so clear whether this this intentional revision will compromise the functions.
Regards
This concept is currently loosely implemented by storing a regular Dict
node, that contains an attribute that cross references the label of the Group
of UpfData
for which it provides the recommended cutoffs. This is necessary since there is no official link to couple a Dict
node to a Group
in aiida-core
. Another possibility would be to store the data directly on the Group
instance, but since it currently does not have a way to store arbitrary attributes, that is not possible. A final possibility would be to include a single Dict
node in the collection of nodes of the Group
itself
Dict
node loosely coupled through an attributeDict
node as one of the nodes in the collection in the Group
itselfDict
node to Group
through actual link, with custom LinkType
Group
instance as metadata or attributesThe last two possibilities would first require more functionality to be implemented in aiida-core
.
Traceback (most recent call last):
File "/home/sph/.virtualenvs/aiida_dev/bin/aiida-quantumespresso", line 10, in <module>
sys.exit(cmd_root())
File "/home/sph/.virtualenvs/aiida_dev/lib/python3.7/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/sph/.virtualenvs/aiida_dev/lib/python3.7/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/sph/.virtualenvs/aiida_dev/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/sph/.virtualenvs/aiida_dev/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/sph/.virtualenvs/aiida_dev/lib/python3.7/site-packages/click/core.py", line 1257, in invoke
sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)
File "/home/sph/.virtualenvs/aiida_dev/lib/python3.7/site-packages/click/core.py", line 700, in make_context
self.parse_args(ctx, args)
File "/home/sph/.virtualenvs/aiida_dev/lib/python3.7/site-packages/click/core.py", line 1048, in parse_args
value, args = param.handle_parse_result(ctx, opts, args)
File "/home/sph/.virtualenvs/aiida_dev/lib/python3.7/site-packages/click/core.py", line 1630, in handle_parse_result
value = invoke_param_callback(self.callback, ctx, self, value)
File "/home/sph/.virtualenvs/aiida_dev/lib/python3.7/site-packages/click/core.py", line 123, in invoke_param_callback
return callback(ctx, param, value)
File "/home/sph/code/aiida/env/dev/aiida-sssp/aiida_sssp/cli/options.py", line 21, in default_sssp_family
return QueryBuilder().append(SsspFamily).first()[0]
TypeError: 'NoneType' object is not subscriptable
The download of the pseudo tarball can take quite a while so it would be nice to show a progress bar during this period.
This information will be important for later verification in case there are inconsistency problems found with the family. Of course groups are mutable so the nodes could simply have been swapped out but assuming no peddling this might still be useful information.
consider integrating workflows for regenerating sssp from
https://github.com/giprandini/sssp-protocol
this would be very useful in order to avoid losing this capability.
in that case, please also make a new version of the sssp archive record that points to this package
The functionality implemented so far is really useful to work with UPF families. However, the current design explicitly does not support any UPF family, but only well-defined SSSP families. It would be relatively easy to generalize the functionality and have the SsspFamily
simply be a subclass of a generic UpfFamily
that only allows SSSP configurations to be stored. The only problem here would be naming.
The most logical naming of the classes would be UpfFamily
and SsspFamily
with the latter being a subclass of the former. The most logical corresponding entry point names would be upf.family
and sssp.family
, respectively. However, given that the plugin package is called aiida-sssp
, and convention states that the entry point prefix should therefore be sssp
, these names would break convention.
Other options:
sssp.upf.family = aiida_sssp.groups.upf:UpfFamily
sssp.family = aiida_sssp.groups.sssp.SsspFamily
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.