Miller Indices Calculator voor Identificatie van Kristalvlakken
Bereken Miller-indices van kristalvlakintercepties met deze gebruiksvriendelijke tool. Essentieel voor kristallografie, materiaalkunde en toepassingen in de vaste-stoffysica.
Miller Indices Calculator
Kristalvlak Intercepties
Voer de intercepties van het kristalvlak met de x-, y- en z-assen in. Gebruik '0' voor vlakken die parallel aan een as zijn (oneindige interceptie).
Voer een nummer of 0 in voor oneindigheid
Voer een nummer of 0 in voor oneindigheid
Voer een nummer of 0 in voor oneindigheid
Miller Indices
De Miller indices voor dit vlak zijn:
Visualisatie
Wat zijn Miller Indices?
Miller indices zijn een notatiesysteem dat in de kristallografie wordt gebruikt om vlakken en richtingen in kristallattice aan te geven.
Om Miller indices (h,k,l) te berekenen uit intercepties (a,b,c):
1. Neem de reciprocals van de intercepties: (1/a, 1/b, 1/c) 2. Zet om naar de kleinste set gehele getallen met dezelfde verhouding 3. Als een vlak parallel aan een as is (intercept = oneindig), is de bijbehorende Miller index 0
- Negatieve indices worden aangeduid met een streep boven het getal, bijv. (h̄,k,l)
- De notatie (hkl) vertegenwoordigt een specifiek vlak, terwijl {hkl} een familie van equivalente vlakken vertegenwoordigt
- Richtingindices worden geschreven in vierkante haken [hkl], en families van richtingen worden aangeduid met <hkl>
Documentatie
Miller Indices Calculator
Introductie
De Miller Indices Calculator is een krachtig hulpmiddel voor kristallografen, materiaalkundigen en studenten om de Miller-indices van kristalvlakken te bepalen. Miller-indices zijn een notatiesysteem dat in de kristallografie wordt gebruikt om vlakken en richtingen in kristallattice aan te geven. Deze calculator stelt je in staat om eenvoudig de snijpunten van een kristalvlak met de coördinatenassen om te zetten in de bijbehorende Miller-indices, wat een gestandaardiseerde manier biedt om specifieke kristalvlakken te identificeren en te communiceren.
Miller-indices zijn fundamenteel voor het begrijpen van kristalstructuren en hun eigenschappen. Door vlakken weer te geven met een eenvoudige set van drie gehele getallen (h,k,l), stellen Miller-indices wetenschappers in staat om Röntgendiffractiepatronen te analyseren, kristalgroeigedrag te voorspellen, interplanar spacing te berekenen en verschillende fysieke eigenschappen te bestuderen die afhankelijk zijn van de kristallografische oriëntatie.
Wat zijn Miller Indices?
Miller-indices zijn een set van drie gehele getallen (h,k,l) die een familie van parallelle vlakken in een kristallattice definiëren. Deze indices zijn afgeleid van de reciprocals van de fractionele snijpunten die een vlak maakt met de kristallografische assen. De notatie biedt een gestandaardiseerde manier om specifieke vlakken binnen een kristalstructuur te identificeren.
Visuele Weergave van Miller Indices
Formule voor het Berekenen van Miller Indices
Om de Miller-indices (h,k,l) van een kristalvlak te berekenen, volg je deze wiskundige stappen:
- Bepaal de snijpunten van het vlak met de x-, y- en z-kristallografische assen, wat waarden a, b en c oplevert.
- Neem de reciprocals van deze snijpunten: 1/a, 1/b, 1/c.
- Zet deze reciprocals om in de kleinste set gehele getallen die dezelfde verhouding behouden.
- De resulterende drie gehele getallen zijn de Miller-indices (h,k,l).
Wiskundig kan dit worden uitgedrukt als:
Waarbij:
- (h,k,l) de Miller-indices zijn
- a, b, c de snijpunten van het vlak met de x-, y- en z-assen zijn, respectievelijk
Speciale Gevallen en Conventies
Verschillende speciale gevallen en conventies zijn belangrijk om te begrijpen:
-
Oneindige Snijpunten: Als een vlak parallel is aan een as, wordt de snijpunt als oneindig beschouwd, en de bijbehorende Miller-index wordt nul.
-
Negatieve Indices: Als een vlak een as aan de negatieve kant van de oorsprong snijdt, is de bijbehorende Miller-index negatief, aangeduid met een streep over het getal in kristallografische notatie, bijvoorbeeld (h̄kl).
-
Fractionele Snijpunten: Als de snijpunten fractioneel zijn, worden ze omgezet in gehele getallen door te vermenigvuldigen met het kleinste gemene veelvoud.
-
Vereenvoudiging: Miller-indices worden altijd gereduceerd tot de kleinste set gehele getallen die dezelfde verhouding behouden.
Stapsgewijze Gids voor het Gebruik van de Calculator
Onze Miller Indices Calculator biedt een eenvoudige manier om de Miller-indices voor elk kristalvlak te bepalen. Hier is hoe je het gebruikt:
-
Voer de Snijpunten In: Voer de waarden in waar het vlak de x-, y- en z-assen snijdt.
- Gebruik positieve getallen voor snijpunten aan de positieve kant van de oorsprong.
- Gebruik negatieve getallen voor snijpunten aan de negatieve kant.
- Voer "0" in voor vlakken die parallel zijn aan een as (oneindige snijpunt).
-
Bekijk de Resultaten: De calculator berekent automatisch en toont de Miller-indices (h,k,l) voor het opgegeven vlak.
-
Visualiseer het Vlak: De calculator bevat een 3D-visualisatie om je te helpen de oriëntatie van het vlak binnen de kristallattice te begrijpen.
-
Kopieer de Resultaten: Gebruik de knop "Kopiëren naar Klembord" om de berekende Miller-indices eenvoudig naar andere toepassingen over te brengen.
Voorbeeldberekening
Laten we een voorbeeld doorlopen:
Stel dat een vlak de x-, y- en z-assen snijdt op punten 2, 3 en 6 respectievelijk.
- De snijpunten zijn (2, 3, 6).
- De reciprocals nemen: (1/2, 1/3, 1/6).
- Om de kleinste set gehele getallen met dezelfde verhouding te vinden, vermenigvuldig met het kleinste gemene veelvoud van de noemers (LCM van 2, 3, 6 = 6): (1/2 × 6, 1/3 × 6, 1/6 × 6) = (3, 2, 1).
- Daarom zijn de Miller-indices (3,2,1).
Toepassingen van Miller Indices
Miller-indices hebben tal van toepassingen in verschillende wetenschappelijke en technische gebieden:
Kristallografie en Röntgendiffractie
Miller-indices zijn essentieel voor het interpreteren van Röntgendiffractiepatronen. De afstand tussen kristalvlakken, geïdentificeerd door hun Miller-indices, bepaalt de hoeken waarop Röntgenstralen worden diffracted, volgens de wet van Bragg:
Waarbij:
- een geheel getal is
- de golflengte van de Röntgenstralen is
- de afstand tussen vlakken met Miller-indices (h,k,l) is
- de invalshoek is
Materiaalkunde en Engineering
-
Analyse van Oppervlakte-energie: Verschillende kristallografische vlakken hebben verschillende oppervlakte-energieën, wat invloed heeft op eigenschappen zoals kristalgroei, katalyse en hechting.
-
Mechanische Eigenschappen: De oriëntatie van kristalvlakken beïnvloedt mechanische eigenschappen zoals slip-systemen, splijtvakken en breukgedrag.
-
Halfgeleiderfabricage: In de fabricage van halfgeleiders worden specifieke kristalvlakken geselecteerd voor epitaxiale groei en apparaatfabricage vanwege hun elektronische eigenschappen.
-
Textuuranalyse: Miller-indices helpen bij het karakteriseren van voorkeursoorlogen (textuur) in polycrystalline materialen, die hun fysieke eigenschappen beïnvloeden.
Mineralogie en Geologie
Geologen gebruiken Miller-indices om kristalvlakken en splijtvakken in mineralen te beschrijven, wat helpt bij identificatie en het begrijpen van vormingsomstandigheden.
Onderwijs Toepassingen
Miller-indices zijn fundamentele concepten die worden onderwezen in cursussen materiaalkunde, kristallografie en vaste-stoffysica, waardoor deze calculator een waardevol educatief hulpmiddel is.
Alternatieven voor Miller Indices
Hoewel Miller-indices de meest gebruikte notatie zijn voor kristalvlakken, bestaan er verschillende alternatieve systemen:
-
Miller-Bravais Indices: Een vier-index notatie (h,k,i,l) die wordt gebruikt voor hexagonale kristalsystemen, waarbij i = -(h+k). Deze notatie weerspiegelt beter de symmetrie van hexagonale structuren.
-
Weber-symbolen: Voornamelijk gebruikt in oudere literatuur, met name voor het beschrijven van richtingen in kubische kristallen.
-
Directe Lattice Vectors: In sommige gevallen worden vlakken beschreven met behulp van de directe lattice vectors in plaats van Miller-indices.
-
Wyckoff-Posities: Voor het beschrijven van atoomposities binnen kristalstructuren in plaats van vlakken.
Ondanks deze alternatieven blijven Miller-indices de standaardnotatie vanwege hun eenvoud en universele toepasbaarheid in alle kristalsystemen.
Geschiedenis van Miller Indices
Het systeem van Miller-indices werd ontwikkeld door de Britse mineralogist en kristallograaf William Hallowes Miller in 1839, gepubliceerd in zijn traktat "A Treatise on Crystallography." Miller's notatie bouwde voort op eerder werk van Auguste Bravais en anderen, maar bood een elegantere en wiskundig consistente benadering.
Voor de ontwikkeling van Miller's systeem werden verschillende notaties gebruikt om kristalvlakken te beschrijven, waaronder de Weiss-parameters en de Naumann-symbolen. Miller's innovatie was om de reciprocals van snijpunten te gebruiken, wat veel kristallografische berekeningen vereenvoudigde en een meer intuïtieve weergave van parallelle vlakken bood.
De adoptie van Miller-indices versnelde met de ontdekking van Röntgendiffractie door Max von Laue in 1912 en het daaropvolgende werk van William Lawrence Bragg en William Henry Bragg. Hun onderzoek toonde de praktische nut van Miller-indices aan bij het interpreteren van diffractiepatronen en het bepalen van kristalstructuren.
Gedurende de 20e eeuw, naarmate kristallografie steeds belangrijker werd in materiaalkunde, vaste-stoffysica en biochemie, werden Miller-indices stevig gevestigd als de standaardnotatie. Vandaag de dag blijven ze essentieel in moderne materiaalkarakteriseringstechnieken, computationele kristallografie en nanomateriaalontwerp.
Code Voorbeelden voor het Berekenen van Miller Indices
1import math
2import numpy as np
3
4def calculate_miller_indices(intercepts):
5 """
6 Bereken Miller-indices van snijpunten
7
8 Args:
9 intercepts: Lijst van drie snijpunten [a, b, c]
10
11 Returns:
12 Lijst van drie Miller-indices [h, k, l]
13 """
14 # Behandel oneindige snijpunten (parallel aan as)
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 # Vind niet-nul waarden voor GCD-berekening
23 non_zero = [r for r in reciprocals if r != 0]
24
25 if not non_zero:
26 return [0, 0, 0]
27
28 # Schaal naar redelijke gehele getallen (vermijd drijvende puntproblemen)
29 scale = 1000
30 scaled = [round(r * scale) for r in non_zero]
31
32 # Vind GCD
33 gcd_value = np.gcd.reduce(scaled)
34
35 # Zet terug naar kleinste gehele getallen
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# Voorbeeldgebruik
46intercepts = [2, 3, 6]
47indices = calculate_miller_indices(intercepts)
48print(f"Miller-indices voor snijpunten {intercepts}: {indices}") # Output: [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 // Behandel oneindige snijpunten
20 const reciprocals = intercepts.map(intercept => {
21 if (intercept === 0 || !isFinite(intercept)) {
22 return 0;
23 }
24 return 1 / intercept;
25 });
26
27 // Vind niet-nul waarden voor GCD-berekening
28 const nonZeroReciprocals = reciprocals.filter(val => val !== 0);
29
30 if (nonZeroReciprocals.length === 0) {
31 return [0, 0, 0];
32 }
33
34 // Schaal naar gehele getallen om drijvende puntproblemen te vermijden
35 const scale = 1000;
36 const scaled = nonZeroReciprocals.map(val => Math.round(val * scale));
37
38 // Vind GCD
39 const divisor = gcdMultiple(scaled);
40
41 // Zet om naar kleinste gehele getallen
42 const millerIndices = reciprocals.map(val =>
43 val === 0 ? 0 : Math.round((val * scale) / divisor)
44 );
45
46 return millerIndices;
47}
48
49// Voorbeeld
50const intercepts = [2, 3, 6];
51const indices = calculateMillerIndices(intercepts);
52console.log(`Miller-indices voor snijpunten ${intercepts}: (${indices.join(',')})`);
53// Output: Miller-indices voor snijpunten 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 // Bereken reciprocals
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 // Tel niet-nul waarden
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 // Schaal naar gehele getallen
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 // Vind GCD
60 int divisor = gcdMultiple(scaled);
61
62 // Zet naar kleinste gehele getallen
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("Miller-indices voor snijpunten " +
80 Arrays.toString(intercepts) + ": " +
81 Arrays.toString(indices));
82 // Output: Miller-indices voor snijpunten [2.0, 3.0, 6.0]: [3, 2, 1]
83 }
84}
85
1' Excel VBA Functie voor het Berekenen van Miller Indices
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 ' Bereken reciprocals
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 ' Tel niet-nul waarden
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 ' Schaal naar gehele getallen
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 ' Vind GCD
59 gcdVal = scaledVals(1)
60 For i = 2 To nonZeroCount
61 gcdVal = GCD(gcdVal, scaledVals(i))
62 Next i
63
64 ' Bereken Miller-indices
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' Gebruik in Excel:
102' =CalculateMillerIndices(2, 3, 6)
103' Resultaat: (3,2,1)
104
1#include <iostream>
2#include <vector>
3#include <cmath>
4#include <numeric>
5#include <algorithm>
6
7// Bereken GCD van twee getallen
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// Bereken GCD van meerdere getallen
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// Bereken Miller-indices van snijpunten
31std::vector<int> calculateMillerIndices(const std::vector<double>& intercepts) {
32 std::vector<double> reciprocals;
33
34 // Bereken reciprocals
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 // Vind niet-nul waarden
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 // Schaal naar gehele getallen
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 // Vind GCD
63 int divisor = gcdMultiple(scaled);
64
65 // Zet om naar kleinste gehele getallen
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 << "Miller-indices voor snijpunten [";
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 // Output: Miller-indices voor snijpunten [2, 3, 6]: (3,2,1)
96
97 return 0;
98}
99
Numerieke Voorbeelden
Hier zijn enkele veelvoorkomende voorbeelden van berekeningen van Miller-indices:
-
Voorbeeld 1: Standaard Geval
- Snijpunten: (2, 3, 6)
- Reciprocals: (1/2, 1/3, 1/6)
- Vermenigvuldig met LCM van noemers (6): (3, 2, 1)
- Miller-indices: (3,2,1)
-
Voorbeeld 2: Vlak Parallel aan een As
- Snijpunten: (1, ∞, 2)
- Reciprocals: (1, 0, 1/2)
- Vermenigvuldig met 2: (2, 0, 1)
- Miller-indices: (2,0,1)
-
Voorbeeld 3: Negatieve Snijpunten
- Snijpunten: (-1, 2, 3)
- Reciprocals: (-1, 1/2, 1/3)
- Vermenigvuldig met 6: (-6, 3, 2)
- Miller-indices: (-6,3,2)
-
Voorbeeld 4: Fractionele Snijpunten
- Snijpunten: (1/2, 1/3, 1/4)
- Reciprocals: (2, 3, 4)
- Al in gehele getallen
- Miller-indices: (2,3,4)
-
Voorbeeld 5: Speciaal Vlak (100)
- Snijpunten: (1, ∞, ∞)
- Reciprocals: (1, 0, 0)
- Miller-indices: (1,0,0)
Veelgestelde Vragen
Waarvoor worden Miller-indices gebruikt?
Miller-indices worden gebruikt om vlakken en richtingen in kristallattice te identificeren en te beschrijven. Ze bieden een gestandaardiseerde notatie die kristallografen, materiaalkundigen en ingenieurs helpt om te communiceren over specifieke kristaloriëntaties. Miller-indices zijn essentieel voor het analyseren van Röntgendiffractiepatronen, het begrijpen van kristalgroei, het berekenen van interplanar spacing en het bestuderen van verschillende fysieke eigenschappen die afhankelijk zijn van kristallografische oriëntatie.
Hoe ga ik om met een vlak dat parallel is aan een van de assen?
Wanneer een vlak parallel is aan een as, snijdt het dat vlak nooit die as, zodat de snijpunt als oneindig wordt beschouwd. In de notatie van Miller-indices is de reciprocal van oneindig nul, zodat de bijbehorende Miller-index nul wordt. Bijvoorbeeld, een vlak dat parallel is aan de y-as zou snijpunten hebben (a, ∞, c) en Miller-indices (h,0,l).
Wat betekenen negatieve Miller-indices?
Negatieve Miller-indices geven aan dat het vlak de bijbehorende as aan de negatieve kant van de oorsprong snijdt. In kristallografische notatie worden negatieve indices meestal aangeduid met een streep over het getal, zoals (h̄kl). Negatieve indices vertegenwoordigen vlakken die equivalent zijn aan hun positieve tegenhangers in termen van fysieke eigenschappen, maar een andere oriëntatie hebben.
Hoe verhouden Miller-indices zich tot de kristalstructuur?
Miller-indices zijn direct gerelateerd aan de atomaire indeling in een kristalstructuur. De afstand tussen vlakken met specifieke Miller-indices (dhkl) hangt af van het kristalsysteem en de roosterparameters. In Röntgendiffractie fungeren deze vlakken als reflecterende vlakken volgens de wet van Bragg, waardoor kenmerkende diffractiepatronen ontstaan die de kristalstructuur onthullen.
Wat is het verschil tussen Miller-indices en Miller-Bravais-indices?
Miller-indices gebruiken drie gehele getallen (h,k,l) en zijn geschikt voor de meeste kristalsystemen. Miller-Bravais-indices gebruiken vier gehele getallen (h,k,i,l) en zijn specifiek ontworpen voor hexagonale kristalsystemen. De vierde index, i, is overbodig (i = -(h+k)) maar helpt de symmetrie van het hexagonale systeem te behouden en maakt equivalente vlakken gemakkelijker herkenbaar.
Hoe bereken ik de hoek tussen twee kristalvlakken?
De hoek θ tussen twee vlakken met Miller-indices (h₁,k₁,l₁) en (h₂,k₂,l₂) in een kubisch kristalsysteem kan worden berekend met:
Voor niet-kubische systemen is de berekening complexer en omvat het de metrische tensor van het kristalsysteem.
Kunnen Miller-indices fracties zijn?
Nee, volgens de conventie zijn Miller-indices altijd gehele getallen. Als de berekening aanvankelijk fracties oplevert, worden ze omgezet in de kleinste set gehele getallen die dezelfde verhouding behouden. Dit gebeurt door alle waarden te vermenigvuldigen met het kleinste gemene veelvoud van de noemers.
Hoe bepaal ik de Miller-indices van een kristalvlak experimenteel?
Miller-indices van kristalvlakken kunnen experimenteel worden bepaald met behulp van Röntgendiffractie, elektrondiffractie of optische goniometrie. In Röntgendiffractie zijn de hoeken waarop diffractie optreedt gerelateerd aan de d-spacing van kristalvlakken via de wet van Bragg, die kan worden gebruikt om de bijbehorende Miller-indices te identificeren.
Wat zijn de Miller-indices van veelvoorkomende kristalvlakken?
Enkele veelvoorkomende kristalvlakken en hun Miller-indices zijn:
- (100), (010), (001): Primaire kubische vlakken
- (110), (101), (011): Diagonale vlakken in kubische systemen
- (111): Octahedrale vlak in kubische systemen
- (112): Veelvoorkomende slipvlak in body-centered cubic metalen
Referenties
-
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.
Probeer vandaag nog onze Miller Indices Calculator om snel en nauwkeurig de Miller-indices voor elk kristalvlak te bepalen. Of je nu een student bent die kristallografie leert, een onderzoeker die materiaalkristallen analyseert, of een ingenieur die nieuwe materialen ontwerpt, dit hulpmiddel helpt je om kristalvlakken eenvoudig te identificeren en te begrijpen.
Gerelateerde Tools
Ontdek meer tools die handig kunnen zijn voor uw workflow