Skip to content

Commit cf67455

Browse files
committed
docu
1 parent 73638e1 commit cf67455

9 files changed

+11
-20
lines changed

images/SingleSlipModel.png

-338 Bytes
Loading

images/SingleSlipModel_01.png

0 Bytes
Loading

images/SingleSlipModel_02.png

12.9 KB
Loading

images/SingleSlipModel_03.png

1.19 KB
Loading

images/SingleSlipModel_04.png

-756 Bytes
Loading

images/SingleSlipModel_05.png

12 Bytes
Loading

images/SingleSlipModel_06.png

1.66 KB
Loading

images/SingleSlipModel_07.png

-123 KB
Loading

pages/documentation_matlab/SingleSlipModel.html

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
This HTML was auto-generated from MATLAB code.
1313
To make changes, update the MATLAB code and republish this document.
1414
--><title>Sigle Slip Model</title><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.source" content="script_SingleSlipModel.m"></head><body><font size="2"><a href="https://github.com/mtex-toolbox/mtex/blob/develop/doc/Plasticity/SingleSlipModel.m">
15-
edit page</a></font><div><!--introduction--><p>Details to this model can be found in</p><div><ul><li><a href="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--><h2 id="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>
15+
edit page</a></font><div><!--introduction--><p>Details to this model can be found in</p><div><ul><li><a href="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--><h2 id="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>
1616
{% highlight matlab %}
1717
cs = crystalSymmetry('222',[4.779 10.277 5.995],'mineral','olivine');
1818
{% endhighlight %}
@@ -44,22 +44,20 @@
4444
0 0 0
4545
0 0 -1
4646
{% endhighlight %}
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&lt; S(g), E \right&gt; 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(g) = 10/3 \left&lt; S(g), E \right&gt; 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>
4848
{% highlight matlab %}
49-
% explicite version
50-
% Omega = @(ori) 0.5 * EinsteinSum(tensor.leviCivita,[1 -1 -2],(ori * S(1) : E) * (ori * S(1)),[-1 -2])
51-
5249
Omega = @(ori) vector3d(spinTensor(((ori * S(1)) : E) .* (ori * S(1))));
53-
%Omega = @(ori) vector3d(spinTensor((S(1) : (inv(ori) * E)) .* S(1)));
54-
5550
Omega = SO3VectorFieldHarmonic.quadrature(Omega,cs)
51+
52+
% other versions
53+
% Omega = @(ori) 0.5 * EinsteinSum(tensor.leviCivita,[1 -1 -2],(ori * S(1) : E) * (ori * S(1)),[-1 -2])
54+
% Omega = @(ori) vector3d(spinTensor((S(1) : (inv(ori) * E)) .* S(1)));
55+
% Omega = SO3VectorFieldHarmonic.quadrature(Omega,cs)
5656
{% endhighlight %}
5757

5858
{% highlight plaintext %}
5959
Omega = SO3VectorFieldHarmonic (olivine → xyz)
60-
isReal: true
6160
bandwidth: 3
62-
weights: [-1.9e-18 1.4e-18 2.5e-18]
6361
{% endhighlight %}
6462
<p>We may visualize the orientation depedence of the spin tensor via</p>
6563
{% highlight matlab %}
@@ -69,7 +67,7 @@
6967
{% include inline_image.html file="SingleSlipModel_01.png" %}
7068
</center><p>or the divergence of this vectorfield</p>
7169
{% highlight matlab %}
72-
plot(div(Omega),'sigma')
70+
plot(div(SO3VectorFieldHarmonic(Omega)))
7371
{% endhighlight %}
7472
<center>
7573
{% include inline_image.html file="SingleSlipModel_02.png" %}
@@ -125,18 +123,11 @@
125123
{% endhighlight %}
126124
<center>
127125
{% include inline_image.html file="SingleSlipModel_06.png" %}
128-
</center><h2 id="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>
126+
</center><h2 id="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 \(\text{div}(f \Omega) = 0\)</p><p>TODO: this is currently not working and we do not know why!</p>
129127
{% highlight matlab %}
130-
figure(1)
131-
plot(odf1 .* div(Omega),'sigma')
128+
plot(div(SO3VectorFieldHarmonic(Omega .* odf1)))
129+
mtexColorbar('location','south')
132130
{% endhighlight %}
133131
<center>
134132
{% 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" %}
142133
</center></div></body></html>

0 commit comments

Comments
 (0)