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