FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
quadrature.f90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
2 ! Copyright (c) 2019 FrontISTR Commons
3 ! This software is released under the MIT License, see LICENSE.txt
4 !-------------------------------------------------------------------------------
28 module quadrature
29 
30  integer, parameter, private :: kreal = kind(0.0d0)
31 
32  real(kind=kreal) :: &
33  gauss1d1(1,1),gauss1d2(1,2), &
34  gauss2d1(2,1),gauss2d2(2,4),gauss2d3(2,9),gauss2d4(2,1), &
35  gauss2d5(2,3),gauss2d6(2,4),gauss3d1(3,1),gauss3d2(3,8), &
36  gauss3d3(3,27),gauss3d4(3,1),gauss3d5(3,4),gauss3d6(3,15), &
37  gauss3d7(3,2),gauss3d8(3,9),gauss3d9(3,18),gauss3d10(3,6), &
38  gauss3d12(3,5), &
39  weight1d1(1),weight1d2(2),weight2d1(1),weight2d2(4), &
40  weight2d3(9),weight2d4(1),weight2d5(3),weight2d6(4), &
41  weight3d1(1),weight3d2(8),weight3d3(27),weight3d4(1), &
42  weight3d5(4),weight3d6(15),weight3d7(2),weight3d8(9), &
44 
45 
46  data gauss1d1 /0.d0/
47  data gauss1d2 /-0.577350269189626d0, 0.577350269189626d0/
48  !
49  data gauss2d1 /0.d0,0.d0/
50  !
51  data gauss2d2 / &
52  -0.577350269189626d0,-0.577350269189626d0, &
53  0.577350269189626d0,-0.577350269189626d0, &
54  -0.577350269189626d0,0.577350269189626d0, &
55  0.577350269189626d0,0.577350269189626d0/
56  !
57  data gauss2d3 / &
58  -0.774596669241483d0,-0.774596669241483d0, &
59  -0.d0,-0.774596669241483d0, &
60  0.774596669241483d0,-0.774596669241483d0, &
61  -0.774596669241483d0,0.d0, &
62  -0.d0,0.d0, &
63  0.774596669241483d0,0.d0, &
64  -0.774596669241483d0,0.774596669241483d0, &
65  -0.d0,0.774596669241483d0, &
66  0.774596669241483d0,0.774596669241483d0/
67  !
68  data gauss2d4 /0.333333333333333d0,0.333333333333333d0/
69  !
70  data gauss2d5 / &
71  0.166666666666667d0,0.166666666666667d0, &
72  0.666666666666667d0,0.166666666666667d0, &
73  0.166666666666667d0,0.666666666666667d0/
74 
75  data gauss2d6 / &
76  0.166666666666667d0,0.166666666666667d0, &
77  0.666666666666667d0,0.166666666666667d0, &
78  0.166666666666667d0,0.666666666666667d0, &
79  0.333333333333333d0,0.333333333333333d0/
80  !
81  data gauss3d1 /0.,0.,0./
82  !
83  data gauss3d2 / &
84  -0.577350269189626d0,-0.577350269189626d0,-0.577350269189626d0, &
85  0.577350269189626d0,-0.577350269189626d0,-0.577350269189626d0, &
86  -0.577350269189626d0,0.577350269189626d0,-0.577350269189626d0, &
87  0.577350269189626d0,0.577350269189626d0,-0.577350269189626d0, &
88  -0.577350269189626d0,-0.577350269189626d0,0.577350269189626d0, &
89  0.577350269189626d0,-0.577350269189626d0,0.577350269189626d0, &
90  -0.577350269189626d0,0.577350269189626d0,0.577350269189626d0, &
91  0.577350269189626d0,0.577350269189626d0,0.577350269189626d0/
92  !
93  data gauss3d3 / &
94  -0.774596669241483d0,-0.774596669241483d0,-0.774596669241483d0, &
95  0.d0,-0.774596669241483d0,-0.774596669241483d0, &
96  0.774596669241483d0,-0.774596669241483d0,-0.774596669241483d0, &
97  -0.774596669241483d0,0.d0,-0.774596669241483d0, &
98  0.d0,0.d0,-0.774596669241483d0, &
99  0.774596669241483d0,0.d0,-0.774596669241483d0, &
100  -0.774596669241483d0,0.774596669241483d0,-0.774596669241483d0, &
101  0.d0,0.774596669241483d0,-0.774596669241483d0, &
102  0.774596669241483d0,0.774596669241483d0,-0.774596669241483d0, &
103  -0.774596669241483d0,-0.774596669241483d0,0.d0, &
104  0.d0,-0.774596669241483d0,0.d0, &
105  0.774596669241483d0,-0.774596669241483d0,0.d0, &
106  -0.774596669241483d0,0.d0,0.d0, &
107  0.d0,0.d0,0.d0, &
108  0.774596669241483d0,0.d0,0.d0, &
109  -0.774596669241483d0,0.774596669241483d0,0.d0, &
110  0.d0,0.774596669241483d0,0.d0, &
111  0.774596669241483d0,0.774596669241483d0,0.d0, &
112  -0.774596669241483d0,-0.774596669241483d0,0.774596669241483d0, &
113  0.d0,-0.774596669241483d0,0.774596669241483d0, &
114  0.774596669241483d0,-0.774596669241483d0,0.774596669241483d0, &
115  -0.774596669241483d0,0.d0,0.774596669241483d0, &
116  0.d0,0.d0,0.774596669241483d0, &
117  0.774596669241483d0,0.d0,0.774596669241483d0, &
118  -0.774596669241483d0,0.774596669241483d0,0.774596669241483d0, &
119  0.d0,0.774596669241483d0,0.774596669241483d0, &
120  0.774596669241483d0,0.774596669241483d0,0.774596669241483d0/
121  !
122  data gauss3d4 /0.25d0,0.25d0,0.25d0/
123  !
124  data gauss3d5 / &
125  0.138196601125011d0,0.138196601125011d0,0.138196601125011d0, &
126  0.585410196624968d0,0.138196601125011d0,0.138196601125011d0, &
127  0.138196601125011d0,0.585410196624968d0,0.138196601125011d0, &
128  0.138196601125011d0,0.138196601125011d0,0.585410196624968d0/
129  !
130  data gauss3d6 / &
131  0.25,0.25,0.25d0, &
132  0.091971078052723d0,0.091971078052723d0,0.091971078052723d0, &
133  0.724086765841831d0,0.091971078052723d0,0.091971078052723d0, &
134  0.091971078052723d0,0.724086765841831d0,0.091971078052723d0, &
135  0.091971078052723d0,0.091971078052723d0,0.724086765841831d0, &
136  0.319793627829630d0,0.319793627829630d0,0.319793627829630d0, &
137  0.040619116511110d0,0.319793627829630d0,0.319793627829630d0, &
138  0.319793627829630d0,0.040619116511110d0,0.319793627829630d0, &
139  0.319793627829630d0,0.319793627829630d0,0.040619116511110d0, &
140  0.056350832689629d0,0.056350832689629d0,0.443649167310371d0, &
141  0.443649167310371d0,0.056350832689629d0,0.056350832689629d0, &
142  0.443649167310371d0,0.443649167310371d0,0.056350832689629d0, &
143  0.056350832689629d0,0.443649167310371d0,0.443649167310371d0, &
144  0.056350832689629d0,0.443649167310371d0,0.056350832689629d0, &
145  0.443649167310371d0,0.056350832689629d0,0.443649167310371d0/
146  !
147  data gauss3d7 / &
148  0.333333333333333d0,0.333333333333333d0,-0.577350269189626d0, &
149  0.333333333333333d0,0.333333333333333d0,0.577350269189626d0/
150  !
151  data gauss3d8 / &
152  0.166666666666667d0,0.166666666666667d0,-0.774596669241483d0, &
153  0.666666666666667d0,0.166666666666667d0,-0.774596669241483d0, &
154  0.166666666666667d0,0.666666666666667d0,-0.774596669241483d0, &
155  0.166666666666667d0,0.166666666666667d0,0.d0, &
156  0.666666666666667d0,0.166666666666667d0,0.d0, &
157  0.166666666666667d0,0.666666666666667d0,0.d0, &
158  0.166666666666667d0,0.166666666666667d0,0.774596669241483d0, &
159  0.666666666666667d0,0.166666666666667d0,0.774596669241483d0, &
160  0.166666666666667d0,0.666666666666667d0,0.774596669241483d0/
161  !
162  data gauss3d9 / &
163  0.166666666666667d0,0.166666666666667d0,-0.774596669241483d0, &
164  0.166666666666667d0,0.666666666666667d0,-0.774596669241483d0, &
165  0.666666666666667d0,0.166666666666667d0,-0.774596669241483d0, &
166  0.000000000000000d0,0.500000000000000d0,-0.774596669241483d0, &
167  0.500000000000000d0,0.000000000000000d0,-0.774596669241483d0, &
168  0.500000000000000d0,0.500000000000000d0,-0.774596669241483d0, &
169  0.166666666666667d0,0.166666666666667d0,0.d0, &
170  0.166666666666667d0,0.666666666666667d0,0.d0, &
171  0.666666666666667d0,0.166666666666667d0,0.d0, &
172  0.000000000000000d0,0.500000000000000d0,0.d0, &
173  0.500000000000000d0,0.000000000000000d0,0.d0, &
174  0.500000000000000d0,0.500000000000000d0,0.d0, &
175  0.166666666666667d0,0.166666666666667d0,0.774596669241483d0, &
176  0.166666666666667d0,0.666666666666667d0,0.774596669241483d0, &
177  0.666666666666667d0,0.166666666666667d0,0.774596669241483d0, &
178  0.000000000000000d0,0.500000000000000d0,0.774596669241483d0, &
179  0.500000000000000d0,0.000000000000000d0,0.774596669241483d0, &
180  0.500000000000000d0,0.500000000000000d0,0.774596669241483d0/
181  !
182  data gauss3d10 / &
183  0.166666666666667d0,0.166666666666667d0,-0.577350269189626d0, &
184  0.666666666666667d0,0.166666666666667d0,-0.577350269189626d0, &
185  0.166666666666667d0,0.666666666666667d0,-0.577350269189626d0, &
186  0.166666666666667d0,0.166666666666667d0,0.577350269189626d0, &
187  0.666666666666667d0,0.166666666666667d0,0.577350269189626d0, &
188  0.166666666666667d0,0.666666666666667d0,0.577350269189626d0/
189 
190  !
191  data gauss3d12 / &
192  0.25d0,0.25d0,0.25d0, &
193  0.5d0 ,0.166666666666667d0,0.166666666666667d0, &
194  0.166666666666667d0,0.5d0,0.166666666666667d0, &
195  0.166666666666667d0,0.166666666666667d0,0.5d0, &
196  0.166666666666667d0,0.666666666666667d0,0.166666666666667d0/
197 
198  !
199  data weight1d1 /2.d0/
200  data weight1d2 /1.d0,1.d0/
201  !
202  data weight2d1 /4.d0/
203  !
204  data weight2d2 /1.d0,1.d0,1.d0,1.d0/
205  !
206  data weight2d3 / &
207  0.308641975308642d0,0.493827160493827d0,0.308641975308642d0, &
208  0.493827160493827d0,0.790123456790123d0,0.493827160493827d0, &
209  0.308641975308642d0,0.493827160493827d0,0.308641975308642d0/
210  !
211  data weight2d4 /0.5d0/
212  !
213  data weight2d5 / &
214  0.166666666666666d0,0.166666666666666d0,0.166666666666666d0/
215 
216  data weight2d6 / &
217  0.5d0,0.5d0,0.5d0,0.5d0/
218  !
219  data weight3d1 /8.d0/
220  !
221  data weight3d2 /1.d0,1.d0,1.d0,1.d0,1.d0,1.d0,1.d0,1.d0/
222  !
223  data weight3d3 / &
224  0.171467764060357d0,0.274348422496571d0,0.171467764060357d0, &
225  0.274348422496571d0,0.438957475994513d0,0.274348422496571d0, &
226  0.171467764060357d0,0.274348422496571d0,0.171467764060357d0, &
227  0.274348422496571d0,0.438957475994513d0,0.274348422496571d0, &
228  0.438957475994513d0,0.702331961591221d0,0.438957475994513d0, &
229  0.274348422496571d0,0.438957475994513d0,0.274348422496571d0, &
230  0.171467764060357d0,0.274348422496571d0,0.171467764060357d0, &
231  0.274348422496571d0,0.438957475994513d0,0.274348422496571d0, &
232  0.171467764060357d0,0.274348422496571d0,0.171467764060357d0/
233  !
234  data weight3d4 /0.166666666666667d0/
235  !
236  data weight3d5 / &
237  0.041666666666667d0,0.041666666666667d0,0.041666666666667d0, &
238  0.041666666666667d0/
239  !
240  data weight3d6 / &
241  0.019753086419753d0,0.011989513963170d0,0.011989513963170d0, &
242  0.011989513963170d0,0.011989513963170d0,0.011511367871045d0, &
243  0.011511367871045d0,0.011511367871045d0,0.011511367871045d0, &
244  0.008818342151675d0,0.008818342151675d0,0.008818342151675d0, &
245  0.008818342151675d0,0.008818342151675d0,0.008818342151675d0/
246  !
247  data weight3d7 /0.5d0,0.5d0/
248  !
249  data weight3d8 / &
250  0.092592592592593d0,0.092592592592593d0,0.092592592592593d0, &
251  0.148148148148148d0,0.148148148148148d0,0.148148148148148d0, &
252  0.092592592592593d0,0.092592592592593d0,0.092592592592593d0/
253  !
254  data weight3d9 / &
255  0.083333333333333d0,0.083333333333333d0,0.083333333333333d0, &
256  0.009259259259259d0,0.009259259259259d0,0.009259259259259d0, &
257  0.133333333333333d0,0.133333333333333d0,0.133333333333333d0, &
258  0.014814814814815d0,0.014814814814815d0,0.014814814814815d0, &
259  0.083333333333333d0,0.083333333333333d0,0.083333333333333d0, &
260  0.009259259259259d0,0.009259259259259d0,0.009259259259259d0/
261  !
262  data weight3d10 / &
263  0.166666666666666d0,0.166666666666666d0,0.166666666666666d0, &
264  0.166666666666666d0,0.166666666666666d0,0.166666666666666d0/
265 
266  data weight3d12 / &
267  -0.80000000000000d0,0.450000000000000d0,0.450000000000000d0, &
268  0.450000000000000d0,0.450000000000000d0/
269 
270 end module
271 
272 
quadrature::gauss3d4
real(kind=kreal), dimension(3, 1) gauss3d4
Definition: quadrature.f90:32
quadrature::gauss3d5
real(kind=kreal), dimension(3, 4) gauss3d5
Definition: quadrature.f90:32
quadrature::weight1d1
real(kind=kreal), dimension(1) weight1d1
Definition: quadrature.f90:32
quadrature::gauss1d1
real(kind=kreal), dimension(1, 1) gauss1d1
Definition: quadrature.f90:32
quadrature::weight2d4
real(kind=kreal), dimension(1) weight2d4
Definition: quadrature.f90:32
quadrature::gauss1d2
real(kind=kreal), dimension(1, 2) gauss1d2
Definition: quadrature.f90:32
quadrature::gauss3d1
real(kind=kreal), dimension(3, 1) gauss3d1
Definition: quadrature.f90:32
quadrature::weight2d2
real(kind=kreal), dimension(4) weight2d2
Definition: quadrature.f90:32
quadrature::weight2d6
real(kind=kreal), dimension(4) weight2d6
Definition: quadrature.f90:32
quadrature::gauss3d7
real(kind=kreal), dimension(3, 2) gauss3d7
Definition: quadrature.f90:32
quadrature::gauss2d6
real(kind=kreal), dimension(2, 4) gauss2d6
Definition: quadrature.f90:32
quadrature::weight2d1
real(kind=kreal), dimension(1) weight2d1
Definition: quadrature.f90:32
quadrature::weight3d8
real(kind=kreal), dimension(9) weight3d8
Definition: quadrature.f90:32
quadrature::gauss3d12
real(kind=kreal), dimension(3, 5) gauss3d12
Definition: quadrature.f90:32
quadrature::gauss3d8
real(kind=kreal), dimension(3, 9) gauss3d8
Definition: quadrature.f90:32
quadrature::weight3d2
real(kind=kreal), dimension(8) weight3d2
Definition: quadrature.f90:32
quadrature::weight3d4
real(kind=kreal), dimension(1) weight3d4
Definition: quadrature.f90:32
quadrature::gauss3d6
real(kind=kreal), dimension(3, 15) gauss3d6
Definition: quadrature.f90:32
quadrature::gauss2d4
real(kind=kreal), dimension(2, 1) gauss2d4
Definition: quadrature.f90:32
quadrature::gauss2d1
real(kind=kreal), dimension(2, 1) gauss2d1
Definition: quadrature.f90:32
quadrature::gauss2d2
real(kind=kreal), dimension(2, 4) gauss2d2
Definition: quadrature.f90:32
quadrature::weight2d5
real(kind=kreal), dimension(3) weight2d5
Definition: quadrature.f90:32
quadrature::weight3d12
real(kind=kreal), dimension(5) weight3d12
Definition: quadrature.f90:32
quadrature::weight3d6
real(kind=kreal), dimension(15) weight3d6
Definition: quadrature.f90:32
quadrature::weight3d7
real(kind=kreal), dimension(2) weight3d7
Definition: quadrature.f90:32
quadrature::gauss3d2
real(kind=kreal), dimension(3, 8) gauss3d2
Definition: quadrature.f90:32
quadrature::weight2d3
real(kind=kreal), dimension(9) weight2d3
Definition: quadrature.f90:32
quadrature::weight3d10
real(kind=kreal), dimension(6) weight3d10
Definition: quadrature.f90:32
quadrature::gauss3d9
real(kind=kreal), dimension(3, 18) gauss3d9
Definition: quadrature.f90:32
quadrature::weight1d2
real(kind=kreal), dimension(2) weight1d2
Definition: quadrature.f90:32
quadrature::gauss2d5
real(kind=kreal), dimension(2, 3) gauss2d5
Definition: quadrature.f90:32
quadrature::weight3d5
real(kind=kreal), dimension(4) weight3d5
Definition: quadrature.f90:32
quadrature::weight3d1
real(kind=kreal), dimension(1) weight3d1
Definition: quadrature.f90:32
quadrature::gauss2d3
real(kind=kreal), dimension(2, 9) gauss2d3
Definition: quadrature.f90:32
quadrature::weight3d9
real(kind=kreal), dimension(18) weight3d9
Definition: quadrature.f90:32
quadrature
This module contains Gauss point information.
Definition: quadrature.f90:28
quadrature::gauss3d10
real(kind=kreal), dimension(3, 6) gauss3d10
Definition: quadrature.f90:32
quadrature::weight3d3
real(kind=kreal), dimension(27) weight3d3
Definition: quadrature.f90:32
quadrature::gauss3d3
real(kind=kreal), dimension(3, 27) gauss3d3
Definition: quadrature.f90:32