Skip to content

Commit 970e94b

Browse files
committed
docu
1 parent 6791809 commit 970e94b

File tree

9 files changed

+240
-30
lines changed

9 files changed

+240
-30
lines changed

_data/sidebars/function_reference_sidebar.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5953,6 +5953,10 @@ entries:
59535953
url: /SO3VectorField.display.html
59545954
output: web
59555955

5956+
- title: "div"
5957+
url: /SO3VectorField.div.html
5958+
output: web
5959+
59565960
- title: "dot"
59575961
url: /SO3VectorField.dot.html
59585962
output: web
@@ -6070,6 +6074,10 @@ entries:
60706074
url: /SO3VectorFieldHarmonic.display.html
60716075
output: web
60726076

6077+
- title: "div"
6078+
url: /SO3VectorFieldHarmonic.div.html
6079+
output: web
6080+
60736081
- title: "dot"
60746082
url: /SO3VectorFieldHarmonic.dot.html
60756083
output: web

images/SingleSlipModel_01.png

0 Bytes
Loading

images/SingleSlipModel_02.png

-97.9 KB
Loading

images/SingleSlipModel_07.png

347 KB
Loading

images/SingleSlipModel_08.png

335 KB
Loading

pages/documentation_matlab/SingleSlipModel.html

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -12,35 +12,16 @@
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 \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 %}
17-
cs = crystalSymmetry('222',[4.779 10.277 5.995],'mineral','olivine')
18-
{% endhighlight %}
19-
20-
{% highlight plaintext %}
21-
cs = crystalSymmetry
22-
23-
mineral : olivine
24-
symmetry: 222
25-
elements: 4
26-
a, b, c : 4.8, 10, 6
17+
cs = crystalSymmetry('222',[4.779 10.277 5.995],'mineral','olivine');
2718
{% endhighlight %}
2819
<p>and the three basic slip systems</p>
2920
{% highlight matlab %}
3021
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'));
4223
{% 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>
4425
{% highlight matlab %}
4526
S = sS.deformationTensor
4627
{% endhighlight %}
@@ -50,7 +31,7 @@
5031
size: 1 x 3
5132
rank: 2 (3 x 3)
5233
{% 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>
5435
{% highlight matlab %}
5536
E = strainRateTensor([1 0 0; 0 0 0; 0 0 -1])
5637
{% endhighlight %}
@@ -63,14 +44,12 @@
6344
0 0 0
6445
0 0 -1
6546
{% 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&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_{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>
6748
{% highlight matlab %}
6849
% explicite version
6950
% Omega = @(ori) 0.5 * EinsteinSum(tensor.leviCivita,[1 -1 -2],(ori * S(1) : E) * (ori * S(1)),[-1 -2])
7051

7152
Omega = @(ori) vector3d(spinTensor(((ori * S(1)) : E) .* (ori * S(1))));
72-
73-
% does not yet work
7453
%Omega = @(ori) vector3d(spinTensor((S(1) : (inv(ori) * E)) .* S(1)));
7554

7655
Omega = SO3VectorFieldHarmonic.quadrature(Omega,cs)
@@ -88,13 +67,13 @@
8867
{% endhighlight %}
8968
<center>
9069
{% 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>
9271
{% highlight matlab %}
93-
plot(sqrt(normSquare(Omega)),'sigma')
72+
plot(div(Omega),'sigma')
9473
{% endhighlight %}
9574
<center>
9675
{% include inline_image.html file="SingleSlipModel_02.png" %}
97-
</center><h2 id="9">Solutions of the Continuity Equation</h2><p>The solutions of the continuity equation can be analytically computed and are available via the command <a href="SO3FunSBF.SO3FunSBF.html"><code class="language-plaintext highlighter-rouge">SO3FunSBF</code></a>. This command takes as input the specific slips system <code class="language-plaintext highlighter-rouge">sS</code> and the makroscopic strain tensor.</p>
76+
</center><h2 id="9">Solutions of the Continuity Equation</h2><p>The solutions of the continuity equation can be analytically computed and are available via the command <a href="SO3FunSBF.SO3FunSBF.html"><code class="language-plaintext highlighter-rouge">SO3FunSBF</code></a>. This command takes as input the specific slips system <code class="language-plaintext highlighter-rouge">sS</code> and the makroscopic strain tensor <code class="language-plaintext highlighter-rouge">E</code></p>
9877
{% highlight matlab %}
9978
odf1 = SO3FunSBF(sS(1),E)
10079
odf2 = SO3FunSBF(sS(2),E)
@@ -146,4 +125,18 @@
146125
{% endhighlight %}
147126
<center>
148127
{% 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>
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" %}
149142
</center></div></body></html>
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
title: calcComponentsOld
3+
4+
sidebar: function_reference_sidebar
5+
permalink: SO3Fun.calcComponentsOld.html
6+
folder: function_reference
7+
toc: false
8+
---
9+
<html><head>
10+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
11+
<!--
12+
This HTML was auto-generated from MATLAB code.
13+
To make changes, update the MATLAB code and republish this document.
14+
--><title>calcComponentsOld</title><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.source" content="script_SO3Fun__calcComponentsOld.m"></head><body><font size="2"><a href="https://github.com/mtex-toolbox/mtex/blob/develop/SO3Fun/@SO3Fun/calcComponentsOld.m">
15+
edit page</a></font><div><!--introduction--><!--/introduction--><p>heuristic to find modal orientations</p><h2 id="3">Syntax</h2>
16+
{% highlight matlab %}
17+
[modes, volume] = calcComponents(SO3F)
18+
[modes, volume, centerId] = calcComponents(SO3F,'seed',ori)
19+
{% endhighlight %}
20+
<h2 id="4">Input</h2><p>
21+
<table cellpadding="4" cellspacing="0" class="funcref" width="100%">
22+
<tr>
23+
<td width="100px">
24+
<tt>SO3F</tt>
25+
</td>
26+
<td>
27+
<tt><a href="SO3Fun.SO3Fun.html">SO3Fun</a></tt>
28+
</td>
29+
</tr>
30+
<tr>
31+
<td width="100px">
32+
<tt>ori</tt>
33+
</td>
34+
<td>
35+
<tt>initial list of <a href="orientation.orientation.html">orientation</a></tt>
36+
</td>
37+
</tr>
38+
</table>
39+
</p><h2 id="5">Output</h2><p>
40+
<table cellpadding="4" cellspacing="0" class="funcref" width="100%">
41+
<tr>
42+
<td width="100px">
43+
<tt>modes</tt>
44+
</td>
45+
<td>
46+
<tt>modal <a href="orientation.orientation.html">orientation</a></tt>
47+
</td>
48+
</tr>
49+
<tr>
50+
<td width="100px">
51+
<tt>volume</tt>
52+
</td>
53+
<td>
54+
<tt>volume of the component</tt>
55+
</td>
56+
</tr>
57+
<tr>
58+
<td width="100px">
59+
<tt>centerId</tt>
60+
</td>
61+
<td>
62+
<tt>list of ids to which each initial ori converged to</tt>
63+
</td>
64+
</tr>
65+
</table>
66+
</p><h2 id="6">Options</h2><p>
67+
<table cellpadding="4" cellspacing="0" class="funcref" width="100%">
68+
<tr>
69+
<td width="100px">
70+
<tt>resolution</tt>
71+
</td>
72+
<td>
73+
<tt>search-grid resolution</tt>
74+
</td>
75+
</tr>
76+
<tr>
77+
<td width="100px">
78+
<tt>angle</tt>
79+
</td>
80+
<td>
81+
<tt>maximum component width used for volume computation</tt>
82+
</td>
83+
</tr>
84+
<tr>
85+
<td width="100px">
86+
<tt>exact</tt>
87+
</td>
88+
<td>
89+
<tt>do not dismiss very small modes at the end</tt>
90+
</td>
91+
</tr>
92+
</table>
93+
</p><h2 id="7">See also</h2><p><a href="SO3Fun.max.html">SO3Fun.max</a></p></div></body></html>
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
title: div
3+
4+
sidebar: function_reference_sidebar
5+
permalink: SO3VectorField.div.html
6+
folder: function_reference
7+
toc: false
8+
---
9+
<html><head>
10+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
11+
<!--
12+
This HTML was auto-generated from MATLAB code.
13+
To make changes, update the MATLAB code and republish this document.
14+
--><title>div</title><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.source" content="script_SO3VectorField__div.m"></head><body><font size="2"><a href="https://github.com/mtex-toolbox/mtex/blob/develop/SO3Fun/@SO3VectorField/div.m">
15+
edit page</a></font><div><!--introduction--><!--/introduction--><p>divergence of an SO3VectorField</p><h2 id="3">Syntax</h2>
16+
{% highlight matlab %}
17+
D = SO3VF.div % compute the divergence
18+
d = SO3VF.div(rot) % evaluate the divergence in rot
19+
{% endhighlight %}
20+
<h2 id="4">Input</h2><p>
21+
<table cellpadding="4" cellspacing="0" class="funcref" width="100%">
22+
<tr>
23+
<td width="100px">
24+
<tt>SO3VF</tt>
25+
</td>
26+
<td>
27+
<tt><a href="SO3VectorField.SO3VectorField.html">SO3VectorField</a></tt>
28+
</td>
29+
</tr>
30+
<tr>
31+
<td width="100px">
32+
<tt>rot</tt>
33+
</td>
34+
<td>
35+
<tt><a href="rotation.rotation.html">rotation</a> / <a href="orientation.orientation.html">orientation</a></tt>
36+
</td>
37+
</tr>
38+
</table>
39+
</p><h2 id="5">Output</h2><p>
40+
<table cellpadding="4" cellspacing="0" class="funcref" width="100%">
41+
<tr>
42+
<td width="100px">
43+
<tt>D</tt>
44+
</td>
45+
<td>
46+
<tt><a href="SO3Fun.SO3Fun.html">SO3Fun</a></tt>
47+
</td>
48+
</tr>
49+
<tr>
50+
<td width="100px">
51+
<tt>d</tt>
52+
</td>
53+
<td>
54+
<tt>@double divergence of |SO3VF| at rotation |rot|</tt>
55+
</td>
56+
</tr>
57+
</table>
58+
</p><h2 id="6">See also</h2><p><a href="SO3VectorFieldHarmonic.div.html">SO3VectorFieldHarmonic.div</a> <a href="SO3Fun.grad.html">SO3Fun.grad</a></p></div></body></html>
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
title: div
3+
4+
sidebar: function_reference_sidebar
5+
permalink: SO3VectorFieldHarmonic.div.html
6+
folder: function_reference
7+
toc: false
8+
---
9+
<html><head>
10+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
11+
<!--
12+
This HTML was auto-generated from MATLAB code.
13+
To make changes, update the MATLAB code and republish this document.
14+
--><title>div</title><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.source" content="script_SO3VectorFieldHarmonic__div.m"></head><body><font size="2"><a href="https://github.com/mtex-toolbox/mtex/blob/develop/SO3Fun/@SO3VectorFieldHarmonic/div.m">
15+
edit page</a></font><div><!--introduction--><!--/introduction--><p>divergence of an SO3VectorFieldHarmonic</p><h2 id="3">Syntax</h2>
16+
{% highlight matlab %}
17+
D = SO3VF.div % compute the divergence
18+
d = SO3VF.div(rot) % evaluate the divergence in rot
19+
{% endhighlight %}
20+
<h2 id="4">Input</h2><p>
21+
<table cellpadding="4" cellspacing="0" class="funcref" width="100%">
22+
<tr>
23+
<td width="100px">
24+
<tt>SO3VF</tt>
25+
</td>
26+
<td>
27+
<tt><a href="SO3VectorFieldHarmonic.SO3VectorFieldHarmonic.html">SO3VectorFieldHarmonic</a></tt>
28+
</td>
29+
</tr>
30+
<tr>
31+
<td width="100px">
32+
<tt>rot</tt>
33+
</td>
34+
<td>
35+
<tt><a href="rotation.rotation.html">rotation</a> / <a href="orientation.orientation.html">orientation</a></tt>
36+
</td>
37+
</tr>
38+
</table>
39+
</p><h2 id="5">Output</h2><p>
40+
<table cellpadding="4" cellspacing="0" class="funcref" width="100%">
41+
<tr>
42+
<td width="100px">
43+
<tt>D</tt>
44+
</td>
45+
<td>
46+
<tt><a href="SO3FunHarmonic.SO3FunHarmonic.html">SO3FunHarmonic</a></tt>
47+
</td>
48+
</tr>
49+
<tr>
50+
<td width="100px">
51+
<tt>d</tt>
52+
</td>
53+
<td>
54+
<tt>@double divergence of |SO3VF| at rotation |rot|</tt>
55+
</td>
56+
</tr>
57+
</table>
58+
</p><h2 id="6">See also</h2><p><a href="SO3VectorField.div.html">SO3VectorField.div</a> <a href="SO3FunHarmonic.grad.html">SO3FunHarmonic.grad</a></p></div></body></html>

0 commit comments

Comments
 (0)