Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 15

16 Dez '13, 13:34

stefan's gravatar image

stefan
18.4k163148

Anisotropie Einkristall mit tikz

Hallo, die folgende Frage wurde bereits im [golatex-Forum][1] gepostet, wo man mich hierher verwies. Ich möchte die Anisotropie eines Einkristalls mittels des E-Moduls im dreidimensionalen Raum in Abhängigkeit der Kristallrichtungen darstellen. Dazu soll zunächst die Elastizitätsmatrix von Silizium genutzt werden: $\boldsymbol{C} = \begin{bmatrix} C_{11} & C_{12} & C_{12} &0&0&0 \\ C_{12} & C_{11} & C_{12} &0&0&0 \\ C_{12} & C_{12} & C_{11} &0&0&0 \\ 0&0&0&C_{44}&0&0\\ 0&0&0&0&C_{44}&0\\ 0&0&0&0&0&C_{44}\\ \end{bmatrix}$ Elastischen Konstanten: $C_{11} = 165,7\,\mathrm{GPa}, \; C_{12} = 63,9\,\mathrm{GPa}, \; C_{44} = 79,6\,\mathrm{GPa}$ Diese Konstanten gelten für ein parallel zu den `<100>` -Richtungen ausgerichtetes Koordinatensystem. Geht man von einem einachsigen Spannungszustand in einer bestimmten Richtung aus, so kann man den E-Modul für diese Richtung berechnen. Führt man diese Rechnung für beliebige Richtungen durch und trägt die erhaltenen Werte als Abstand um einen Mittelpunkt in ihrer jeweiligen Richtung ab, so entsteht der angehangene Körper. ![alt text][2] Zur Umsetzung bin ich auf das Paket [`tikz-3dplot`][3] gestoßen. Dazu hangele ich mich an folgendem Minimalbeispiel entlang. \documentclass{minimal} \usepackage{verbatim} \usepackage{tikz} \usepackage{3dplot} \begin{document} \tdplotsetmaincoords{70}{135} \begin{tikzpicture}[scale=1,line join=bevel,tdplot_main_coords, fill opacity=.7] \pgfsetlinewidth{.1pt} \tdplotsphericalsurfaceplot[parametricfill]{72}{36}% {sqrt(15/2)*sin(\tdplottheta)*cos(\tdplottheta)}{black}{\tdplotphi}% {\draw[color=black,-latex] (0,0,0) -- (2,0,0) node[anchor=north east]{$x$};}% {\draw[color=red,-latex] (0,0,0) -- (0,2,0) node[anchor=north west]{$y$};}% {\draw[color=black,-latex] (0,0,0) -- (0,0,2) node[anchor=south]{$z$};}% \end{tikzpicture} \end{document} Nun ist jedoch die Frage, wie ich meine Elastizitätsmatrix hier implementiere und diese dann auch zum Rotieren um den Koordinatenursprung bringe. Kann hier jemand einen Tip geben bzw. gibt es alternative Lösungsmöglichkeiten? `pgfplots` kenne ich ganz gut da ich jeden Tag damit arbeite. Bei der vorliegenden Problemstellung war es mir jedoch noch nicht behilflich. Zur Formel... Komponenten der Steifigkeitstetrade bezogen auf eine Orthonormalbasis: $\boldsymbol{C} = C_{ijkl} \boldsymbol{e}_i \otimes \boldsymbol{e}_j \otimes \boldsymbol{e}_k \otimes \boldsymbol{e}_l$ Eine Rotation des Koordinatensystems mit einem Winkel `$\omega$` um eine beliebige Achse, deren Lage durch den Einheitsvektor `$\boldsymbol{e}$` festgelegt ist, kann durch folgenden (orthogonalen) Tensor vorgenommen werden: $\boldsymbol{Q} = \boldsymbol{1} \mathrm{cos}\omega +\boldsymbol{e} \otimes \boldsymbol{e} (1-\mathrm{cos}\omega) -\boldsymbol{1} \times \boldsymbol{e} \mathrm{sin}\omega$ Einsteinsche Summenkonvention gilt, `$\otimes$` - dyadisches Produkt, `$\times$` - Kreuzprodukt In Mathematica hat es schon einmal jemand umgesetzt. Ein Code-Beispiel gibt es dort auch: [Anisotropic Elasticity][4] Ich habe es mal nachgebastelt: [Seite 1][5] [Seite 2][6] Vielleicht wird die Mathematik hierbei klarer. Eine exemplarische Plot-Funktion sollte lauten: 63.19/(1.*Cos[theta]^4 + 1.51*Cos[phi]^2*Cos[theta]^2*Sin[theta]^2 + 1.*Cos[phi]^4*Sin[theta]^4 + 0.99*Sin[phi]^4*Sin[theta]^4 + 0.37*Sin[2*phi]^2*Sin[theta]^4 + 0.38*Sin[phi]^2*Sin[2*theta]^2) [1]: http://www.golatex.de/anisotropie-einkristall-mit-tikz-t11761,highlight,dirk.html [2]: http://ft.carstenkloehn.de/Joomla/images/Projekte/2005/Knorr_DA05/Si_EMod_Koerper_tp.png [3]: http://www.ctan.org/tex-archive/graphics/pgf/contrib/tikz-3dplot/ [4]: http://demonstrations.wolfram.com/AnisotropicElasticity/ [5]: http://texwelt.de/wissen/upfiles/anisotropie-elastizitaet-page-001.jpg [6]: http://texwelt.de/wissen/upfiles/anisotropie-elastizitaet-page-002.jpg
Klicke auf Einblenden/Ausblenden von Überarbeitungen 14
plot-Code hinzugefügt

