1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Compliance matrix from strain matrix, Matlab

  1. Sep 18, 2016 #1
    1. The problem statement, all variables and given/known data
    (I'm trying to replicate some results in an academic paper where they have calculated elastic properties of a crystal. Because I'm going to do a lot of similar time-consuming calculations following this one, I need to learn how to do them using a computer.)

    The compliance matrix C is the inverse of the strain matrix S. I want to calculate C for a given S. I thought it would be easy to do this in Matlab using the command C=inv(S), but for some reason most of the resulting compliance matrix elements are wrong.

    2. Relevant equations

    C=S^-1

    where S is the 6x6 matrix

    [209 114 102 0 1 0;
    0 234 139 0 -7 0;
    0 0 238 0 27 0;
    0 0 0 77 0 -5;
    0 0 0 0 23 0;
    0 0 0 0 0 72]

    3. The attempt at a solution
    In Matlab:

    C=inv(S)

    which gives me

    C=[0.0048 -0.0023 -0.0007 0 -0.0001 0;
    0 0.0043 -0.0025 0 0.0042 0;
    0 0 0.0042 0 -0.0049 0;
    0 0 0 0.0130 0 0.0009;
    0 0 0 0 0.0435 0;
    0 0 0 0 0 0.0139]

    However, the correct answer is supposed to be (the elements below have been multiplied by 10^3)

    C=[6.8 -2.3 -1.7 0 1 0;
    0 8.8 -5.2 0 9.2 0;
    0 0 9.5 0 -13 0;
    0 0 0 13 0 0.9;
    0 0 0 0 62.5 0;
    0 0 0 0 0 13.9]

    As you can see, the only elements that I get right are C(1,2), C(4,4), C(4,6), and C(6,6), i.e., only 4 out of the 13 nonzero elements. It seemed like such a simple task, but at the moment I'm stuck. Any hints as to what I'm doing wrong? I have already double checked S.
     
  2. jcsd
  3. Sep 21, 2016 #2
    Ok, I solved it. For potential future persons with a similar problem: the matrix elements (in this case the elastic constants and compliance coefficients) are symmetric about the diagonal, which means that c12=c21, c13=c31 etc. I wrongly assumed that all elements below the diagonal were zero, since only those above the diagonal were explicitly listed in the paper I read (which is of course a perfectly reasonable thing to do -- I should have known better).
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted