-select all
-select invert
-select <espèce>
-select <indice>
-select <indice1>,<indice2>,<indice3>:<indice4>,...
-select list <fichier>
-select random <N> <espèce>
-select <above|below> <d> <dir>
-select <in|out> cell
-select <in|out> box <x> <y> <z> <x'> <y'> <z'>
-select <in|out> sphere <x> <y> <z> <R>
-select <in|out> cylinder <axe> <x1> <x2> <R>
-select <in|out> cone <axe> <x> <y> <z> <α>
-select <in|out> torus <axe> <x> <y> <z> <R> <r>
-select prop <propriété> <valeur1[:valeur2]>
-select <NNN> <espèce> neighbors <indice>
-select grid <fichier>
-select stl [center] <fichier>
-select <i> modulo <j>
-select [add|rm|intersect|xor|among] <n'importe quel critère ci-dessus>
Cette option permet de sélectionner des atomes en fonction des critères donnés. La sélection peut inclure tous les atomes d'une espèce donnée, les atomes au-dessus ou en-dessous d'un plan donné, ceux à l'intérieur ou à l'extérieur d'une région géométrique, ou un certain nombre d'atomes pris au hasard.
Lorsque -select all est utilisé, toute sélection est détruite. Tous les atomes seront alors traités de la même façon, cela revient donc à sélectionner tous les atomes.
Lorsque -select invert est utilisé la sélection est inversée (tout atome précédemment sélectionné est dé-sélectionné, et tout atome non sélectionné est sélectionné). Si aucune sélection n'était définie précédemment (donc tous les atomes étaient sélectionnés) alors rien n'est fait, car cela n'a pas de sens de ne sélectionner aucun atome.
Lorsque -select <espèce> est utilisé tous les atomes de l'espèce donnée sont sélectionnés. L'espèce chimique doit être désignée par son symbole chimique (e.g. Al, Si, C, Cu...).
Lorsque -select <indice> est utilisé (où <indice> est un entier), seul l'atome ayant l'indice correspondant est sélectionné. Plusieurs indices peuvent être donnés en les séparant par des virgules. Une plage d'indices peut être définie par deux entiers séparés par deux-points.
Lorsque -select list <fichier> est utilisé, la liste d'atomes à sélectionner est lue depuis le <fichier>. Le <fichier> doit être un fichier texte contenant un indice atomique (nombre entier) par ligne.
En utilisant -select random, N atomes de l'<espèce> donnée sont sélectionnés au hasard (où N est un nombre entier). Si N est un nombre réel suivi du symbole "%" alors ce pourcentage d'atomes sera sélectionné. Si <espèce> vaut "any" ou "all" alors N atomes sont sélectionnés au hasard quelle que soit leur espèce chimique. Notez que cette option tente de définir des indices au hasard, elle est donc largement non-reproductible, c-à-d. qu'en partant du même système et en appliquant cette option il est très probable d'obtenir des résultats différents.
En utilisant -select above (respectivement, -select below), tous les atomes situés à une distance supérieure (respectivement inférieure) à la distance <d> par rapport à l'origine cartésienne (0,0,0) le long de la direction <dir> donné sont sélectionnés. La direction <dir> peut être "X", "Y", "Z" (indiquant les axes cartésiens), ou une direction cristallographique définie par ses indices de Miller [hkl], ou [hkil] pour les systèmes hexagonaux (voir comment spécifier les indices de Miller). Si l'orientation cristallograpĥique du système est définie (par exemple grâce à l'option -properties
) alors les
indices de Miller se réfèrent à cette orientation. Sinon il est supposé que l'orientation est X=[100], Y=[010], Z=[001].
Utiliser -select in (ou out) permet de sélectionner des atomes à l'intérieur (respectivement à l'extérieur) d'une région géométrique. Seules quelques formes géométriques simples sont supportées, comme le parallélépipède, la sphère, etc. Les paramètres dépendent de la géométrie de la région :
En utilisant -select in cell (ou -select out cell), les atomes situés à l'intérieur (respectivement à l'extérieur) de la boîte de simulation sont sélectionnés. Cette option ne prend aucun paramètre supplémentaire.
La boîte ("box") est une boîte parallélépipédique définie par deux points de coordonnées (x,y,z) et (x',y',z').
La sphère est définie par son centre (x,y,z) et son rayon R.
Le cylindre est défini par son centre (x1,x2) dans le plan normal à son <axe>, et par son rayon R. Les directions x1 and y2 sont définies d'après la direction de l'<axe> par permutation X, Y, Z (par ex. si <axe>=Y alors x1 sera la position selon l'axe cartésien Z, et x2 la position suivant X).
Le cône est défini par son axe (X, Y ou Z), la position de sa pointe (x,y,z), et son angle d'ouverture par rapport à son axe (α en degrés).
Le tore est défini par son axe (X, Y ou Z), sa position (x,y,z), son rayon principal R, et son rayon secondaire r.
Les positions <x>, <y>, <z> sont généralement données en Å. Il est également possible de spécifier une distance relative aux dimensions de la boîte avec le mot-clé BOX et une opération (voir cette page). Notez que ces mots-clé ne peuvent être employés que pour les positions : le rayon <R> de la sphère ou du cylindre doit toujours être donné en Å.
L'option -select prop permet de sélectionner les atomes si leur <propriété> a la valeur donnée. Si une seule valeur est donnée, alors seuls les atomes dont la <propriété> a exactement cette valeur sont sélectionnés. Si deux valeurs sont données, séparées par un double point (:), alors tous les atomes dont la <propriété> a une valeur dans cette fourchette sont sélectionnés.
En utilisant -select <NNN> <espèce> neighbors <indice>, les voisins de l'atome ayant l'<indice> donné sont sélectionnés. Si <NNN> est un entier positif alors les <NNN> voisins les plus proches sont sélectionnés, peu importe leur distance (<NNN> doit alors être inférieur à 100). Si <NNN> est un nombre réel négatif alors tous les voisins dans un rayon |<NNN>| sont sélectionnés, peu importe leur nombre. Si <NNN> est égal à zero, alors les premiers voisins sont sélectionnés. Notez que si certains atomes se trouvent hors de la boîte, la recherche de voisins peut donner des résultats erronés (l'option -wrap
peut être utilisée pour replacer les atomes dans la boîte). Si <espèce> est le symbole chimique d'une espèce alors seuls les atomes de cette espèce sont sélectionnés. Si <espèce> est "all" ou "any" alors les atomes sont sélectionnés sans tenir compte
de leur espèce chimique.
L'option -select <i> modulo <j> sélectionne les atomes dont l'indice est égal à <i> modulo <j>, c'est-à-dire égal à i±nj où n est un nombre entier.
En utilisant -select grid, une grille d'éléments finis est lue depuis le <fichier>. Le <fichier> doit être un fichier texte respectant l'un des trois formats suivants :
Les deux premiers formats permettent de manipuler des grilles en 2-D ou en 3-D ; le dernier format, uniquement des grilles bidimensionnelles (voir les exemples ci-dessous). Cette option permet de sélectionner des formes complexes.
En utilisant -select stl, les atomes sont sélectionnés selon le modèle 3-D défini dans le <fichier>. Le <fichier> doit être au format STL, ASCII ou binaire. Ce format de fichier est très utilisé pour l'impression 3-D et dans d'autres applications 3-D, et peut être généré à l'aide de nombreux logiciels de modélisation 3-D, parmi lesquels Tinkercad, Blender, ou Google Sketchup; ou bien, des modèles prédéfinis peuvent être obtenus depuis une grande variété de sources, par exemple Cults, Pinshape, ou bien Thingiverse. Après avoir lu le fichier STL, Atomsk le redimensionne automatiquement pour qu'il rentre dans la boîte de simulation, le facteur étant égal au plus petit rapport entre la dimension de la boîte atomique et la dimension correspondante du modèle 3-D. Si le mot-clé "center" apparaît avant le nom du <fichier>, alors le modèle 3-D est placé au centre de la boîte de simulation. Sinon, le modèle 3-D n'est translaté en aucune façon. Les atomes qui se trouvent à l'intérieur du modèle 3-D model sont selectionnés ; pour sélectionner les atomes qui se trouvent à l'extérieur, utilisez simplement "-select invert". Notez que, si le modèle 3-D contient un très grand nombre de triangles (plus de 100 000), alors la sélection peut prendre du temps.
Pour tous les cas ci-dessus (sauf "-select all" et "-select invert"), il est possible d'utiliser l'un des mots-clés optionnels "add", "rm", "intersect", ou "xor", juste après le mot-clé "-select". Ces mots-clés permettent de modifier une sélection précédente, en la combinant avec de nouveaux critères. Supposons que l'option "-select" ait déjà été appelée et ait sélectionné un groupe d'atomes A ; supposons qu'un nouvel appel sélectionne les atomes d'un groupe B ; alors les mots clés correspondent aux opérations logiques suivantes :
Les autres options invoquées après l'option -select
ne seront appliquées qu'aux atomes sélectionnés, référez-vous à la page de chaque option pour savoir comment elles traitent les atomes sélectionnés. Attention : certaines options peuvent produire des résultats étranges (c-à-d. non physiques) lorsqu'elles ne sont appliquées qu'à certains atomes.
À chaque fois que cette option est invoquée, elle oublie toute sélection précédente et en définit une nouvelle.
Notez que cette option n'a aucun effet sur les fichiers de sortie : peu importe quels atomes sont sélectionnés ou non, leurs coordonnées seront écrites dans le ou les fichiers de sortie.
Par défaut aucune sélection n'est définie, donc tous les atomes sont sélectionnés. Si une sélection est définie et que tous les atomes de la sélection sont supprimés (autrement dit, si la sélection ne contient plus aucun atome), alors la sélection est réinitialisée, autrement dit tous les atomes restants sont sélectionnés.
atomsk initial.cfg -select Si -remove-atom select final.xyz
Ceci lira le fichier initial.cfg
, sélectionnera tous les atomes de silicium et les supprimera. Le résultat final sera écrit dans final.xyz
.
atomsk initial.cfg -select 340,432,126:190,809 -rmatom select final.xyz
Ceci va sélectionner les atomes numéros 340, 432, de 126 à 190, et 809.
atomsk initial.cfg -select above 40 y -rot z 45 final.xyz
Ceci sélectionnera tous les atomes ayant une coordonnée Y supérieure à 40 Å. Puis l'option -rotate
sera appliquée seulement aux atomes sélectionnés.
atomsk initial.cfg -select above 40 [111] -cut above 30 x final.xyz
Ceci sélectionnera les atomes qui sont situés, par rapport à l'origine cartésienne, à une distance supérieure à 40 Å suivant la direction [111]. Ensuite, l'option -cut
supprimera les atomes sélectionnés, mais seulement si leur coordonnée X est supérieure à 30 Å.
atomsk initial.cfg -select in box 0 0 0 20 10 3 -shift -10 0 0 final.xyz
Ceci sélectionnera les atomes situés dans la boîte rectangulaire définie par les points (0,0,0) et (20,10,3). Puis l'option -shift
translatera tous ces atomes sélectionnés d'un vecteur (-10,0,0).
atomsk initial.cfg -select out box 10 20 -INF BOX-10 BOX-20 INF -fix all final.xyz
Ceci sélectionnera tous les atomes à l'extérieur de la boîte située entre 10 Å et 10 Å avant le bord de boîte suivant X ("BOX-10"), entre 20 Å et 20 Å avant le bord de boîte suivant Y ("BOX-20"), et entre -∞ et +∞ suivant Z. Puis l'option -fix
sera appliquée aux atomes sélectionnés.
atomsk initial.cfg -select out sphere 0.5*BOX 0.5*BOX 0.5*BOX 10.0 -rmatom select final.xyz
Ceci sélectionnera les atomes qui sont en-dehors de la sphère dont le centre est au milieu de la boîte et de rayon 10 Å. Puis l'option -rmatom
sera appliquée à ces atomes, de sorte qu'il ne reste que les atomes à l'intérieur de la sphère.
atomsk initial.cfg -select out cylinder y 40 30 20 -fix all final.xyz
Ceci sélectionnera les atomes qui sont à l'extérieur du cylindre dont l'axe principal est suivant Y, le centre est en Z=40 Å et X=30 Å, et de rayon 20 Å. Puis ces atomes seront figés.
atomsk initial.cfg -select random 20 Fe -rmatom select final.xyz
Ceci va sélectionner 20 atomes de fer au hasard dans le système. Puis l'option -rmatom
supprimera ces atomes.
atomsk initial.cfg -select random 5% Si -substitute Si C final.xyz
Ceci va sélectionner 5% des atomes de silicium au hasard dans le système. Puis les atomes de silicium sélectionnés seront substitués par des atomes de carbone.
atomsk initial.cfg -select random 150 any -substitute Fe C final.xyz
Ceci sélectionnera 150 atomes au hasard dans le système (peu importe leur espèce). Puis les atomes de fer sélectionnés seront substitués par des atomes de carbone.
atomsk initial.cfg -select 6 any neighbors 9578 final.xyz
Ceci va sélectionner les 6 voisins les plus proches de l'atome #9578.
atomsk initial.cfg -select 12 Si neighbors 1245 -rmatom select final.xyz
Ceci va sélectionner les 12 atomes de silicium les plus proches de l'atome #1245, et va ensuite supprimer ces atomes.
atomsk initial.cfg -select -8.5 any neighbors 566 final.xyz
Ceci va sélectionner tous les atomes se trouvant dans un rayon de 8.5 Å autour de l'atome #566.
atomsk initial.cfg -select prop vx 1e5:1e6 final.xyz
Ceci va sélectionner les atomes dont la vitesse suivant X (vx) est comprise entre 1e5 et 1e6 (selon l'unité de vitesse employée dans le fichier d'entrée).
4 4 3
# Premier plan XY
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
# Second plan XY
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
# Troisième plan XY
0 0 0 0
0 1 1 0
0 1 1 0
0 0 0 0
atomsk initial.cfg -select grid grille.txt -rmatom select final.xyz
Le fichier "grille.txt" contient une première ligne donnant le nombre d'éléments suivant chaque direction : ici, le système atomique sera découpé selon une grille de taille 4x4x3. Les lignes suivantes donnent l'état (0 ou 1) de chacun des 48 éléments de la grille (les lignes vides ou commençant par un signe # sont ignorées). Une valeur de 1 indique que les atomes à l'intérieur d'un élément seront sélectionnés, et 0 qu'ils ne le seront pas. Dans ce fichier, chaque groupement de 4x4 chiffres représente une grille dans un plan XY, et il y a trois de ces plans suivant Z. En résumé, Atomsk va lire le fichier "initial.cfg", mettra automatiquement la grille à l'échelle du système atomique, sélectionnera les atomes situés dans des éléments marqués d'un "1", et supprimera les atomes sélectionnés. Le résultat final sera écrit dans le fichier "final.xyz".
Finite element
0.2354 0.2 0.4013540 1
0.196874 0.5354 0.541 0
0.9432587 0.651 0.3554 1
0.68354 0.2189 0.35 0
0.4568 0.2367 0.920 1
0.87413356 0.543254 0.357401 0
0.367744 0.5485 0.548 1
0.1289 0.855354 0.36871 0
0.354 0.9870 0.5688 1
0.75432 0.98700 0.10753 0
atomsk initial.cfg -select grid grille.txt -rmatom select final.xyz
Le fichier "grille.txt" contient des lignes donnant la position (x,y,z) d'éléments d'une grille d'éléments finis, suivie par un entier (0 ou 1). Atomsk va lire le fichier "initial.cfg", mettra automatiquement la grille aux dimensions de la boîte, sélectionnera les atomes situés à l'intérieur des éléments marqués d'un "1", et supprimera les atomes sélectionnés. Le resultat sera écrit dans "final.xyz".
00000000000000
00000011000000
00001111110000
00001100110000
00001111110000
00001100110000
00000000000000
atomsk initial.cfg -select grid A.txt -rmatom select final.xyz
Le fichier "A.txt" contient des lignes de 0 et de 1, qui forment une représentation graphique de la lettre "A". Atomsk va lire le fichier "initial.cfg", mettra automatiquement la grille aux dimensions de la boîte, sélectionnera les atomes situés à l'intérieur des éléments marqués d'un "1", et supprimera les atomes sélectionnés. Le resultat sera écrit dans "final.xyz".