16 Dez '13, 08:51

Dirk's gravatar image

Dirk
2654610

Anisotropie Einkristall mit tikz

Hallo, die folgende Frage wurde bereits im [golatex-Forum][1] gepostet, wo man mich hierher verwies. Ich möchte die Anisotropie eines Einkristalls mittels des E-Moduls im dreidimensionalen Raum in Abhängigkeit der Kristallrichtungen darstellen. Dazu soll zunächst die Elastizitätsmatrix von Silizium genutzt werden: $\boldsymbol{C} = \begin{bmatrix} C_{11} & C_{12} & C_{12} &0&0&0 \\ C_{12} & C_{11} & C_{12} &0&0&0 \\ C_{12} & C_{12} & C_{11} &0&0&0 \\ 0&0&0&C_{44}&0&0\\ 0&0&0&0&C_{44}&0\\ 0&0&0&0&0&C_{44}\\ \end{bmatrix}$ Elastischen Konstanten: $C_{11} = 165,7\,\mathrm{GPa}, \; C_{12} = 63,9\,\mathrm{GPa}, \; C_{44} = 79,6\,\mathrm{GPa}$ Diese Konstanten gelten für ein parallel zu den `<100>` -Richtungen ausgerichtetes Koordinatensystem. Geht man von einem einachsigen Spannungszustand in einer bestimmten Richtung aus, so kann man den E-Modul für diese Richtung berechnen. Führt man diese Rechnung für beliebige Richtungen durch und trägt die erhaltenen Werte als Abstand um einen Mittelpunkt in ihrer jeweiligen Richtung ab, so entsteht der angehangene Körper. ![alt text][2] Zur Umsetzung bin ich auf das Paket [`tikz-3dplot`][3] gestoßen. Dazu hangele ich mich an folgendem Minimalbeispiel entlang. \documentclass{minimal} \usepackage{verbatim} \usepackage{tikz} \usepackage{3dplot} \begin{document} \tdplotsetmaincoords{70}{135} \begin{tikzpicture}[scale=1,line join=bevel,tdplot_main_coords, fill opacity=.7] \pgfsetlinewidth{.1pt} \tdplotsphericalsurfaceplot[parametricfill]{72}{36}% {sqrt(15/2)*sin(\tdplottheta)*cos(\tdplottheta)}{black}{\tdplotphi}% {\draw[color=black,-latex] (0,0,0) -- (2,0,0) node[anchor=north east]{$x$};}% {\draw[color=red,-latex] (0,0,0) -- (0,2,0) node[anchor=north west]{$y$};}% {\draw[color=black,-latex] (0,0,0) -- (0,0,2) node[anchor=south]{$z$};}% \end{tikzpicture} \end{document} Nun ist jedoch die Frage, wie ich meine Elastizitätsmatrix hier implementiere und diese dann auch zum Rotieren um den Koordinatenursprung bringe. Kann hier jemand einen Tip geben bzw. gibt es alternative Lösungsmöglichkeiten? `pgfplots` kenne ich ganz gut da ich jeden Tag damit arbeite. Bei der vorliegenden Problemstellung war es mir jedoch noch nicht behilflich. Zur Formel... Komponenten der Steifigkeitstetrade bezogen auf eine Orthonormalbasis: $\boldsymbol{C} = C_{ijkl} \boldsymbol{e}_i \otimes \boldsymbol{e}_j \otimes \boldsymbol{e}_k \otimes \boldsymbol{e}_l$ Eine Rotation des Koordinatensystems mit einem Winkel `$\omega$` um eine beliebige Achse, deren Lage durch den Einheitsvektor `$\boldsymbol{e}$` festgelegt ist, kann durch folgenden (orthogonalen) Tensor vorgenommen werden: $\boldsymbol{Q} = \boldsymbol{1} \mathrm{cos}\omega +\boldsymbol{e} \otimes \boldsymbol{e} (1-\mathrm{cos}\omega) -\boldsymbol{1} \times \boldsymbol{e} \mathrm{sin}\omega$ Einsteinsche Summenkonvention gilt, `$\otimes$` - dyadisches Produkt, `$\times$` - Kreuzprodukt In Mathematica hat es schon einmal jemand umgesetzt. Ein Code-Beispiel gibt es dort auch: [Anisotropic Elasticity][4] Ich habe es mal nachgebastelt: [Seite 1][5] [Seite 2][6] Vielleicht wird die Mathematik hierbei klarer. Eine exemplarische Plot-Funktion sollte lauten: 63.19/(1.*Cos[theta]^4 + 1.51*Cos[phi]^2*Cos[theta]^2*Sin[theta]^2 + 1.*Cos[phi]^4*Sin[theta]^4 + 0.99*Sin[phi]^4*Sin[theta]^4 + 0.37*Sin[2*phi]^2*Sin[theta]^4 + 0.38*Sin[phi]^2*Sin[2*theta]^2) [1]: http://www.golatex.de/anisotropie-einkristall-mit-tikz-t11761,highlight,dirk.html [2]: http://ft.carstenkloehn.de/Joomla/images/Projekte/2005/Knorr_DA05/Si_EMod_Koerper_tp.png [3]: http://www.ctan.org/tex-archive/graphics/pgf/contrib/tikz-3dplot/ [4]: http://demonstrations.wolfram.com/AnisotropicElasticity/ [5]: http://texwelt.de/wissen/upfiles/anisotropie-elastizitaet-page-001.jpg [6]: http://texwelt.de/wissen/upfiles/anisotropie-elastizitaet-page-002.jpg
Klicke auf Einblenden/Ausblenden von Überarbeitungen 13

