Compliance matrix from strain matrix, Matlab

In summary, the conversation discusses attempting to replicate results from an academic paper that calculated elastic properties of a crystal using a computer. The compliance matrix is the inverse of the strain matrix and can be calculated in Matlab using the command C=inv(S). However, only four out of thirteen nonzero elements are correct in the resulting compliance matrix, which is due to the matrix elements being symmetric about the diagonal.
  • #1
grepecs
17
0

Homework Statement


(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.

Homework 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]

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.
 
Physics news on Phys.org
  • #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).
 

1. What is a compliance matrix in Matlab?

A compliance matrix is a matrix that describes the relationship between the strain and stress components of a material. In Matlab, it is typically represented as a 6x6 matrix, with the six rows and columns corresponding to the six independent components of strain and stress.

2. How is a compliance matrix related to a strain matrix?

A compliance matrix is the inverse of a strain matrix. This means that the compliance matrix can be calculated from the strain matrix, and vice versa. The compliance matrix is used to calculate the stress components from a given strain, while the strain matrix is used to calculate the strain from a given stress.

3. What are the uses of a compliance matrix in Matlab?

A compliance matrix is commonly used in materials science and engineering to characterize the mechanical behavior of a material. It is used to calculate the stress and strain components for a given load and is also used in the design and analysis of structures.

4. How is a compliance matrix calculated in Matlab?

In Matlab, a compliance matrix is typically calculated using the "inv" function, which calculates the inverse of a matrix. The strain matrix is first defined, and then the "inv" function is used to calculate the compliance matrix from the strain matrix.

5. Can a compliance matrix be manipulated in Matlab?

Yes, a compliance matrix in Matlab can be manipulated using various matrix operations, such as multiplication, addition, and subtraction. This allows for the analysis and design of materials and structures with different loading conditions and configurations.

Similar threads

  • Advanced Physics Homework Help
Replies
1
Views
2K
  • High Energy, Nuclear, Particle Physics
Replies
1
Views
1K
  • Programming and Computer Science
Replies
22
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
7K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • Advanced Physics Homework Help
Replies
2
Views
3K
  • Calculus and Beyond Homework Help
Replies
13
Views
7K
  • Calculus and Beyond Homework Help
Replies
1
Views
3K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
6K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
6K
Back
Top