mtex-toolbox / mtex

MTEX is a free Matlab toolbox for quantitative texture analysis. Homepage:
http://mtex-toolbox.github.io/
GNU General Public License v2.0
281 stars 185 forks source link

BUG: velocities computed from stiffnessTensors from ODF with uniform components is wrong #905

Closed kilir closed 3 years ago

kilir commented 3 years ago

Hi Ralf, when we have an ODF which contains mixtures with uniformComponents, the computed stiffnessTensors, respectively following results e.g. velocities can be higher or lower then single crystal values. I don't think physics allows this. Does it?

CS= crystalSymmetry('-3m', [5.323 5.323 7.272], 'X||a*', 'Y||b', 'Z||c');
rho= 2.5155; %g/cm³
N=[[229.08    89.04       13.56          0         0        0];...
   [89.04    229.08       13.56          0         0        0];...
   [13.56     13.56       45.84          0         0        0];...
   [0             0           0      12.77         0        0];...
   [0             0           0          0     12.77        0];...
   [0             0           0          0         0    70.02]];
E=stiffnessTensor(N,CS)

% vp single crystal
VP_SC = velocity(E,'density',rho);

% vp fibre
cfib = fibreODF(Miller(0,0,0,1,CS),yvector,'halfwidth',30*degree)

[CV, CR, CH] = calcTensor(cfib,E);
vp_Fib_V = velocity(CV,'density',rho);
vp_Fib_R = velocity(CR,'density',rho);
vp_Fib_H = velocity(CH,'density',rho);

% vp fibre+lots of uniform ODF
mix = 2*uniformODF(CS)+cfib

[CV, CR, CH] = calcTensor(mix,E);
vp_mix_V = velocity(CV,'density',rho);
vp_mix_R = velocity(CR,'density',rho);
vp_mix_H = velocity(CH,'density',rho);

%plot things
plot(VP_SC,'antipodal','minmax')
mtexTitle('vp single')
nextAxis; nextAxis;

% plotPDF(cfib, Miller({0,0,0,1},{1,1,-2,0},CS));
% nextAxis;  

plot(vp_Fib_V,'antipodal','minmax')
mtexTitle('vp fibre Voigt')
nextAxis;
plot(vp_Fib_R,'antipodal','minmax')
mtexTitle('vp fibre Reuss')
% nextAxis;
% plot(vp_Fib_H,'antipodal','minmax')
% mtexTitle('vp cfib H')
nextAxis;

% plotPDF(mix, Miller({0,0,0,1},{1,1,-2,0},CS));
% nextAxis; 
plot(vp_mix_V,'antipodal','minmax')
mtexTitle('vp fib+uni Voigt')
nextAxis
plot(vp_mix_R,'antipodal','minmax')
mtexTitle('vp fib+uni Reuss')
% nextAxis
% plot(vp_mix_H,'antipodal','minmax')
% mtexTitle('vp mixf H')
mtexColorbar
seismo_not_right

Cheers, Rüdiger

lfgmorales commented 3 years ago

Hi Rüdiger

Can confirm that, plotSeismicVelocities also does not help when plotting CV,CR or CH

What sort of physics would explain that I wonder :-D

But it seems related to the mixtures of ODFs, rather then the tensor, as far As I can see

cheers

Luiz

Luiz F. G. Morales ScopeM & Structural Geology and Tectonics Group ETH Zürich


From: Rüdiger Kilian @.***> Sent: 22 March 2021 20:03:05 To: mtex-toolbox/mtex Cc: Subscribed Subject: [mtex-toolbox/mtex] BUG: velocities computed from stiffnessTensors from ODF with uniform components is wrong (#905)

Hi Ralf, when we have an ODF which contains mixtures with uniformComponents, the computed stiffnessTensors, respectively following results e.g. velocities can be higher or lower then single crystal values. I don't think physics allows this. Does it?

CS= crystalSymmetry('-3m', [5.323 5.323 7.272], 'X||a*', 'Y||b', 'Z||c');

rho= 2.5155; %g/cm³

N=[[229.08 89.04 13.56 0 0 0];...

[89.04 229.08 13.56 0 0 0];...

[13.56 13.56 45.84 0 0 0];...

[0 0 0 12.77 0 0];...

[0 0 0 0 12.77 0];...

[0 0 0 0 0 70.02]];

E=stiffnessTensor(N,CS)

% vp single crystal

VP_SC = velocity(E,'density',rho);

% vp fibre

cfib = fibreODF(Miller(0,0,0,1,CS),yvector,'halfwidth',30*degree)

[CV, CR, CH] = calcTensor(cfib,E);

vp_Fib_V = velocity(CV,'density',rho);

vp_Fib_R = velocity(CR,'density',rho);

vp_Fib_H = velocity(CH,'density',rho);

% vp fibre+lots of uniform ODF

mix = 2*uniformODF(CS)+cfib

[CV, CR, CH] = calcTensor(mix,E);

vp_mix_V = velocity(CV,'density',rho);

vp_mix_R = velocity(CR,'density',rho);

vp_mix_H = velocity(CH,'density',rho);

%plot things

plot(VP_SC,'antipodal','minmax')

mtexTitle('vp single')

nextAxis; nextAxis;

% plotPDF(cfib, Miller({0,0,0,1},{1,1,-2,0},CS));

% nextAxis;

plot(vp_Fib_V,'antipodal','minmax')

mtexTitle('vp fibre Voigt')

nextAxis;

plot(vp_Fib_R,'antipodal','minmax')

mtexTitle('vp fibre Reuss')

% nextAxis;

% plot(vp_Fib_H,'antipodal','minmax')

% mtexTitle('vp cfib H')

nextAxis;

% plotPDF(mix, Miller({0,0,0,1},{1,1,-2,0},CS));

% nextAxis;

plot(vp_mix_V,'antipodal','minmax')

mtexTitle('vp fib+uni Voigt')

nextAxis

plot(vp_mix_R,'antipodal','minmax')

mtexTitle('vp fib+uni Reuss')

% nextAxis

% plot(vp_mix_H,'antipodal','minmax')

% mtexTitle('vp mixf H')

mtexColorbar

[seismo_not_right]https://user-images.githubusercontent.com/11697557/112043932-7e229080-8b49-11eb-979b-04d832aea6a3.png

Cheers, Rüdiger

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/mtex-toolbox/mtex/issues/905, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALE5IN5UMK32WZIAPCRF7W3TE6H6TANCNFSM4ZTWROCA.

[ { @.": "http://schema.org", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "https://github.com/mtex-toolbox/mtex/issues/905", "url": "https://github.com/mtex-toolbox/mtex/issues/905", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { @.": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

ralfHielscher commented 3 years ago

Again, I think this is due to missing normalization.

kilir commented 3 years ago

Oh yes, thanks, that true and the point. Glad that physics persist!