08 Dez '13, 14:18

Dirk's gravatar image

Dirk
2654610

Klicke auf Einblenden/Ausblenden von Überarbeitungen 12

29 Nov '13, 20:45

Dirk's gravatar image

Dirk
2654610

Klicke auf Einblenden/Ausblenden von Überarbeitungen 11
Mathematica-Beispiel

29 Nov '13, 20:42

Dirk's gravatar image

Dirk
2654610

Klicke auf Einblenden/Ausblenden von Überarbeitungen 10
inline code markup

29 Nov '13, 14:20

cgnieder's gravatar image

cgnieder
22.1k253463

Klicke auf Einblenden/Ausblenden von Überarbeitungen 9
zusätzliche Informationen aus Antwortpost hierher verschoben

26 Nov '13, 20:34

stefan's gravatar image

stefan
18.4k163148

Klicke auf Einblenden/Ausblenden von Überarbeitungen 8
Passende Tags.

26 Nov '13, 09:30

Thorsten's gravatar image

Thorsten
1.6k325

Klicke auf Einblenden/Ausblenden von Überarbeitungen 7

26 Nov '13, 09:22

esdd's gravatar image

esdd
17.8k304257

Klicke auf Einblenden/Ausblenden von Überarbeitungen 6
Links formatiert

26 Nov '13, 09:22

esdd's gravatar image

esdd
17.8k304257

Klicke auf Einblenden/Ausblenden von Überarbeitungen 5
typo

26 Nov '13, 09:21

stefan's gravatar image

stefan
18.4k163148

Klicke auf Einblenden/Ausblenden von Überarbeitungen 4
Code markiert

26 Nov '13, 09:20

stefan's gravatar image

stefan
18.4k163148

Klicke auf Einblenden/Ausblenden von Überarbeitungen 3
Codeumgebung

26 Nov '13, 09:19

esdd's gravatar image

esdd
17.8k304257

Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

26 Nov '13, 09:02

Dirk's gravatar image

Dirk
2654610

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

26 Nov '13, 08:57

Dirk's gravatar image

Dirk
2654610