diff --git a/images/SingleSlipModel.png b/images/SingleSlipModel.png index f906afcd7..9d0de6d96 100644 Binary files a/images/SingleSlipModel.png and b/images/SingleSlipModel.png differ diff --git a/images/SingleSlipModel_01.png b/images/SingleSlipModel_01.png index 510050fb1..2fa6b0473 100644 Binary files a/images/SingleSlipModel_01.png and b/images/SingleSlipModel_01.png differ diff --git a/images/SingleSlipModel_02.png b/images/SingleSlipModel_02.png index 5df13cfe3..367a71bb2 100644 Binary files a/images/SingleSlipModel_02.png and b/images/SingleSlipModel_02.png differ diff --git a/images/SingleSlipModel_03.png b/images/SingleSlipModel_03.png index 4850c6600..053faa96d 100644 Binary files a/images/SingleSlipModel_03.png and b/images/SingleSlipModel_03.png differ diff --git a/images/SingleSlipModel_04.png b/images/SingleSlipModel_04.png index 892040995..6ece3a4f2 100644 Binary files a/images/SingleSlipModel_04.png and b/images/SingleSlipModel_04.png differ diff --git a/images/SingleSlipModel_05.png b/images/SingleSlipModel_05.png index ff1a2bcfd..067ed6ea3 100644 Binary files a/images/SingleSlipModel_05.png and b/images/SingleSlipModel_05.png differ diff --git a/images/SingleSlipModel_06.png b/images/SingleSlipModel_06.png index 24ef8ac2d..f935a7cfe 100644 Binary files a/images/SingleSlipModel_06.png and b/images/SingleSlipModel_06.png differ diff --git a/images/SingleSlipModel_07.png b/images/SingleSlipModel_07.png index d0be0b8f7..b85037a0f 100644 Binary files a/images/SingleSlipModel_07.png and b/images/SingleSlipModel_07.png differ diff --git a/pages/documentation_matlab/SingleSlipModel.html b/pages/documentation_matlab/SingleSlipModel.html index 21f44f9cb..a56206ef1 100644 --- a/pages/documentation_matlab/SingleSlipModel.html +++ b/pages/documentation_matlab/SingleSlipModel.html @@ -12,7 +12,7 @@ This HTML was auto-generated from MATLAB code. To make changes, update the MATLAB code and republish this document. -->
Details to this model can be found in
The evolution of the orientation distribution function (ODF) \(f(g)\) with respect to a crystallopgraphic spin \(\Omega(g)\) is governed by the continuity equation
\[\frac{\partial}{\partial t} f + \nabla f \cdot \Omega + f \text{div} \Omega = 0\]
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.
In this example we consider Olivine with has orthorhombic symmetry
+ edit pageDetails to this model can be found in
The evolution of the orientation distribution function (ODF) \(f(g)\) with respect to a crystallopgraphic spin \(\Omega(g)\) is governed by the continuity equation
\[\frac{\partial}{\partial t} f + \nabla f \cdot \Omega + f \text{ div } \Omega = 0\]
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.
In this example we consider Olivine with has orthorhombic symmetry
{% highlight matlab %} cs = crystalSymmetry('222',[4.779 10.277 5.995],'mineral','olivine'); {% endhighlight %} @@ -44,22 +44,20 @@ 0 0 0 0 0 -1 {% endhighlight %} -via minimizing the square difference
\[\int_{SO(3)} \sum_{i,j} (e_{i,j}(g) - E_{i,j})^2 dg \to \text{min}\]
the orientation dependent strain rate tensor is identified as
\[e_{i,j}(g) = 10/3 \left< S(g), E \right> S(g)\]
and the corresponding crystallographic spin tensor as
\[\Omega_i(g) = \epsilon_{ijk} e_{jk}(g)\]
This can be modeled in MTEX via
+via minimizing the square difference
\[\int_{SO(3)} \sum_{i,j} (e_{i,j}(g) - E_{i,j})^2 dg \to \text{min}\]
the orientation dependent strain rate tensor is identified as
\[e(g) = 10/3 \left< S(g), E \right> S(g)\]
and the corresponding crystallographic spin tensor as
\[\Omega_i(g) = \epsilon_{ijk} e_{jk}(g)\]
This can be modeled in MTEX via
{% highlight matlab %} -% explicite version -% Omega = @(ori) 0.5 * EinsteinSum(tensor.leviCivita,[1 -1 -2],(ori * S(1) : E) * (ori * S(1)),[-1 -2]) - Omega = @(ori) vector3d(spinTensor(((ori * S(1)) : E) .* (ori * S(1)))); -%Omega = @(ori) vector3d(spinTensor((S(1) : (inv(ori) * E)) .* S(1))); - Omega = SO3VectorFieldHarmonic.quadrature(Omega,cs) + +% other versions +% Omega = @(ori) 0.5 * EinsteinSum(tensor.leviCivita,[1 -1 -2],(ori * S(1) : E) * (ori * S(1)),[-1 -2]) +% Omega = @(ori) vector3d(spinTensor((S(1) : (inv(ori) * E)) .* S(1))); +% Omega = SO3VectorFieldHarmonic.quadrature(Omega,cs) {% endhighlight %} {% highlight plaintext %} Omega = SO3VectorFieldHarmonic (olivine → xyz) - isReal: true bandwidth: 3 - weights: [-1.9e-18 1.4e-18 2.5e-18] {% endhighlight %}We may visualize the orientation depedence of the spin tensor via
{% highlight matlab %} @@ -69,7 +67,7 @@ {% include inline_image.html file="SingleSlipModel_01.png" %}or the divergence of this vectorfield
{% highlight matlab %} -plot(div(Omega),'sigma') +plot(div(SO3VectorFieldHarmonic(Omega))) {% endhighlight %}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\)
+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\)
TODO: this is currently not working and we do not know why!
{% highlight matlab %} -figure(1) -plot(odf1 .* div(Omega),'sigma') +plot(div(SO3VectorFieldHarmonic(Omega .* odf1))) +mtexColorbar('location','south') {% endhighlight %}should be the negative of the inner product \(\nabla f \cdot \Omega\)
-{% highlight matlab %} -figure(2) -plot(dot(grad(odf1),Omega),'sigma') -{% endhighlight %} -