You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
edit page</a></font><div><!--introduction--><p>Details to this model can be found in</p><div><ul><li><ahref="https://doi.org/10.1093/gji/ggy442">An analytical finite-strain parametrization for texture evolution in deforming olivine polycrystals</a>, Geoph. J. Intern. 216, 2019.</li></ul></div><!--/introduction--><h2id="1">The Continuity Equation</h2><p>The evolution of the orientation distribution function (ODF) \(f(g)\) with respect to a crystallopgraphic spin \(\Omega(g)\) is governed by the continuity equation</p><p>\[\frac{\partial}{\partial t} f + \nabla f \cdot \Omega + f \div \Omega = 0\]</p><p>The solution of this equation depends on the initial texture \(f_0(g)\) at time zero and the crystallographic spin \(\Omega(g)\). In this model we assume the initial texture to be isotrope, i.e., \(f_0 = 1\) and the crystallopgraphic spin be associated with a single slip system. The full ODF will be later modelled as a superposition of the single slip models.</p><p>In this example we consider Olivine with has orthorhombic symmetry</p>
15
+
edit page</a></font><div><!--introduction--><p>Details to this model can be found in</p><div><ul><li><ahref="https://doi.org/10.1093/gji/ggy442">An analytical finite-strain parametrization for texture evolution in deforming olivine polycrystals</a>, Geoph. J. Intern. 216, 2019.</li></ul></div><!--/introduction--><h2id="1">The Continuity Equation</h2><p>The evolution of the orientation distribution function (ODF) \(f(g)\) with respect to a crystallopgraphic spin \(\Omega(g)\) is governed by the continuity equation</p><p>\[\frac{\partial}{\partial t} f + \nabla f \cdot \Omega + f \text{div} \Omega = 0\]</p><p>The solution of this equation depends on the initial texture \(f_0(g)\) at time zero and the crystallographic spin \(\Omega(g)\). In this model we assume the initial texture to be isotrope, i.e., \(f_0 = 1\) and the crystallopgraphic spin be associated with a single slip system. The full ODF will be later modelled as a superposition of the single slip models.</p><p>In this example we consider Olivine with has orthorhombic symmetry</p>
sS = slipSystem(Miller({1,0,0},{1,0,0},{0,0,1},cs,'uvw'),...
31
-
Miller({0,1,0},{0,0,1},{0,1,0},cs,'hkl'))
32
-
{% endhighlight %}
33
-
34
-
{% highlight plaintext %}
35
-
sS = slipSystem (olivine)
36
-
size: 1 x 3
37
-
38
-
u v w | h k l CRSS
39
-
1 0 0 0 1 0 1
40
-
1 0 0 0 0 1 1
41
-
0 0 1 0 1 0 1
22
+
Miller({0,1,0},{0,0,1},{0,1,0},cs,'hkl'));
42
23
{% endhighlight %}
43
-
<p>To each of the slip systems we can associate an orientation dependent Schmid or deformation tensor</p>
24
+
<p>To each of the slip systems we can associate an orientation dependent Schmid or deformation tensor \(S(g)\)</p>
44
25
{% highlight matlab %}
45
26
S = sS.deformationTensor
46
27
{% endhighlight %}
@@ -50,7 +31,7 @@
50
31
size: 1 x 3
51
32
rank: 2 (3 x 3)
52
33
{% endhighlight %}
53
-
<p>and make the for the orientation dependent strain rate tensor \(e\) the ansatz \(e_{ij}(g) = \gamma(g) S_{ij}\). Fitting this ansatz to a given a macroscopic strain tensor</p>
34
+
<p>and make for the orientation dependent strain rate tensor \(e(g)\) the ansatz \(e_{ij}(g) = \gamma(g) S_{ij}(g)\). Fitting this ansatz to a given a macroscopic strain tensor</p>
54
35
{% highlight matlab %}
55
36
E = strainRateTensor([1 0 0; 0 0 0; 0 0 -1])
56
37
{% endhighlight %}
@@ -63,14 +44,12 @@
63
44
0 0 0
64
45
0 0 -1
65
46
{% endhighlight %}
66
-
<p>via minimizing the square difference</p><p>\[\int \sum_{i,j} (e_{i,j}(g) - E_{i,j}) dg \to \text{min}\]</p><p>the orientation dependent strain rate tensor is identified as</p><p>\[e_{i,j}(g) = 10/3 \left< S(g), E right> S(g)\]</p><p>and the corresponding crystallographic spin tensor as</p><p>\[\Omega_i(g) = \epsilon_{ijk} e_{jk}(g)\]</p><p>This can be modeled in MTEX via</p>
47
+
<p>via minimizing the square difference</p><p>\[\int_{SO(3)} \sum_{i,j} (e_{i,j}(g) - E_{i,j})^2 dg \to \text{min}\]</p><p>the orientation dependent strain rate tensor is identified as</p><p>\[e_{i,j}(g) = 10/3 \left< S(g), E \right> S(g)\]</p><p>and the corresponding crystallographic spin tensor as</p><p>\[\Omega_i(g) = \epsilon_{ijk} e_{jk}(g)\]</p><p>This can be modeled in MTEX via</p>
{% include inline_image.html file="SingleSlipModel_01.png" %}
91
-
</center><p>or the total amount of spin by</p>
70
+
</center><p>or the divergence of this vectorfield</p>
92
71
{% highlight matlab %}
93
-
plot(sqrt(normSquare(Omega)),'sigma')
72
+
plot(div(Omega),'sigma')
94
73
{% endhighlight %}
95
74
<center>
96
75
{% include inline_image.html file="SingleSlipModel_02.png" %}
97
-
</center><h2id="9">Solutions of the Continuity Equation</h2><p>The solutions of the continuity equation can be analytically computed and are available via the command <ahref="SO3FunSBF.SO3FunSBF.html"><codeclass="language-plaintext highlighter-rouge">SO3FunSBF</code></a>. This command takes as input the specific slips system <codeclass="language-plaintext highlighter-rouge">sS</code> and the makroscopic strain tensor.</p>
76
+
</center><h2id="9">Solutions of the Continuity Equation</h2><p>The solutions of the continuity equation can be analytically computed and are available via the command <ahref="SO3FunSBF.SO3FunSBF.html"><codeclass="language-plaintext highlighter-rouge">SO3FunSBF</code></a>. This command takes as input the specific slips system <codeclass="language-plaintext highlighter-rouge">sS</code> and the makroscopic strain tensor<codeclass="language-plaintext highlighter-rouge">E</code></p>
98
77
{% highlight matlab %}
99
78
odf1 = SO3FunSBF(sS(1),E)
100
79
odf2 = SO3FunSBF(sS(2),E)
@@ -146,4 +125,18 @@
146
125
{% endhighlight %}
147
126
<center>
148
127
{% include inline_image.html file="SingleSlipModel_06.png" %}
128
+
</center><h2id="15">Checking the Continuity Equation</h2><p>We may now check wether the continuity equation is satisfied. In a stable state the time difference will be zero and hence \(f \text{div} \Omega\)</p>
129
+
{% highlight matlab %}
130
+
figure(1)
131
+
plot(odf1 .* div(Omega),'sigma')
132
+
{% endhighlight %}
133
+
<center>
134
+
{% include inline_image.html file="SingleSlipModel_07.png" %}
135
+
</center><p>should be the negative of the inner product \(\nabla f \cdot \Omega\)</p>
136
+
{% highlight matlab %}
137
+
figure(2)
138
+
plot(dot(grad(odf1),Omega),'sigma')
139
+
{% endhighlight %}
140
+
<center>
141
+
{% include inline_image.html file="SingleSlipModel_08.png" %}
0 commit comments