Kalkulator Millerjevih indeksov za identifikacijo kristalnih ploskev
Izračunajte Millerjeve indekse iz prekinitev kristalnih ploskev s tem enostavnim orodjem. Ključno za kristalografijo, znanost o materialih in aplikacije trdne snovi.
Kalkulator Millerjevih indeksov
Preseki kristalne ravnine
Vnesite preseke kristalne ravnine z osmi x, y in z. Uporabite '0' za ravnine, ki so vzporedne z osjo (neskončni presek).
Vnesite število ali 0 za neskončnost
Vnesite število ali 0 za neskončnost
Vnesite število ali 0 za neskončnost
Millerjevi indeksi
Millerjevi indeksi za to ravnino so:
Vizualizacija
Kaj so Millerjevi indeksi?
Millerjevi indeksi so sistem notacije, ki se uporablja v kristalografiji za določanje ravnin in smeri v kristalnih mrežah.
Za izračun Millerjevih indeksov (h,k,l) iz presekov (a,b,c):
1. Vzemite reciproke presekov: (1/a, 1/b, 1/c) 2. Pretvorite v najmanjši niz celih števil z enakim razmerjem 3. Če je ravnina vzporedna z osjo (presek = neskončnost), je njen ustrezen Millerjev indeks 0
- Negativni indeksi so označeni z črto nad številom, npr. (h̄,k,l)
- Oznaka (hkl) predstavlja specifično ravnino, medtem ko {hkl} predstavlja družino ekvivalentnih ravnin
- Indeksi smeri so zapisani v oglatih oklepajih [hkl], družine smeri pa so označene z <hkl>
Dokumentacija
Kalkulator Millerjevih indeksov
Uvod
Kalkulator Millerjevih indeksov je močno orodje za kristalografe, znanstvenike o materialih in študente, da določijo Millerjeve indekse kristalnih ravnin. Millerjevi indeksi so sistem notacije, ki se uporablja v kristalografiji za določitev ravnin in smeri v kristalnih mrežah. Ta kalkulator vam omogoča, da enostavno pretvorite preseke kristalne ravnine s koordinatnimi osmi v ustrezne Millerjeve indekse, kar zagotavlja standardiziran način za prepoznavanje in komunikacijo o specifičnih kristalnih ravninah.
Millerjevi indeksi so temeljni za razumevanje kristalnih struktur in njihovih lastnosti. Z reprezentacijo ravnin s preprosto skupino treh celih števil (h,k,l) omogočajo Millerjevi indeksi znanstvenikom, da analizirajo rentgenske difrakcijske vzorce, napovedujejo obnašanje rasti kristalov, izračunavajo razdalje med ravninami in preučujejo različne fizične lastnosti, ki so odvisne od kristalografske orientacije.
Kaj so Millerjevi indeksi?
Millerjevi indeksi so niz treh celih števil (h,k,l), ki definirajo družino vzporednih ravnin v kristalni mreži. Ti indeksi izhajajo iz obratnih vrednosti frakcijskih presekov, ki jih ravnina naredi s kristalografskimi osmi. Notacija zagotavlja standardiziran način za prepoznavanje specifičnih ravnin znotraj kristalne strukture.
Vizualna predstavitev Millerjevih indeksov
Formula za izračun Millerjevih indeksov
Za izračun Millerjevih indeksov (h,k,l) kristalne ravnine sledite tem matematičnim korakom:
- Določite preseke ravnine z x, y in z kristalografskimi osmi, kar daje vrednosti a, b in c.
- Vzemite obratne vrednosti teh presekov: 1/a, 1/b, 1/c.
- Pretvorite te obratne vrednosti v najmanjši niz celih števil, ki ohranja isto razmerje.
- Rezultantna tri cela števila so Millerjevi indeksi (h,k,l).
Matematično to lahko izrazimo kot:
Kjer:
- (h,k,l) so Millerjevi indeksi
- a, b, c so preseki ravnine z x, y in z osmi, ustrezno
Posebni primeri in konvencije
Več posebnih primerov in konvencij je pomembnih za razumevanje:
-
Neskončni preseki: Če je ravnina vzporedna z osjo, je njen presek obravnavan kot neskončnost, in ustrezen Millerjev indeks postane nič.
-
Negativni indeksi: Če ravnina seka os na negativni strani izhodišča, je ustrezen Millerjev indeks negativen, kar je označeno z črto nad številom v kristalografski notaciji, npr. (h̄kl).
-
Frakcijski preseki: Če so preseki frakcijski, jih pretvorimo v cela števila z množenjem z najmanjšim skupnim večkratnikom.
-
Poenostavitev: Millerjevi indeksi so vedno zmanjšani na najmanjši niz celih števil, ki ohranja isto razmerje.
Korak-po-korak vodnik za uporabo kalkulatorja
Naš kalkulator Millerjevih indeksov ponuja enostaven način za določitev Millerjevih indeksov za katero koli kristalno ravnino. Tukaj je, kako ga uporabljati:
-
Vnesite preseke: Vnesite vrednosti, kjer se ravnina seka z x, y in z osmi.
- Uporabite pozitivna števila za preseke na pozitivni strani izhodišča.
- Uporabite negativna števila za preseke na negativni strani.
- Vnesite "0" za ravnine, ki so vzporedne z osjo (neskončni presek).
-
Ogled rezultatov: Kalkulator bo samodejno izračunal in prikazal Millerjeve indekse (h,k,l) za določeno ravnino.
-
Vizualizirajte ravnino: Kalkulator vključuje 3D vizualizacijo, ki vam pomaga razumeti orientacijo ravnine znotraj kristalne mreže.
-
Kopirajte rezultate: Uporabite gumb "Kopiraj v odložišče", da enostavno prenesete izračunane Millerjeve indekse v druge aplikacije.
Primer izračuna
Poglejmo primer:
Recimo, da se ravnina seka z x, y in z osmi na točkah 2, 3 in 6.
- Preseki so (2, 3, 6).
- Vzemite obratne vrednosti: (1/2, 1/3, 1/6).
- Da bi našli najmanjši niz celih števil z enakim razmerjem, pomnožite z najmanjšim skupnim večkratnikom imenovalcev (SKM 2, 3, 6 = 6): (1/2 × 6, 1/3 × 6, 1/6 × 6) = (3, 2, 1).
- Zato so Millerjevi indeksi (3,2,1).
Uporabe Millerjevih indeksov
Millerjevi indeksi imajo številne aplikacije v različnih znanstvenih in inženirskih področjih:
Kristalografija in rentgenska difrakcija
Millerjevi indeksi so bistveni za interpretacijo rentgenskih difrakcijskih vzorcev. Razdalja med kristalnimi ravninami, identificiranimi po njihovih Millerjevih indeksih, določa kote, pod katerimi se rentgenski žarki difrakirajo, v skladu z Braggovim zakonom:
Kjer:
- je celo število
- je valovna dolžina rentgenskih žarkov
- je razdalja med ravninami z Millerjevimi indeksi (h,k,l)
- je kot incidence
Znanost o materialih in inženiring
-
Analiza površinske energije: Različne kristalografske ravnine imajo različne površinske energije, kar vpliva na lastnosti, kot so rast kristalov, kataliza in adhezija.
-
Mehanske lastnosti: Orientacija kristalnih ravnin vpliva na mehanske lastnosti, kot so sistemi zdrsa, ravnine loma in obnašanje pri lomu.
-
Proizvodnja polprevodnikov: V proizvodnji polprevodnikov se izberejo specifične kristalne ravnine za epitaksialno rast in izdelavo naprav zaradi njihovih elektronskih lastnosti.
-
Analiza teksture: Millerjevi indeksi pomagajo karakterizirati preferirane orientacije (tekstu) v polikristaliničnih materialih, kar vpliva na njihove fizične lastnosti.
Mineralogija in geologija
Geologi uporabljajo Millerjeve indekse za opisovanje kristalnih površin in ravnin loma v mineralih, kar pomaga pri identifikaciji in razumevanju pogojev nastanka.
Izobraževalne aplikacije
Millerjevi indeksi so temeljni koncepti, ki se učijo v tečajih o materialih, kristalografiji in fiziki trdnih snovi, kar ta kalkulator naredi dragoceno izobraževalno orodje.
Alternativni sistemi Millerjevih indeksov
Medtem ko so Millerjevi indeksi najbolj široko uporabljena notacija za kristalne ravnine, obstaja več alternativnih sistemov:
-
Miller-Bravais indeksi: Četverni indeksni sistem (h,k,i,l), ki se uporablja za heksagonalne kristalne sisteme, kjer je i = -(h+k). Ta notacija bolje odraža simetrijo heksagonalnih struktur.
-
Weberjevi simboli: Uporabljeni predvsem v starejši literaturi, zlasti za opisovanje smeri v kubičnih kristalih.
-
Neposredni kristalni vektorji: V nekaterih primerih se ravnine opisujejo z neposrednimi kristalnimi vektorji namesto Millerjevih indeksov.
-
Wyckoffove pozicije: Za opisovanje atomskih pozicij znotraj kristalnih struktur namesto ravnin.
Kljub tem alternativam ostajajo Millerjevi indeksi standardna notacija zaradi svoje preprostosti in univerzalne uporabnosti v vseh kristalnih sistemih.
Zgodovina Millerjevih indeksov
Sistem Millerjevih indeksov je razvil britanski mineralog in kristalograf William Hallowes Miller leta 1839, objavljen v njegovem delu "A Treatise on Crystallography." Millerjeva notacija je temeljila na prejšnjem delu Augusta Bravaisa in drugih, vendar je ponudila bolj elegantno in matematično dosledno pristop.
Pred Millerjevim sistemom so se uporabljale različne notacije za opisovanje kristalnih površin, vključno z Weissovimi parametri in Naumannovimi simboli. Millerjeva inovacija je bila uporaba obratnih vrednosti presekov, kar je poenostavilo mnoge kristalografske izračune in zagotovilo bolj intuitivno predstavitev vzporednih ravnin.
Sprejem Millerjevih indeksov se je pospešil z odkritjem rentgenske difrakcije s strani Maxa von Laueja leta 1912 in nadaljnjim delom Williama Lawrencea Bragga in Williama Henryja Bragga. Njihovo raziskovanje je pokazalo praktično uporabnost Millerjevih indeksov pri interpretaciji difrakcijskih vzorcev in določanju kristalnih struktur.
V 20. stoletju, ko je postala kristalografija vse bolj pomembna v znanosti o materialih, fiziki trdnih snovi in biokemiji, so Millerjevi indeksi postali trdno uveljavljen standard. Danes ostajajo bistveni v sodobnih tehnikah karakterizacije materialov, računalniški kristalografiji in oblikovanju nanomaterialov.
Primeri kode za izračun Millerjevih indeksov
1import math
2import numpy as np
3
4def calculate_miller_indices(intercepts):
5 """
6 Izračunajte Millerjeve indekse iz presekov
7
8 Args:
9 intercepts: Seznam treh presekov [a, b, c]
10
11 Returns:
12 Seznam treh Millerjevih indeksov [h, k, l]
13 """
14 # Obdelava neskončnih presekov (vzporedno z osjo)
15 reciprocals = []
16 for intercept in intercepts:
17 if intercept == 0 or math.isinf(intercept):
18 reciprocals.append(0)
19 else:
20 reciprocals.append(1 / intercept)
21
22 # Najdite nenulte vrednosti za izračun GCD
23 non_zero = [r for r in reciprocals if r != 0]
24
25 if not non_zero:
26 return [0, 0, 0]
27
28 # Prilagodite na razumne cele številke (izogibanje težavam s plavajočo vejico)
29 scale = 1000
30 scaled = [round(r * scale) for r in non_zero]
31
32 # Najdite GCD
33 gcd_value = np.gcd.reduce(scaled)
34
35 # Pretvorite nazaj v najmanjša cela števila
36 miller_indices = []
37 for r in reciprocals:
38 if r == 0:
39 miller_indices.append(0)
40 else:
41 miller_indices.append(round((r * scale) / gcd_value))
42
43 return miller_indices
44
45# Primer uporabe
46intercepts = [2, 3, 6]
47indices = calculate_miller_indices(intercepts)
48print(f"Millerjevi indeksi za preseke {intercepts}: {indices}") # Izhod: [3, 2, 1]
49
1function gcd(a, b) {
2 a = Math.abs(a);
3 b = Math.abs(b);
4
5 while (b !== 0) {
6 const temp = b;
7 b = a % b;
8 a = temp;
9 }
10
11 return a;
12}
13
14function gcdMultiple(numbers) {
15 return numbers.reduce((result, num) => gcd(result, num), numbers[0]);
16}
17
18function calculateMillerIndices(intercepts) {
19 // Obdelava neskončnih presekov
20 const reciprocals = intercepts.map(intercept => {
21 if (intercept === 0 || !isFinite(intercept)) {
22 return 0;
23 }
24 return 1 / intercept;
25 });
26
27 // Najdite nenulte vrednosti za izračun GCD
28 const nonZeroReciprocals = reciprocals.filter(val => val !== 0);
29
30 if (nonZeroReciprocals.length === 0) {
31 return [0, 0, 0];
32 }
33
34 // Prilagodite na cela števila, da se izognete težavam s plavajočo vejico
35 const scale = 1000;
36 const scaled = nonZeroReciprocals.map(val => Math.round(val * scale));
37
38 // Najdite GCD
39 const divisor = gcdMultiple(scaled);
40
41 // Pretvorite v najmanjša cela števila
42 const millerIndices = reciprocals.map(val =>
43 val === 0 ? 0 : Math.round((val * scale) / divisor)
44 );
45
46 return millerIndices;
47}
48
49// Primer
50const intercepts = [2, 3, 6];
51const indices = calculateMillerIndices(intercepts);
52console.log(`Millerjevi indeksi za preseke ${intercepts}: (${indices.join(',')})`);
53// Izhod: Millerjevi indeksi za preseke 2,3,6: (3,2,1)
54
1import java.util.Arrays;
2
3public class MillerIndicesCalculator {
4
5 public static int gcd(int a, int b) {
6 a = Math.abs(a);
7 b = Math.abs(b);
8
9 while (b != 0) {
10 int temp = b;
11 b = a % b;
12 a = temp;
13 }
14
15 return a;
16 }
17
18 public static int gcdMultiple(int[] numbers) {
19 int result = numbers[0];
20 for (int i = 1; i < numbers.length; i++) {
21 result = gcd(result, numbers[i]);
22 }
23 return result;
24 }
25
26 public static int[] calculateMillerIndices(double[] intercepts) {
27 double[] reciprocals = new double[intercepts.length];
28
29 // Izračunajte obratne vrednosti
30 for (int i = 0; i < intercepts.length; i++) {
31 if (intercepts[i] == 0 || Double.isInfinite(intercepts[i])) {
32 reciprocals[i] = 0;
33 } else {
34 reciprocals[i] = 1 / intercepts[i];
35 }
36 }
37
38 // Število nenulnih vrednosti
39 int nonZeroCount = 0;
40 for (double r : reciprocals) {
41 if (r != 0) nonZeroCount++;
42 }
43
44 if (nonZeroCount == 0) {
45 return new int[]{0, 0, 0};
46 }
47
48 // Prilagodite na cela števila
49 int scale = 1000;
50 int[] scaled = new int[nonZeroCount];
51 int index = 0;
52
53 for (double r : reciprocals) {
54 if (r != 0) {
55 scaled[index++] = (int) Math.round(r * scale);
56 }
57 }
58
59 // Najdite GCD
60 int divisor = gcdMultiple(scaled);
61
62 // Pretvorite v najmanjša cela števila
63 int[] millerIndices = new int[reciprocals.length];
64 for (int i = 0; i < reciprocals.length; i++) {
65 if (reciprocals[i] == 0) {
66 millerIndices[i] = 0;
67 } else {
68 millerIndices[i] = (int) Math.round((reciprocals[i] * scale) / divisor);
69 }
70 }
71
72 return millerIndices;
73 }
74
75 public static void main(String[] args) {
76 double[] intercepts = {2, 3, 6};
77 int[] indices = calculateMillerIndices(intercepts);
78
79 System.out.println("Millerjevi indeksi za preseke " +
80 Arrays.toString(intercepts) + ": " +
81 Arrays.toString(indices));
82 // Izhod: Millerjevi indeksi za preseke [2.0, 3.0, 6.0]: [3, 2, 1]
83 }
84}
85
1' Excel VBA Funkcija za izračun Millerjevih indeksov
2Function CalculateMillerIndices(x As Double, y As Double, z As Double) As String
3 Dim recipX As Double, recipY As Double, recipZ As Double
4 Dim nonZeroCount As Integer, i As Integer
5 Dim scale As Long, gcdVal As Long
6 Dim scaledVals() As Long
7 Dim millerH As Long, millerK As Long, millerL As Long
8
9 ' Izračunajte obratne vrednosti
10 If x = 0 Then
11 recipX = 0
12 Else
13 recipX = 1 / x
14 End If
15
16 If y = 0 Then
17 recipY = 0
18 Else
19 recipY = 1 / y
20 End If
21
22 If z = 0 Then
23 recipZ = 0
24 Else
25 recipZ = 1 / z
26 End If
27
28 ' Število nenulnih vrednosti
29 nonZeroCount = 0
30 If recipX <> 0 Then nonZeroCount = nonZeroCount + 1
31 If recipY <> 0 Then nonZeroCount = nonZeroCount + 1
32 If recipZ <> 0 Then nonZeroCount = nonZeroCount + 1
33
34 If nonZeroCount = 0 Then
35 CalculateMillerIndices = "(0,0,0)"
36 Exit Function
37 End If
38
39 ' Prilagodite na cela števila
40 scale = 1000
41 ReDim scaledVals(1 To nonZeroCount)
42 i = 1
43
44 If recipX <> 0 Then
45 scaledVals(i) = Round(recipX * scale)
46 i = i + 1
47 End If
48
49 If recipY <> 0 Then
50 scaledVals(i) = Round(recipY * scale)
51 i = i + 1
52 End If
53
54 If recipZ <> 0 Then
55 scaledVals(i) = Round(recipZ * scale)
56 End If
57
58 ' Najdite GCD
59 gcdVal = scaledVals(1)
60 For i = 2 To nonZeroCount
61 gcdVal = GCD(gcdVal, scaledVals(i))
62 Next i
63
64 ' Izračunajte Millerjeve indekse
65 If recipX = 0 Then
66 millerH = 0
67 Else
68 millerH = Round((recipX * scale) / gcdVal)
69 End If
70
71 If recipY = 0 Then
72 millerK = 0
73 Else
74 millerK = Round((recipY * scale) / gcdVal)
75 End If
76
77 If recipZ = 0 Then
78 millerL = 0
79 Else
80 millerL = Round((recipZ * scale) / gcdVal)
81 End If
82
83 CalculateMillerIndices = "(" & millerH & "," & millerK & "," & millerL & ")"
84End Function
85
86Function GCD(a As Long, b As Long) As Long
87 Dim temp As Long
88
89 a = Abs(a)
90 b = Abs(b)
91
92 Do While b <> 0
93 temp = b
94 b = a Mod b
95 a = temp
96 Loop
97
98 GCD = a
99End Function
100
101' Uporaba v Excelu:
102' =CalculateMillerIndices(2, 3, 6)
103' Rezultat: (3,2,1)
104
1#include <iostream>
2#include <vector>
3#include <cmath>
4#include <numeric>
5#include <algorithm>
6
7// Izračunajte GCD dveh števil
8int gcd(int a, int b) {
9 a = std::abs(a);
10 b = std::abs(b);
11
12 while (b != 0) {
13 int temp = b;
14 b = a % b;
15 a = temp;
16 }
17
18 return a;
19}
20
21// Izračunajte GCD več števil
22int gcdMultiple(const std::vector<int>& numbers) {
23 int result = numbers[0];
24 for (size_t i = 1; i < numbers.size(); ++i) {
25 result = gcd(result, numbers[i]);
26 }
27 return result;
28}
29
30// Izračunajte Millerjeve indekse iz presekov
31std::vector<int> calculateMillerIndices(const std::vector<double>& intercepts) {
32 std::vector<double> reciprocals;
33
34 // Izračunajte obratne vrednosti
35 for (double intercept : intercepts) {
36 if (intercept == 0 || std::isinf(intercept)) {
37 reciprocals.push_back(0);
38 } else {
39 reciprocals.push_back(1.0 / intercept);
40 }
41 }
42
43 // Najdite nenulte vrednosti
44 std::vector<double> nonZeroReciprocals;
45 for (double r : reciprocals) {
46 if (r != 0) {
47 nonZeroReciprocals.push_back(r);
48 }
49 }
50
51 if (nonZeroReciprocals.empty()) {
52 return {0, 0, 0};
53 }
54
55 // Prilagodite na cela števila
56 const int scale = 1000;
57 std::vector<int> scaled;
58 for (double r : nonZeroReciprocals) {
59 scaled.push_back(std::round(r * scale));
60 }
61
62 // Najdite GCD
63 int divisor = gcdMultiple(scaled);
64
65 // Pretvorite v najmanjša cela števila
66 std::vector<int> millerIndices;
67 for (double r : reciprocals) {
68 if (r == 0) {
69 millerIndices.push_back(0);
70 } else {
71 millerIndices.push_back(std::round((r * scale) / divisor));
72 }
73 }
74
75 return millerIndices;
76}
77
78int main() {
79 std::vector<double> intercepts = {2, 3, 6};
80 std::vector<int> indices = calculateMillerIndices(intercepts);
81
82 std::cout << "Millerjevi indeksi za preseke [";
83 for (size_t i = 0; i < intercepts.size(); ++i) {
84 std::cout << intercepts[i];
85 if (i < intercepts.size() - 1) std::cout << ", ";
86 }
87 std::cout << "]: (";
88
89 for (size_t i = 0; i < indices.size(); ++i) {
90 std::cout << indices[i];
91 if (i < indices.size() - 1) std::cout << ",";
92 }
93 std::cout << ")" << std::endl;
94
95 // Izhod: Millerjevi indeksi za preseke [2, 3, 6]: (3,2,1)
96
97 return 0;
98}
99
Numerični primeri
Tukaj je nekaj pogostih primerov izračunov Millerjevih indeksov:
-
Primer 1: Standardni primer
- Preseki: (2, 3, 6)
- Obratne vrednosti: (1/2, 1/3, 1/6)
- Pomnožite z LCM imenovalcev (6): (3, 2, 1)
- Millerjevi indeksi: (3,2,1)
-
Primer 2: Ravnina vzporedna z osjo
- Preseki: (1, ∞, 2)
- Obratne vrednosti: (1, 0, 1/2)
- Pomnožite z 2: (2, 0, 1)
- Millerjevi indeksi: (2,0,1)
-
Primer 3: Negativni preseki
- Preseki: (-1, 2, 3)
- Obratne vrednosti: (-1, 1/2, 1/3)
- Pomnožite z 6: (-6, 3, 2)
- Millerjevi indeksi: (-6,3,2)
-
Primer 4: Frakcijski preseki
- Preseki: (1/2, 1/3, 1/4)
- Obratne vrednosti: (2, 3, 4)
- Že v obliki celih števil
- Millerjevi indeksi: (2,3,4)
-
Primer 5: Posebna ravnina (100)
- Preseki: (1, ∞, ∞)
- Obratne vrednosti: (1, 0, 0)
- Millerjevi indeksi: (1,0,0)
Pogosto zastavljena vprašanja
Za kaj se uporabljajo Millerjevi indeksi?
Millerjevi indeksi se uporabljajo za identifikacijo in opisovanje ravnin ter smeri v kristalnih mrežah. Nudijo standardizirano notacijo, ki pomaga kristalografom, znanstvenikom o materialih in inženirjem komunicirati o specifičnih kristalnih orientacijah. Millerjevi indeksi so bistveni za analizo rentgenskih difrakcijskih vzorcev, razumevanje rasti kristalov, izračun razdalj med ravninami in preučevanje različnih fizičnih lastnosti, ki so odvisne od kristalografske orientacije.
Kako naj obravnavam ravnino, ki je vzporedna z eno od osi?
Ko je ravnina vzporedna z osjo, se nikoli ne seka s to osjo, zato je njen presek obravnavan kot neskončnost. V notaciji Millerjevih indeksov je obratna vrednost neskončnosti nič, zato ustrezen Millerjev indeks postane nič. Na primer, ravnina vzporedna z y-osjo bi imela preseke (a, ∞, c) in Millerjeve indekse (h,0,l).
Kaj pomenijo negativni Millerjevi indeksi?
Negativni Millerjevi indeksi kažejo, da ravnina seka ustrezno os na negativni strani izhodišča. V kristalografski notaciji so negativni indeksi običajno označeni s črto nad številom, npr. (h̄kl). Negativni indeksi predstavljajo ravnine, ki so ekvivalentne njihovim pozitivnim kolegom v smislu fizičnih lastnosti, vendar imajo drugačne orientacije.
Kako se Millerjevi indeksi povezujejo s kristalno strukturo?
Millerjevi indeksi se neposredno povezujejo z atomsko ureditvijo v kristalni strukturi. Razdalja med ravninami z določenimi Millerjevimi indeksi (dhkl) je odvisna od kristalnega sistema in mrežnih parametrov. V rentgenski difrakciji te ravnine delujejo kot odsevne ravnine v skladu z Braggovim zakonom, kar proizvaja značilne difrakcijske vzorce, ki razkrivajo kristalno strukturo.
Kakšna je razlika med Millerjevimi indeksi in Miller-Bravais indeksi?
Millerjevi indeksi uporabljajo tri cela števila (h,k,l) in so primerni za večino kristalnih sistemov. Miller-Bravais indeksi uporabljajo štiri cela števila (h,k,i,l) in so posebej zasnovani za heksagonalne kristalne sisteme. Četrti indeks, i, je odvečen (i = -(h+k)), vendar pomaga ohranjati simetrijo heksagonalnega sistema in olajša prepoznavanje ekvivalentnih ravnin.
Kako izračunam kot med dvema kristalnima ravninama?
Kot θ med dvema ravninama z Millerjevimi indeksi (h₁,k₁,l₁) in (h₂,k₂,l₂) v kubičnem kristalnem sistemu lahko izračunate z:
Za nekubične sisteme je izračun bolj zapleten in vključuje metrski tenzor kristalnega sistema.
Kakšna je povezava med Millerjevimi indeksi in d-razdaljo?
D-razdalja (razdalja med ravninami) za ravnine z Millerjevimi indeksi (h,k,l) je odvisna od kristalnega sistema. Za kubični kristal z mrežnim parametrom a je povezava:
Za druge kristalne sisteme veljajo bolj kompleksne formule, ki vključujejo specifične mrežne parametre.
Ali so Millerjevi indeksi lahko frakcije?
Ne, po konvenciji so Millerjevi indeksi vedno cela števila. Če izračun prvotno daje frakcije, jih pretvorimo v najmanjši niz celih števil, ki ohranja isto razmerje. To se stori z množenjem vseh vrednosti z najmanjšim skupnim večkratnikom imenovalcev.
Kako lahko eksperimentalno določim Millerjeve indekse kristalne površine?
Millerjeve indekse kristalnih površin je mogoče eksperimentalno določiti z uporabo rentgenske difrakcije, elektronske difrakcije ali optične goniometrije. V rentgenski difrakciji so koti, pod katerimi se difrakcija pojavi, povezani z d-razdaljo kristalnih ravnin preko Braggovega zakona, kar se lahko uporabi za identifikacijo ustreznih Millerjevih indeksov.
Kakšni so Millerjevi indeksi običajnih kristalnih ravnin?
Nekatere pogoste kristalne ravnine in njihovi Millerjevi indeksi vključujejo:
- (100), (010), (001): Primarne kubične površine
- (110), (101), (011): Diagonalne površine v kubičnih sistemih
- (111): Oktaedrična površina v kubičnih sistemih
- (112): Pogosta površina zdrsa v kovinah s telesno centrirano kubično mrežo
Reference
-
Miller, W. H. (1839). A Treatise on Crystallography. Cambridge: For J. & J.J. Deighton.
-
Ashcroft, N. W., & Mermin, N. D. (1976). Solid State Physics. Holt, Rinehart and Winston.
-
Hammond, C. (2015). The Basics of Crystallography and Diffraction (4th ed.). Oxford University Press.
-
Cullity, B. D., & Stock, S. R. (2014). Elements of X-ray Diffraction (3rd ed.). Pearson Education.
-
Kittel, C. (2004). Introduction to Solid State Physics (8th ed.). Wiley.
-
Kelly, A., & Knowles, K. M. (2012). Crystallography and Crystal Defects (2nd ed.). Wiley.
-
International Union of Crystallography. (2016). International Tables for Crystallography, Volume A: Space-group symmetry. Wiley.
-
Giacovazzo, C., Monaco, H. L., Artioli, G., Viterbo, D., Ferraris, G., Gilli, G., Zanotti, G., & Catti, M. (2011). Fundamentals of Crystallography (3rd ed.). Oxford University Press.
-
Buerger, M. J. (1978). Elementary Crystallography: An Introduction to the Fundamental Geometrical Features of Crystals. MIT Press.
-
Tilley, R. J. (2006). Crystals and Crystal Structures. Wiley.
Preizkusite naš kalkulator Millerjevih indeksov danes, da hitro in natančno določite Millerjeve indekse za katero koli kristalno ravnino. Ne glede na to, ali ste študent, ki se uči kristalografije, raziskovalec, ki analizira strukture materialov, ali inženir, ki načrtuje nove materiale, vam bo to orodje pomagalo prepoznati in razumeti kristalne ravnine z lahkoto.
Povezana orodja
Odkrijte več orodij, ki bi lahko bila koristna za vaš delovni proces