-
Notifications
You must be signed in to change notification settings - Fork 4
feature/SOF 7599 categorization new #341
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
base: dev
Are you sure you want to change the base?
Conversation
VsevolodX
commented
May 20, 2025
- wip: categorization yaml
- wip: add combinations
- wip: add pristine structures
- update: add primitive schemas
- update: add categorization file
- update: clenaup
- update: clenaup 2
crystal_site: | ||
# created by reference to some crystal, can be populated with atom, vacancy, void, can be merged with a crystal of the same lattice | ||
- reference_crystal | ||
- crystal_coordinate |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
host, coordinate, id
- direction = "z" | ||
- number_of_layers = 3 | ||
- terminations = [termination_1, termination_3] | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# You provide material
material: SrTiO3
# You specify the layering configuration (Miller indices)
layers_configuration:
- crystal = material
- miller_indices = [ 0, 1, 1 ]
# Function gets all possible layers and their terminations:
layers: get_layers(layers_configuration) => [ layer_1, layer_2, layer_3 ]
terminations: get_terminations(layers) => [ "SrO", "Ti", "TiO" ]
# or layers: generate_layers(layers_configuration) => [ {layer_1, termination_1}, {layer_2, termination_2}, {layer_3, termination_3} ]
# You use those layers object and top and bottom terminations to specify a slab configuration
slab_configuration:
- stack_components = [ layers, vacuum(10) ]
- direction = "z"
- number_of_layers = 7
- terminations = ["SrO", "SrO" ]
# You can generate the slab, with terminations and vacuum added
slab: generate_slab(slab_configuration)
- is_isometric = bool | ||
combinations: | ||
stack_component: | ||
- structure = (material | vacuum) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It doesn't have the structure
key it's just material or vacuum
crystal_lattice_planes: | ||
- crystal = material | ||
- miller_indices = [ h, k, l ] | ||
(termination): # not a configuration, but a data-model |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be primitive
(termination): # not a configuration, but a data-model | ||
- stoichiometry # e.g. SrO, TiO, etc. | ||
- symmetry #P6/mmm, P3m1, etc. | ||
unique_atomic_layers: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe atomic_layers_unique
atomic_layers_unique_repeated
and atomic_layers
- direction = (x | y){1} | ||
wire_section: | ||
# we created a supercell, cut the shape | ||
- supercell = ref:/.../supercell |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The actual wire length, width should be first, not supercell
zero-dimensional: | ||
nanoparticle: | ||
# we created a supercell, cut the shape and added vacuum on all sides | ||
- supercell = ref:/.../supercell |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as above
- crystal = ref:/primitive/base/crystal | ||
# In the code properties below can be supplied externally or generated based on the above with a wizard | ||
- stacking_order? = ("natural" | "AB" | "ABC" | ...){1} # Natural by default, can be described as a ABC... configurations based on the symmetry | ||
heterostack: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can just call it stack
- stack_components = [ slab, vacuum, slab, vacuum ] | ||
- direction = "z" | ||
interface_slab_monolayer: | ||
- stack_components = [ slab, vacuum, monolayer ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should not have vacuum
- stack_components = [ slab, vacuum, monolayer ] | ||
- direction = "z" | ||
interface_slab_monolayer_vacuum: | ||
- stack_components = [ slab, vacuum, monolayer, vacuum ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be only one vacuum