Kalkulačka Millerových indexů pro identifikaci krystalových rovin
Vypočítejte Millerovy indexy z průsečíků krystalových rovin pomocí tohoto snadno použitelného nástroje. Nezbytné pro krystalografii, materiálové vědy a aplikace v oblasti fyziky pevných látek.
Kalkulačka Millerových indexů
Intercepty krystalové roviny
Zadejte intercepty krystalové roviny s osami x, y a z. Použijte '0' pro roviny paralelní k ose (nekonečný intercept).
Zadejte číslo nebo 0 pro nekonečno
Zadejte číslo nebo 0 pro nekonečno
Zadejte číslo nebo 0 pro nekonečno
Millerovy indexy
Millerovy indexy pro tuto rovinu jsou:
Vizualizace
Co jsou Millerovy indexy?
Millerovy indexy jsou notace používaná v krystalografii k určení rovin a směrů v krystalových mřížkách.
Pro výpočet Millerových indexů (h,k,l) z interceptů (a,b,c):
1. Vezměte reciprokaly interceptů: (1/a, 1/b, 1/c) 2. Převést na nejmenší sadu celých čísel se stejným poměrem 3. Pokud je rovina paralelní k ose (intercept = nekonečno), její odpovídající Millerův index je 0
- Negativní indexy jsou označeny čarou nad číslem, např. (h̄,k,l)
- Notace (hkl) představuje konkrétní rovinu, zatímco {hkl} představuje rodinu ekvivalentních rovin
- Směrové indexy jsou psány v hranatých závorkách [hkl], a rodiny směrů jsou označeny <hkl>
Dokumentace
Kalkulátor Millerových indexů
Úvod
Kalkulátor Millerových indexů je mocný nástroj pro krystalografy, materiálové vědce a studenty, který umožňuje určit Millerovy indexy krystalových rovin. Millerovy indexy jsou systém notace používaný v krystalografii k určení rovin a směrů v krystalových mřížkách. Tento kalkulátor vám umožňuje snadno převést intercepty krystalové roviny s osami souřadnic na odpovídající Millerovy indexy, což poskytuje standardizovaný způsob, jak identifikovat a komunikovat o konkrétních krystalových rovinách.
Millerovy indexy jsou základním prvkem pro pochopení krystalových struktur a jejich vlastností. Představováním rovin jednoduchým souborem tří celých čísel (h,k,l) umožňují Millerovy indexy vědcům analyzovat vzory rentgenové difrakce, předpovídat chování krystalového růstu, vypočítávat mezilehlé vzdálenosti a studovat různé fyzikální vlastnosti, které závisí na krystalografické orientaci.
Co jsou Millerovy indexy?
Millerovy indexy jsou soubor tří celých čísel (h,k,l), které definují rodinu rovnoběžných rovin v krystalové mřížce. Tyto indexy jsou odvozeny z převrácených hodnot zlomkových interceptů, které rovina vytváří s krystalografickými osami. Notace poskytuje standardizovaný způsob, jak identifikovat konkrétní roviny v krystalové struktuře.
Vizuální znázornění Millerových indexů
Vzorec pro výpočet Millerových indexů
Pro výpočet Millerových indexů (h,k,l) krystalové roviny postupujte podle těchto matematických kroků:
- Určete intercepty roviny s krystalografickými osami x, y a z, což dává hodnoty a, b a c.
- Vezměte převrácené hodnoty těchto interceptů: 1/a, 1/b, 1/c.
- Převést tyto převrácené hodnoty na nejmenší soubor celých čísel, která udržují stejný poměr.
- Výsledná tři celá čísla jsou Millerovy indexy (h,k,l).
Matematicky to lze vyjádřit jako:
Kde:
- (h,k,l) jsou Millerovy indexy
- a, b, c jsou intercepty roviny s osami x, y a z, respektive
Zvláštní případy a konvence
Existuje několik zvláštních případů a konvencí, které je důležité pochopit:
-
Intercepty nekonečna: Pokud je rovina rovnoběžná s osou, její intercept se považuje za nekonečno a odpovídající Millerův index se stává nulovým.
-
Negativní indexy: Pokud rovina interceptuje osu na záporné straně počátku, odpovídající Millerův index je záporný, označený čárou nad číslem v krystalografické notaci, např. (h̄kl).
-
Zlomkové intercepty: Pokud jsou intercepty zlomkové, převádějí se na celá čísla násobením nejmenším společným násobitelem.
-
Zjednodušení: Millerovy indexy jsou vždy zredukovány na nejmenší soubor celých čísel, která udržují stejný poměr.
Krok-za-krokem průvodce používáním kalkulátoru
Náš kalkulátor Millerových indexů poskytuje jednoduchý způsob, jak určit Millerovy indexy pro jakoukoli krystalovou rovinu. Zde je návod, jak jej používat:
-
Zadejte intercepty: Zadejte hodnoty, kde rovina interceptuje osy x, y a z.
- Použijte kladná čísla pro intercepty na kladné straně počátku.
- Použijte záporná čísla pro intercepty na záporné straně.
- Zadejte "0" pro roviny, které jsou rovnoběžné s osou (intercept nekonečno).
-
Zobrazte výsledky: Kalkulátor automaticky vypočítá a zobrazí Millerovy indexy (h,k,l) pro zadanou rovinu.
-
Vizualizujte rovinu: Kalkulátor zahrnuje 3D vizualizaci, která vám pomůže pochopit orientaci roviny v krystalové mřížce.
-
Kopírujte výsledky: Použijte tlačítko "Kopírovat do schránky", abyste snadno přenesli vypočtené Millerovy indexy do jiných aplikací.
Příklad výpočtu
Pojďme projít příkladem:
Předpokládejme, že rovina interceptuje osy x, y a z v bodech 2, 3 a 6.
- Intercepty jsou (2, 3, 6).
- Vezmeme převrácené hodnoty: (1/2, 1/3, 1/6).
- Abychom našli nejmenší soubor celých čísel se stejným poměrem, vynásobíme nejmenším společným násobitelem jmenovatelů (NLCM 2, 3, 6 = 6): (1/2 × 6, 1/3 × 6, 1/6 × 6) = (3, 2, 1).
- Proto jsou Millerovy indexy (3,2,1).
Případy použití pro Millerovy indexy
Millerovy indexy mají mnoho aplikací v různých vědeckých a inženýrských oborech:
Krystalografie a rentgenová difrakce
Millerovy indexy jsou nezbytné pro interpretaci vzorů rentgenové difrakce. Vzdálenost mezi krystalovými rovinami, identifikovanými jejich Millerovými indexy, určuje úhly, pod kterými jsou rentgenové paprsky difrakovány, podle Braggova zákona:
Kde:
- je celé číslo
- je vlnová délka rentgenových paprsků
- je vzdálenost mezi rovinami s Millerovými indexy (h,k,l)
- je úhel dopadu
Materiálová věda a inženýrství
-
Analýza povrchové energie: Různé krystalografické roviny mají různé povrchové energie, což ovlivňuje vlastnosti jako krystalový růst, katalýzu a adhezi.
-
Mechanické vlastnosti: Orientace krystalových rovin ovlivňuje mechanické vlastnosti, jako jsou skluzové systémy, klouzací roviny a chování při zlomení.
-
Výroba polovodičů: V polovodičové výrobě jsou vybírány specifické krystalové roviny pro epitaxní růst a výrobu zařízení z důvodu jejich elektronických vlastností.
-
Analýza textury: Millerovy indexy pomáhají charakterizovat preferované orientace (texturu) v polykrystalických materiálech, což ovlivňuje jejich fyzikální vlastnosti.
Mineralogie a geologie
Geologové používají Millerovy indexy k popisu krystalových ploch a klouzavých rovin v minerálech, což pomáhá s identifikací a pochopením podmínek vzniku.
Vzdělávací aplikace
Millerovy indexy jsou základními koncepty vyučovanými v kurzech materiálové vědy, krystalografie a fyziky pevných látek, což činí tento kalkulátor cenným vzdělávacím nástrojem.
Alternativy k Millerovým indexům
Ačkoli jsou Millerovy indexy nejširší používanou notací pro krystalové roviny, existuje několik alternativních systémů:
-
Miller-Bravaisovy indexy: Čtyřindexová notace (h,k,i,l) používaná pro hexagonální krystalové systémy, kde i = -(h+k). Tato notace lépe odráží symetrii hexagonálních struktur.
-
Weberovy symboly: Používané především ve starší literatuře, zejména pro popis směrů v kubických krystalech.
-
Přímé mřížkové vektory: V některých případech jsou roviny popsány pomocí přímých mřížkových vektorů namísto Millerových indexů.
-
Wyckoffovy pozice: Pro popis atomových pozic v krystalových strukturách spíše než rovin.
Navzdory těmto alternativám zůstávají Millerovy indexy standardní notací díky své jednoduchosti a univerzální použitelnosti napříč všemi krystalovými systémy.
Historie Millerových indexů
Systém Millerových indexů byl vyvinut britským mineralogem a krystalografem Williamem Hallowesem Millerem v roce 1839, publikovaný v jeho pojednání "A Treatise on Crystallography". Millerova notace vycházela z dřívější práce Augusta Bravaise a dalších, ale poskytla elegantnější a matematicky konzistentní přístup.
Před Millerovým systémem se používaly různé notace k popisu krystalových ploch, včetně Weissových parametrů a Naumannových symbolů. Millerova inovace spočívala v použití převrácených hodnot interceptů, což zjednodušilo mnohé krystalografické výpočty a poskytlo intuitivnější reprezentaci rovnoběžných rovin.
Přijetí Millerových indexů se zrychlilo s objevem rentgenové difrakce Maxem von Laue v roce 1912 a následnou prací Williama Lawrence Bragga a Williama Henryho Bragga. Jejich výzkum prokázal praktickou užitečnost Millerových indexů při interpretaci difrakčních vzorů a určování krystalových struktur.
Během 20. století, jak se krystalografie stala stále důležitější v materiálové vědě, fyzice pevných látek a biochemii, Millerovy indexy se pevně etablovaly jako standardní notace. Dnes zůstávají nezbytné v moderních technikách charakterizace materiálů, výpočetní krystalografii a návrhu nanomateriálů.
Příklady kódu pro výpočet Millerových indexů
1import math
2import numpy as np
3
4def calculate_miller_indices(intercepts):
5 """
6 Vypočítejte Millerovy indexy z interceptů
7
8 Args:
9 intercepts: Seznam tří interceptů [a, b, c]
10
11 Returns:
12 Seznam tří Millerových indexů [h, k, l]
13 """
14 # Zpracujte nekonečné intercepty (rovnoběžné s osou)
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 # Najděte hodnoty, které nejsou nulové pro výpočet 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 # Změřte na rozumná celá čísla (vyhněte se problémům s plovoucími desetinnými čísly)
29 scale = 1000
30 scaled = [round(r * scale) for r in non_zero]
31
32 # Najděte GCD
33 gcd_value = np.gcd.reduce(scaled)
34
35 # Převést zpět na nejmenší celá čísla
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# Příklad použití
46intercepts = [2, 3, 6]
47indices = calculate_miller_indices(intercepts)
48print(f"Millerovy indexy pro intercepty {intercepts}: {indices}") # Výstup: [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 // Zpracujte nekonečné intercepty
20 const reciprocals = intercepts.map(intercept => {
21 if (intercept === 0 || !isFinite(intercept)) {
22 return 0;
23 }
24 return 1 / intercept;
25 });
26
27 // Najděte hodnoty, které nejsou nulové pro výpočet GCD
28 const nonZeroReciprocals = reciprocals.filter(val => val !== 0);
29
30 if (nonZeroReciprocals.length === 0) {
31 return [0, 0, 0];
32 }
33
34 // Změřte na celá čísla, abyste se vyhnuli problémům s plovoucími desetinnými čísly
35 const scale = 1000;
36 const scaled = nonZeroReciprocals.map(val => Math.round(val * scale));
37
38 // Najděte GCD
39 const divisor = gcdMultiple(scaled);
40
41 // Převést na nejmenší celá čísla
42 const millerIndices = reciprocals.map(val =>
43 val === 0 ? 0 : Math.round((val * scale) / divisor)
44 );
45
46 return millerIndices;
47}
48
49// Příklad
50const intercepts = [2, 3, 6];
51const indices = calculateMillerIndices(intercepts);
52console.log(`Millerovy indexy pro intercepty ${intercepts}: (${indices.join(',')})`);
53// Výstup: Millerovy indexy pro intercepty 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 // Vypočítejte převrácené hodnoty
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 // Spočítejte hodnoty, které nejsou nulové
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 // Změřte na celá čísla
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 // Najděte GCD
60 int divisor = gcdMultiple(scaled);
61
62 // Převést na nejmenší celá čísla
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("Millerovy indexy pro intercepty " +
80 Arrays.toString(intercepts) + ": " +
81 Arrays.toString(indices));
82 // Výstup: Millerovy indexy pro intercepty [2.0, 3.0, 6.0]: [3, 2, 1]
83 }
84}
85
1' Excel VBA Funkce pro výpočet Millerových indexů
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 ' Vypočítejte převrácené hodnoty
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 ' Spočítejte hodnoty, které nejsou nulové
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 ' Změřte na celá čísla
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 ' Najděte GCD
59 gcdVal = scaledVals(1)
60 For i = 2 To nonZeroCount
61 gcdVal = GCD(gcdVal, scaledVals(i))
62 Next i
63
64 ' Vypočítejte Millerovy indexy
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' Použití v Excelu:
102' =CalculateMillerIndices(2, 3, 6)
103' Výsledek: (3,2,1)
104
1#include <iostream>
2#include <vector>
3#include <cmath>
4#include <numeric>
5#include <algorithm>
6
7// Vypočítejte GCD dvou čísel
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// Vypočítejte GCD více čísel
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// Vypočítejte Millerovy indexy z interceptů
31std::vector<int> calculateMillerIndices(const std::vector<double>& intercepts) {
32 std::vector<double> reciprocals;
33
34 // Vypočítejte převrácené hodnoty
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 // Najděte hodnoty, které nejsou nulové
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 // Změřte na celá čísla
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 // Najděte GCD
63 int divisor = gcdMultiple(scaled);
64
65 // Převést na nejmenší celá čísla
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 << "Millerovy indexy pro intercepty [";
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 // Výstup: Millerovy indexy pro intercepty [2, 3, 6]: (3,2,1)
96
97 return 0;
98}
99
Číselné příklady
Zde jsou některé běžné příklady výpočtů Millerových indexů:
-
Příklad 1: Standardní případ
- Intercepty: (2, 3, 6)
- Převrácené hodnoty: (1/2, 1/3, 1/6)
- Násobte NLCM jmenovatelů (6): (3, 2, 1)
- Millerovy indexy: (3,2,1)
-
Příklad 2: Rovina rovnoběžná s osou
- Intercepty: (1, ∞, 2)
- Převrácené hodnoty: (1, 0, 1/2)
- Násobte 2: (2, 0, 1)
- Millerovy indexy: (2,0,1)
-
Příklad 3: Negativní intercepty
- Intercepty: (-1, 2, 3)
- Převrácené hodnoty: (-1, 1/2, 1/3)
- Násobte 6: (-6, 3, 2)
- Millerovy indexy: (-6,3,2)
-
Příklad 4: Zlomkové intercepty
- Intercepty: (1/2, 1/3, 1/4)
- Převrácené hodnoty: (2, 3, 4)
- Již ve formě celých čísel
- Millerovy indexy: (2,3,4)
-
Příklad 5: Zvláštní rovina (100)
- Intercepty: (1, ∞, ∞)
- Převrácené hodnoty: (1, 0, 0)
- Millerovy indexy: (1,0,0)
Často kladené otázky
K čemu se používají Millerovy indexy?
Millerovy indexy se používají k identifikaci a popisu rovin a směrů v krystalových mřížkách. Poskytují standardizovanou notaci, která pomáhá krystalografům, materiálovým vědcům a inženýrům komunikovat o konkrétních krystalových orientacích. Millerovy indexy jsou nezbytné pro analýzu vzorů rentgenové difrakce, pochopení krystalového růstu, výpočet mezilehlých vzdáleností a studium různých fyzikálních vlastností, které závisí na krystalografické orientaci.
Jak mám zacházet s rovinou, která je rovnoběžná s jednou z os?
Když je rovina rovnoběžná s osou, nikdy neinterceptuje tuto osu, takže intercept se považuje za nekonečno. V notaci Millerových indexů je převrácená hodnota nekonečna nula, takže odpovídající Millerův index se stává nulovým. Například rovina rovnoběžná s osou y by měla intercepty (a, ∞, c) a Millerovy indexy (h,0,l).
Co znamenají negativní Millerovy indexy?
Negativní Millerovy indexy naznačují, že rovina interceptuje odpovídající osu na záporné straně počátku. V krystalografické notaci jsou negativní indexy obvykle označeny čárou nad číslem, například (h̄kl). Negativní indexy představují roviny, které jsou ekvivalentní jejich pozitivním protějškům z hlediska fyzikálních vlastností, ale mají odlišné orientace.
Jak Millerovy indexy souvisejí s krystalovou strukturou?
Millerovy indexy přímo souvisejí s atomovým uspořádáním v krystalové struktuře. Vzdálenost mezi rovinami s konkrétními Millerovými indexy (dhkl) závisí na krystalovém systému a mřížkových parametrech. V rentgenové difrakci tyto roviny fungují jako odrazné roviny podle Braggova zákona, což produkuje charakteristické difrakční vzory, které odhalují krystalovou strukturu.
Jaký je rozdíl mezi Millerovými indexy a Miller-Bravaisovými indexy?
Millerovy indexy používají tři celá čísla (h,k,l) a jsou vhodné pro většinu krystalových systémů. Miller-Bravaisovy indexy používají čtyři celá čísla (h,k,i,l) a jsou speciálně navrženy pro hexagonální krystalové systémy. Čtvrtý index, i, je redundantní (i = -(h+k)), ale pomáhá udržovat symetrii hexagonálního systému a usnadňuje rozpoznávání ekvivalentních rovin.
Jak vypočítám úhel mezi dvěma krystalovými rovinami?
Úhel θ mezi dvěma rovinami s Millerovými indexy (h₁,k₁,l₁) a (h₂,k₂,l₂) v kubickém krystalovém systému lze vypočítat pomocí:
Pro nekubické systémy je výpočet složitější a zahrnuje metrický tensor krystalového systému.
Můžou být Millerovy indexy zlomky?
Ne, podle konvence jsou Millerovy indexy vždy celá čísla. Pokud výpočet původně poskytne zlomky, převádějí se na nejmenší soubor celých čísel, která udržují stejný poměr. To se provádí násobením všemi hodnotami nejmenším společným násobitelem jmenovatelů.
Jak určuji Millerovy indexy krystalové plochy experimentálně?
Millerovy indexy krystalových ploch lze určit experimentálně pomocí rentgenové difrakce, elektronové difrakce nebo optické goniometrie. V rentgenové difrakci jsou úhly, pod kterými dochází k difrakci, spojeny s mezilehlými vzdálenostmi krystalových rovin prostřednictvím Braggova zákona, což lze použít k identifikaci odpovídajících Millerových indexů.
Jaké jsou Millerovy indexy běžných krystalových rovin?
Některé běžné krystalové roviny a jejich Millerovy indexy zahrnují:
- (100), (010), (001): Primární kubické plochy
- (110), (101), (011): Diagonální plochy v kubických systémech
- (111): Oktaedrická plocha v kubických systémech
- (112): Běžná skluzová plocha v tělesně centrovaných kubických kovech
Odkazy
-
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.
Vyzkoušejte náš kalkulátor Millerových indexů ještě dnes, abyste rychle a přesně určili Millerovy indexy pro jakoukoli krystalovou rovinu. Ať už jste student, který se učí krystalografii, výzkumník analyzující struktury materiálů nebo inženýr navrhující nové materiály, tento nástroj vám pomůže identifikovat a pochopit krystalové roviny s lehkostí.
Související nástroje
Objevte další nástroje, které by mohly být užitečné pro vaši pracovní postup.