1!
2!     CalculiX - A 3-dimensional finite element program
3!              Copyright (C) 1998-2021 Guido Dhondt
4!
5!     This program is free software; you can redistribute it and/or
6!     modify it under the terms of the GNU General Public License as
7!     published by the Free Software Foundation(version 2);
8!
9!
10!     This program is distributed in the hope that it will be useful,
11!     but WITHOUT ANY WARRANTY; without even the implied warranty of
12!     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13!     GNU General Public License for more details.
14!
15!     You should have received a copy of the GNU General Public License
16!     along with this program; if not, write to the Free Software
17!     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18!
19      subroutine anisotropic(anisol,anisox)
20!
21!     expands the 21 anisotropic elastic constants into a
22!     3x3x3x3 matrix
23!
24      implicit none
25!
26      real*8 anisol(21),anisox(3,3,3,3)
27!
28!
29!
30      anisox(1,1,1,1)=anisol(1)
31      anisox(1,1,1,2)=anisol(7)
32      anisox(1,1,1,3)=anisol(11)
33      anisox(1,1,2,1)=anisol(7)
34      anisox(1,1,2,2)=anisol(2)
35      anisox(1,1,2,3)=anisol(16)
36      anisox(1,1,3,1)=anisol(11)
37      anisox(1,1,3,2)=anisol(16)
38      anisox(1,1,3,3)=anisol(4)
39      anisox(1,2,1,1)=anisol(7)
40      anisox(1,2,1,2)=anisol(10)
41      anisox(1,2,1,3)=anisol(14)
42      anisox(1,2,2,1)=anisol(10)
43      anisox(1,2,2,2)=anisol(8)
44      anisox(1,2,2,3)=anisol(19)
45      anisox(1,2,3,1)=anisol(14)
46      anisox(1,2,3,2)=anisol(19)
47      anisox(1,2,3,3)=anisol(9)
48      anisox(1,3,1,1)=anisol(11)
49      anisox(1,3,1,2)=anisol(14)
50      anisox(1,3,1,3)=anisol(15)
51      anisox(1,3,2,1)=anisol(14)
52      anisox(1,3,2,2)=anisol(12)
53      anisox(1,3,2,3)=anisol(20)
54      anisox(1,3,3,1)=anisol(15)
55      anisox(1,3,3,2)=anisol(20)
56      anisox(1,3,3,3)=anisol(13)
57      anisox(2,1,1,1)=anisol(7)
58      anisox(2,1,1,2)=anisol(10)
59      anisox(2,1,1,3)=anisol(14)
60      anisox(2,1,2,1)=anisol(10)
61      anisox(2,1,2,2)=anisol(8)
62      anisox(2,1,2,3)=anisol(19)
63      anisox(2,1,3,1)=anisol(14)
64      anisox(2,1,3,2)=anisol(19)
65      anisox(2,1,3,3)=anisol(9)
66      anisox(2,2,1,1)=anisol(2)
67      anisox(2,2,1,2)=anisol(8)
68      anisox(2,2,1,3)=anisol(12)
69      anisox(2,2,2,1)=anisol(8)
70      anisox(2,2,2,2)=anisol(3)
71      anisox(2,2,2,3)=anisol(17)
72      anisox(2,2,3,1)=anisol(12)
73      anisox(2,2,3,2)=anisol(17)
74      anisox(2,2,3,3)=anisol(5)
75      anisox(2,3,1,1)=anisol(16)
76      anisox(2,3,1,2)=anisol(19)
77      anisox(2,3,1,3)=anisol(20)
78      anisox(2,3,2,1)=anisol(19)
79      anisox(2,3,2,2)=anisol(17)
80      anisox(2,3,2,3)=anisol(21)
81      anisox(2,3,3,1)=anisol(20)
82      anisox(2,3,3,2)=anisol(21)
83      anisox(2,3,3,3)=anisol(18)
84      anisox(3,1,1,1)=anisol(11)
85      anisox(3,1,1,2)=anisol(14)
86      anisox(3,1,1,3)=anisol(15)
87      anisox(3,1,2,1)=anisol(14)
88      anisox(3,1,2,2)=anisol(12)
89      anisox(3,1,2,3)=anisol(20)
90      anisox(3,1,3,1)=anisol(15)
91      anisox(3,1,3,2)=anisol(20)
92      anisox(3,1,3,3)=anisol(13)
93      anisox(3,2,1,1)=anisol(16)
94      anisox(3,2,1,2)=anisol(19)
95      anisox(3,2,1,3)=anisol(20)
96      anisox(3,2,2,1)=anisol(19)
97      anisox(3,2,2,2)=anisol(17)
98      anisox(3,2,2,3)=anisol(21)
99      anisox(3,2,3,1)=anisol(20)
100      anisox(3,2,3,2)=anisol(21)
101      anisox(3,2,3,3)=anisol(18)
102      anisox(3,3,1,1)=anisol(4)
103      anisox(3,3,1,2)=anisol(9)
104      anisox(3,3,1,3)=anisol(13)
105      anisox(3,3,2,1)=anisol(9)
106      anisox(3,3,2,2)=anisol(5)
107      anisox(3,3,2,3)=anisol(18)
108      anisox(3,3,3,1)=anisol(13)
109      anisox(3,3,3,2)=anisol(18)
110      anisox(3,3,3,3)=anisol(6)
111!
112      return
113      end
114
115